From e24d2d8482e903cf4720d0a0b67d722ec333825a Mon Sep 17 00:00:00 2001
From: lowlighter <22963968+lowlighter@users.noreply.github.com>
Date: Mon, 2 Nov 2020 22:35:09 +0100
Subject: [PATCH] Version 2.3
- Display total repository disk usage instead of gists
- (classic) removed gists display
- Add new plugins "posts"
---
action.yml | 14 +++
action/dist/index.js | 176 +++++++++++++++------------
action/index.mjs | 10 +-
package-lock.json | 152 ++++++++++++-----------
package.json | 10 +-
settings.example.json | 7 +-
src/html/app.js | 4 +
src/html/index.html | 6 +-
src/metrics.mjs | 15 ++-
src/plugins/index.mjs | 2 +
src/plugins/posts/index.mjs | 45 +++++++
src/templates/classic/image.svg | 47 ++++++-
src/templates/classic/query.graphql | 1 +
src/templates/classic/style.css | 24 ++++
src/templates/common.mjs | 3 +
src/templates/terminal/image.svg | 2 +-
src/templates/terminal/query.graphql | 1 +
17 files changed, 347 insertions(+), 172 deletions(-)
create mode 100644 src/plugins/posts/index.mjs
diff --git a/action.yml b/action.yml
index 2f181aae..8e55c7e3 100644
--- a/action.yml
+++ b/action.yml
@@ -168,6 +168,20 @@ inputs:
description: Skip commits flagged with [Skip GitHub Action] from commits count
default: no
+ # Posts plugin
+ # Display recent posts from an external source
+ plugin_posts:
+ description: Enable posts posts
+ default: no
+
+ # Posts source
+ # This is required when "plugin_posts" is enabled
+ # Supported values are :
+ # - "dev.to" for dev.to
+ plugin_posts_source:
+ description: Posts source
+ default: ""
+
# Enable debug mode
# Be sure to put all secrets in your repository secrets before to avoid any leaks !
debug:
diff --git a/action/dist/index.js b/action/dist/index.js
index 1f477bd3..3102ab04 100644
--- a/action/dist/index.js
+++ b/action/dist/index.js
@@ -2,7 +2,7 @@ module.exports =
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
-/***/ 73257:
+/***/ 79668:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
@@ -74,7 +74,7 @@ var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_);
}
else {
logger(`metrics/setup > load package.json > (missing)`)
- conf.package = {version:"2.2.0", author:"lowlighter"}
+ conf.package = {version:"2.3.0", author:"lowlighter"}
}
//Load templates
@@ -108,7 +108,7 @@ var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_);
}
else {
logger(`metrics/setup > load templates from build`)
- conf.templates = JSON.parse(Buffer.from(`eyJjbGFzc2ljIjp7InF1ZXJ5IjoicXVlcnkgTWV0cmljcyB7XHJcbiAgdXNlcihsb2dpbjogJGxvZ2luKSB7XHJcbiAgICBkYXRhYmFzZUlkXHJcbiAgICBuYW1lXHJcbiAgICBsb2dpblxyXG4gICAgY3JlYXRlZEF0XHJcbiAgICBhdmF0YXJVcmxcclxuICAgIHdlYnNpdGVVcmxcclxuICAgIGdpc3RzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgcmVwb3NpdG9yaWVzKGxhc3Q6ICRyZXBvc2l0b3JpZXMsIGlzRm9yazogZmFsc2UsIG93bmVyQWZmaWxpYXRpb25zOiBPV05FUikge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICAgIG5vZGVzIHtcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgd2F0Y2hlcnMge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBzdGFyZ2F6ZXJzIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFuZ3VhZ2VzKGZpcnN0OiA0KSB7XHJcbiAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgIHNpemVcclxuICAgICAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAgICAgY29sb3JcclxuICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX29wZW46IGlzc3VlcyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX2Nsb3NlZDogaXNzdWVzKHN0YXRlczogQ0xPU0VEKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByX29wZW46IHB1bGxSZXF1ZXN0cyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJfbWVyZ2VkOiBwdWxsUmVxdWVzdHMoc3RhdGVzOiBNRVJHRUQpIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ya0NvdW50XHJcbiAgICAgICAgbGljZW5zZUluZm8ge1xyXG4gICAgICAgICAgc3BkeElkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwYWNrYWdlcyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHN0YXJyZWRSZXBvc2l0b3JpZXMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICB3YXRjaGluZyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzU3BvbnNvciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzTWFpbnRhaW5lciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uIHtcclxuICAgICAgdG90YWxSZXBvc2l0b3JpZXNXaXRoQ29udHJpYnV0ZWRDb21taXRzXHJcbiAgICAgIHRvdGFsQ29tbWl0Q29udHJpYnV0aW9uc1xyXG4gICAgICByZXN0cmljdGVkQ29udHJpYnV0aW9uc0NvdW50XHJcbiAgICAgIHRvdGFsSXNzdWVDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zXHJcbiAgICB9XHJcbiAgICBjYWxlbmRhcjpjb250cmlidXRpb25zQ29sbGVjdGlvbihmcm9tOiAkY2FsZW5kYXIuZnJvbSwgdG86ICRjYWxlbmRhci50bykge1xyXG4gICAgICBjb250cmlidXRpb25DYWxlbmRhciB7XHJcbiAgICAgICAgd2Vla3Mge1xyXG4gICAgICAgICAgY29udHJpYnV0aW9uRGF5cyB7XHJcbiAgICAgICAgICAgIGNvbG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXBvc2l0b3JpZXNDb250cmlidXRlZFRvIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93ZXJzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93aW5nIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgaXNzdWVDb21tZW50cyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIG9yZ2FuaXphdGlvbnMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltYWdlIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0ODBcIiBoZWlnaHQ9XCI8JT0gMTJcclxuICArICghIWJhc2UuaGVhZGVyKSo4MFxyXG4gICsgKCEhYmFzZS5tZXRhZGF0YSkqMzhcclxuICArICgoISFiYXNlLmFjdGl2aXR5KXx8KCEhYmFzZS5jb21tdW5pdHkpKSoxMjhcclxuICArICghIWJhc2UucmVwb3NpdG9yaWVzKSo5MlxyXG4gICsgKCghIWJhc2UucmVwb3NpdG9yaWVzKSooKCEhY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKXx8KCEhY29tcHV0ZWQucGx1Z2lucy5saW5lcykpKSoxNlxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cCkqNjhcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMucGFnZXNwZWVkKSoxMjZcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzKSo2OFxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMpKjk2XHJcbiAgKyAoISFjb21wdXRlZC5wbHVnaW5zLm11c2ljKSo2NCArIChjb21wdXRlZC5wbHVnaW5zLm11c2ljID8gY29tcHV0ZWQucGx1Z2lucy5tdXNpYy50cmFja3MgPyAxNCtNYXRoLm1heCgwLCBjb21wdXRlZC5wbHVnaW5zLm11c2ljLnRyYWNrcy5sZW5ndGgtMSkqMzYgOiAwIDogMClcclxuICArIE1hdGgubWF4KDAsICgoKCEhYmFzZS5tZXRhZGF0YSkrKCEhYmFzZS5oZWFkZXIpKygoISFiYXNlLmFjdGl2aXR5KXx8KCEhYmFzZS5jb21tdW5pdHkpKSsoISFiYXNlLnJlcG9zaXRvcmllcykrKCghIWNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzKSkrKCEhY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpKyghIWNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzKSsoISFjb21wdXRlZC5wbHVnaW5zLm11c2ljKSktMSkpKjRcclxuJT5cIj5cclxuXHJcbiAgPGRlZnM+PHN0eWxlPjwlPSBmb250cyAlPjwvc3R5bGU+PC9kZWZzPlxyXG5cclxuICA8c3R5bGU+XHJcbiAgICA8JT0gc3R5bGUgJT5cclxuICA8L3N0eWxlPlxyXG5cclxuICA8Zm9yZWlnbk9iamVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgPGRpdiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj5cclxuXHJcbiAgICAgIDwlIGlmIChiYXNlLmhlYWRlcikgeyAlPlxyXG4gICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgPGgxIGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImF2YXRhclwiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCw8JT0gY29tcHV0ZWQuYXZhdGFyICU+XCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4+PCU9IHVzZXIubmFtZSB8fCB1c2VyLmxvZ2luICU+PC9zcGFuPlxyXG4gICAgICAgICAgPC9oMT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDhhNi41IDYuNSAwIDExMTMgMCA2LjUgNi41IDAgMDEtMTMgMHpNOCAwYTggOCAwIDEwMCAxNkE4IDggMCAwMDggMHptLjUgNC43NWEuNzUuNzUgMCAwMC0xLjUgMHYzLjVhLjc1Ljc1IDAgMDAuNDcxLjY5NmwyLjUgMWEuNzUuNzUgMCAwMC41NTctMS4zOTJMOC41IDcuNzQyVjQuNzV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgSm9pbmVkIEdpdEh1YiA8JT0gY29tcHV0ZWQucmVnaXN0cmF0aW9uICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS41IDMuNWEyIDIgMCAxMDAgNCAyIDIgMCAwMDAtNHpNMiA1LjVhMy41IDMuNSAwIDExNS44OTggMi41NDkgNS41MDcgNS41MDcgMCAwMTMuMDM0IDQuMDg0Ljc1Ljc1IDAgMTEtMS40ODIuMjM1IDQuMDAxIDQuMDAxIDAgMDAtNy45IDAgLjc1Ljc1IDAgMDEtMS40ODItLjIzNkE1LjUwNyA1LjUwNyAwIDAxMy4xMDIgOC4wNSAzLjQ5IDMuNDkgMCAwMTIgNS41ek0xMSA0YS43NS43NSAwIDEwMCAxLjUgMS41IDEuNSAwIDAxLjY2NiAyLjg0NC43NS43NSAwIDAwLS40MTYuNjcydi4zNTJhLjc1Ljc1IDAgMDAuNTc0LjczYzEuMi4yODkgMi4xNjIgMS4yIDIuNTIyIDIuMzcyYS43NS43NSAwIDEwMS40MzQtLjQ0IDUuMDEgNS4wMSAwIDAwLTIuNTYtMy4wMTJBMyAzIDAgMDAxMSA0elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgIEZvbGxvd2VkIGJ5IDwlPSB1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50ICU+IHVzZXI8JT0gcyh1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjYWxlbmRhclwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA8JT0gY29tcHV0ZWQuY2FsZW5kYXIubGVuZ3RoKjE1ICU+IDExXCIgd2lkdGg9XCI8JT0gY29tcHV0ZWQuY2FsZW5kYXIubGVuZ3RoKjE1ICU+XCIgaGVpZ2h0PVwiMTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCBbeCwge2NvbG9yfV0gb2YgT2JqZWN0LmVudHJpZXMoY29tcHV0ZWQuY2FsZW5kYXIpKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBjbGFzcz1cImRheVwiIHg9XCI8JT0geCoxNSAlPlwiIHk9XCIwXCIgd2lkdGg9XCIxMVwiIGhlaWdodD1cIjExXCIgZmlsbD1cIjwlPSBjb2xvciAlPlwiIHJ4PVwiMlwiIHJ5PVwiMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xIDIuNUEyLjUgMi41IDAgMDEzLjUgMGg4Ljc1YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMFYxLjVoLThhMSAxIDAgMDAtMSAxdjYuNzA4QTIuNDkyIDIuNDkyIDAgMDEzLjUgOWgzLjI1YS43NS43NSAwIDAxMCAxLjVIMy41YTEgMSAwIDEwMCAyaDUuNzVhLjc1Ljc1IDAgMDEwIDEuNUgzLjVBMi41IDIuNSAwIDAxMSAxMS41di05em0xMy4yMyA3Ljc5YS43NS43NSAwIDAwMS4wNi0xLjA2bC0yLjUwNS0yLjUwNWEuNzUuNzUgMCAwMC0xLjA2IDBMOS4yMiA5LjIyOWEuNzUuNzUgMCAwMDEuMDYgMS4wNjFsMS4yMjUtMS4yMjR2Ni4xODRhLjc1Ljc1IDAgMDAxLjUgMFY5LjA2NmwxLjIyNCAxLjIyNHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICBDb250cmlidXRlZCB0byA8JT0gdXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8JSBpZiAoYmFzZS5hY3Rpdml0eSkgeyAlPlxyXG4gICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNSAxLjc1YS43NS43NSAwIDAwLTEuNSAwdjEyLjVjMCAuNDE0LjMzNi43NS43NS43NWgxNC41YS43NS43NSAwIDAwMC0xLjVIMS41VjEuNzV6bTE0LjI4IDIuNTNhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2TDEwIDcuOTQgNy41MyA1LjQ3YS43NS43NSAwIDAwLTEuMDYgMEwzLjIyIDguNzJhLjc1Ljc1IDAgMDAxLjA2IDEuMDZMNyA3LjA2bDIuNDcgMi40N2EuNzUuNzUgMCAwMDEuMDYgMGw1LjI1LTUuMjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIEFjdGl2aXR5XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMC41IDcuNzVhMi41IDIuNSAwIDExLTUgMCAyLjUgMi41IDAgMDE1IDB6bTEuNDMuNzVhNC4wMDIgNC4wMDIgMCAwMS03Ljg2IDBILjc1YS43NS43NSAwIDExMC0xLjVoMy4zMmE0LjAwMSA0LjAwMSAwIDAxNy44NiAwaDMuMzJhLjc1Ljc1IDAgMTEwIDEuNWgtMy4zMnpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLmNvbW1pdHMgJT4gQ29tbWl0PCU9IHMoY29tcHV0ZWQuY29tbWl0cykgJT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yLjUgMS43NWEuMjUuMjUgMCAwMS4yNS0uMjVoOC41YS4yNS4yNSAwIDAxLjI1LjI1djcuNzM2YS43NS43NSAwIDEwMS41IDBWMS43NUExLjc1IDEuNzUgMCAwMDExLjI1IDBoLTguNUExLjc1IDEuNzUgMCAwMDEgMS43NXYxMS41YzAgLjk2Ni43ODQgMS43NSAxLjc1IDEuNzVoMy4xN2EuNzUuNzUgMCAwMDAtMS41SDIuNzVhLjI1LjI1IDAgMDEtLjI1LS4yNVYxLjc1ek00Ljc1IDRhLjc1Ljc1IDAgMDAwIDEuNWg0LjVhLjc1Ljc1IDAgMDAwLTEuNWgtNC41ek00IDcuNzVBLjc1Ljc1IDAgMDE0Ljc1IDdoMmEuNzUuNzUgMCAwMTAgMS41aC0yQS43NS43NSAwIDAxNCA3Ljc1em0xMS43NzQgMy41MzdhLjc1Ljc1IDAgMDAtMS4wNDgtMS4wNzRMMTAuNyAxNC4xNDUgOS4yODEgMTIuNzJhLjc1Ljc1IDAgMDAtMS4wNjIgMS4wNThsMS45NDMgMS45NWEuNzUuNzUgMCAwMDEuMDU1LjAwOGw0LjU1Ny00LjQ1elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0UmV2aWV3Q29udHJpYnV0aW9ucyAlPiBQdWxsIHJlcXVlc3Q8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zKSAlPiByZXZpZXdlZFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMTc3IDMuMDczTDkuNTczLjY3N0EuMjUuMjUgMCAwMTEwIC44NTR2NC43OTJhLjI1LjI1IDAgMDEtLjQyNy4xNzdMNy4xNzcgMy40MjdhLjI1LjI1IDAgMDEwLS4zNTR6TTMuNzUgMi41YS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41em0tMi4yNS43NWEyLjI1IDIuMjUgMCAxMTMgMi4xMjJ2NS4yNTZhMi4yNTEgMi4yNTEgMCAxMS0xLjUgMFY1LjM3MkEyLjI1IDIuMjUgMCAwMTEuNSAzLjI1ek0xMSAyLjVoLTFWNGgxYTEgMSAwIDAxMSAxdjUuNjI4YTIuMjUxIDIuMjUxIDAgMTAxLjUgMFY1QTIuNSAyLjUgMCAwMDExIDIuNXptMSAxMC4yNWEuNzUuNzUgMCAxMTEuNSAwIC43NS43NSAwIDAxLTEuNSAwek0zLjc1IDEyYS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0Q29udHJpYnV0aW9ucyAlPiBQdWxsIHJlcXVlc3Q8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zKSAlPiBvcGVuZWRcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IDEuNWE2LjUgNi41IDAgMTAwIDEzIDYuNSA2LjUgMCAwMDAtMTN6TTAgOGE4IDggMCAxMTE2IDBBOCA4IDAgMDEwIDh6bTkgM2ExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS0uMjUtNi4yNWEuNzUuNzUgMCAwMC0xLjUgMHYzLjVhLjc1Ljc1IDAgMDAxLjUgMHYtMy41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbElzc3VlQ29udHJpYnV0aW9ucyAlPiBJc3N1ZTwlPSBzKHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnMpICU+IG9wZW5lZFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuNzUgMi41YS4yNS4yNSAwIDAwLS4yNS4yNXY3LjVjMCAuMTM4LjExMi4yNS4yNS4yNWgyYS43NS43NSAwIDAxLjc1Ljc1djIuMTlsMi43Mi0yLjcyYS43NS43NSAwIDAxLjUzLS4yMmg0LjVhLjI1LjI1IDAgMDAuMjUtLjI1di03LjVhLjI1LjI1IDAgMDAtLjI1LS4yNUgyLjc1ek0xIDIuNzVDMSAxLjc4NCAxLjc4NCAxIDIuNzUgMWgxMC41Yy45NjYgMCAxLjc1Ljc4NCAxLjc1IDEuNzV2Ny41QTEuNzUgMS43NSAwIDAxMTMuMjUgMTJIOS4wNmwtMi41NzMgMi41NzNBMS40NTcgMS40NTcgMCAwMTQgMTMuNTQzVjEySDIuNzVBMS43NSAxLjc1IDAgMDExIDEwLjI1di03LjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwlPSB1c2VyLmlzc3VlQ29tbWVudHMudG90YWxDb3VudCAlPiBpc3N1ZSBjb21tZW50PCU9IHModXNlci5pc3N1ZUNvbW1lbnRzLnRvdGFsQ291bnQpICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwlIH0gJT5cclxuICAgICAgICA8JSBpZiAoYmFzZS5jb21tdW5pdHkpIHsgJT5cclxuICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjc1IDBBMS43NSAxLjc1IDAgMDAwIDEuNzV2MTIuNUMwIDE1LjIxNi43ODQgMTYgMS43NSAxNmgxMi41QTEuNzUgMS43NSAwIDAwMTYgMTQuMjVWMS43NUExLjc1IDEuNzUgMCAwMDE0LjI1IDBIMS43NXpNMS41IDEuNzVhLjI1LjI1IDAgMDEuMjUtLjI1aDEyLjVhLjI1LjI1IDAgMDEuMjUuMjV2MTIuNWEuMjUuMjUgMCAwMS0uMjUuMjVIMS43NWEuMjUuMjUgMCAwMS0uMjUtLjI1VjEuNzV6TTExLjc1IDNhLjc1Ljc1IDAgMDAtLjc1Ljc1djcuNWEuNzUuNzUgMCAwMDEuNSAwdi03LjVhLjc1Ljc1IDAgMDAtLjc1LS43NXptLTguMjUuNzVhLjc1Ljc1IDAgMDExLjUgMHY1LjVhLjc1Ljc1IDAgMDEtMS41IDB2LTUuNXpNOCAzYS43NS43NSAwIDAwLS43NS43NXYzLjVhLjc1Ljc1IDAgMDAxLjUgMHYtMy41QS43NS43NSAwIDAwOCAzelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBDb21tdW5pdHkgc3RhdHNcclxuICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuNSAzLjVhMiAyIDAgMTAwIDQgMiAyIDAgMDAwLTR6TTIgNS41YTMuNSAzLjUgMCAxMTUuODk4IDIuNTQ5IDUuNTA3IDUuNTA3IDAgMDEzLjAzNCA0LjA4NC43NS43NSAwIDExLTEuNDgyLjIzNSA0LjAwMSA0LjAwMSAwIDAwLTcuOSAwIC43NS43NSAwIDAxLTEuNDgyLS4yMzZBNS41MDcgNS41MDcgMCAwMTMuMTAyIDguMDUgMy40OSAzLjQ5IDAgMDEyIDUuNXpNMTEgNGEuNzUuNzUgMCAxMDAgMS41IDEuNSAxLjUgMCAwMS42NjYgMi44NDQuNzUuNzUgMCAwMC0uNDE2LjY3MnYuMzUyYS43NS43NSAwIDAwLjU3NC43M2MxLjIuMjg5IDIuMTYyIDEuMiAyLjUyMiAyLjM3MmEuNzUuNzUgMCAxMDEuNDM0LS40NCA1LjAxIDUuMDEgMCAwMC0yLjU2LTMuMDEyQTMgMyAwIDAwMTEgNHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgRm9sbG93aW5nIDwlPSB1c2VyLmZvbGxvd2luZy50b3RhbENvdW50ICU+IHVzZXI8JT0gcyh1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuMjUgMi41Yy0xLjMzNiAwLTIuNzUgMS4xNjQtMi43NSAzIDAgMi4xNSAxLjU4IDQuMTQ0IDMuMzY1IDUuNjgyQTIwLjU2NSAyMC41NjUgMCAwMDggMTMuMzkzYTIwLjU2MSAyMC41NjEgMCAwMDMuMTM1LTIuMjExQzEyLjkyIDkuNjQ0IDE0LjUgNy42NSAxNC41IDUuNWMwLTEuODM2LTEuNDE0LTMtMi43NS0zLTEuMzczIDAtMi42MDkuOTg2LTMuMDI5IDIuNDU2YS43NS43NSAwIDAxLTEuNDQyIDBDNi44NTkgMy40ODYgNS42MjMgMi41IDQuMjUgMi41ek04IDE0LjI1bC0uMzQ1LjY2Ni0uMDAyLS4wMDEtLjAwNi0uMDAzLS4wMTgtLjAxYTcuNjQzIDcuNjQzIDAgMDEtLjMxLS4xNyAyMi4wNzUgMjIuMDc1IDAgMDEtMy40MzQtMi40MTRDMi4wNDUgMTAuNzMxIDAgOC4zNSAwIDUuNSAwIDIuODM2IDIuMDg2IDEgNC4yNSAxIDUuNzk3IDEgNy4xNTMgMS44MDIgOCAzLjAyIDguODQ3IDEuODAyIDEwLjIwMyAxIDExLjc1IDEgMTMuOTE0IDEgMTYgMi44MzYgMTYgNS41YzAgMi44NS0yLjA0NSA1LjIzMS0zLjg4NSA2LjgxOGEyMi4wOCAyMi4wOCAwIDAxLTMuNzQ0IDIuNTg0bC0uMDE4LjAxLS4wMDYuMDAzaC0uMDAyTDggMTQuMjV6bTAgMGwuMzQ1LjY2NmEuNzUyLjc1MiAwIDAxLS42OSAwTDggMTQuMjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIFNwb25zb3JpbmcgPCU9IGNvbXB1dGVkLnNwb25zb3JzaGlwcyAlPiByZXBvc2l0b3I8JT0gcyhjb21wdXRlZC5zcG9uc29yc2hpcHMsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggLjI1YS43NS43NSAwIDAxLjY3My40MThsMS44ODIgMy44MTUgNC4yMS42MTJhLjc1Ljc1IDAgMDEuNDE2IDEuMjc5bC0zLjA0NiAyLjk3LjcxOSA0LjE5MmEuNzUuNzUgMCAwMS0xLjA4OC43OTFMOCAxMi4zNDdsLTMuNzY2IDEuOThhLjc1Ljc1IDAgMDEtMS4wODgtLjc5bC43Mi00LjE5NEwuODE4IDYuMzc0YS43NS43NSAwIDAxLjQxNi0xLjI4bDQuMjEtLjYxMUw3LjMyNy42NjhBLjc1Ljc1IDAgMDE4IC4yNXptMCAyLjQ0NUw2LjYxNSA1LjVhLjc1Ljc1IDAgMDEtLjU2NC40MWwtMy4wOTcuNDUgMi4yNCAyLjE4NGEuNzUuNzUgMCAwMS4yMTYuNjY0bC0uNTI4IDMuMDg0IDIuNzY5LTEuNDU2YS43NS43NSAwIDAxLjY5OCAwbDIuNzcgMS40NTYtLjUzLTMuMDg0YS43NS43NSAwIDAxLjIxNi0uNjY0bDIuMjQtMi4xODMtMy4wOTYtLjQ1YS43NS43NSAwIDAxLS41NjQtLjQxTDggMi42OTR2LjAwMXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgU3RhcnJlZCA8JT0gdXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNjc5IDcuOTMyYy40MTItLjYyMSAxLjI0Mi0xLjc1IDIuMzY2LTIuNzE3QzUuMTc1IDQuMjQyIDYuNTI3IDMuNSA4IDMuNWMxLjQ3MyAwIDIuODI0Ljc0MiAzLjk1NSAxLjcxNSAxLjEyNC45NjcgMS45NTQgMi4wOTYgMi4zNjYgMi43MTdhLjExOS4xMTkgMCAwMTAgLjEzNmMtLjQxMi42MjEtMS4yNDIgMS43NS0yLjM2NiAyLjcxN0MxMC44MjUgMTEuNzU4IDkuNDczIDEyLjUgOCAxMi41Yy0xLjQ3MyAwLTIuODI0LS43NDItMy45NTUtMS43MTVDMi45MiA5LjgxOCAyLjA5IDguNjkgMS42NzkgOC4wNjhhLjExOS4xMTkgMCAwMTAtLjEzNnpNOCAyYy0xLjk4MSAwLTMuNjcuOTkyLTQuOTMzIDIuMDc4QzEuNzk3IDUuMTY5Ljg4IDYuNDIzLjQzIDcuMWExLjYxOSAxLjYxOSAwIDAwMCAxLjc5OGMuNDUuNjc4IDEuMzY3IDEuOTMyIDIuNjM3IDMuMDI0QzQuMzI5IDEzLjAwOCA2LjAxOSAxNCA4IDE0YzEuOTgxIDAgMy42Ny0uOTkyIDQuOTMzLTIuMDc4IDEuMjctMS4wOTEgMi4xODctMi4zNDUgMi42MzctMy4wMjNhMS42MTkgMS42MTkgMCAwMDAtMS43OThjLS40NS0uNjc4LTEuMzY3LTEuOTMyLTIuNjM3LTMuMDIzQzExLjY3MSAyLjk5MiA5Ljk4MSAyIDggMnptMCA4YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBXYXRjaGluZyA8JT0gdXNlci53YXRjaGluZy50b3RhbENvdW50ICU+IHJlcG9zaXRvcjwlPSBzKHVzZXIud2F0Y2hpbmcudG90YWxDb3VudCwgXCJ5XCIpICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDE0LjI1YzAgLjEzOC4xMTIuMjUuMjUuMjVINHYtMS4yNWEuNzUuNzUgMCAwMS43NS0uNzVoMi41YS43NS43NSAwIDAxLjc1Ljc1djEuMjVoMi4yNWEuMjUuMjUgMCAwMC4yNS0uMjVWMS43NWEuMjUuMjUgMCAwMC0uMjUtLjI1aC04LjVhLjI1LjI1IDAgMDAtLjI1LjI1djEyLjV6TTEuNzUgMTZBMS43NSAxLjc1IDAgMDEwIDE0LjI1VjEuNzVDMCAuNzg0Ljc4NCAwIDEuNzUgMGg4LjVDMTEuMjE2IDAgMTIgLjc4NCAxMiAxLjc1djEyLjVjMCAuMDg1LS4wMDYuMTY4LS4wMTguMjVoMi4yNjhhLjI1LjI1IDAgMDAuMjUtLjI1VjguMjg1YS4yNS4yNSAwIDAwLS4xMTEtLjIwOGwtMS4wNTUtLjcwM2EuNzUuNzUgMCAxMS44MzItMS4yNDhsMS4wNTUuNzAzYy40ODcuMzI1Ljc3OS44NzEuNzc5IDEuNDU2djUuOTY1QTEuNzUgMS43NSAwIDAxMTQuMjUgMTZoLTMuNWEuNzUuNzUgMCAwMS0uMTk3LS4wMjZjLS4wOTkuMDE3LS4yLjAyNi0uMzAzLjAyNmgtM2EuNzUuNzUgMCAwMS0uNzUtLjc1VjE0aC0xdjEuMjVhLjc1Ljc1IDAgMDEtLjc1Ljc1aC0zek0zIDMuNzVBLjc1Ljc1IDAgMDEzLjc1IDNoLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDEzIDMuNzV6TTMuNzUgNmEuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41ek0zIDkuNzVBLjc1Ljc1IDAgMDEzLjc1IDloLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDEzIDkuNzV6TTcuNzUgOWEuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41ek03IDYuNzVBLjc1Ljc1IDAgMDE3Ljc1IDZoLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDE3IDYuNzV6TTcuNzUgM2EuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBNZW1iZXIgb2YgPCU9IHVzZXIub3JnYW5pemF0aW9ucy50b3RhbENvdW50ICU+IG9yZ2FuaXphdGlvbjwlPSBzKHVzZXIub3JnYW5pemF0aW9ucy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8JSB9ICU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCUgaWYgKGJhc2UucmVwb3NpdG9yaWVzKSB7ICU+XHJcbiAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMiAyLjVBMi41IDIuNSAwIDAxNC41IDBoOC43NWEuNzUuNzUgMCAwMS43NS43NXYxMi41YS43NS43NSAwIDAxLS43NS43NWgtMi41YS43NS43NSAwIDExMC0xLjVoMS43NXYtMmgtOGExIDEgMCAwMC0uNzE0IDEuNy43NS43NSAwIDAxLTEuMDcyIDEuMDVBMi40OTUgMi40OTUgMCAwMTIgMTEuNXYtOXptMTAuNS0xVjloLThjLS4zNTYgMC0uNjk0LjA3NC0xIC4yMDhWMi41YTEgMSAwIDAxMS0xaDh6TTUgMTIuMjV2My4yNWEuMjUuMjUgMCAwMC40LjJsMS40NS0xLjA4N2EuMjUuMjUgMCAwMS4zIDBMOC42IDE1LjdhLjI1LjI1IDAgMDAuNC0uMnYtMy4yNWEuMjUuMjUgMCAwMC0uMjUtLjI1aC0zLjVhLjI1LjI1IDAgMDAtLjI1LjI1elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgPCU9IHVzZXIucmVwb3NpdG9yaWVzLnRvdGFsQ291bnQgJT4gUmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXMudG90YWxDb3VudCwgXCJ5XCIpICU+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOC43NS43NWEuNzUuNzUgMCAwMC0xLjUgMFYyaC0uOTg0Yy0uMzA1IDAtLjYwNC4wOC0uODY5LjIzbC0xLjI4OC43MzdBLjI1LjI1IDAgMDEzLjk4NCAzSDEuNzVhLjc1Ljc1IDAgMDAwIDEuNWguNDI4TC4wNjYgOS4xOTJhLjc1Ljc1IDAgMDAuMTU0LjgzOGwuNTMtLjUzLS41My41M3YuMDAxbC4wMDIuMDAyLjAwMi4wMDIuMDA2LjAwNi4wMTYuMDE1LjA0NS4wNGEzLjUxNCAzLjUxNCAwIDAwLjY4Ni40NUE0LjQ5MiA0LjQ5MiAwIDAwMyAxMWMuODggMCAxLjU1Ni0uMjIgMi4wMjMtLjQ1NGEzLjUxNSAzLjUxNSAwIDAwLjY4Ni0uNDVsLjA0NS0uMDQuMDE2LS4wMTUuMDA2LS4wMDYuMDAyLS4wMDIuMDAxLS4wMDJMNS4yNSA5LjVsLjUzLjUzYS43NS43NSAwIDAwLjE1NC0uODM4TDMuODIyIDQuNWguMTYyYy4zMDUgMCAuNjA0LS4wOC44NjktLjIzbDEuMjg5LS43MzdhLjI1LjI1IDAgMDEuMTI0LS4wMzNoLjk4NFYxM2gtMi41YS43NS43NSAwIDAwMCAxLjVoNi41YS43NS43NSAwIDAwMC0xLjVoLTIuNVYzLjVoLjk4NGEuMjUuMjUgMCAwMS4xMjQuMDMzbDEuMjkuNzM2Yy4yNjQuMTUyLjU2My4yMzEuODY4LjIzMWguMTYybC0yLjExMiA0LjY5MmEuNzUuNzUgMCAwMC4xNTQuODM4bC41My0uNTMtLjUzLjUzdi4wMDFsLjAwMi4wMDIuMDAyLjAwMi4wMDYuMDA2LjAxNi4wMTUuMDQ1LjA0YTMuNTE3IDMuNTE3IDAgMDAuNjg2LjQ1QTQuNDkyIDQuNDkyIDAgMDAxMyAxMWMuODggMCAxLjU1Ni0uMjIgMi4wMjMtLjQ1NGEzLjUxMiAzLjUxMiAwIDAwLjY4Ni0uNDVsLjA0NS0uMDQuMDEtLjAxLjAwNi0uMDA1LjAwNi0uMDA2LjAwMi0uMDAyLjAwMS0uMDAyLS41MjktLjUzMS41My41M2EuNzUuNzUgMCAwMC4xNTQtLjgzOEwxMy44MjMgNC41aC40MjdhLjc1Ljc1IDAgMDAwLTEuNWgtMi4yMzRhLjI1LjI1IDAgMDEtLjEyNC0uMDMzbC0xLjI5LS43MzZBMS43NSAxLjc1IDAgMDA5LjczNSAySDguNzVWLjc1ek0xLjY5NSA5LjIyN2MuMjg1LjEzNS43MTguMjczIDEuMzA1LjI3M3MxLjAyLS4xMzggMS4zMDUtLjI3M0wzIDYuMzI3bC0xLjMwNSAyLjl6bTEwIDBjLjI4NS4xMzUuNzE4LjI3MyAxLjMwNS4yNzNzMS4wMi0uMTM4IDEuMzA1LS4yNzNMMTMgNi4zMjdsLTEuMzA1IDIuOXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQubGljZW5zZXMuZmF2b3JpdGUubGVuZ3RoKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIFByZWZlciA8JT0gY29tcHV0ZWQubGljZW5zZXMuZmF2b3JpdGUgJT4gbGljZW5zZVxyXG4gICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgTm8gbGljZW5zZSBwcmVmZXJlbmNlXHJcbiAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOC44NzguMzkyYTEuNzUgMS43NSAwIDAwLTEuNzU2IDBsLTUuMjUgMy4wNDVBMS43NSAxLjc1IDAgMDAxIDQuOTUxdjYuMDk4YzAgLjYyNC4zMzIgMS4yLjg3MiAxLjUxNGw1LjI1IDMuMDQ1YTEuNzUgMS43NSAwIDAwMS43NTYgMGw1LjI1LTMuMDQ1Yy41NC0uMzEzLjg3Mi0uODkuODcyLTEuNTE0VjQuOTUxYzAtLjYyNC0uMzMyLTEuMi0uODcyLTEuNTE0TDguODc4LjM5MnpNNy44NzUgMS42OWEuMjUuMjUgMCAwMS4yNSAwbDQuNjMgMi42ODVMOCA3LjEzMyAzLjI0NSA0LjM3NWw0LjYzLTIuNjg1ek0yLjUgNS42Nzd2NS4zNzJjMCAuMDkuMDQ3LjE3MS4xMjUuMjE2bDQuNjI1IDIuNjgzVjguNDMyTDIuNSA1LjY3N3ptNi4yNSA4LjI3MWw0LjYyNS0yLjY4M2EuMjUuMjUgMCAwMC4xMjUtLjIxNlY1LjY3N0w4Ljc1IDguNDMydjUuNTE2elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwlPSB1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnQgJT4gUGFja2FnZTwlPSBzKHVzZXIucGFja2FnZXMudG90YWxDb3VudCkgJT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiAgPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNzUgMS41YS4yNS4yNSAwIDAwLS4yNS4yNXYxMi41YzAgLjEzOC4xMTIuMjUuMjUuMjVoMTIuNWEuMjUuMjUgMCAwMC4yNS0uMjVWMS43NWEuMjUuMjUgMCAwMC0uMjUtLjI1SDEuNzV6TTAgMS43NUMwIC43ODQuNzg0IDAgMS43NSAwaDEyLjVDMTUuMjE2IDAgMTYgLjc4NCAxNiAxLjc1djEyLjVBMS43NSAxLjc1IDAgMDExNC4yNSAxNkgxLjc1QTEuNzUgMS43NSAwIDAxMCAxNC4yNVYxLjc1em05LjIyIDMuNzJhLjc1Ljc1IDAgMDAwIDEuMDZMMTAuNjkgOCA5LjIyIDkuNDdhLjc1Ljc1IDAgMTAxLjA2IDEuMDZsMi0yYS43NS43NSAwIDAwMC0xLjA2bC0yLTJhLjc1Ljc1IDAgMDAtMS4wNiAwek02Ljc4IDYuNTNhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0yIDJhLjc1Ljc1IDAgMDAwIDEuMDZsMiAyYS43NS43NSAwIDEwMS4wNi0xLjA2TDUuMzEgOGwxLjQ3LTEuNDd6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IHVzZXIuZ2lzdHMudG90YWxDb3VudCAlPiBHaXN0PCU9IHModXNlci5naXN0cy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCA8JT0gY29tcHV0ZWQucGx1Z2lucy5saW5lcy5lcnJvciA/ICdlcnJvcicgOiAnJyAlPlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00LjcyIDMuMjJhLjc1Ljc1IDAgMDExLjA2IDEuMDZMMi4wNiA4bDMuNzIgMy43MmEuNzUuNzUgMCAxMS0xLjA2IDEuMDZMLjQ3IDguNTNhLjc1Ljc1IDAgMDEwLTEuMDZsNC4yNS00LjI1em02LjU2IDBhLjc1Ljc1IDAgMTAtMS4wNiAxLjA2TDEzLjk0IDhsLTMuNzIgMy43MmEuNzUuNzUgMCAxMDEuMDYgMS4wNmw0LjI1LTQuMjVhLjc1Ljc1IDAgMDAwLTEuMDZsLTQuMjUtNC4yNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubGluZXMuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yLm1lc3NhZ2UgJT5cclxuICAgICAgICAgICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMubGluZXMuYWRkZWQgJT4gYWRkZWQsIDwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmRlbGV0ZWQgJT4gcmVtb3ZlZFxyXG4gICAgICAgICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggLjI1YS43NS43NSAwIDAxLjY3My40MThsMS44ODIgMy44MTUgNC4yMS42MTJhLjc1Ljc1IDAgMDEuNDE2IDEuMjc5bC0zLjA0NiAyLjk3LjcxOSA0LjE5MmEuNzUuNzUgMCAwMS0xLjA4OC43OTFMOCAxMi4zNDdsLTMuNzY2IDEuOThhLjc1Ljc1IDAgMDEtMS4wODgtLjc5bC43Mi00LjE5NEwuODE4IDYuMzc0YS43NS43NSAwIDAxLjQxNi0xLjI4bDQuMjEtLjYxMUw3LjMyNy42NjhBLjc1Ljc1IDAgMDE4IC4yNXptMCAyLjQ0NUw2LjYxNSA1LjVhLjc1Ljc1IDAgMDEtLjU2NC40MWwtMy4wOTcuNDUgMi4yNCAyLjE4NGEuNzUuNzUgMCAwMS4yMTYuNjY0bC0uNTI4IDMuMDg0IDIuNzY5LTEuNDU2YS43NS43NSAwIDAxLjY5OCAwbDIuNzcgMS40NTYtLjUzLTMuMDg0YS43NS43NSAwIDAxLjIxNi0uNjY0bDIuMjQtMi4xODMtMy4wOTYtLjQ1YS43NS43NSAwIDAxLS41NjQtLjQxTDggMi42OTR2LjAwMXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucmVwb3NpdG9yaWVzLnN0YXJnYXplcnMgJT4gU3RhcmdhemVyPCU9IHMoY29tcHV0ZWQucmVwb3NpdG9yaWVzLnN0YXJnYXplcnMpICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNSAzLjI1YS43NS43NSAwIDExLTEuNSAwIC43NS43NSAwIDAxMS41IDB6bTAgMi4xMjJhMi4yNSAyLjI1IDAgMTAtMS41IDB2Ljg3OEEyLjI1IDIuMjUgMCAwMDUuNzUgOC41aDEuNXYyLjEyOGEyLjI1MSAyLjI1MSAwIDEwMS41IDBWOC41aDEuNWEyLjI1IDIuMjUgMCAwMDIuMjUtMi4yNXYtLjg3OGEyLjI1IDIuMjUgMCAxMC0xLjUgMHYuODc4YS43NS43NSAwIDAxLS43NS43NWgtNC41QS43NS43NSAwIDAxNSA2LjI1di0uODc4em0zLjc1IDcuMzc4YS43NS43NSAwIDExLTEuNSAwIC43NS43NSAwIDAxMS41IDB6bTMtOC43NWEuNzUuNzUgMCAxMDAtMS41Ljc1Ljc1IDAgMDAwIDEuNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucmVwb3NpdG9yaWVzLmZvcmtzICU+IEZvcms8JT0gcyhjb21wdXRlZC5yZXBvc2l0b3JpZXMuZm9ya3MpICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS42NzkgNy45MzJjLjQxMi0uNjIxIDEuMjQyLTEuNzUgMi4zNjYtMi43MTdDNS4xNzUgNC4yNDIgNi41MjcgMy41IDggMy41YzEuNDczIDAgMi44MjQuNzQyIDMuOTU1IDEuNzE1IDEuMTI0Ljk2NyAxLjk1NCAyLjA5NiAyLjM2NiAyLjcxN2EuMTE5LjExOSAwIDAxMCAuMTM2Yy0uNDEyLjYyMS0xLjI0MiAxLjc1LTIuMzY2IDIuNzE3QzEwLjgyNSAxMS43NTggOS40NzMgMTIuNSA4IDEyLjVjLTEuNDczIDAtMi44MjQtLjc0Mi0zLjk1NS0xLjcxNUMyLjkyIDkuODE4IDIuMDkgOC42OSAxLjY3OSA4LjA2OGEuMTE5LjExOSAwIDAxMC0uMTM2ek04IDJjLTEuOTgxIDAtMy42Ny45OTItNC45MzMgMi4wNzhDMS43OTcgNS4xNjkuODggNi40MjMuNDMgNy4xYTEuNjE5IDEuNjE5IDAgMDAwIDEuNzk4Yy40NS42NzggMS4zNjcgMS45MzIgMi42MzcgMy4wMjRDNC4zMjkgMTMuMDA4IDYuMDE5IDE0IDggMTRjMS45ODEgMCAzLjY3LS45OTIgNC45MzMtMi4wNzggMS4yNy0xLjA5MSAyLjE4Ny0yLjM0NSAyLjYzNy0zLjAyM2ExLjYxOSAxLjYxOSAwIDAwMC0xLjc5OGMtLjQ1LS42NzgtMS4zNjctMS45MzItMi42MzctMy4wMjNDMTEuNjcxIDIuOTkyIDkuOTgxIDIgOCAyem0wIDhhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDR6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnJlcG9zaXRvcmllcy53YXRjaGVycyAlPiBXYXRjaGVyPCU9IHMoY29tcHV0ZWQucmVwb3NpdG9yaWVzLndhdGNoZXJzKSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIDwlPSBjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMuZXJyb3IgPyAnZXJyb3InIDogJycgJT5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMCAxLjc1QS43NS43NSAwIDAxLjc1IDFoNC4yNTNjMS4yMjcgMCAyLjMxNy41OSAzIDEuNTAxQTMuNzQ0IDMuNzQ0IDAgMDExMS4wMDYgMWg0LjI0NWEuNzUuNzUgMCAwMS43NS43NXYxMC41YS43NS43NSAwIDAxLS43NS43NWgtNC41MDdhMi4yNSAyLjI1IDAgMDAtMS41OTEuNjU5bC0uNjIyLjYyMWEuNzUuNzUgMCAwMS0xLjA2IDBsLS42MjItLjYyMUEyLjI1IDIuMjUgMCAwMDUuMjU4IDEzSC43NWEuNzUuNzUgMCAwMS0uNzUtLjc1VjEuNzV6bTguNzU1IDNhMi4yNSAyLjI1IDAgMDEyLjI1LTIuMjVIMTQuNXY5aC0zLjc1N2MtLjcxIDAtMS40LjIwMS0xLjk5Mi41NzJsLjAwNC03LjMyMnptLTEuNTA0IDcuMzI0bC4wMDQtNS4wNzMtLjAwMi0yLjI1M0EyLjI1IDIuMjUgMCAwMDUuMDAzIDIuNUgxLjV2OWgzLjc1N2EzLjc1IDMuNzUgMCAwMTEuOTk0LjU3NHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMudHJhZmZpYy5lcnJvcikgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMudHJhZmZpYy5lcnJvci5tZXNzYWdlICU+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlPSBjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMudmlld3MuY291bnQgJT4gdmlldzwlPSBzKGNvbXB1dGVkLnBsdWdpbnMudHJhZmZpYy52aWV3cy5jb3VudCkgJT4gaW4gbGFzdCB0d28gd2Vla3NcclxuICAgICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8JSB9ICU+XHJcblxyXG4gICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cCkgeyAlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHJcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICA8aDM+SXNzdWVzPC9oMz5cclxuICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBlcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5lcnJvci5tZXNzYWdlICU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDwlIH0gZWxzZSB7ICU+XHJcbiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImJhclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIyMFwiIGhlaWdodD1cIjhcIj5cclxuICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwiaXNzdWVzLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyMjBcIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIndoaXRlXCIgcng9XCI1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjaXNzdWVzLWJhcilcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI8JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY291bnQgPyAwIDogMjIwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjZDFkNWRhXCIvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjaXNzdWVzLWJhcilcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI8JT0gKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuaXNzdWVzLmNsb3NlZC9jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudCkqMjIwIHx8IDAgJT5cIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIiNkNzNhNDlcIi8+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCBtYXNrPVwidXJsKCNpc3N1ZXMtYmFyKVwiIHg9XCI8JT0gKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuaXNzdWVzLmNsb3NlZC9jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudCkqMjIwIHx8IDAgJT5cIiB5PVwiMFwiIHdpZHRoPVwiPCU9ICgxLWNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuaXNzdWVzLmNsb3NlZC9jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudCkqMjIwIHx8IDAgJT5cIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIiMyOGE3NDVcIi8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGhvcml6b250YWwgZmlsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbD1cIiNkNzNhNDlcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjUgOGE2LjUgNi41IDAgMDExMC42NS01LjAwMy43NS43NSAwIDAwLjk1OS0xLjE1MyA4IDggMCAxMDIuNTkyIDguMzMuNzUuNzUgMCAxMC0xLjQ0NC0uNDA3QTYuNSA2LjUgMCAwMTEuNSA4ek04IDEyYTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyem0wLThhLjc1Ljc1IDAgMDEuNzUuNzV2My41YS43NS43NSAwIDExLTEuNSAwdi0zLjVBLjc1Ljc1IDAgMDE4IDR6bTQuNzggNC4yOGwzLTNhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0yLjQ3IDIuNDctLjk3LS45N2EuNzQ5Ljc0OSAwIDEwLTEuMDYgMS4wNmwxLjUgMS41YS43NS43NSAwIDAwMS4wNiAwelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuby13cmFwXCI+PCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuaXNzdWVzLmNsb3NlZCAlPiBDbG9zZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGw9XCIjMjhhNzQ1XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOCAxLjVhNi41IDYuNSAwIDEwMCAxMyA2LjUgNi41IDAgMDAwLTEzek0wIDhhOCA4IDAgMTExNiAwQTggOCAwIDAxMCA4em05IDNhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tLjI1LTYuMjVhLjc1Ljc1IDAgMDAtMS41IDB2My41YS43NS43NSAwIDAwMS41IDB2LTMuNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm8td3JhcFwiPjwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5vcGVuICU+IE9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxoMz5QdWxsIHJlcXVlc3RzPC9oMz5cclxuICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBlcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5lcnJvci5tZXNzYWdlICU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDwlIH0gZWxzZSB7ICU+XHJcbiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImJhclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIyMFwiIGhlaWdodD1cIjhcIj5cclxuICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicHItYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjIyMFwiIGhlaWdodD1cIjhcIiBmaWxsPVwid2hpdGVcIiByeD1cIjVcIi8+XHJcbiAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCBtYXNrPVwidXJsKCNwci1iYXIpXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiPCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIuY291bnQgPyAwIDogMjIwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjZDFkNWRhXCIvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjcHItYmFyKVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjwlPSAoY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5tZXJnZWQvY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5jb3VudCkqMjIwIHx8IDAgJT5cIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIiM2ZjQyYzFcIi8+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCBtYXNrPVwidXJsKCNwci1iYXIpXCIgeD1cIjwlPSAoY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5tZXJnZWQvY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5jb3VudCkqMjIwIHx8IDAgJT5cIiB5PVwiMFwiIHdpZHRoPVwiPCU9ICgxLWNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIubWVyZ2VkL2NvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIuY291bnQpKjIyMCB8fCAwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjMjhhNzQ1XCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBob3Jpem9udGFsIGZpbGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGw9XCIjNmY0MmMxXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNSAzLjI1NFYzLjI1di4wMDVhLjc1Ljc1IDAgMTEwLS4wMDV2LjAwNHptLjQ1IDEuOWEyLjI1IDIuMjUgMCAxMC0xLjk1LjIxOHY1LjI1NmEyLjI1IDIuMjUgMCAxMDEuNSAwVjcuMTIzQTUuNzM1IDUuNzM1IDAgMDA5LjI1IDloMS4zNzhhMi4yNTEgMi4yNTEgMCAxMDAtMS41SDkuMjVhNC4yNSA0LjI1IDAgMDEtMy44LTIuMzQ2ek0xMi43NSA5YS43NS43NSAwIDEwMC0xLjUuNzUuNzUgMCAwMDAgMS41em0tOC41IDQuNWEuNzUuNzUgMCAxMDAtMS41Ljc1Ljc1IDAgMDAwIDEuNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm8td3JhcFwiPjwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLnByLm1lcmdlZCAlPiBNZXJnZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGw9XCIjMjhhNzQ1XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4xNzcgMy4wNzNMOS41NzMuNjc3QS4yNS4yNSAwIDAxMTAgLjg1NHY0Ljc5MmEuMjUuMjUgMCAwMS0uNDI3LjE3N0w3LjE3NyAzLjQyN2EuMjUuMjUgMCAwMTAtLjM1NHpNMy43NSAyLjVhLjc1Ljc1IDAgMTAwIDEuNS43NS43NSAwIDAwMC0xLjV6bS0yLjI1Ljc1YTIuMjUgMi4yNSAwIDExMyAyLjEyMnY1LjI1NmEyLjI1MSAyLjI1MSAwIDExLTEuNSAwVjUuMzcyQTIuMjUgMi4yNSAwIDAxMS41IDMuMjV6TTExIDIuNWgtMVY0aDFhMSAxIDAgMDExIDF2NS42MjhhMi4yNTEgMi4yNTEgMCAxMDEuNSAwVjVBMi41IDIuNSAwIDAwMTEgMi41em0xIDEwLjI1YS43NS43NSAwIDExMS41IDAgLjc1Ljc1IDAgMDEtMS41IDB6TTMuNzUgMTJhLjc1Ljc1IDAgMTAwIDEuNS43NS43NSAwIDAwMC0xLjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vLXdyYXBcIj48JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5vcGVuICU+IE9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzKSB7ICU+XHJcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgIDxoMz5Nb3N0IHVzZWQgbGFuZ3VhZ2VzPC9oMz5cclxuICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcy5lcnJvcikgeyAlPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00LjQ3LjIyQS43NS43NSAwIDAxNSAwaDZhLjc1Ljc1IDAgMDEuNTMuMjJsNC4yNSA0LjI1Yy4xNDEuMTQuMjIuMzMxLjIyLjUzdjZhLjc1Ljc1IDAgMDEtLjIyLjUzbC00LjI1IDQuMjVBLjc1Ljc1IDAgMDExMSAxNkg1YS43NS43NSAwIDAxLS41My0uMjJMLjIyIDExLjUzQS43NS43NSAwIDAxMCAxMVY1YS43NS43NSAwIDAxLjIyLS41M0w0LjQ3LjIyem0uODQgMS4yOEwxLjUgNS4zMXY1LjM4bDMuODEgMy44MWg1LjM4bDMuODEtMy44MVY1LjMxTDEwLjY5IDEuNUg1LjMxek04IDRhLjc1Ljc1IDAgMDEuNzUuNzV2My41YS43NS43NSAwIDAxLTEuNSAwdi0zLjVBLjc1Ljc1IDAgMDE4IDR6bTAgOGExIDEgMCAxMDAtMiAxIDEgMCAwMDAgMnpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiYmFyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDYwXCIgaGVpZ2h0PVwiOFwiPlxyXG4gICAgICAgICAgICAgIDxtYXNrIGlkPVwibGFuZ3VhZ2VzLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDYwXCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIHJ4PVwiNVwiLz5cclxuICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjbGFuZ3VhZ2VzLWJhcilcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI8JT0gY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZmF2b3JpdGVzLmxlbmd0aCA/IDAgOiA0NjAgJT5cIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIiNkMWQ1ZGFcIi8+XHJcbiAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCB7bmFtZSwgdmFsdWUsIGNvbG9yLCB4fSBvZiBjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcy5mYXZvcml0ZXMpIHsgJT5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG1hc2s9XCJ1cmwoI2xhbmd1YWdlcy1iYXIpXCIgeD1cIjwlPSB4KjQ2MCAlPlwiIHk9XCIwXCIgd2lkdGg9XCI8JT0gdmFsdWUqNDYwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCI8JT0gY29sb3IgJT5cIi8+XHJcbiAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNlbnRlciBob3Jpem9udGFsLXdyYXAgZmlsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgIDwlIGZvciAoY29uc3Qge25hbWUsIHZhbHVlLCBjb2xvcn0gb2YgY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZmF2b3JpdGVzKSB7ICU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY2VudGVyIG5vLXdyYXAgbGFuZ3VhZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGw9XCI8JT0gY29sb3IgJT5cIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IDRhNCA0IDAgMTAwIDggNCA0IDAgMDAwLTh6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8JT0gbmFtZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZCkgeyAlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC4wNjQgMGE4Ljc1IDguNzUgMCAwMC02LjE4NyAyLjU2M2wtLjQ1OS40NThjLS4zMTQuMzE0LS42MTYuNjQxLS45MDQuOTc5SDMuMzFhMS43NSAxLjc1IDAgMDAtMS40OS44MzNMLjExIDcuNjA3YS43NS43NSAwIDAwLjQxOCAxLjExbDMuMTAyLjk1NGMuMDM3LjA1MS4wNzkuMS4xMjQuMTQ1bDIuNDI5IDIuNDI4Yy4wNDYuMDQ2LjA5NC4wODguMTQ1LjEyNWwuOTU0IDMuMTAyYS43NS43NSAwIDAwMS4xMS40MThsMi43NzQtMS43MDdhMS43NSAxLjc1IDAgMDAuODMzLTEuNDlWOS40ODVjLjMzOC0uMjg4LjY2NS0uNTkuOTc5LS45MDRsLjQ1OC0uNDU5QTguNzUgOC43NSAwIDAwMTYgMS45MzZWMS43NUExLjc1IDEuNzUgMCAwMDE0LjI1IDBoLS4xODZ6TTEwLjUgMTAuNjI1Yy0uMDg4LjA2LS4xNzcuMTE4LS4yNjYuMTc1bC0yLjM1IDEuNTIxLjU0OCAxLjc4MyAxLjk0OS0xLjJhLjI1LjI1IDAgMDAuMTE5LS4yMTN2LTIuMDY2ek0zLjY3OCA4LjExNkw1LjIgNS43NjZjLjA1OC0uMDkuMTE3LS4xNzguMTc2LS4yNjZIMy4zMDlhLjI1LjI1IDAgMDAtLjIxMy4xMTlsLTEuMiAxLjk1IDEuNzgyLjU0N3ptNS4yNi00LjQ5M0E3LjI1IDcuMjUgMCAwMTE0LjA2MyAxLjVoLjE4NmEuMjUuMjUgMCAwMS4yNS4yNXYuMTg2YTcuMjUgNy4yNSAwIDAxLTIuMTIzIDUuMTI3bC0uNDU5LjQ1OGExNS4yMSAxNS4yMSAwIDAxLTIuNDk5IDIuMDJsLTIuMzE3IDEuNS0yLjE0My0yLjE0MyAxLjUtMi4zMTdhMTUuMjUgMTUuMjUgMCAwMTIuMDItMi41bC40NTgtLjQ1OGguMDAyek0xMiA1YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTguNDQgOS41NmExLjUgMS41IDAgMTAtMi4xMi0yLjEyYy0uNzM0LjczLTEuMDQ3IDIuMzMyLTEuMTUgMy4wMDNhLjIzLjIzIDAgMDAuMjY1LjI2NWMuNjcxLS4xMDMgMi4yNzMtLjQxNiAzLjAwNS0xLjE0OHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgUGFnZVNwZWVkIEluc2lnaHRzXHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk03Ljc3NSAzLjI3NWEuNzUuNzUgMCAwMDEuMDYgMS4wNmwxLjI1LTEuMjVhMiAyIDAgMTEyLjgzIDIuODNsLTIuNSAyLjVhMiAyIDAgMDEtMi44MyAwIC43NS43NSAwIDAwLTEuMDYgMS4wNiAzLjUgMy41IDAgMDA0Ljk1IDBsMi41LTIuNWEzLjUgMy41IDAgMDAtNC45NS00Ljk1bC0xLjI1IDEuMjV6bS00LjY5IDkuNjRhMiAyIDAgMDEwLTIuODNsMi41LTIuNWEyIDIgMCAwMTIuODMgMCAuNzUuNzUgMCAwMDEuMDYtMS4wNiAzLjUgMy41IDAgMDAtNC45NSAwbC0yLjUgMi41YTMuNSAzLjUgMCAwMDQuOTUgNC45NWwxLjI1LTEuMjVhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0xLjI1IDEuMjVhMiAyIDAgMDEtMi44MyAwelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci53ZWJzaXRlVXJsICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5lcnJvcikgeyAlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00LjQ3LjIyQS43NS43NSAwIDAxNSAwaDZhLjc1Ljc1IDAgMDEuNTMuMjJsNC4yNSA0LjI1Yy4xNDEuMTQuMjIuMzMxLjIyLjUzdjZhLjc1Ljc1IDAgMDEtLjIyLjUzbC00LjI1IDQuMjVBLjc1Ljc1IDAgMDExMSAxNkg1YS43NS43NSAwIDAxLS41My0uMjJMLjIyIDExLjUzQS43NS43NSAwIDAxMCAxMVY1YS43NS43NSAwIDAxLjIyLS41M0w0LjQ3LjIyem0uODQgMS4yOEwxLjUgNS4zMXY1LjM4bDMuODEgMy44MWg1LjM4bDMuODEtMy44MVY1LjMxTDEwLjY5IDEuNUg1LjMxek04IDRhLjc1Ljc1IDAgMDEuNzUuNzV2My41YS43NS43NSAwIDAxLTEuNSAwdi0zLjVBLjc1Ljc1IDAgMDE4IDR6bTAgOGExIDEgMCAxMDAtMiAxIDEgMCAwMDAgMnpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZmlsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY2F0ZWdvcmllc1wiPlxyXG4gICAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCB7c2NvcmUsIHRpdGxlfSBvZiBjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5zY29yZXMpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3JpZSBjb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMCAxMjBcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIiBjbGFzcz1cImdhdWdlIDwlPSAhTnVtYmVyLmlzTmFOKHNjb3JlKSA/IChzY29yZSA+PSAwLjkgPyAnaGlnaCcgOiBzY29yZSA+PSAwLjUgPyAnYXZlcmFnZScgOiAnbG93JykgOiAnJyAlPlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImdhdWdlLWJhc2VcIiByPVwiNTNcIiBjeD1cIjYwXCIgY3k9XCI2MFwiPjwvY2lyY2xlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCUgaWYgKCFOdW1iZXIuaXNOYU4oc2NvcmUpKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJnYXVnZS1hcmNcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTkwIDYwIDYwKVwiIHI9XCI1M1wiIGN4PVwiNjBcIiBjeT1cIjYwXCIgc3Ryb2tlLWRhc2hhcnJheT1cIjwlPSBzY29yZSAqIDMyOSAlPiAzMjlcIj48L2NpcmNsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD1cIjYwXCIgeT1cIjYwXCIgZG9taW5hbnQtYmFzZWxpbmU9XCJjZW50cmFsXCIgPjwlPSBNYXRoLnJvdW5kKHNjb3JlKjEwMCkgJT48L3RleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PVwiNjBcIiB5PVwiNjBcIiBkb21pbmFudC1iYXNlbGluZT1cImNlbnRyYWxcIiA+LTwvdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+PCU9IHRpdGxlICU+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwlIH0gJT5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzKSB7ICU+XHJcbiAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOCAxLjVjLTIuMzYzIDAtNCAxLjY5LTQgMy43NSAwIC45ODQuNDI0IDEuNjI1Ljk4NCAyLjMwNGwuMjE0LjI1M2MuMjIzLjI2NC40Ny41NTYuNjczLjg0OC4yODQuNDExLjUzNy44OTYuNjIxIDEuNDlhLjc1Ljc1IDAgMDEtMS40ODQuMjExYy0uMDQtLjI4Mi0uMTYzLS41NDctLjM3LS44NDdhOC42OTUgOC42OTUgMCAwMC0uNTQyLS42OGMtLjA4NC0uMS0uMTczLS4yMDUtLjI2OC0uMzJDMy4yMDEgNy43NSAyLjUgNi43NjYgMi41IDUuMjUgMi41IDIuMzEgNC44NjMgMCA4IDBzNS41IDIuMzEgNS41IDUuMjVjMCAxLjUxNi0uNzAxIDIuNS0xLjMyOCAzLjI1OS0uMDk1LjExNS0uMTg0LjIyLS4yNjguMzE5LS4yMDcuMjQ1LS4zODMuNDUzLS41NDEuNjgxLS4yMDguMy0uMzMuNTY1LS4zNy44NDdhLjc1Ljc1IDAgMDEtMS40ODUtLjIxMmMuMDg0LS41OTMuMzM3LTEuMDc4LjYyMS0xLjQ4OS4yMDMtLjI5Mi40NS0uNTg0LjY3My0uODQ4LjA3NS0uMDg4LjE0Ny0uMTczLjIxMy0uMjUzLjU2MS0uNjc5Ljk4NS0xLjMyLjk4NS0yLjMwNCAwLTIuMDYtMS42MzctMy43NS00LTMuNzV6TTYgMTUuMjVhLjc1Ljc1IDAgMDEuNzUtLjc1aDIuNWEuNzUuNzUgMCAwMTAgMS41aC0yLjVhLjc1Ljc1IDAgMDEtLjc1LS43NXpNNS43NSAxMmEuNzUuNzUgMCAwMDAgMS41aDQuNWEuNzUuNzUgMCAwMDAtMS41aC00LjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICBDb2RpbmcgaGFiaXRzXHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5oYWJpdHMuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBlcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5oYWJpdHMuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImhhYml0c1wiPlxyXG4gICAgICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzLmluZGVudHMuc3R5bGUpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgPGxpPlVzZSA8JT0gY29tcHV0ZWQucGx1Z2lucy5oYWJpdHMuaW5kZW50cy5zdHlsZSAlPiBmb3IgaW5kZW50czwvbGk+XHJcbiAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICA8JSBpZiAoIU51bWJlci5pc05hTihjb21wdXRlZC5wbHVnaW5zLmhhYml0cy5jb21taXRzLmhvdXIpKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxsaT5Nb3N0bHkgcHVzaCBjb2RlIGFyb3VuZCA8JT0gY29tcHV0ZWQucGx1Z2lucy5oYWJpdHMuY29tbWl0cy5ob3VyICU+OjAwPC9saT5cclxuICAgICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLm11c2ljKSB7ICU+XHJcbiAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDhhNi41IDYuNSAwIDExMTMgMCA2LjUgNi41IDAgMDEtMTMgMHpNOCAwYTggOCAwIDEwMCAxNkE4IDggMCAwMDggMHpNNi4zNzkgNS4yMjdBLjI1LjI1IDAgMDA2IDUuNDQydjUuMTE3YS4yNS4yNSAwIDAwLjM3OS4yMTRsNC4yNjQtMi41NTlhLjI1LjI1IDAgMDAwLS40MjhMNi4zNzkgNS4yMjd6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5tdXNpYy5tb2RlICU+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBmaWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLm11c2ljLnByb3ZpZGVyKSB7ICU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuMDAyIDIuNzI1YS43NS43NSAwIDAxLjc5Ny0uNjk5QzguNzkgMi40MiAxMy41OCA3LjIxIDEzLjk3NCAxMy4yMDFhLjc1Ljc1IDAgMTEtMS40OTcuMDk4IDEwLjUwMiAxMC41MDIgMCAwMC05Ljc3Ni05Ljc3Ni43NS43NSAwIDAxLS43LS43OTh6TTIgMTNhMSAxIDAgMTEyIDAgMSAxIDAgMDEtMiAwem0uODQtNS45NWEuNzUuNzUgMCAwMC0uMTc5IDEuNDg5YzIuNTA5LjMgNC41IDIuMjkxIDQuOCA0LjhhLjc1Ljc1IDAgMTAxLjQ5LS4xNzhBNy4wMDMgNy4wMDMgMCAwMDIuODM4IDcuMDV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICBGcm9tIDwlPSBjb21wdXRlZC5wbHVnaW5zLm11c2ljLnByb3ZpZGVyICU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubXVzaWMuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBlcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5tdXNpYy5lcnJvci5tZXNzYWdlICU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubXVzaWMudHJhY2tzLmxlbmd0aCkgeyAlPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhY2tsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCB7bmFtZSA9IFwiXCIsIGFydGlzdCA9IFwiXCIsIGFydHdvcmsgPSBcIlwifSBvZiBjb21wdXRlZC5wbHVnaW5zLm11c2ljLnRyYWNrcykgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LDwlPSBhcnR3b3JrICU+XCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgYWx0PVwiXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPjwlPSBuYW1lICU+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFydGlzdFwiPjwlPSBhcnRpc3QgJT48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNzUgMS41YS4yNS4yNSAwIDAwLS4yNS4yNXY5LjVjMCAuMTM4LjExMi4yNS4yNS4yNWgyYS43NS43NSAwIDAxLjc1Ljc1djIuMTlsMi43Mi0yLjcyYS43NS43NSAwIDAxLjUzLS4yMmg2LjVhLjI1LjI1IDAgMDAuMjUtLjI1di05LjVhLjI1LjI1IDAgMDAtLjI1LS4yNUgxLjc1ek0wIDEuNzVDMCAuNzg0Ljc4NCAwIDEuNzUgMGgxMi41QzE1LjIxNiAwIDE2IC43ODQgMTYgMS43NXY5LjVBMS43NSAxLjc1IDAgMDExNC4yNSAxM0g4LjA2bC0yLjU3MyAyLjU3M0ExLjQ1NyAxLjQ1NyAwIDAxMyAxNC41NDNWMTNIMS43NUExLjc1IDEuNzUgMCAwMTAgMTEuMjV2LTkuNXpNOSA5YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLS4yNS01LjI1YS43NS43NSAwIDAwLTEuNSAwdjIuNWEuNzUuNzUgMCAwMDEuNSAwdi0yLjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIE5vIG11c2ljIHJlY2VudGx5IGxpc3RlbmVkXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8JSB9ICU+XHJcblxyXG4gICAgICA8JSBpZiAoYmFzZS5tZXRhZGF0YSkgeyAlPlxyXG4gICAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICA8c3Bhbj5UaGVzZSBtZXRyaWNzIDwlPSAhY29tcHV0ZWQudG9rZW4uc2NvcGVzLmluY2x1ZGVzKFwicmVwb1wiKSA/IFwiZG9lcyBub3QgaW5jbHVkZVwiIDogXCJpbmNsdWRlc1wiICU+IHByaXZhdGUgY29udHJpYnV0aW9uczwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPkxhc3QgdXBkYXRlZCA8JT0gbmV3IERhdGUoKSAlPjwvc3Bhbj5cclxuICAgICAgICA8L2Zvb3Rlcj5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9yZWlnbk9iamVjdD5cclxuPC9zdmc+Iiwic3R5bGUiOiIvKiBTVkcgZ2xvYmFsIGNvbnRleHQgKi9cclxuICBzdmcge1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIEFwcGxlIENvbG9yIEVtb2ppLCBTZWdvZSBVSSBFbW9qaTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjNzc3Nzc3O1xyXG4gIH1cclxuXHJcbi8qIEhlYWRlcnMgKi9cclxuICBoMSwgaDIsIGgzIHtcclxuICAgIG1hcmdpbjogOHB4IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGNvbG9yOiAjMDM2NmQ2O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgaDEgc3ZnLCBoMiBzdmcsIGgzIHN2ZyB7XHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgfVxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4vKiBGaWVsZHMgKi9cclxuICBzZWN0aW9uID4gLmZpZWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICB9XHJcbiAgLmZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcbiAgLmZpZWxkIHN2ZyB7XHJcbiAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgZmlsbDogIzk1OWRhNTtcclxuICB9XHJcbiAgLmZpZWxkLmVycm9yIHtcclxuICAgIGNvbG9yOiAjY2IyNDMxO1xyXG4gIH1cclxuICAuZmllbGQuZXJyb3Igc3ZnIHtcclxuICAgIGZpbGw6ICNjYjI0MzE7XHJcbiAgfVxyXG5cclxuLyogRGlzcGxheXMgKi9cclxuICAucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG4gIC5yb3cgc2VjdGlvbiB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICB9XHJcbiAgLmNvbHVtbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5jZW50ZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5ob3Jpem9udGFsIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIH1cclxuICAuaG9yaXpvbnRhbC13cmFwIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgLmhvcml6b250YWwgLmZpZWxkIHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gIH1cclxuICAubm8td3JhcCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxuICAuZmlsbC13aWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4vKiBVc2VyIGF2YXRhciAqL1xyXG4gIC5hdmF0YXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG1hcmdpbjogMCA2cHg7XHJcbiAgfVxyXG5cclxuLyogQ29tbWl0IGNhbGVuZGFyICovXHJcbiAgLmNhbGVuZGFyLmZpZWxkIHtcclxuICAgIG1hcmdpbjogNHB4IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xyXG4gIH1cclxuICAuY2FsZW5kYXIgLmRheSB7XHJcbiAgICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgyNywzMSwzNSwuMDQpO1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XHJcbiAgfVxyXG5cclxuLyogUHJvZ3Jlc3MgYmFycyAqL1xyXG4gIHN2Zy5iYXIge1xyXG4gICAgbWFyZ2luOiA0cHggMDtcclxuICB9XHJcblxyXG4vKiBMYW5ndWFnZSAqL1xyXG4gIC5maWVsZC5sYW5ndWFnZSB7XHJcbiAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gIH1cclxuXHJcbiAgLmZpZWxkLmxhbmd1YWdlIHNtYWxsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICBvcGFjaXR5OiAuNztcclxuICB9XHJcblxyXG4vKiBIYWJpdHMgKi9cclxuICAuaGFiaXRzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogMzdweDtcclxuICB9XHJcblxyXG4vKiBGb290ZXIgKi9cclxuICBmb290ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgfVxyXG5cclxuLyogU3BlZWQgdGVzdCBjYXRlZ29yaWVzICovXHJcbiAgLmNhdGVnb3JpZXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxuICB9XHJcbiAgLmNhdGVnb3JpZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICB9XHJcblxyXG4vKiBHYXVnZXMgKi9cclxuICAuZ2F1Z2Uge1xyXG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xyXG4gICAgZmlsbDogbm9uZTtcclxuICB9XHJcbiAgLmdhdWdlLmhpZ2gge1xyXG4gICAgY29sb3I6ICMxOGI2NjM7XHJcbiAgfVxyXG4gIC5nYXVnZS5hdmVyYWdlIHtcclxuICAgIGNvbG9yOiAjZmI4YzAwO1xyXG4gIH1cclxuICAuZ2F1Z2UubG93IHtcclxuICAgIGNvbG9yOiAjZTUzOTM1O1xyXG4gIH1cclxuICAuZ2F1Z2UtYmFzZSwgLmdhdWdlLWFyYyB7XHJcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgIHN0cm9rZS13aWR0aDogMTA7XHJcbiAgfVxyXG4gIC5nYXVnZS1iYXNlIHtcclxuICAgIHN0cm9rZS1vcGFjaXR5OiAuMjtcclxuICB9XHJcbiAgLmdhdWdlLWFyYyB7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDI1MG1zO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb24tZ2F1Z2UgMXMgZWFzZSBmb3J3YXJkc1xyXG4gIH1cclxuICAuZ2F1Z2UgdGV4dCB7XHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgdGV4dC1hbmNob3I6IG1pZGRsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG4gIC5nYXVnZSAudGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6ICM3Nzc3Nzc7XHJcbiAgfVxyXG4gIEBrZXlmcmFtZXMgYW5pbWF0aW9uLWdhdWdlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAwIDMyOTtcclxuICAgIH1cclxuICB9XHJcblxyXG4vKiBNdXNpYyBwbHVnaW4gKi9cclxuICAudHJhY2tsaXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMjhweDtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAudHJhY2sge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICB9XHJcbiAgLnRyYWNrIGltZyB7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcclxuICB9XHJcbiAgLnRyYWNrIC5uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gIH1cclxuICAudHJhY2sgLmFydGlzdCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBvcGFjaXR5OiAuNztcclxuICB9XHJcblxyXG4vKiBGYWRlIGFuaW1hdGlvbiAqL1xyXG4gIC5hZiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb24tZmFkZSAxcyBlYXNlIGZvcndhcmRzO1xyXG4gIH1cclxuICBAa2V5ZnJhbWVzIGFuaW1hdGlvbi1mYWRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qIENhbGVuZGFyICovXHJcbiAgOnJvb3Qge1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktYmc6ICNlYmVkZjA7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMS1iZzogIzliZTlhODtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJnOiAjNDBjNDYzO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDMtYmc6ICMzMGExNGU7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MNC1iZzogIzIxNmUzOTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMS1iZzogI2ZmZWU0YTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMi1iZzogI2ZmYzUwMTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMy1iZzogI2ZlOTYwMDtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MNC1iZzogIzAzMDAxYztcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUw0LWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwzLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwxLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICB9IiwiZm9udHMiOiIifSwic3liaWwiOnsicXVlcnkiOiJxdWVyeSBNZXRyaWNzIHtcclxuICB1c2VyKGxvZ2luOiAkbG9naW4pIHtcclxuICAgIGRhdGFiYXNlSWRcclxuICAgIG5hbWVcclxuICAgIGxvZ2luXHJcbiAgICBjcmVhdGVkQXRcclxuICAgIGF2YXRhclVybFxyXG4gICAgd2Vic2l0ZVVybFxyXG4gICAgZ2lzdHMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICByZXBvc2l0b3JpZXMobGFzdDogJHJlcG9zaXRvcmllcywgaXNGb3JrOiBmYWxzZSwgb3duZXJBZmZpbGlhdGlvbnM6IE9XTkVSKSB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgICAgbm9kZXMge1xyXG4gICAgICAgIG5hbWVcclxuICAgICAgICB3YXRjaGVycyB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0YXJnYXplcnMge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBsYW5ndWFnZXMoZmlyc3Q6IDQpIHtcclxuICAgICAgICAgIGVkZ2VzIHtcclxuICAgICAgICAgICAgc2l6ZVxyXG4gICAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgICBjb2xvclxyXG4gICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpc3N1ZXNfb3BlbjogaXNzdWVzKHN0YXRlczogT1BFTikge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBpc3N1ZXNfY2xvc2VkOiBpc3N1ZXMoc3RhdGVzOiBDTE9TRUQpIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJfb3BlbjogcHVsbFJlcXVlc3RzKHN0YXRlczogT1BFTikge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBwcl9tZXJnZWQ6IHB1bGxSZXF1ZXN0cyhzdGF0ZXM6IE1FUkdFRCkge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JrQ291bnRcclxuICAgICAgICBsaWNlbnNlSW5mbyB7XHJcbiAgICAgICAgICBzcGR4SWRcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHBhY2thZ2VzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgc3RhcnJlZFJlcG9zaXRvcmllcyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHdhdGNoaW5nIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgc3BvbnNvcnNoaXBzQXNTcG9uc29yIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgc3BvbnNvcnNoaXBzQXNNYWludGFpbmVyIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgY29udHJpYnV0aW9uc0NvbGxlY3Rpb24ge1xyXG4gICAgICB0b3RhbFJlcG9zaXRvcmllc1dpdGhDb250cmlidXRlZENvbW1pdHNcclxuICAgICAgdG90YWxDb21taXRDb250cmlidXRpb25zXHJcbiAgICAgIHJlc3RyaWN0ZWRDb250cmlidXRpb25zQ291bnRcclxuICAgICAgdG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnNcclxuICAgICAgdG90YWxQdWxsUmVxdWVzdENvbnRyaWJ1dGlvbnNcclxuICAgICAgdG90YWxQdWxsUmVxdWVzdFJldmlld0NvbnRyaWJ1dGlvbnNcclxuICAgIH1cclxuICAgIGNhbGVuZGFyOmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uKGZyb206ICRjYWxlbmRhci5mcm9tLCB0bzogJGNhbGVuZGFyLnRvKSB7XHJcbiAgICAgIGNvbnRyaWJ1dGlvbkNhbGVuZGFyIHtcclxuICAgICAgICB3ZWVrcyB7XHJcbiAgICAgICAgICBjb250cmlidXRpb25EYXlzIHtcclxuICAgICAgICAgICAgY29sb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJlcG9zaXRvcmllc0NvbnRyaWJ1dGVkVG8ge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBmb2xsb3dlcnMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBmb2xsb3dpbmcge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBpc3N1ZUNvbW1lbnRzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgb3JnYW5pemF0aW9ucyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiaW1hZ2UiOiI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjgwMFwiIGhlaWdodD1cIjwlPSA0OFxyXG4gICsgKCEhYmFzZS5oZWFkZXIpKjYyXHJcbiAgKyAoISFiYXNlLm1ldGFkYXRhKSoxMDhcclxuICArICghIWJhc2UuYWN0aXZpdHkpKjEwOFxyXG4gICsgKCEhYmFzZS5jb21tdW5pdHkpKjk0XHJcbiAgKyAoISFiYXNlLnJlcG9zaXRvcmllcykqMTQyXHJcbiAgKyAoKCEhYmFzZS5yZXBvc2l0b3JpZXMpKighIWNvbXB1dGVkLnBsdWdpbnMudHJhZmZpYykpKjE4XHJcbiAgKyAoKCEhYmFzZS5yZXBvc2l0b3JpZXMpKighIWNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXApKSoxMDJcclxuICArICgoISFiYXNlLnJlcG9zaXRvcmllcykqKCEhY29tcHV0ZWQucGx1Z2lucy5saW5lcykpKjM0XHJcbiAgKyAoISFjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZCkqMTEwXHJcbiAgKyAoISFjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcykqMTI0XHJcbiAgKyBNYXRoLm1heCgwLCAoKCghIWJhc2UubWV0YWRhdGEpKyghIWJhc2UuaGVhZGVyKSsoKCEhYmFzZS5hY3Rpdml0eSl8fCghIWJhc2UuY29tbXVuaXR5KSkrKCEhYmFzZS5yZXBvc2l0b3JpZXMpKyghIWNvbXB1dGVkLnBsdWdpbnMucGFnZXNwZWVkKSsoISFjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcykpLTEpKSoyMFxyXG4lPlwiPlxyXG4gIDwlXHJcbiAgICBtZXRhLiQgPSBgPHNwYW4gY2xhc3M9XCJwczEtcGF0aFwiPiR7YCR7dXNlci5sb2dpbn1gLnRvTG9jYWxlTG93ZXJDYXNlKCl9QG1ldHJpY3M8L3NwYW4+OjxzcGFuIGNsYXNzPVwicHMxLWxvY2F0aW9uXCI+fjwvc3Bhbj4ke2NvbXB1dGVkLnRva2VuLnNjb3Blcy5pbmNsdWRlcyhcInJlcG9cIikgPyBcIiNcIiA6IFwiJFwifWBcclxuICAgIG1ldGEuYW5pbWF0aW9ucyA9ICFtZXRhLnBsYWNlaG9sZGVyID8ge3N0ZGluOi4xNiwgc3Rkb3V0Oi4yOCwgbGVuZ3RoOigyK09iamVjdC5rZXlzKGJhc2UpLmxlbmd0aCtPYmplY3Qua2V5cyhjb21wdXRlZC5wbHVnaW5zKS5sZW5ndGgpfSA6IHtzdGRpbjowLCBzdGRvdXQ6MCwgbGVuZ3RoOjB9XHJcbiAgJT5cclxuXHJcbiAgPGRlZnM+PHN0eWxlPjwlPSBmb250cyAlPjwvc3R5bGU+PC9kZWZzPlxyXG5cclxuICA8c3R5bGU+XHJcbiAgLnBhbmVsLWEsIC5wYW5lbC1iIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbiAgLnBhbmVsLWEgLnRleHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA5MHB4O1xyXG4gICAgbGVmdDogMTIwcHg7XHJcbiAgICB3aWR0aDogMzgwcHg7XHJcbiAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gIH1cclxuICAucGFuZWwtYSAuZmllbGRzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG4gIC5wYW5lbC1hIC5maWVsZHMgLmNvbHVtbiB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICB9XHJcbiAgLnBhbmVsLWEgLmZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuICAucGFuZWwtYSAuZmllbGQgLm5hbWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgbWFyZ2luOiA2cHggMCA0cHg7XHJcbiAgfVxyXG4gIC5wYW5lbC1hIC5maWVsZCAudmFsdWUge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gIH1cclxuICAucGFuZWwtYSAuaW5pdGlhbGl6YXRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxNzBweDtcclxuICAgIGxlZnQ6IDE0MHB4O1xyXG4gICAgd2lkdGg6IDM1MHB4O1xyXG4gIH1cclxuICAucGFuZWwtYSAuaW5pdGlhbGl6YXRpb24gLmxvYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICAucGFuZWwtYSAuaW5pdGlhbGl6YXRpb24gLmxvYWRlciBzdmcge1xyXG4gICAgbWFyZ2luOiAwIDRweDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBpbml0aWFsaXphdGlvbi1sb2FkZXI7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMHM7XHJcbiAgfVxyXG4gIDwlIGZvciAobGV0IGkgPSAxOyBpIDw9IDQ7IGkrKykgeyAlPiBcclxuICAgIC5wYW5lbC1hIC5pbml0aWFsaXphdGlvbiAubG9hZGVyIHN2ZzpudGgtY2hpbGQoPCU9IGkgJT4pIHtcclxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiA8JT0gaSouNCAlPnM7XHJcbiAgICB9XHJcbiAgPCUgfSAlPlxyXG5cclxuICBAa2V5ZnJhbWVzIGluaXRpYWxpemF0aW9uLWxvYWRlciB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4MDBweCk7IG9wYWNpdHk6IDAgfVxyXG4gICAgNSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IG9wYWNpdHk6IDE7IGZpbGw6IHJnYig0MCwgMTQyLCAxNDgpOyB9XHJcbiAgICA1NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgb3BhY2l0eTogMTsgZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpOyB9XHJcbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgb3BhY2l0eTogMTsgZmlsbDogcmdiKDQwLCAxNDIsIDE0OCk7IH1cclxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04MDBweCk7IG9wYWNpdHk6IDA7IH1cclxuICB9XHJcblxyXG4gIC5wYW5lbC1iIHtcclxuICAgIHRvcDogMTYwcHg7XHJcbiAgICBsZWZ0OiAyNjBweDtcclxuICB9XHJcbiAgLnBhbmVsLWIgIC50ZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwcHg7XHJcbiAgICBsZWZ0OiAyMzBweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICB9XHJcbiAgLnBhbmVsLWIgLm5hbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDJweCA0cHg7XHJcbiAgfVxyXG4gIC5wYW5lbC1iIC5hdmF0YXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDBweDtcclxuICAgIGxlZnQ6IDEyMHB4O1xyXG4gIH1cclxuICAucGFuZWwtYiAuaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNThweDtcclxuICAgIGxlZnQ6IDE1NXB4O1xyXG4gIH1cclxuICA8L3N0eWxlPlxyXG5cclxuICA8Zm9yZWlnbk9iamVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgPGRpdiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1hXCI+XHJcbiAgICAgIFxyXG4gICAgICAgIDxzdmcgdmVyc2lvbj1cIjEuMFwiIHdpZHRoPVwiNjE3XCIgaGVpZ2h0PVwiMzQxXCIgdmlld0JveD1cIjAgMCAxMjM0IDY4MlwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4MT1cIjYyNi45NTRcIiB5MT1cIjEwNi41MDdcIiB4Mj1cIjYyNi45NTRcIiB5Mj1cIjYwMC44MjVcIiBpZD1cImdyYWRpZW50LTBcIiBzcHJlYWRNZXRob2Q9XCJwYWRcIj5cclxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3R5bGU9XCJzdG9wLWNvbG9yOiByZ2IoMzksIDM5LCAzOSk7XCI+PC9zdG9wPlxyXG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdHlsZT1cInN0b3AtY29sb3I6IHJnYigxMjAsIDEyMCwgMTIwKTtcIj48L3N0b3A+XHJcbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cInN0cm9rZTogcmdiKDAsIDAsIDApOyBmaWxsLW9wYWNpdHk6IDAuNztcIiBwb2ludHM9XCIyMTcuODI0MDA1MTI2OTUzMTIgNTg5LjQ4Njk5OTUxMTcxODggMjQ0LjE2NzAwNzQ0NjI4OTA2IDYxNS41Mzk5NzgwMjczNDM4IDU1Mi42NDgwMTAyNTM5MDYyIDYxNC40OTU5NzE2Nzk2ODc1IDU5MC42ODcwMTE3MTg3NSA1NzYuMzUxMDEzMTgzNTkzOCAxMDQyLjAwMDk3NjU2MjUgNTc3Ljc0Mjk4MDk1NzAzMTIgMTA4MC45ODcwNjA1NDY4NzUgNTM5LjQ1Mzk3OTQ5MjE4NzUgMTA4MC4yOTEwMTU2MjUgNDgyLjM2ODAxMTQ3NDYwOTQgMTA0OS4zMTEwMzUxNTYyNSA0NTAuNDg4MDA2NTkxNzk2OSAxMDQ5LjI4Mjk1ODk4NDM3NSAzMjkuODk4MDEwMjUzOTA2MjUgMTA4MC44MzEwNTQ2ODc1IDMwMC45OTc5ODU4Mzk4NDM3NSAxMDgwLjI5MTAxNTYyNSAxNjAuODY5OTk1MTE3MTg3NSAxMDY3Ljc2MDAwOTc2NTYyNSAxNjAuODY5OTk1MTE3MTg3NSAxMDY4LjQ1NjA1NDY4NzUgMjkzLjgzODk4OTI1NzgxMjUgMTAzNy4xMjgwNTE3NTc4MTI1IDMyMy43MjYwMTMxODM1OTM3NSAxMDM3LjgyMzk3NDYwOTM3NSA0MzcuOTI4OTg1NTk1NzAzMSAxMDY3LjA2Mjk4ODI4MTI1IDQ2OS45NTE5OTU4NDk2MDk0IDEwNjcuNDExOTg3MzA0Njg3NSA1MjUuNTEwOTg2MzI4MTI1IDEwMzAuNTE0MDM4MDg1OTM3NSA1NjIuMDU5OTk3NTU4NTkzOCA1NzcuNTg1MDIxOTcyNjU2MiA1NjEuMzY0MDEzNjcxODc1IDU0MC4xODQ5OTc1NTg1OTM4IDU5OS42NTMwMTUxMzY3MTg4IDIzMi4zMjg5OTQ3NTA5NzY1NiA2MDAuODgyMDE5MDQyOTY4OCAyMzAuNDc1OTk3OTI0ODA0NyA1OTguNzQ3OTg1ODM5ODQzOFwiPjwvcG9seWdvbj5cclxuICAgICAgICAgIDxwb2x5Z29uIHN0eWxlPVwic3Ryb2tlLXdpZHRoOiA1cHg7IHN0cm9rZTogcmdiKDI1NSwgMjU1LCAyNTUpOyBmaWxsOiB1cmwoI2dyYWRpZW50LTApOyBwYWludC1vcmRlcjogZmlsbDsgZmlsbC1vcGFjaXR5OiAwLjg7XCIgcG9pbnRzPVwiMTg2LjgxNCAyNDcuODM3IDIxNi4xODEgMjE4LjgzNyAyMTYuNTQ4IDE2Ni43MSAyODAuMDU1IDEwNi44NzQgNjkwLjIxNyAxMDYuNTA3IDc0Mi4zNDQgMTU4LjYzNCAxMDY2LjUzNSAxNTcuOSAxMDY3LjYzNiAyOTUuOTI2IDEwMzcuNTM1IDMyNC4xNzEgMTAzNy45MDIgNDM5LjAzIDEwNjYuNTM1IDQ2OC4wMyAxMDY3LjYzNiA1MjUuMzE2IDEwMjguNzI1IDU2My40OTQgNTc2LjYzMyA1NjIuMjggNTM4LjQ1NiA2MDAuMDkxIDIzMS40MjUgNjAwLjgyNSAxODYuMjczIDU1Ni43NzRcIj48L3BvbHlnb24+XHJcbiAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cInN0cm9rZS13aWR0aDogNHB4OyBmaWxsLW9wYWNpdHk6IDAuNztcIiBwb2ludHM9XCIxMDU2LjM3NyAzNDcuMzk3IDEwOTQuMzk2IDMxMS41NDggMTA5NC41NTEgMzM0Ljc3NSAxMDU2LjY4NSAzNzEuNDFcIj48L3BvbHlnb24+XHJcbiAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cImZpbGw6IHJnYigyNTUsIDI1NSwgMjU1KTtcIiBwb2ludHM9XCIxNDIuOTk5IDg2LjE0NSAxNjMuNjIgNTQuNDQ5IDQwNy42MzggNTMuNjg2IDQyOC42NDIgODYuNTI3IDY2OC40NiA4Ny4yOTEgNjc4Ljc3IDk3LjIyIDE1NC4wNzMgOTYuMDc0XCI+PC9wb2x5Z29uPlxyXG4gICAgICAgICAgPHBvbHlnb24gc3R5bGU9XCJzdHJva2U6IHJnYigyNTUsIDI1NSwgMjU1KTsgc3Ryb2tlLXdpZHRoOiA0cHg7IGZpbGw6IHVybCgjZ3JhZGllbnQtMCk7IGZpbGwtb3BhY2l0eTogMC44O1wiIHBvaW50cz1cIjEwNDcuNjQyOTQ0MzM1OTM3NSAzMzIuNTE0MDA3NTY4MzU5NCAxMDg1LjY2MTk4NzMwNDY4NzUgMjk2LjY2NTAwODU0NDkyMTkgMTA4NS44MTcwMTY2MDE1NjI1IDMxOS44OTE5OTgyOTEwMTU2IDEwNDcuOTUxMDQ5ODA0Njg3NSAzNTYuNTI3MDA4MDU2NjQwNlwiPjwvcG9seWdvbj5cclxuICAgICAgICAgIDxwb2x5Z29uIHN0eWxlPVwiZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpO1wiIHBvaW50cz1cIjI0OC45MDgwMDQ3NjA3NDIyIDE1NC4zNjE5OTk1MTE3MTg3NSAyNjUuODEzOTk1MzYxMzI4MSAxNTQuMzYxOTk5NTExNzE4NzUgMzA0LjI1Mjk5MDcyMjY1NjI1IDExNS4wNDI5OTkyNjc1NzgxMiAyODguMzI1MDEyMjA3MDMxMjUgMTE0Ljk4NjAwMDA2MTAzNTE2XCI+PC9wb2x5Z29uPlxyXG4gICAgICAgICAgPGxpbmUgc3R5bGU9XCJzdHJva2Utd2lkdGg6IDNweDsgZmlsbDogbm9uZTsgc3Ryb2tlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XCIgeDE9XCIyODQuMjU2MzcyMTM5MDI5M1wiIHkxPVwiMTUxLjYyMjIzNDQ3NzgzNTU4XCIgeDI9XCI3MTYuMDI4MzQwNzU1NDExOVwiIHkyPVwiMTUxLjgyNDA0MTE1NTMxMDVcIj48L2xpbmU+XHJcbiAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbml0aWFsaXphdGlvblwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRlclwiPlxyXG4gICAgICAgICAgICA8JSBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykgeyAlPiBcclxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNjNcIiBoZWlnaHQ9XCI1NFwiIHZpZXdCb3g9XCIwIDAgNTYgNDZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cImZpbGw6IHJnYigyNTUsIDI1NSwgMjU1KTsgZmlsbC1vcGFjaXR5OiAwLjc7XCIgcG9pbnRzPVwiNi4wOTEgNS40MDggNDMuODc4IDUuNDA4IDUwLjM1OSAxMS41MjIgNTAuMzY5IDMyLjczNCA0NC4wNjcgMzkuOTIzIDExLjQyMyAzOS42NTYgNS44NzMgMzQuMjY4XCI+PC9wb2x5Z29uPlxyXG4gICAgICAgICAgICAgICAgPGxpbmUgc3R5bGU9XCJzdHJva2U6IHJnYigyNTUsIDI1NSwgMjU1KTtcIiB4MT1cIjIyLjk2N1wiICB5MT1cIjAuOTA3XCIgeDI9XCIwLjU3NFwiIHkyPVwiMC45NTZcIj48L2xpbmU+XHJcbiAgICAgICAgICAgICAgICA8bGluZSBzdHlsZT1cInN0cm9rZTogcmdiKDI1NSwgMjU1LCAyNTUpO1wiIHgxPVwiMS4wNzdcIiB5MT1cIjAuNzg1XCIgeDI9XCIxLjA3N1wiIHkyPVwiMzYuNjE1XCI+PC9saW5lPlxyXG4gICAgICAgICAgICAgICAgPGxpbmUgc3R5bGU9XCJzdHJva2U6IHJnYigyNTUsIDI1NSwgMjU1KTtcIiB4MT1cIjAuOTIzXCIgeTE9XCIzNi4yN1wiIHgyPVwiOS44XCIgeTI9XCI0NS4wOFwiPjwvbGluZT5cclxuICAgICAgICAgICAgICAgIDxsaW5lIHN0eWxlPVwic3Ryb2tlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XCIgeDE9XCI5LjQ3N1wiIHkxPVwiNDQuOTQ4XCIgeDI9XCIyMi44NDRcIiB5Mj1cIjQ1LjA1M1wiPjwvbGluZT5cclxuICAgICAgICAgICAgICAgIDxsaW5lIHN0eWxlPVwic3Ryb2tlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XCIgeDE9XCIzNS4xMzJcIiB5MT1cIjQ1LjEwOVwiIHgyPVwiNDYuMjI4XCIgeTI9XCI0NS4xNDdcIj48L2xpbmU+XHJcbiAgICAgICAgICAgICAgICA8bGluZSBzdHlsZT1cInN0cm9rZTogcmdiKDI1NSwgMjU1LCAyNTUpO1wiIHgxPVwiNDUuODM5XCIgeTE9XCI0NS4zMTZcIiB4Mj1cIjU1LjAwOVwiIHkyPVwiMzQuNjkxXCI+PC9saW5lPlxyXG4gICAgICAgICAgICAgICAgPGxpbmUgc3R5bGU9XCJzdHJva2U6IHJnYigyNTUsIDI1NSwgMjU1KTtcIiB4MT1cIjU0Ljg4NFwiIHkxPVwiMzUuMDI1XCIgeDI9XCI1NS4wMDZcIiB5Mj1cIjkuNTlcIj48L2xpbmU+XHJcbiAgICAgICAgICAgICAgICA8bGluZSBzdHlsZT1cInN0cm9rZTogcmdiKDI1NSwgMjU1LCAyNTUpO1wiIHgxPVwiNTUuMTU1XCIgeTE9XCI5LjkzMlwiIHgyPVwiNDUuNDQxXCIgeTI9XCIwLjc5MlwiPjwvbGluZT5cclxuICAgICAgICAgICAgICAgIDxsaW5lIHN0eWxlPVwic3Ryb2tlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XCIgeDE9XCI0NS43NTdcIiB5MT1cIjAuOTIzXCIgeDI9XCIzNC45NzFcIiB5Mj1cIjAuODU0XCI+PC9saW5lPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxyXG4gICAgICAgICAgICA8JT0gdXNlci5uYW1lICU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5QdWxsIHJlcXVlc3RzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj48JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0UmV2aWV3Q29udHJpYnV0aW9ucyAlPiByZXZpZXdlZCwgPCU9IHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxQdWxsUmVxdWVzdENvbnRyaWJ1dGlvbnMgJT4gb3BlbmVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPklzc3VlczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+PCU9IHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnMgJT4gb3BlbmVkLCA8JT0gdXNlci5pc3N1ZUNvbW1lbnRzLnRvdGFsQ291bnQgJT4gY29tbWVudDwlPSBzKHVzZXIuaXNzdWVDb21tZW50cy50b3RhbENvdW50KSAlPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+UHVsbCByZXF1ZXN0czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+PCU9IHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxQdWxsUmVxdWVzdFJldmlld0NvbnRyaWJ1dGlvbnMgJT4gcmV2aWV3ZWQsIDwlPSB1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zICU+IG9wZW5lZDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5Jc3N1ZXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPjwlPSB1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsSXNzdWVDb250cmlidXRpb25zICU+IG9wZW5lZCwgPCU9IHVzZXIuaXNzdWVDb21tZW50cy50b3RhbENvdW50ICU+IGNvbW1lbnQ8JT0gcyh1c2VyLmlzc3VlQ29tbWVudHMudG90YWxDb3VudCkgJT48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1iXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8c3ZnIHZlcnNpb249XCIxLjBcIiB3aWR0aD1cIjYxN1wiIGhlaWdodD1cIjM0MVwiIHZpZXdCb3g9XCIwIDAgMTIzNCA2ODJcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHgxPVwiNjI2Ljk1NFwiIHkxPVwiMTA2LjUwN1wiIHgyPVwiNjI2Ljk1NFwiIHkyPVwiNjAwLjgyNVwiIGlkPVwiZ3JhZGllbnQtMFwiIHNwcmVhZE1ldGhvZD1cInBhZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0eWxlPVwic3RvcC1jb2xvcjogcmdiKDM5LCAzOSwgMzkpO1wiPjwvc3RvcD5cclxuICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdHlsZT1cInN0b3AtY29sb3I6IHJnYigxMjAsIDEyMCwgMTIwKTtcIj48L3N0b3A+XHJcbiAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cImZpbGwtb3BhY2l0eTogMC43O1wiIHBvaW50cz1cIjIxNy44MjQwMDUxMjY5NTMxMiA1ODkuNDg2OTk5NTExNzE4OCAyNDQuMTY3MDA3NDQ2Mjg5MDYgNjE1LjUzOTk3ODAyNzM0MzggNTUyLjY0ODAxMDI1MzkwNjIgNjE0LjQ5NTk3MTY3OTY4NzUgNTkwLjY4NzAxMTcxODc1IDU3Ni4zNTEwMTMxODM1OTM4IDg5NS4wODUwMjE5NzI2NTYyIDU3NS43MTY5Nzk5ODA0Njg4IDk1MC4yNDQ5OTUxMTcxODc1IDUyOS4xMTcwMDQzOTQ1MzEyIDk0OS40Njk5NzA3MDMxMjUgMTYwLjU3NDAwNTEyNjk1MzEyIDkzMi4xMjA5NzE2Nzk2ODc1IDE2MC45MDg5OTY1ODIwMzEyNSA5MzQuMTc0MDExMjMwNDY4OCA1MjEuNDU4MDA3ODEyNSA4ODMuNTk0OTcwNzAzMTI1IDU2Mi41NjcwMTY2MDE1NjI1IDU3Ny41ODUwMjE5NzI2NTYyIDU2MS4zNjQwMTM2NzE4NzUgNTQwLjE4NDk5NzU1ODU5MzggNTk5LjY1MzAxNTEzNjcxODggMjMyLjMyODk5NDc1MDk3NjU2IDYwMC44ODIwMTkwNDI5Njg4IDIzMC40NzU5OTc5MjQ4MDQ3IDU5OC43NDc5ODU4Mzk4NDM4XCI+PC9wb2x5Z29uPlxyXG4gICAgICAgICAgICA8cG9seWdvbiBzdHlsZT1cInN0cm9rZS13aWR0aDogNXB4OyBzdHJva2U6IHJnYig0MCwgMTQyLCAxNDgpOyBmaWxsOiB1cmwoI2dyYWRpZW50LTApOyBwYWludC1vcmRlcjogZmlsbDsgZmlsbC1vcGFjaXR5OiAwLjg7XCIgcG9pbnRzPVwiMTg2LjgxMzk5NTM2MTMyODEyIDI0Ny44MzcwMDU2MTUyMzQzOCAyMTYuMTgwOTk5NzU1ODU5MzggMjE4LjgzNzAwNTYxNTIzNDM4IDIxNi41NDgwMDQxNTAzOTA2MiAxNjYuNzEwMDA2NzEzODY3MiAyODAuMDU0OTkyNjc1NzgxMjUgMTA2Ljg3NDAwMDU0OTMxNjQgNjkwLjIxNjk3OTk4MDQ2ODggMTA2LjUwNzAwMzc4NDE3OTY5IDc0Mi4zNDM5OTQxNDA2MjUgMTU4LjYzNDAwMjY4NTU0Njg4IDkzMi43ODk5NzgwMjczNDM4IDE1Ny44OTk5OTM4OTY0ODQzOCA5MzMuODk2OTcyNjU2MjUgNTIyLjI3NjAwMDk3NjU2MjUgODgzLjgzMTk3MDIxNDg0MzggNTYyLjQ4MTAxODA2NjQwNjIgNTc2LjYzMjk5NTYwNTQ2ODggNTYyLjI4MDAyOTI5Njg3NSA1MzguNDU1OTkzNjUyMzQzOCA2MDAuMDkxMDAzNDE3OTY4OCAyMzEuNDI1MDAzMDUxNzU3OCA2MDAuODI1MDEyMjA3MDMxMiAxODYuMjcyOTk0OTk1MTE3MiA1NTYuNzczOTg2ODE2NDA2MlwiPjwvcG9seWdvbj5cclxuICAgICAgICAgICAgPHBvbHlnb24gc3R5bGU9XCJmaWxsOiByZ2IoNDAsIDE0MiwgMTQ4KTtcIiBwb2ludHM9XCIyNDguOTA4MDA0NzYwNzQyMiAxNTQuMzYxOTk5NTExNzE4NzUgMjY1LjgxMzk5NTM2MTMyODEgMTU0LjM2MTk5OTUxMTcxODc1IDMwNC4yNTI5OTA3MjI2NTYyNSAxMTUuMDQyOTk5MjY3NTc4MTIgMjg4LjMyNTAxMjIwNzAzMTI1IDExNC45ODYwMDAwNjEwMzUxNlwiPjwvcG9seWdvbj5cclxuICAgICAgICAgICAgPGxpbmUgc3R5bGU9XCJzdHJva2Utd2lkdGg6IDNweDsgZmlsbDogbm9uZTsgc3Ryb2tlOiByZ2IoNDAsIDE0MiwgMTQ4KTtcIiB4MT1cIjI4NC4yNTYzNzIxMzkwMjkzXCIgeTE9XCIxNTEuNjIyMjM0NDc3ODM1NThcIiB4Mj1cIjcxNi4wMjgzNDA3NTU0MTE5XCIgeTI9XCIxNTEuODI0MDQxMTU1MzEwNVwiPjwvbGluZT5cclxuICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJhdmF0YXJcIiBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsPCU9IGNvbXB1dGVkLmF2YXRhciAlPlwiIHdpZHRoPVwiOTBcIiBoZWlnaHQ9XCI5MFwiIC8+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICBJRC1DVFJMOiA8JT0gdXNlci5kYXRhYmFzZUlkICU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxyXG4gICAgICAgICAgICAgIDwlPSB1c2VyLm5hbWUgJT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIEpvaW5lZCBHaXRIdWIgPCU9IGNvbXB1dGVkLnJlZ2lzdHJhdGlvbiAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgRm9sbG93ZWQgYnkgPCU9IHVzZXIuZm9sbG93ZXJzLnRvdGFsQ291bnQgJT4gdXNlcjwlPSBzKHVzZXIuZm9sbG93ZXJzLnRvdGFsQ291bnQpICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICBDb250cmlidXRlZCB0byA8JT0gdXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjYWxlbmRhclwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgPCU9IGNvbXB1dGVkLmNhbGVuZGFyLmxlbmd0aCoxNSAlPiAxMVwiIHdpZHRoPVwiPCU9IGNvbXB1dGVkLmNhbGVuZGFyLmxlbmd0aCoxNSAlPlwiIGhlaWdodD1cIjE2XCI+XHJcbiAgICAgICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCBbeCwge2NvbG9yfV0gb2YgT2JqZWN0LmVudHJpZXMoY29tcHV0ZWQuY2FsZW5kYXIpKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgY2xhc3M9XCJkYXlcIiB4PVwiPCU9IHgqMTUgJT5cIiB5PVwiMFwiIHdpZHRoPVwiMTFcIiBoZWlnaHQ9XCIxMVwiIGZpbGw9XCI8JT0gY29sb3IgJT5cIiByeD1cIjJcIiByeT1cIjJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JlaWduT2JqZWN0PlxyXG48L3N2Zz5cclxuXHJcbiIsInN0eWxlIjoiLyogU1ZHIGdsb2JhbCBjb250ZXh0ICovXHJcbiAgc3ZnIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBQcmltZSc7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogIzc3Nzc3NztcclxuICB9XHJcblxyXG4vKiBUaXRsZSBiYXIgKi9cclxuICAuaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM1MDRiNDUgMCUsIzNjM2IzNyAxMDAlKTtcclxuICB9XHJcblxyXG4gIC50aXRsZSB7XHJcbiAgICBjb2xvcjogI2Q1ZDBjZTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcblxyXG4gIC5idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM3ZDc4NzEgMCUsICM1OTU5NTMgMTAwJSk7XHJcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi5leGl0IHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZjM3NDU4IDAlLCAjZGU0YzEyIDEwMCUpO1xyXG4gIH1cclxuXHJcbi8qIFRlcm1pbmFsICovXHJcbiAgcHJlLCAuYmFubmVyLCBmb290ZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIFByaW1lJztcclxuICAgIGNvbG9yOiAjREREREREO1xyXG4gIH1cclxuICBwcmUge1xyXG4gICAgYmFja2dyb3VuZDogIzQyMDkyQjtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgfVxyXG4gIC5iYW5uZXIsIGZvb3RlciB7XHJcbiAgICBjb2xvcjogI0FFOURBNztcclxuICB9XHJcblxyXG4vKiBQcm9tcHQgKi9cclxuICAucHMxLXBhdGgge1xyXG4gICAgY29sb3I6ICM3RURBMjk7XHJcbiAgfVxyXG5cclxuICAucHMxLWxvY2F0aW9uIHtcclxuICAgIGNvbG9yOiAjNDg3OGMwO1xyXG4gIH1cclxuXHJcbi8qIERpZmYgKi9cclxuICAuZGlmZiB7XHJcbiAgICBjb2xvcjogIzNBOTZERDtcclxuICB9XHJcblxyXG4vKiBFcnJvciAqL1xyXG4gIC5lcnJvciB7XHJcbiAgICBjb2xvcjogI2NiMjQzMTtcclxuICB9XHJcblxyXG4vKiBBbmltYXRpb25zICovXHJcbiAgLnN0ZGluLCBmb290ZXIge1xyXG4gICAgd2lkdGg6IDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBhbmltYXRpb24tbmFtZTogc3RkaW4tYW5pbWF0aW9uO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICB9XHJcblxyXG4gIC5zdGRvdXQge1xyXG4gICAgbWF4LWhlaWdodDogMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN0ZG91dC1hbmltYXRpb247XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzdGRpbi1hbmltYXRpb24ge1xyXG4gICAgMCUgeyB3aWR0aDogMCU7IH1cclxuICAgIDEwMCUgeyB3aWR0aDogMTAwJTsgfVxyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzdGRvdXQtYW5pbWF0aW9uIHtcclxuICAgIDAlIHsgbWF4LWhlaWdodDogMDsgfVxyXG4gICAgMTAwJSB7IG1heC1oZWlnaHQ6IDM2MHB4OyB9XHJcbiAgfVxyXG5cclxuLyogQ2FsZW5kYXIgKi9cclxuICA6cm9vdCB7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1iZzogI2ViZWRmMDtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwxLWJnOiAjOWJlOWE4O1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDItYmc6ICM0MGM0NjM7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMy1iZzogIzMwYTE0ZTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUw0LWJnOiAjMjE2ZTM5O1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDQtYm9yZGVyOiByZ2JhKDI3LDMxLDM1LDAuMDYpO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDMtYm9yZGVyOiByZ2JhKDI3LDMxLDM1LDAuMDYpO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDItYm9yZGVyOiByZ2JhKDI3LDMxLDM1LDAuMDYpO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDEtYm9yZGVyOiByZ2JhKDI3LDMxLDM1LDAuMDYpO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1oYWxsb3dlZW4tZ3JhcGgtZGF5LUwxLWJnOiAjZmZlZTRhO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1oYWxsb3dlZW4tZ3JhcGgtZGF5LUwyLWJnOiAjZmZjNTAxO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1oYWxsb3dlZW4tZ3JhcGgtZGF5LUwzLWJnOiAjZmU5NjAwO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1oYWxsb3dlZW4tZ3JhcGgtZGF5LUw0LWJnOiAjMDMwMDFjO1xyXG4gIH0iLCJmb250cyI6IiJ9LCJ0ZXJtaW5hbCI6eyJxdWVyeSI6InF1ZXJ5IE1ldHJpY3Mge1xyXG4gIHVzZXIobG9naW46ICRsb2dpbikge1xyXG4gICAgZGF0YWJhc2VJZFxyXG4gICAgbmFtZVxyXG4gICAgbG9naW5cclxuICAgIGNyZWF0ZWRBdFxyXG4gICAgYXZhdGFyVXJsXHJcbiAgICB3ZWJzaXRlVXJsXHJcbiAgICBnaXN0cyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHJlcG9zaXRvcmllcyhsYXN0OiAkcmVwb3NpdG9yaWVzLCBpc0Zvcms6IGZhbHNlLCBvd25lckFmZmlsaWF0aW9uczogT1dORVIpIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgICBub2RlcyB7XHJcbiAgICAgICAgbmFtZVxyXG4gICAgICAgIHdhdGNoZXJzIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgc3RhcmdhemVycyB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhbmd1YWdlcyhmaXJzdDogNCkge1xyXG4gICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICBzaXplXHJcbiAgICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICAgIGNvbG9yXHJcbiAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlzc3Vlc19vcGVuOiBpc3N1ZXMoc3RhdGVzOiBPUEVOKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlzc3Vlc19jbG9zZWQ6IGlzc3VlcyhzdGF0ZXM6IENMT1NFRCkge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBwcl9vcGVuOiBwdWxsUmVxdWVzdHMoc3RhdGVzOiBPUEVOKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByX21lcmdlZDogcHVsbFJlcXVlc3RzKHN0YXRlczogTUVSR0VEKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcmtDb3VudFxyXG4gICAgICAgIGxpY2Vuc2VJbmZvIHtcclxuICAgICAgICAgIHNwZHhJZFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcGFja2FnZXMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBzdGFycmVkUmVwb3NpdG9yaWVzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgd2F0Y2hpbmcge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBzcG9uc29yc2hpcHNBc1Nwb25zb3Ige1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBzcG9uc29yc2hpcHNBc01haW50YWluZXIge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBjb250cmlidXRpb25zQ29sbGVjdGlvbiB7XHJcbiAgICAgIHRvdGFsUmVwb3NpdG9yaWVzV2l0aENvbnRyaWJ1dGVkQ29tbWl0c1xyXG4gICAgICB0b3RhbENvbW1pdENvbnRyaWJ1dGlvbnNcclxuICAgICAgcmVzdHJpY3RlZENvbnRyaWJ1dGlvbnNDb3VudFxyXG4gICAgICB0b3RhbElzc3VlQ29udHJpYnV0aW9uc1xyXG4gICAgICB0b3RhbFB1bGxSZXF1ZXN0Q29udHJpYnV0aW9uc1xyXG4gICAgICB0b3RhbFB1bGxSZXF1ZXN0UmV2aWV3Q29udHJpYnV0aW9uc1xyXG4gICAgfVxyXG4gICAgY2FsZW5kYXI6Y29udHJpYnV0aW9uc0NvbGxlY3Rpb24oZnJvbTogJGNhbGVuZGFyLmZyb20sIHRvOiAkY2FsZW5kYXIudG8pIHtcclxuICAgICAgY29udHJpYnV0aW9uQ2FsZW5kYXIge1xyXG4gICAgICAgIHdlZWtzIHtcclxuICAgICAgICAgIGNvbnRyaWJ1dGlvbkRheXMge1xyXG4gICAgICAgICAgICBjb2xvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmVwb3NpdG9yaWVzQ29udHJpYnV0ZWRUbyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGZvbGxvd2VycyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGZvbGxvd2luZyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGlzc3VlQ29tbWVudHMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICBvcmdhbml6YXRpb25zIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJpbWFnZSI6IjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDgwXCIgaGVpZ2h0PVwiPCU9IDQ4XHJcbiAgKyAoISFiYXNlLmhlYWRlcikqNjJcclxuICArICghIWJhc2UubWV0YWRhdGEpKjEwOFxyXG4gICsgKCEhYmFzZS5hY3Rpdml0eSkqMTA4XHJcbiAgKyAoISFiYXNlLmNvbW11bml0eSkqOTRcclxuICArICghIWJhc2UucmVwb3NpdG9yaWVzKSoxNDJcclxuICArICgoISFiYXNlLnJlcG9zaXRvcmllcykqKCEhY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKSkqMThcclxuICArICgoISFiYXNlLnJlcG9zaXRvcmllcykqKCEhY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cCkpKjEwMlxyXG4gICsgKCghIWJhc2UucmVwb3NpdG9yaWVzKSooISFjb21wdXRlZC5wbHVnaW5zLmxpbmVzKSkqMzRcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMucGFnZXNwZWVkKSoxMTBcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzKSoxMjRcclxuICArIE1hdGgubWF4KDAsICgoKCEhYmFzZS5tZXRhZGF0YSkrKCEhYmFzZS5oZWFkZXIpKygoISFiYXNlLmFjdGl2aXR5KXx8KCEhYmFzZS5jb21tdW5pdHkpKSsoISFiYXNlLnJlcG9zaXRvcmllcykrKCEhY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpKyghIWNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzKSktMSkpKjIwXHJcbiU+XCI+XHJcbiAgPCVcclxuICAgIG1ldGEuJCA9IGA8c3BhbiBjbGFzcz1cInBzMS1wYXRoXCI+JHtgJHt1c2VyLmxvZ2lufWAudG9Mb2NhbGVMb3dlckNhc2UoKX1AbWV0cmljczwvc3Bhbj46PHNwYW4gY2xhc3M9XCJwczEtbG9jYXRpb25cIj5+PC9zcGFuPiR7Y29tcHV0ZWQudG9rZW4uc2NvcGVzLmluY2x1ZGVzKFwicmVwb1wiKSA/IFwiI1wiIDogXCIkXCJ9YFxyXG4gICAgbWV0YS5hbmltYXRpb25zID0gIW1ldGEucGxhY2Vob2xkZXIgPyB7c3RkaW46LjE2LCBzdGRvdXQ6LjI4LCBsZW5ndGg6KDIrT2JqZWN0LmtleXMoYmFzZSkubGVuZ3RoK09iamVjdC5rZXlzKGNvbXB1dGVkLnBsdWdpbnMpLmxlbmd0aCl9IDoge3N0ZGluOjAsIHN0ZG91dDowLCBsZW5ndGg6MH1cclxuICAlPlxyXG5cclxuICA8ZGVmcz48c3R5bGU+PCU9IGZvbnRzICU+PC9zdHlsZT48L2RlZnM+XHJcblxyXG4gIDxzdHlsZT5cclxuICAgIDwlPSBzdHlsZSAlPlxyXG4gICAgICAuc3RkaW4sIC5zdGRvdXQge1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogPCU9IG1ldGEuYW5pbWF0aW9ucy5zdGRpbiAlPnM7XHJcbiAgICAgIH1cclxuICAgICAgLnN0ZG91dCB7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA8JT0gbWV0YS5hbmltYXRpb25zLnN0ZG91dCAlPnM7XHJcbiAgICAgIH1cclxuICAgICAgPCUgZm9yIChsZXQgaSA9IDAsIGQgPSAwOyBpIDwgbWV0YS5hbmltYXRpb25zLmxlbmd0aDsgaSsrLCBkKz1tZXRhLmFuaW1hdGlvbnMuc3RkaW4rbWV0YS5hbmltYXRpb25zLnN0ZG91dCkgeyAlPlxyXG4gICAgICAgIC5zdGRpbjpudGgtb2YtdHlwZSg8JT0gaSsxICU+KSB7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDwlPSBkICU+cztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0ZG91dDpudGgtb2YtdHlwZSg8JT0gaSsyICU+KSB7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDwlPSBkK21ldGEuYW5pbWF0aW9ucy5zdGRpbiAlPnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwlIGlmIChpID09PSBtZXRhLmFuaW1hdGlvbnMubGVuZ3RoLTEpIHsgJT5cclxuICAgICAgICAgIGZvb3RlciB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogPCU9IGQgJT5zO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwlIH0gJT5cclxuICAgICAgPCUgfSAlPlxyXG4gIDwvc3R5bGU+XHJcblxyXG4gIDxmb3JlaWduT2JqZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCI+XHJcbiAgICA8ZGl2IHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25cIj7ilIA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25cIj7ilqE8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24gZXhpdFwiPuKclTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbjxwcmU+PCUjIC0lPlxyXG48JSBpZiAoYmFzZS5tZXRhZGF0YSkgeyAlPlxyXG48ZGl2IGNsYXNzPVwiYmFubmVyXCI+PCUjIC0lPlxyXG5HaXRIdWIgbWV0cmljcyBnZW5lcmF0b3IgPCU9IG1ldGEudmVyc2lvbiAlPlxyXG5UaGVzZSBnZW5lcmF0ZWQgbWV0cmljcyBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk9cclxuV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LlxyXG5cclxuTGFzdCBnZW5lcmF0ZWQ6IDwlPSBuZXcgRGF0ZSgpLnRvR01UU3RyaW5nKCkgJT5cclxuPC9kaXY+PCUgfSAtJT5cclxuPCUjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLSU+XHJcbjwlIGlmIChiYXNlLmhlYWRlcikgeyAlPlxyXG48ZGl2IGNsYXNzPVwic3RkaW5cIj48JS0gbWV0YS4kICU+IHdob2FtaTwvZGl2PjwlIyAtJT5cclxuPGRpdiBjbGFzcz1cInN0ZG91dFwiPjwlIyAtJT5cclxuPGI+PCU9IHVzZXIubmFtZSB8fCB1c2VyLmxvZ2luICU+PC9iPiByZWdpc3RlcmVkPTwlPSBjb21wdXRlZC5yZWdpc3RyYXRpb24ubWF0Y2goL14uKz8gW3ltXS8pWzBdLnJlcGxhY2UoLyAvZywgXCJcIikgJT4sIHVpZD08JT0gYCR7dXNlci5kYXRhYmFzZUlkfWAuc3Vic3RyKC00KSAlPiwgZ2lkPTwlPSB1c2VyLm9yZ2FuaXphdGlvbnMudG90YWxDb3VudCAlPlxyXG4gIGNvbnRyaWJ1dGVkIHRvIDwlPSB1c2VyLnJlcG9zaXRvcmllc0NvbnRyaWJ1dGVkVG8udG90YWxDb3VudCAlPiByZXBvc2l0b3I8JT0gcyh1c2VyLnJlcG9zaXRvcmllc0NvbnRyaWJ1dGVkVG8udG90YWxDb3VudCwgXCJ5XCIpICU+IDxiPjwlIGZvciAoY29uc3QgW3gsIHtjb2xvcn1dIG9mIE9iamVjdC5lbnRyaWVzKGNvbXB1dGVkLmNhbGVuZGFyKSkgeyAtJT48c3BhbiBzdHlsZT1cImNvbG9yOjwlPSBjb2xvciAlPlwiPiM8L3NwYW4+PCUgfSAlPjwvYj5cclxuICBmb2xsb3dlZCBieSA8Yj48JT0gdXNlci5mb2xsb3dlcnMudG90YWxDb3VudCAlPjwvYj4gdXNlcjwlPSBzKHVzZXIuZm9sbG93ZXJzLnRvdGFsQ291bnQpICU+XHJcbjwvZGl2PjwlIH0gLSU+XHJcbjwlIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0lPlxyXG48JSBpZiAoKGJhc2UuYWN0aXZpdHkpfHwoYmFzZS5jb21tdW5pdHkpKSB7ICU+XHJcbjxkaXYgY2xhc3M9XCJzdGRpblwiPjwlLSBtZXRhLiQgJT4gZ2l0IHN0YXR1czwvZGl2PjwlIyAtJT5cclxuPGRpdiBjbGFzcz1cInN0ZG91dFwiPjwlIyAtJT5cclxuPCUgaWYgKGJhc2UuYWN0aXZpdHkpIHsgLSU+XHJcbjxiPlJlY2VudCBhY3Rpdml0eTwvYj5cclxuICA8Yj48JT0gYCR7Y29tcHV0ZWQuY29tbWl0c31gLnBhZFN0YXJ0KDUpICU+PC9iPiBjb21taXQ8JT0gcyhjb21wdXRlZC5jb21taXRzKSAlPlxyXG4gIDxiPjwlPSBgJHt1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zfWAucGFkU3RhcnQoNSkgJT48L2I+IHB1bGwgcmVxdWVzdDwlPSBzKHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxQdWxsUmVxdWVzdFJldmlld0NvbnRyaWJ1dGlvbnMpICU+IHJldmlld2VkXHJcbiAgPGI+PCU9IGAke3VzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxQdWxsUmVxdWVzdENvbnRyaWJ1dGlvbnN9YC5wYWRTdGFydCg1KSAlPjwvYj4gcHVsbCByZXF1ZXN0PCU9IHModXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0Q29udHJpYnV0aW9ucykgJT4gb3BlbmVkXHJcbiAgPGI+PCU9IGAke3VzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnN9YC5wYWRTdGFydCg1KSAlPjwvYj4gaXNzdWU8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsSXNzdWVDb250cmlidXRpb25zKSAlPiBvcGVuZWRcclxuICA8Yj48JT0gYCR7dXNlci5pc3N1ZUNvbW1lbnRzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gaXNzdWUgY29tbWVudDwlPSBzKHVzZXIuaXNzdWVDb21tZW50cy50b3RhbENvdW50KSAlPlxyXG48JSB9IC0lPlxyXG48JSBpZiAoKGJhc2UuYWN0aXZpdHkpJiYoYmFzZS5jb21tdW5pdHkpKSB7IC0lPlxyXG5cclxuPCUgfSAtJT5cclxuPCUgaWYgKGJhc2UuY29tbXVuaXR5KSB7IC0lPlxyXG48Yj5UcmFja2VkIGFjdGl2aXR5PC9iPlxyXG4gIDxiPjwlPSBgJHt1c2VyLmZvbGxvd2luZy50b3RhbENvdW50fWAucGFkU3RhcnQoNSkgJT48L2I+IHVzZXI8JT0gcyh1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50KSAlPiBmb2xsb3dlZFxyXG4gIDxiPjwlPSBgJHtjb21wdXRlZC5zcG9uc29yc2hpcHN9YC5wYWRTdGFydCg1KSAlPjwvYj4gcmVwb3NpdG9yPCU9IHMoY29tcHV0ZWQuc3BvbnNvcnNoaXBzLCBcInlcIikgJT4gc3BvbnNvcmVkXHJcbiAgPGI+PCU9IGAke3VzZXIuc3RhcnJlZFJlcG9zaXRvcmllcy50b3RhbENvdW50fWAucGFkU3RhcnQoNSkgJT48L2I+IHJlcG9zaXRvcjwlPSBzKHVzZXIuc3RhcnJlZFJlcG9zaXRvcmllcy50b3RhbENvdW50LCBcInlcIikgJT4gc3RhcnJlZFxyXG4gIDxiPjwlPSBgJHt1c2VyLndhdGNoaW5nLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gcmVwb3NpdG9yPCU9IHModXNlci53YXRjaGluZy50b3RhbENvdW50LCBcInlcIikgJT4gd2F0Y2hlZFxyXG48JSB9IC0lPlxyXG48L2Rpdj48JSB9IC0lPlxyXG48JSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtJT5cclxuPCUgaWYgKGJhc2UucmVwb3NpdG9yaWVzKSB7ICU+XHJcbjxkaXYgY2xhc3M9XCJzdGRpblwiPjwlLSBtZXRhLiQgJT4gbHMgLWxoIGdpdGh1Yi9yZXBvc2l0b3JpZXM8L2Rpdj48JSMgLSU+XHJcbjxkaXYgY2xhc3M9XCJzdGRvdXRcIj48JSMgLSU+XHJcblRvdGFsIDwlPSB1c2VyLnJlcG9zaXRvcmllcy50b3RhbENvdW50ICU+IHJlcG9zaXRvcjwlPSBzKHVzZXIucmVwb3NpdG9yaWVzLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG48JSBpZiAoY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMuZXJyb3IpIHsgLSU+XHJcbi0tLS0gIDxiPiAgICAgPC9iPiAgdmlld3MgPHNwYW4gY2xhc3M9XCJlcnJvclwiPig8JT0gY29tcHV0ZWQucGx1Z2lucy50cmFmZmljLmVycm9yLm1lc3NhZ2UgJT4pPC9zcGFuPlxyXG48JSB9IGVsc2UgeyAtJT5cclxuLXItLSAgPGI+PCU9IGAke2NvbXB1dGVkLnBsdWdpbnMudHJhZmZpYy52aWV3cy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgdmlld3NcclxuPCUgfX0gLSU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMuc3RhcmdhemVyc31gLnBhZFN0YXJ0KDUpICU+PC9iPiAgc3RhcmdhemVyPCU9IHMoY29tcHV0ZWQucmVwb3NpdG9yaWVzLnN0YXJnYXplcnMpICU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMuZm9ya3N9YC5wYWRTdGFydCg1KSAlPjwvYj4gIGZvcms8JT0gcyhjb21wdXRlZC5yZXBvc2l0b3JpZXMuZm9ya3MpICU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMud2F0Y2hlcnN9YC5wYWRTdGFydCg1KSAlPjwvYj4gIHdhdGNoZXI8JT0gcyhjb21wdXRlZC5yZXBvc2l0b3JpZXMud2F0Y2hlcnMpICU+XHJcbmRyLXggIDxiPjwlPSBgJHt1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIHBhY2thZ2U8JT0gcyh1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnQpICU+XHJcbmRyLXggIDxiPjwlPSBgJHt1c2VyLmdpc3RzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIGdpc3Q8JT0gcyh1c2VyLmdpc3RzLnRvdGFsQ291bnQpICU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yKSB7IC0lPlxyXG5kLS0tICA8Yj4gICAgIDwvYj4gIElTU1VFUyA8c3BhbiBjbGFzcz1cImVycm9yXCI+KDwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yLm1lc3NhZ2UgJT4pPC9zcGFuPlxyXG5kLS0tICA8Yj4gICAgIDwvYj4gIFBVTExfUkVRVUVTVFMgPHNwYW4gY2xhc3M9XCJlcnJvclwiPig8JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5lcnJvci5tZXNzYWdlICU+KTwvc3Bhbj5cclxuPCUgfSBlbHNlIHsgLSU+XHJcbmRyLXggIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgSVNTVUVTXHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5vcGVufWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJzilIDilIAgb3BlblxyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY2xvc2VkfWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJTilIDilIAgY2xvc2VkXHJcbmRyLXggIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgUFVMTF9SRVFVRVNUU1xyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5vcGVufWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJzilIDilIAgb3BlblxyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5tZXJnZWR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIOKUlOKUgOKUgCBtZXJnZWRcclxuPCUgfX0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5saWNlbnNlcy5mYXZvcml0ZS5sZW5ndGgpIHsgLSU+XHJcbmRyLXggICAgICAgICBMSUNFTlNFXHJcbi1yLS0gICAgICAgICDilJTilIDilIAgPCU9IGNvbXB1dGVkLmxpY2Vuc2VzLmZhdm9yaXRlICU+XHJcbjwlIH0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yKSB7ICU+XHJcbjxzcGFuIGNsYXNzPVwiZGlmZiBlcnJvclwiPkBAIDwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yLm1lc3NhZ2UgJT4gQEA8L3NwYW4+PCUgfSBlbHNlIHsgJT5cclxuPHNwYW4gY2xhc3M9XCJkaWZmXCI+QEAgLTwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmRlbGV0ZWQgJT4gKzwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmFkZGVkICU+IEBAPC9zcGFuPlxyXG48JSB9fSAtJT5cclxuPC9kaXY+PCUgfSAtJT5cclxuPCUjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcykgeyAlPlxyXG48ZGl2IGNsYXNzPVwic3RkaW5cIj48JS0gbWV0YS4kICU+IGxvY2FsZTwvZGl2PjwlIyAtJT5cclxuPGRpdiBjbGFzcz1cInN0ZG91dFwiPjwlIyAtJT5cclxuPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmVycm9yKSB7IC0lPlxyXG48c3BhbiBjbGFzcz1cImVycm9yXCI+PCU9IGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmVycm9yLm1lc3NhZ2UgJT48L3NwYW4+PCUjIC0lPlxyXG48JSB9IGVsc2UgeyBmb3IgKGNvbnN0IHtuYW1lLCB2YWx1ZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZmF2b3JpdGVzKSB7IC0lPlxyXG48Yj48JT0gbmFtZS50b0xvY2FsZVVwcGVyQ2FzZSgpLnBhZEVuZCgxMikgJT48L2I+IFs8JT0gXCIjXCIucmVwZWF0KE1hdGguY2VpbCgxMDAqdmFsdWUvNSkpLnBhZEVuZCgyMCkgJT5dIDwlPSAoMTAwKnZhbHVlKS50b0ZpeGVkKDIpLnBhZEVuZCg1KSAlPiVcclxuPCUgfX0gLSU+XHJcbjwvZGl2PjwlIH0gLSU+XHJcbjwlIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0lPlxyXG48JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpIHsgJT5cclxuPGRpdiBjbGFzcz1cInN0ZGluXCI+PCUtIG1ldGEuJCAlPiBjdXJsIC1JIDwlPSB1c2VyLndlYnNpdGVVcmwgJT48L2Rpdj48JSMgLSU+XHJcbjxkaXYgY2xhc3M9XCJzdGRvdXRcIj48JSMgLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5lcnJvcikgeyAtJT5cclxuPHNwYW4gY2xhc3M9XCJlcnJvclwiPjwlPSBjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5lcnJvci5tZXNzYWdlICU+PC9zcGFuPjwlIH0gZWxzZSB7IC0lPlxyXG48Yj5Vc2VyLUFnZW50PC9iPjogR29vZ2xlIFBhZ2VTcGVlZCBBUElcclxuPGI+TG9jYXRpb248L2I+OiA8JT0gdXNlci53ZWJzaXRlVXJsICU+XHJcbjwlIGZvciAoY29uc3Qge3Njb3JlLCB0aXRsZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQuc2NvcmVzKSB7IC0lPlxyXG48Yj48JT0gYFgtJHt0aXRsZS5yZXBsYWNlKC8gL2csIFwiLVwiKX1gICU+PC9iPjogPCU9ICFOdW1iZXIuaXNOYU4oc2NvcmUpID8gTWF0aC5yb3VuZChzY29yZSoxMDApIDogXCItXCIgJT4lXHJcbjwlIH19IC0lPlxyXG48L2Rpdj48JSB9IC0lPlxyXG48JSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtJT5cclxuPCUgaWYgKGJhc2UubWV0YWRhdGEpIHsgLSU+XHJcblxyXG48Zm9vdGVyPkNvbm5lY3Rpb24gcmVzZXQgYnkgPCU9IE1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpICU+LjwlPSBNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSAlPi48JT0gTWF0aC5mbG9vcigyNTYqTWF0aC5yYW5kb20oKSkgJT4uPCU9IE1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpICU+PC9mb290ZXI+PCUjIC0lPlxyXG48JSB9IC0lPjwvcHJlPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9yZWlnbk9iamVjdD5cclxuPC9zdmc+XHJcblxyXG4iLCJzdHlsZSI6Ii8qIFNWRyBnbG9iYWwgY29udGV4dCAqL1xyXG4gIHN2ZyB7XHJcbiAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM3Nzc3Nzc7XHJcbiAgfVxyXG5cclxuLyogVGl0bGUgYmFyICovXHJcbiAgLmhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNTA0YjQ1IDAlLCMzYzNiMzcgMTAwJSk7XHJcbiAgfVxyXG5cclxuICAudGl0bGUge1xyXG4gICAgY29sb3I6ICNkNWQwY2U7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBmb250LXNpemU6IDhweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjN2Q3ODcxIDAlLCAjNTk1OTUzIDEwMCUpO1xyXG4gICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcclxuICB9XHJcblxyXG4gIC5idXR0b24uZXhpdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2YzNzQ1OCAwJSwgI2RlNGMxMiAxMDAlKTtcclxuICB9XHJcblxyXG4vKiBUZXJtaW5hbCAqL1xyXG4gIHByZSwgLmJhbm5lciwgZm9vdGVyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBQcmltZSc7XHJcbiAgICBjb2xvcjogI0RERERERDtcclxuICB9XHJcbiAgcHJlIHtcclxuICAgIGJhY2tncm91bmQ6ICM0MjA5MkI7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIH1cclxuICAuYmFubmVyLCBmb290ZXIge1xyXG4gICAgY29sb3I6ICNBRTlEQTc7XHJcbiAgfVxyXG5cclxuLyogUHJvbXB0ICovXHJcbiAgLnBzMS1wYXRoIHtcclxuICAgIGNvbG9yOiAjN0VEQTI5O1xyXG4gIH1cclxuXHJcbiAgLnBzMS1sb2NhdGlvbiB7XHJcbiAgICBjb2xvcjogIzQ4NzhjMDtcclxuICB9XHJcblxyXG4vKiBEaWZmICovXHJcbiAgLmRpZmYge1xyXG4gICAgY29sb3I6ICMzQTk2REQ7XHJcbiAgfVxyXG5cclxuLyogRXJyb3IgKi9cclxuICAuZXJyb3Ige1xyXG4gICAgY29sb3I6ICNjYjI0MzE7XHJcbiAgfVxyXG5cclxuLyogQW5pbWF0aW9ucyAqL1xyXG4gIC5zdGRpbiwgZm9vdGVyIHtcclxuICAgIHdpZHRoOiAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN0ZGluLWFuaW1hdGlvbjtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgfVxyXG5cclxuICAuc3Rkb3V0IHtcclxuICAgIG1heC1oZWlnaHQ6IDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzdGRvdXQtYW5pbWF0aW9uO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3RkaW4tYW5pbWF0aW9uIHtcclxuICAgIDAlIHsgd2lkdGg6IDAlOyB9XHJcbiAgICAxMDAlIHsgd2lkdGg6IDEwMCU7IH1cclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3Rkb3V0LWFuaW1hdGlvbiB7XHJcbiAgICAwJSB7IG1heC1oZWlnaHQ6IDA7IH1cclxuICAgIDEwMCUgeyBtYXgtaGVpZ2h0OiAzNjBweDsgfVxyXG4gIH1cclxuXHJcbi8qIENhbGVuZGFyICovXHJcbiAgOnJvb3Qge1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktYmc6ICNlYmVkZjA7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMS1iZzogIzliZTlhODtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJnOiAjNDBjNDYzO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDMtYmc6ICMzMGExNGU7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MNC1iZzogIzIxNmUzOTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMS1iZzogI2ZmZWU0YTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMi1iZzogI2ZmYzUwMTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMy1iZzogI2ZlOTYwMDtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MNC1iZzogIzAzMDAxYztcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUw0LWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwzLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwxLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICB9IiwiZm9udHMiOiJAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBRCtrQUJJQUFBQUFjYkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBL2lBQUFBQndBQUFBY2lUdjBNVWRFUlVZQUFENjBBQUFBS0FBQUFDb0Evd0UxUjFCUFV3QUFQMVFBQUFBeUFBQUFRQmFiS0poSFUxVkNBQUErM0FBQUFIZ0FBQUNpWjRkeXhVOVRMeklBQUFJTUFBQUFUd0FBQUdCdzFvL1dZMjFoY0FBQUF5QUFBQUN1QUFBQlVzUnRXeUpqZG5RZ0FBQUxhQUFBQUVNQUFBQnNKdUVRaFdad1oyMEFBQVBRQUFBRzhnQUFEaFdlTmhQT1oyRnpjQUFBUHF3QUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBTWdBQUFMM3dBQUZkUWcrSEVybWhsWVdRQUFBR1VBQUFBTmdBQUFEWVhtUnFzYUdobFlRQUFBY3dBQUFBZ0FBQUFKQXNQQWZsb2JYUjRBQUFDWEFBQUFNRUFBQURZTDNRZHcyeHZZMkVBQUF1c0FBQUEwZ0FBQU5JdkJCbCtiV0Y0Y0FBQUFld0FBQUFnQUFBQUlBSFJBZ1p1WVcxbEFBQTcvQUFBQWNRQUFBT1RBVnl1cG5CdmMzUUFBRDNBQUFBQTdBQUFBVWxrWDhUeWNISmxjQUFBQ3NRQUFBQ2lBQUFBdlZxeDN6c0FBUUFBQUFNRW0xT3V3elJmRHp6MUFCOElBQUFBQUFEWm5JUGhBQUFBQU5uN1NVZi81UDVsQk9nRmh3QUFBQWdBQWdBQUFBQUFBSGphWTJCa1lHQnorT3ZDd01CeTV2K1QvMDlZWGpBQVJWQUFDd0NwRkFjUUFBRUFBQUJvQUhBQUJRQXZBQUlBQWdBc0FGb0FqUUFBQUtZQkNnQUNBQUY0Mm1OZ1lUbkRPSUdCbFlHQjFaamxEQU1EdzB3SXpYU0dvWWxKQzhobllPVmtnQUZtQmlRUUdCcm95SENBUVlGaEE1dkRYeGNHQnZZY1pnVUZCb2JKWUlWeldCWURLUVVHWmdCbi9ReWlBSGphWXpuRE1KVUJDRmpPUUREalM0Yi9ERFlNbXhtTUdDWXpQbVhVWk14bTJNK3dpckVFaU84ekhHUFl3M0NIWVRkUVpES1FkWkxoS2NNNWhnT005eGs3R0dvWlZqR3NaL2dIMU1YRkVNQlFCc1FnbUFURUp4aUt3V3c1QmplR0NDQU53dk1ZcW9BOHJ2L2ZnT3B0R0pZemVqR21NYno0LzRUUmtxR2RRWldoSGdnbkFXMnBaL0FGa3ZzWW5CazIvdjhEWkxlQTVTWUQzVmJLNE1GZ0JOVHRCdFMvaVdFamt6VERPNFpwRE4vKy8vNy9tMEdFWVI4VE84TnVBQkZVUGtrQUFBQjQybU5nWUdCbWdHQVpCa1lHRVBBQjhoakJmQllHQXlETkFZUk1RRHFhb1k1aHcvLy9RSllDUXl5STlmL3gvMGYvTjBKMWdRRWpHd09jeXdqU3c4U0FDb0NTekN5c2JPd2NuRnpjUEx4OC9BS0NRc0lpb21MaUVwSlMwakt5Y3ZJS2lrcktLcXBxNmhxYVd0bzZ1bnI2Qm9aR3hpYW1adVlXbGxiV05yWjJEUFlPams3T0xxNXU3aDZlWHQ0K3ZuNytBWUZCd1NHaFllRVJrVkhSTWJGeDhRa01CRUVpQTAwQkFCVk5INWdBQUhqYXJWZHJXeHZIRlo3VkRZd0JBNUt3bTNYZFVjYWlManVTU2VzNHhGWWNzc3VpT0VwU2dYRzc2elR0TGhMdS9aTDBScS9wL2FMOG1iT2lmZXA4eTAvTGUyWldDampnUG4yZThrSG5uWmwzNWx6bnpFSkNTeElQb3pDV3N2ZEVMTzcycVBMZ1VVUzNYTG9SSjQvbDZHRkVoV2I2MGF5WUZZT0JPbkFiRFJJeGlVQnRqNFVqZ3NSdmthTkpKbzliVk5DcW9Sb3RLbW81UEM3VzZzSVBxQnJJSlBHelFpM3dzMll4b0VLd2Z5UnBYZ0VFNlpCSy9hTnhvVkRBTWRRNHZOcmcyZkZpM2ZHdlNrRGxqNnRPRld1S1JEODZqTWVyVHNFb0xHa3FlbFFQSXRaSHEwR1FFMXc1bFBSeG4wcHJqOFkzbklVZ0hJUlVDYU1HRlp2eDNqc1J5TzRva3RUdlkyb0xiTnBrdEJuSE1yTnNXSFFEVS9sSTBnYXZiekR6NDM0a0VZMVJLbW11SHlXWWtidzJ4K2cybzl1Sm04Ung3Q0phTkI4TVNPeEZKSHBNYm1Eczl1Z2FvMnU5OU1tU0dERGpTVmtjeFBFd2pjbng0amozSUpaRCtLUDh1RVZsTFdGQnFabkNwNW1nSDlHTThtbFcrY2dBdGlRdHFwaHdJeEp5bU0wYytKSVgyVjNYbXMrL1ZFekNBWlhYRzFnTTVFaU9vQ3ZiS0RjUm9kMG82YnZwWGh5cHVCRkwybm9RWWMzbHVPU210R2hHMDRYQUc0dUNUZk1zaHNwWEtCZmxwMVE0ZUV6T0FJYlF6SHFMTG1qSjFpN0NyWkk0a0h3Q2JTVXhVNUp0WSsyY0hsOVlGRUhvcnplbWhYTlJueTZrZVh1SzQ4R0VBSzRuTWh5cGxKTnFnaTFjVGdoSkYwWk9yRVJxVmJwdFZTeWNzNTJ1WTVkd1AzWHQ1S1pGYlJ3NlhwZ1h4UkJhWE5XSTExSEVsM1JXS0lRMFRMZGJ0S1JCbFpJdUJXL3dBUURJRUMzeGFBK2pKWk92WlJ5MFpJSWlFWU1CTk5OeWtNaFJJbWtaWVd2Uml1N3RSMWxwdUIxZnA0VkRkZFNpcXU3dFJyMEhkdEp0WUw1cTVtczZFeXZCd3loYldRbklTWDFhOXZqS29iVDg3QkwvTE9HSG5GWGtvdGpzUnhtSEQvNzZJMlFZYXBmV0d3cmJKdGkxNjd3Rk41bG5ZbmpTaGYxZHpKNU8xamtweklTb0tzUXJJSEZ2N0RpT3lWWmRpMHdVd3YySVZwUXZRMXBFK1Mwb2xCeEtzWWFaQkRiODU4b1ZSeXlMcXZCOW55TlJneUZZeTJxekhuM291YzhqYnF0d3R1NjE2TExPSEpaWEVIaVduOU5aa2VWek9pdXhkSFZXWm5sVlp4V1duOWZaRE10ck9wdGwrUVdkWFdEcGFUVkpCRlVTaEZ6Sk5qbnY4clZwa1Q2eHVEcGRmTTh1dGs0c3JrMFgzN2VMVWd1NjVKM25NUHY2Yitzck8zclN2d2I4azdEcmVmakhVc0UvbHRmaEg4c20vR081QnY5WWZoSCtzYndCLzFoK0NmNnhYSWQvTE50YWRremwzdFJRZXlXUjZINU9FcGpjNGphMnVYZzNOTjMwNkNZdTVndTRFMTE1VGxwVnVxbTR3eitUNGJMM1g1N2tPbHVzaEZ4NjlNSjZWbmJxWVlUdXlGNSs1VVI0enVQYzB2SkZZL21MT00xeXdzL3F4UDA5MHhhZUY2di9FdnkzZlU5dFpyZWNPdnQ2Ry9HQUEyZmJqMXVUYnJib0pkMiszR25SNW4ram9zSUhvTCtNRkluVnBtekxMdmNHaFBiK2FOUlZYVFNUQ0M4ZzJpK2VwazNIcWRjUTRUdG9ZcXQwR2JRUyttclQwTEo1NGRQRndEc2N0WldVblJIT3ZIdWFKdHYyUEtyZ051UnNTUWszbDYzZDZMZ2t5OUk5THEyVm40dDlicmx6Nk43SzdGQTdDVldDcCs5dHdtM1BQaytsSUJrcUt1TjF4WElwU0YzZ2hGdmUwM3RTbUlhSFFPMGd4d29hZHZqcG1ndU1GcHgzaGhKbG0yc0ZseGpKS0tQZ3lwODVGU2V5RVUwMm9vamZ2S1YrcWd1RjBKbkVRbUsydkpiSFFuVVFwbGVtU3pSbjFuZFVsNVZ5RnU5TlE4ak8yRWlUMkkvYXNvT1huYTNQSnlYYmxhZUNLazJNN3AvOGlMRkpQS3ZhODJ3cEx2bFhUMWdTVE5LVjhKZk8weTVQVXJ5Ri90SG1LTzdRNVNEcXUzaGNaU2R1Wnh0T0RmZjJ0Vk9yZTI3LzFLcC81dDVuN1FnMDNmR2VwWEJiMDExdkJOdTR4dURVdVZRa3RFMGIyQkVhbDdrKzEyemtVM3lwK2RaMUxsQ0Y2OVBHemJQbjcraHNEby9PWk12L1dOTGQvMWNWczAvY3h6b0tyZXBFdlRUaTNNNHVHdkFkYnhLVjF6RzY2elZVSHBmY20ya0k3aU1FZFh2dDhWbUNHMTV0MDIzYzhqZk9tZS9oT0tkV3BaZUEzOVQwTXNSYkhNVVE0Wlk3ZUlFbjBYcGJjMEhUVzRCZjFXTWhkZ0Q2QUE2RFhUMTJ6TXdlZ0psNXdKd3V3RDV6R0R4a0RvT3ZNWWZCMS9VeGVtRUFGQUU1QnNYNjJMRnpqNERzM0R2TWN4aDlnM2tHdmNzOGc3N0pQSU8reFRwRGdJUjFNa2haSjRNRDFzbGd3SnpYQVliTVlYRElIQWFQbWNQZzI4YXViYUR2R0xzWWZkZll4ZWg3eGk1RzN6ZDJNZnFCc1l2UkQ0MWRqSDVrN0dMMFk4UzRNMDNnVDh5SXRnRGZzL0Exd1BjNTZHYmtZL1JUdkxVNTUyY1dNdWZuaHVQa25GOWc4eXZUVTM5cFJtYkhrWVc4NDFjV012M1hPQ2NuL01aQ0p2eldRaWI4RHR4NzAvTitiMGFHL29HRlRQK0RoVXovSTNibWhEOVp5SVEvVzhpRXY0RDc2dlM4djVxUm9mL05RcWIvM1VLbS93TTdjOEkvTFdUQ3lFSW1mS2pIRjgwbkxsWGNjYWxRRFBIZkU5cGc3SHMwZTBqRjYvMmp5V1BkK2dUMW9BUDZBQUI0Mm1QdzNzRndJaWhpSXlOalgrUUd4cDBjREJ3TXlRVWJHZGlkdGpCb1N6TXphSUdZMncxWUZEaUUySm01SUR3VEpnMDJTVll3ajh0cEQ0OERod1BMQVFabUJtNGduOWRwRDRNREdJTDRPNEVrZzh0R0ZjYU93SWdORGgwUklINkt5MFlORUg4SEJ3TkVnTUVsVW5xak9raG9GMGNEQXlPTFEwZHlDRXdDQkxZYk1TbXhpYkF5ODJudFlQemZ1b0dsZHlNVGc4dG0xaFEyQmhjWEFIMlZMZ2NBQUhqYVkyQWdBSXdna0dVbkF3UHpuUC9mL2hVaFdBenpnSEFLd3hTV3hRd01yQXJNY3hnWS90V3c3UHovaWpXWWVkUC9WLy9TWUhwWnpSZ2ZBL0ZGQU1tRUdZZ0FBQUFBaUFDSUFJZ0FpQURpQVBBQmtBSmlBd3dENmdRZ0JHUUVxZ1VvQlhBRm5nWElCZTRHTEFaMkJzQUhQQWU0Q0JJSWhBanFDVUFKdWdvZUNtQUtwZ3JrQ3lvTGFBdnlESjROQmcxc0RkZ09KZzdBRDB3UHhoQkNFSWdRM0JGMkVjWVNSQkxBRXdvVFloUXFGS3dWUUJXWUZlNFdRaGJDRjBRWHFoZ0FHRHdZZUJqQUdPb1pHQm5lR3B3YkJodkVIQ0ljcGgyRUhnd2VHQjRrSHJnZkNCL09JSElndWlGbUloSWlraU1tSTRRa0VpUm1KTllsVmlXNEpqb213aWIwSjNvbjJpZ29LTllwMkNyd0t6d3JhQ3VvQUFCNDJyVjhCM3djMWJYM3ZWTzNhRmZhMVJaSjI3UmR2YTU2VzNmWjZ1NnliRXR5bDhGTjJJQndFemJHZ0ttMkFadGdJTlFrTkdPRFFYVDRDQ1dVSkE4ZTVGRkNQZ0lFeUV2Z3ZjU0VJbzIrYysvTTdLNktiWDd2L1Q3L3JOblptVHV6OS9UL3VlZk1JQmJkS0gzR05mRTVLQm1sb2lxMEtEcS9QTitmemdrY2J1WXh4d2dNSnd6cVJFWmc0Zjh1RGNhSTRUQ3pWb3RaaE5oRjhNR2lidGhEYlJaTFNncENsaXBMWmFRa0srUnhwNlNtcEpwTmNGZERtVjZ3NXlLYmxiVUlmcTh2VkpZYUtTLzFzcWxldGp4VUZxbElaV0ZiWGxwaXN6dHdQWVpQcTBWa1UyRXIrSDFoUFJiOFhJR0xkZm1HWC9lUkQ3WXNueG5KWkE0RjJIZmZaWHhXY3pwLzU1MTh1dG5xWTk1OWx3MVlROW83NzlTRytCeFA4SWRwUVk4bnlEOFQ5UHpnNVFkKzJQK3R5Y0FKK0JaOGhCV05acjFPT29sYmRIcXpVV1NsZGRJYWdUT1lVbkdMZERJVk1makwwVytaUDNPbmtSRTUwWUxIZFN6RElveWJtNDdiMnhkSDdRZ2gzTXRoakFNdFBORE85Q0tHOFRPdGpxZ1ZEZ0lmTU9wTFBONFpOU2NuSTVUc1RIYllMSERIcEtDZ0lid1FXU1AyKzBKaE5sUmVnODAyRnliVWh1b3dNSUo1MXNJVU02Nk1EQTh1WWl6MlBiaW1adXBVK09OT3AyV00xTm5UMCszTS84bElHMDUzK1c3eHVlaG1kQlNOTXEremIzS25VL3hJTjVxQlVBcUxkT2h6UlA0eHFIYjBLKzU2YmdnMW9UYTBPTHBnVmkyajFYbHRETXN3elNrR1BhczFhaGlFdFdpZEtWbGtzY0F4REF2eVRjSTZYUllsTVp0dGJXNUdxTG10dWEyMUJXNHlaOGEwYUVOMVpWbXBOeEQwVy8wQmI4Q3M4UkR4V29SY0xGTDV3WTVNSHhHdk43NUxQNERnQ25Vbk5TWndiM3kzRkZkNFJlNENvTzNGNk5PRXhFL21jWjVVWng3VEpQMmc3dDFCanY4NitoejUrTFJEUHRpSWVYWHZtRFFRbFg2TXNyM2VjTmg3bW15azUxSk03alJXaHozeHZkaEpYQ0Vma3Y0YTM1TzJuejVOK01laWs2Tjd1UXcrRTgxQzdhZ1QzUk4xOEN5alFSYU1OWXZicXEwY2o2dXdsczhLTVl5V0J5M0pCQzNKMDJNTlJwcE9BVFFDOHdqM0lWN0w4SjFKV0F1bXcycVpQc1N5WXE4T2kyS0FCZFVwZ1QzRWlwM251b3Bjd1BiQ1NMYWpNK3JzNkdoc1JLaWpzNk96c2IyeEhXWTMweDNNOGp1RFdRYU5DOFRod2phN2JGZXljb1ZEWWF2TjdzWldpeEdMVmtYZDRGaGM4VXJJYWJzcEZDN0FaUkdRQnJtYUVhd1dteDN1WkM0dmk0VGdIaVptbjdlN3c1ZWQ3Zk5sKzR5MTErMXVidTljZE4rRjNtRFF1Mk9CZk5pYXBuVnU2ZHd6YzNaSDE4L1hlSU4zcmMzTzhyZi9jMk5lZHQ0Q1B0UGpleWh0ZHI3ZjdmWS82M2RuYkhYOHkraDBiVnl5ZUY4emM4TG44ZmllU1Y5UVNVNSs0M2VuMnBvV0ptTjdpc3UxZHQ2aW5kR2YrenpTZ1JtMW1WbUdKUDNYSTkzenB2cnlqTWs2NmIrSWpIaFVBanArQytoNE12S2lZalFGZGFBVjBXNndaUjR6L0NCaU5ZS0dGUVlSaDVESW9iNGtMQnF3VmlOcSsvU1k1ekVJQXVPc0ZxVFJDTDFJRUxLRjFxbFRTMHA4UG9TbWRreHRuOU5ZTXFVa1dsM3BLL1lWNVdRNTBzMHA4Q1BHa0pHWXNjeE52MDloR0ZkYVlpY2FqQ203UWVGeHdBZ2ozS0RZOVRDaUFQdkhYMkZreHB6RzErNmFNMGY5enp4anowaExUeHUreVVZLzJmVWpKVlBEWWZVL2t6ZzBuSENDRzVxVGNHYlE0YkRaN2NNdjJ1QXp6Y2JXV3hLSGpyeVhPSFJQNGluaU53NEJUemNBVCt0UkkvcDcwL0ZpVU93MFBVYTRFak9vRWJQTUxMK1Y1ZGhDekhOOHMyUHlVeG80MVNsN3ppeFFhZ2FDeHlEY21lVVl0ZytjcXRpckJaWE9hdEZnanVON0JSQ0duMjkxeUQ5VmNzN3hDSWJUWFZWc2ptalJXUzVDc1dzU0pOMEpEaHFobWRPQnlEcC94QitvRG9SMHhIenNjWmNjOHZ1SUZHMTJYRjRCTGt2eGI0Sm9WMTJkcjVBSW5FaTB2Q0pFeFVxc2hvaTFBak9mM213bFZ0RzhvYUlqSnpzSEI3TXlrN0tPRWErMUxGQ3lZVDdaNlM5eUw5cjdVTi9SampYTFZzNDdzdXFkdW9LNVpSZDJTVDl5USt1U3c3dUpNU3dwTEdndGpIUVdTcWNXYjRESUZ2UmMwbjBKK2ZEMkhsbHljOWZxMjZac3Zicno0UHlSM1BPbVJlWVhiY1loSVBvejVuWG1MeEREa2xDNXpQNGtFcmk2R1JLNEVEREt6SkJvaFJlUkE2Z1g5c0NSUkhVd0pnbnBBaXpSN1hpRXFzSE1YNFFLMXU5MkJkZ0tvZkJ1N25TSlZKL2hkR2JnRjRtUWNMYjBTN2FYWDQwOHlITVM3amFIL3VCamNLOHcvTkpKK0x5dzgxR2JCV3RzdVlqNEdHSWhBdWk5bWU2Ukh3R0h3NVJGek9VVnJGR1g0dEtiREE5KzllVkRCcFBlbGFMVFgvTGVsVmYrWVlCZmJUTzcwaTNhZnVucTBWSHArbjZ0SmQxbHRnbXovNEhudnZvcW5uOTZOcG5IZVRDUHU1UjVhREdhVFgweG1VZE9mQjV1SjUySHpXeTFNSUpJQkV3TnRkeHNTbUhvSG9sQ2RtYnFINjY4OHIxTDlQSnNIdnJ5cXdlVjJmQzIwOUlEcjc0cVBmU1AyWUl5STd3WlFmakZXOVU1RVgrRTBYUDRLczRBdGxPRzVrZVRpekRpQ3NQKzlHUVdYRHNETVNJSEJKSktKSUF2QjRqRlpiVUFiRUM1UkM1VzJPTXdoL0Fna2N4bDlDd0hLTUlBZHkxREVYZWdBQUJFQmdVUXdYS0ZtNExJeTB6MWd5YUtpdTlwd0VHaWtUSTl2QXl4bU1QNWZBQWp1eWt0cUJOOG1kSlhMNlhudUROeTB2ZnZUOC9KY09la3Z5ajlaNlpQMEFYVFRIYU1BamcvaHhzcXlwRytHTkI1UGFsbVowZ28rMTI2SytpMkZwdytYV0IxQjEzcHZ5c1RRazV6cXNlckc4QnB2TTZmSmRQK0szUVY1K01Za0VOK05BZU1Ha0VRNHpCQUkzQU9lQzJ4Y29LT2VLWURSbnVRTytEM0IveWl4a0VnaE1sTGJjcnZOVkhqS3pONUtWQW85WnJJOUE5NGNCV3hHT2tWb3YzU0syUWZWM21DSERQeFdKQ09KZlBCVzZYM21iK0JWYVFnZDlRQmlnRmdEbEhsUnpIZEQ0VVlUUnJGTUNJTFAweXdTajBHdmYvQUxMNWpudDdJTE9jYzFoZHhLRFhabUN3NXMwdTRKUHhKcXBYU3lqQ2NqN2tLR1pBbjZreTBxVzV5dGcxKzM0RDBFV3BRTW1FS1BSd1A4eHdSeUd5Wkg1aXJ5SHpKSDUzdng0QS8vNGJ6NE1yMHFFMDFVT1JIcmZSdVNVSDVibU1nNDBNTkRZMk44SWZ6WEw0bnlFMmZrR2xITDB2SE9JSHZSeVpVZmtyUE1ES1FKUkFsaWR3NHAwV3gwcWlPYXVNK2FpVFVENWhRU2xpZHRvaFZCRWNBT3Z0dkVYYWtSL1Ric3lJc2N3ZDg4djF1dTBiNy9ZMHBGdklwbkpkaWtYSG4weEEvVW1oTTlxQzhhRGJCa2pKMEJsOE1VeUZFWmFOV2tqU2tlRkxjYVRZYVYyVjRUTTBUZnBLNmhmRlJrdm44aGI2KzV5Kzk5UG0rdmhjRzJ3YW1UeDlvazdmYzBGSHB5eWVla0w0NmVoVGJubmdDMjQ4ZTN2VDJ3WU52Yjl4SXRwc0lQejVFQ096eWFaaFJVVFRmQ0xBS2RBRTJMSU1CSmJBQWVEbkNpSjRZdjBFL3cvNUFoTmhjWUl3QVRhcWhWVkE3Qk0xbHZ5RWlYVTRWMFBDOXlaaHBOM3J3Z01WaWM2SFJLMVFCczB0K3BzdE9zL25NWHlTNU1vWlpLcU9uQUdSK0RYd3FST2MvNXNNY1MwUmtCQkVGRU95ekhNeU1xTlZtbUo4Y0k3T0kxSmdlTmZFSUpnd0Q3N0ZyOG5HZFVTTjhLMFFGZ1p3eXY1MmFHOEVpZ29pOUNTalJxMG9ad0o3ZkY0T0oxSTB3VHp6Y3Mvbzg2VGcrUVFJYWtEckg1MHJHVHl4dHVtakR4bDV5eUQ3N1YwdTRvWG0zYlZoei93YnAvbDBrY3IxSXFBNmw0R2VYNzJ4Y3RxRnlJemwyS0p4U1ZrTjk1T2hYN0g5VGZORVViU3pHQWk4QUdVd3pFZ0JRQ0J5UXc1Sk1oS0EyRnJnQ2FKZ1hlelZ5S0krckQyd2hkQWNDa1VqQW5xY2xvVnNtU3dWYWluOEhKMGcwaUlCWUNOaHk4a0cvSlZJSjhiMlVlZUdCNWUyenUxYjNQbm5waWxmYjNLYU16QlR6MUZ0YWQrelplK0ZzSXRxSy9nc3ZQSDhyQmNBRzQzWEh1YUdPRzFjdDNCa01IVnl6NGQ2bDA2dHRUb3NyeDFCY3RXM04ydk9Jdkh1V0x1Z05UeU5rYjdCbGFCZFR1emdFT2dnd0RRVlJGaXFQbG1aaEpPQm1FU05lZHBBYUxBaFpMUUQ1R2JZSFpPbG5nY1p3Q0VaRHBoWHhCbnhhalRNWFdVMHErckNXbGlRb1pnMHVpOG13Rkh0VDJabDNrbG5mZVJuMW0zUEo5ckRrODdsMCtGTmJTVWc2RHkvVWNFT3RJL3ZJWFAra0tpbnNlSTNNenozdWtRcjhqZXpUbjZheXVndEYwTXpvTkJGZ05TWnlZbm1CQmJ2aGVKYmJCWU5BZ0h3ZkRCZTdpWmg4QkhIUlBEaWJJV0tLb0JKL0tHQVArUUpVVFBLa1daRE01S0pTak4wblIybmlqMHU5N00yRWlnTERxZ3N1UHI1czNmTzdlbDVzODZRUUNVMDUwdFJ4Y1VQTnBqblR6eTlOOGVYNEdRdVRtYzNZdUx0b1VIaXVjczFqMjdZTnJZOVdXTjIyakZ4RFFmbVViYTF6K3FQK2dNN3R4Ly8wdTJWLzlScjRxeVR1U2NqNjgxQnR0RW9qVTRtQldrNm1pd1d6SWs0aWdTNFh1RmxYbmlzMzZJZkxIS0ZBUUtOSmwya1RJY3Nnd1hjTWRlWkFCUnFYRXJESEliaEszMHFmT0NOSEZtNThaUFdhcHdZMlBGN1pjZ2hQK1U0NnZIVkt3d1hOemYzMWRWdGF1U2REcFI0SE52N3JuZWx6bGordytmejdlMVoxWC9iYkIzSGtUZjNJdFJXOURUTTMxbGV1blQ1alhSV1YxMmRBQ3cveWNxQzVqd0V3WjRoUFNTSUFIbllCSXZkRElHQzdPYURHMXlMYmtTT2FMcDlDZ3hQT2RWTDA2RURwZm11WVYraExpQW5laEJ6U3kzN2hFcVNGMnJBamtNL2ptNldRN0N1WU80a28wbEorL0w5MnV5dk5xR2YvZkpEWXhMc1E4VmowRnVpV0JQYmdBQWhVZzZaSHAxZ0VRQWZFTVlNSU9JYnZFMm5rRU9USXdYR3E2ZWZsT1owSTVkWGtWVWRLbkxuT25JQVBicEVCVHNBKzNnbkkySHp5bklzWkp3L21yVi8yTEoyemJQUDZKN2R1ZlhMOTVxVnp1bnArdWE2K3Q3SnlaVzN0eXNySzN2clpteHNhTnMrV3Q5elFvaU5kSFlOWk9UZXRXSHZQOHVYM3JGMXhVMDdXWUVmWGtVV0g4K2RYbHM0dktwcGZXamsvWCtMTGUrdnJWMVJVcktpdjd5MG51dmI4NkpjY0N6UXJ1bWJDREFjRWN5QUNqZ0Y2ZVQ2bWEwcjRCM3JINmxvZ0VKWjFqV0EvaGhNRll2NFZlYmppek9rbDh3cFJMT201N3h5Z2NsaUgzWEdWazNWc050VTNib2hxbHZUR20zbzhYdWNPeXpvbTZ4dk1sbUlWOWw3QUpRNFM0emtWclFTSmo0YXNBRk1IWm9UWVkzUVlNNnlwRk1EUUdLK3VPZEM0dzR6OTVsYmdqUHJIYkk3RG1wSEx4MEFjbU1NVjB2c1FBTWtjM0NnbkdyYkxVWjJGdU02c2prOElndzl5TzIwV09nTit3Z3pNRTdDZk9va3JFekZnNGt5a1V4UHg0RTYwblhOeHFTaWQ0RUc5aGxoVU04RjBxSk11SE1JSTNPSE1wR0JUV1N6UVlnVzdoN0dzcHBoOXplUzFKV1dQOURCM1pDZlpBQW9QL3l2ZFprdG50VnhxYnByWmE1R2VsWjYxZU0xcHVUcThNeWt6UFQwekNlOGtPdlVyWE0zNTJMbFVGb0J1MVBYSXRTQUVrTVVpdWl6WlRialNwc2dqM1dxbThGU1lBRS9OWndhcnZvUjlkcTRhTXFUTkNSQVdxSHdZK05DbThzR2N6TVJBZDJjY2REdkRLdWdXNGtzbVdxd0dBY3hWQWRYRC83SlFiakIzalBUSTNHQzF6Q0NsV3Rxcm8vekFVL0ZVbVIvU1hzSUhhZlJiOW1YSWZjT1FNVjBjMVdWZ0JodkFCVExLRW00bzV1Y2c0aUorRjNGMzFOZ0NMY1R3dUY1d01YNE9IR0pnM0VBWWc0aHU5U1VPNjR4YXNpRHZ5U3JMaWhUbXcwK0dBbm5aMUM1bDM1T01hVllXS20vQTljd2tjR1BjMHUrN3grYk4yTC9Cd05jMXNBWW0yVFNqZlZuKzZxVzdGeE1ubW1TNCtXbFRlWGxkSGZ4eHA5dXVXYlp3ZTFmKzlVVkZMMXZTUktlM3VyRzRhVW13a3pqVjNWYUhwdXZILzNMNSt1bnFBckVTQnBXTXJ1VU9jdVZvRGxxTXVxS0xNK3lNanRGaFZrZmdGdUlobEEvcXNRWnhqSWJyUTB3UzFyR01yaytMSVdWREFvc0Flb2tpMzBrQkdCSjVzYU9wQ2FHbXhVMkw1cmJERFdlSFMwTEJnbEFnWk5DNDQwdGlvWENDSHlxeEsyRWRMTXhxc1ZFY1JtTzc0cC9LNldsMU9ZQmNaQTZVVXNkc2s1MVh5TS9tLzJYWHpNRjVVNWJaSThzYmlqc0tGaDVjc0RESEk2UW1wMXJzWEl1WTVXOWEyUFBJd0JVZjdWenkwUFlaKzhvMHJOUEFwNVhmM0hINzU5dHZ4N1lIYXhkVUJkekZpeUpaQWE3OHdIZDNiRDI1Y21yRHRHbmxxMmQyL1diL3FnYTlLS1licFg5enBPY1VIaHJZODl6YUd5WHA5c0ZuMWxoTVRMNVo1OUNsT2ZmKzg3NFhjYzJqMHRMT0E3TUtDN3F1bWxwUUttTUdTSlc0RnlITzVxTmlWQmt0UTFyd08xcDJMUkpGVGJjT2F6UytGb0ZqV0xMMEFtQUMrNGtUS2lxRTBia0V5NWtDRWIrZU1NMW14K05RWE5ncmpqc2lSMXV3UnBIMXNzd3ZpcE53YngwRmRiZVI3ZjY1a21QZUFQMStnbXdyY2ROVE5CUFpGSHdLWC9Fa1JGL2ZjRWcxMGIvL1BaYU9IQ0xiSzBiK3pMamt0ZTUyb0djbTBPTUdWUzVFZGRGcUFZdHlaQkl4SjRJckFVOEM2STVnQTBGSmMrVk1xVEEvSnlzYzlFSytoSnplUUsxV05ZRllFRmJwTUtsMHNDb2NoNlFmZHZ4ZTV2dTc1ODJJcnQreTVJRkxSbDRqazcva0VrckM2YzkrZThHRlc3ZjlGbXUzNy90UkFoVGFma052ODdhZzcrWk5mVWZteHFtUWhKN0ZTNWNQYjFqZis1YnNneTRFRERRRFltd0ptaGFORm1DQWN6UXFJSlloRUlmdkZRRm15RWxTZkIvU2VXTFkyUnhCckNXb09CVDJoNEpCRFlIY2tPUEppeEpVZFZYVU1GWjFsWVMxUkY1NjUxSjh4SExyZGkwNy83NWxpKzg4ZitXampTYklrYzJlWlI5c3ZmWEwzWHYrZXZQeWd5VytiRzdJN1pkT0VkT2R2bmxhL3p2WFh2dDJmM1dGTWV5MnUyMVRwcEpNOW5Gc3Z5VmFVNjNpVkNLanJTQ2pOT0I4YmpSTGxvbEFaY0tOa1luZjYwaUhVVFp2b0Z5a1VFRk9xeWVUaEl3UWN1RW1mOSs3OSsvSHBHekMrYzJiS2YvZisvMlRGeDN2NlRsK0VhalJkZEkvVHAyUy9ubGRuTzAvZnRiMzVxRkRiNjZYZVU3bTFneHpxMEVIbTQ3cndOdVdJNEFtRE5lZmhQVmFEZGIzZzd2UjZnVXRXQWlDSkVIVEo4OGVrY21UWlhnMTlYWkVLOG1GSWljTTBpdTFlczNnVDd5ME0ycURuUnBVWFFGYUZmU2JVb09RTlpVWjVCcVZ5VElKL1NWeEordzFLZW13SXV6WUVTNEhZT3p3SHNLUU5XdklsbDBQQjBDNkkxOWl4cE9WNVNGL2tzVGsrckx4UXlEUDl4SU56Qk9VaUhpZmxLN3BJcC9TaTJUYkphMzdERVFxODJ3aDhLd2NYU3J6ckJBc0VVSlBQOGlhNE4rMW9MV2N3SExna0RIV2RldXhUdWRySVZtaTJBMSt4aS9LNjk2a1RFblh2WC9TSlJDMmdFbmxLRkpVQUk0b2xiSXBLYzRpbWZEU2NhendtOGI1cEJnSHVTcUZGMUtNRlY5UW9DQ1I3V1UwKzJTdklEbUE5QjJoL1NWcFlBd25kb3gxU0xJdXJWRHFsclZvVG5SV0pjWWlRWFlRc0RnQ2FEaDFiVi9EMEJVQnlEcGord3lqTHUvRDRWcFVFd29HSWo0d1l4MzF0Wk9hY1VWWlhCbG9XbTJhMUtBNWF0QlRkaTNhZEg5UDEzMGJIOTd4TDJvaEQ1SnRabUR1dTl0dS9YcnYvcStQTEwraFdESHJQeEw2YXBlWHlXWmQ5ZWNZWGpwZGJDa3NQb3J0ajUvQ2FiZlVWQlJUNDVaMVlRZm93alRpczVBZWNWalByVTNTYVNDRWFMdU5Ca2FyOWJXSVBFdldVc0hrNmNvT1hEY05UYW1ycWE2cUxDOHBWT0tLTjVBY0w4cE9FSnYzaklKVXFmZkdSZHNOdERVMjB0RHlNdGt1bFl4TDQ5L2tNN2lhbnNIL3ZWVCtKaWZld3h0VWN2RVJhZDFZRVZNbVhJTXZvT0xHNkZXZ213TzZQU2c3R3VJQUtQTGRaQW5MMXdLVVlvSmFGVW85eUVWWFFaVDFZcnBVN0MwWnV6S243ckJ2dzF4R0ViWlFUWnhLWjJZWlJSUzYzalIraGpIRncrZ0MwTHZMWVM1QnNqcGpKMnVEelNScUFISWVUSndaSWtrcEtYK1FvQTZEL2Y1QTJCK2ZHRkVocGI1Z1VzeUlBcC9ZOUxnK21NaHJiN3pVUHhSTklWbzEvK0RlQzZYNzZld2VsV2MzVXZMd294MHpVek94aTlyS2QwMWJCNWpqY2ZzZ3VuSTN6SE1lc1k4NW1JT1pNR1Q5REFPT3cxeWZYdEVhUTVLaU5Rekp5QVNzTENuQlpSMHRUYk5uVFlzQ1F3TlprY3JpZ0RHdU1sakdhK1MvTFZieklqWGtBaHlteUMwWm4xT0hZb2lGVWxvbkxkT2s3RzMxRkRvNWIwcTQxRWtJbmJ0NlZyclBIcktuelM3SWFYVzc2VktWdERnaDlLeVExZXFVckdUVGxmV2M4L0NxckZWTnVnV3VSdkwxUU1taXV2bGVYOER0Y2tudlRLSms4L0NEWTNsRzRsTUFsWUNiaGJRRU1QNGdvSHNrZEVNT0lzZ1JOTDd1QnVOOEVEejhwb0FDQVJUamlQdkZDZFF6SDhCVS94dC9MUzk4eUJIalRrb1prNk1xSFo1TkJYckJSSjhIWG9CN0NPWVhKZlpmNjdHekhLTG9pMVNGQmpXWXlGT3ZPNE1YaUtMNnFuSWl6QUN4a0tTNE1GUEhTVW92cjkyRTllTlJaNnhCZ3piandDZnR3aWpKS0kvYit5YmJHNGJjUUNEWDhLWjFVL3hvZVhveCtYZzd6U244OFNOOTBkc1RyS3QwNUdWQ01sTTkvT1pZRWFXWVJtNW5lcjJFOXBtSzNaV2gzbE81QmxLc1VESTJCK2d1a1JENGQxbEVESU43aVdNQTAzTkVQUlBQVWxUZ2I1R05zek5xb3NXelVvSURJZ0YvUUFrRE1STU5uekd3VVViZ1V0TVlSYTRLaHNvOEk5OXoxOFRSOTdRV3N2MlR6YUhCNzNNRGlibzZySE5rVnJDM0Q3ODZsbXFqY2ZnNDh5a1ZPNE1XQTkxYi96L1VTVmptNjcxN3Y3NzFWcnJkZUY4WEJDeDV5dzNkSW4zNStPUFNsMGRKQUNMbzhyQWNuL3JmdnZiYWQvcFZqTGtZWk9GRk9hZ3NXZ0xRQzJFQnJSVko0UjN3LzBUUG5KTVY4TUZvRC9IT0lhMWFYakRpM0RQN2lWZ0N3Rlk4dTNMbHMvdisrZzExMUg5SXNCai9YOTg5Y1BEUVZlOXlkeTEvWU11V1h5NlQzaHZMeDVHYmRtMjVnSUNleGRJM2xJZFZhRFlhaXFhV1lDVGFBQklXWXNpK21uV1l3VTFOeHdPZ1NtRmlTU3dtV1M1QkVleHFrcVFKdlZxNjVnN1FTQzIxT1pxT2gyQjRFTEFtd2lKa3dHZStUQU02bUlONGxyOTg0bURFOGd6Yk4yWndaMmZVWGwyTlVQWHM2c2FwVVpod1pYRXczKzhQNmFtRFVRUWFGdVhpcnBKZjJCSnlZK3ArNDFYZXM0cmVtWFpwUjF0bVZlNk1jRlpMcmxhWDdFa3kyYXJYbG1iVUJEV1JHVm5uYnhNMVhuK0c5dEZiSG9heG0rN3Q2cnAzazd6bGhtNlEvbm5paEhUNkJtWi9wa2Fibk9FUjBpd3VXMFpLYmtBak1ucGRNVnZnU3pmcTM2akcvdCtld0VrM0hGNy82cFZYdnRyWFI3YnJZemtLaVUyMWFEcHFpTmFDazlLQUg5UEFHUTNUcDZWQVZFZHJCRHpMcUIxMU5EdWVQcldoRHE2cUpucVVIYW5YeHlzNnREdkpsaGlPUW1vOE9xdVNaY282SnB4Y2R2alN5cUFueitGTVZzSlBZKzI4c0MzVEhjeHd6Nis1Z2pwcWFXTkMzdm5EVjY5ajR4VTcvcDI3YS82UjFmMjN1V3pGMlIwMWRVNGFkQnFhOHhxbnpnN2s1RXI3eG1ua0Y2LzA5TW0rL0RhdzYyemFkOWNSYloyRnNlREZERS9pTXhaNmdZMVU0OEJ4eGZaSlZZRUY3NVhkZ2tpSm5PNVN4MDU3N2txSzhuTkRBWS9MSDlUU1ZUT2xxNHNHWTlLZElnZnIrUEtMVmFtZ1J4SnJYeks3MUFZdkJkV3lmd0JVR3pJV1BiUnA0MEJPMkwrOGJlSHE0bFZiVmp4MythcjdHK1NPcnR6azdKTjdCNjlzcUEwdGFaMjdxYkM5YytVald4YmZYUzFqM00vOTdveXU3alVMc3lzdFpudXl5VzdKUHJSejNiSEZzMmUyRW8rUDgvenVuSzA3Tm5ZMXRHV1lyQ2twVG10Zys2cTFSenFtVjlmSitTeEdsNEN1ekFWZHlVYVJhTEdBbFE0ZXNsNmlGcExpUHAwRzVXd1U5cHRvMnFKVWttTGRBcE1nM1RnYnZGd1p6VktrMC85SkhjMUJzdjFQNmJRY3Fka2xORDNaVHlkZGxnZ01wZGZwc1FFMVJxdHhLcC8yTjlEbEhiWWJoRWdMSnFTZkxBWUs4MUV1b01JSS9NVktYaW9zTEpzQWwrUjFzYkd4cHY2RFYxLzlvRjRPS0JRVzdUbHdZTS9teEFBenN2SDNiNzMxZSthZ090MlJQVWN2di93b3MwdkIxVHFZSzFtZkNwTzV1a21OdjVsWFpneHBPWjJ4T3Rrd0N2cm9YQk9namdJVThMaTVhdVBRN2g2WVM0dDAxRkNhbDF1YUpOM2FUT2QySWRsZWcwdHcyU3I2dlZVSmhpbCt0OGZIZnFQT2RmaHFkcXM4ejlGdllaN3YwdnBpNytPNUFRT0xCUkw4MCtYZ3o4SjhPUkxmSWY5cWdjUXUyTUtvd2Q4TmtZblVUd2ZIalZJR3lMRS9na29DUkF4all6L3RiNklOeHFUTGFSeUZEcXgwSk1jSUhTSXc1eW8rTzJ1dVplZ3A2N3h3TnJlUFloNU04ZXJCVlU4YnF6UDl3bFByZG93Si95a0IxeFJteHNoVFU5eitCTG8vWnBvTExaYVJCMW12alB3d0tvRzUzMEx6dm1pMHJqbzdUZVNJcUhSYUVZalNkQ2ZwR1hrcFVZWjgvTmpFcjZvaUFvS2ovdzF4MEtjZEQrN1k4UWUwZUFMUlk1SytLZExyZUVsMUhPVnNHSlYrbkVlLzBxN2NlcnhNZW5WR25BV2RILzJ4bG40clVtQjZxK1NKNVg4YnBCZ2d4My9HeDJQZy9DVmNHOHU3YW9FSDF3TVBTbEJGTkFJc1lBa0xSQ0NhNUZ3ZzEwblN3UkpVcEpLZUlObUowZUFzbEJLRU8xMjYreFBxRXU2bDdjYlN2VE5sdGFWOWVqOE1UMGtrYStUMzBxMHhVbFl4aFRGUzF1S2pjUngvSDlEaVYzUElTUm8wMUJ3eTNxQ2g1SkRXTXI5VnpTRkZQQ0hUaUZWYlpZL0dqcmgwSTMyTVJlbklZSHd1STNOSTBpbEYxeitSR2FjYmg5dXhnZVliRDVPWjJxenNBOTlUaDFhbjlCdk5rVTZ5YS9pbHlFNXliNUlSa2Y1dlR1N3Y1K0w5L1REV2pteUJzZ2dwQVhNeC9wcGliQ1dwT0R1YjZBZE4yekJWR21rSXozcUc5Rmg3Z29JM1NGdXVmN2lJOGdpdmdkL2RRMzgzS3hva3Y4Y0F0Rm9iYjgyS3RWRFprUldTTUtYeWJKbzAxVjhkLzlsWjBwRDg4L3hTVC9EN2orWGY1SzhrVzFrMlgrQnYyVThoTHJ0UTFpUENxdWxSbHhFU0NFanlnV3pFN0NOVnN3dGhuQXM1dytrY2hOcEhCTUF3a0FiUU9wVWc1MDFLMTZMU1o4SHNjZXR3UkhEYXpQWlVsL0MzdndtdVZMdlo1aFJ3Uk9kMmNrUG0xSkZIZEhxVFF4UU5TZmhQVW1hU1FSUWRKa2pqMmxMTk1KL1JUNlVkM0JlakhES2dURG9mNjNnV0JBT01NZzl1YkYzdUk3MCs2Y2VjSk5oeTd3NW41T1Jra0QvSzJ5ck95T2J5KzVFSnBkTjdHcEhhM3BWbVVXK0dsTHBqTUZaeFkzUFRiR2xHczNTVnplMzFwWnJ4VW01amFyb2pYZmVCSWNNVnpqYU15dXZQKzBuOFkwK2dBbFNOUG0wNjdnSW5uZXpFR3JhaUhOQmRDc3lhYlhhTU9TTENFYVVMT0J2eEhPa1hHVVFzb0dMRWF2b1E2ZDhsaURDM1JTUjA5ekl5RkhUSWR5NDk5d1ZBcnAvdXFrMFpqbWp4MmE1Q3NZc0E4S3ZYRUZoZVdJaFFZWFZoVlZrcDBKYnZEd1FEa1loZVhmcFBoSjJ4bmdKZ0dpM3FDYkZ1TUtYNzEwYVdGQWtRRHowOTFVL1VNVHBsbVhIdWMrZXQvdG5pVDA3ZWZzT0dnYVk3WjV1TVhwcytPUCtGM3VmM3JlNTY1WTdwdDdheEozNXhqOVRmUnR6SWxJYkcxaG1YZGQxMmMrbUMzcTZjb0xZb0xjV2ZtbGNvY1cwTFozZmNzOEZtbDJVUkJGbTA4Sm5nT3NyUUo2ZFNJRFVSMWF6Wmo5UmNMZEJDT3FCcGFwUGJJdEQwVWcyZ2NqTmcvcG1IeXM1V3VRcXBGNUVHN1Z3WWp6aGdkTjlQdUNTYVBkbG9GQnNNVVYwZDJ3bWlzSVZDQ0lYS1FwR0NQT0lWd2ZwRDRPRGxGdEV4SFVPS1JNWW03ZU5iYlBBMDE2VlA3M2hwOCthWGRxeTR0OEhsdTUydVBkRlYvR2R3K29HMnRnT2RuWVBUcGcxMjhwbUFBSXZ2MmZiQjRjTWZiRnM4dDEzMjdGd0s5ZnRTKzVGMTY0NjBMeml5Y3VXUkJjUXVkd1B2WFdBSFo2MHY1U2JVbDNMLzEvV2xjY0Q5WDNRNU9ycTdzK2ZJd281RFBVc2ZuR1UxdTlLVE05dmY3Ny91ZzRzditlQ2F6aHNqdm16MmhMb1FYYmM4c3ZDV250NmpDNnZLVTdMVDdYNTc3ZlJkSDE1MTFZZTdwdFRXRWpUT1VKb094ZlRKbWN5Z00rb1RlUktGSlJJZmE3U1Q2VlBpMEc1cWVVS2l1U2JxRTh0emEzL0NKWW8ralJ1TllvTkJuK0tXUFVHZmZLRmd4Sy9xVTZ5TlAxU0h4OVNzejZoUDdHY3Uya2tIZXRSdzd3cFpzWjYrbEs1WWZDKzVxQ1oxVXEwaSt2VGpBekpDYUorN1dOYXJlL0FCV1o5a1RaSzFpdkQrSVBCK0d1aFRKa0J4eUpuVjFVbkV3MGtlMGI1QXJwZXN3T1MyMEo0RlJKL044a0pVODRhOW9ZQWZMdlNFL1Q1SWlqSkl6bXdua2VLTUttVEVvcGVRZ3Q3Y3FBSGtrQ2ZlZGVQU1I2ZWJqSDZiTnEvbDM5YmYvTzdtUy81d1lQdlAwNW1WMXB2M3NDZTIvWGEvejNuajBjS3d0c3hxeXJLRmk3YStmOU4xSHc3Y3NIUFRCUU5LRHl1M2hBK2lVblRSWTREUnRHcWJjYmI2UUlZR015SnA3MlFod0dOdHJ3NXJ0UUVRS2RFVEpELzJFUTJyWStFazNGS0wrK0lYSlk2a2oyekFMNVVvRFpGK201N0FYclVIUGd6KzJJWGprT1FNSzN2VWdPNjlySWcxQnZTRzNSdC9nNWRRdUhLdi9FbWFXMTIrbCtuaTVzdEQ5L0hCVW5PUlBybUtMLzZQalZSNEw2bXdqNkg0ZGZzOVE3SS8zaTJ0NFE2QkRBdFJBOVpGOVVFR0NFaWp5L0t5RWVVaVVGbWU1UVoxR3RKbzNLc1ZHTm9zSllycXN5bEtiMkUrdFlzQXJhQW1YcUlHTWZuNmJuUzJxNGxWUmRTcmtZaDRWdVQ3em55WGhHc2hnSTYvTExhR1JiVnY0alhFek94RlJRZ1ZOUlRWVjViVFZ1T0FQUkFva3lPb1hWbE9WWExkU1ZwejY5U25hQ1pwWExzaDdyWlhQNysvNTZVRllZMDVyTmUzUHRCMjFkVTdYcEF0c0MzQjhOZ1RNZTg5L05aRjl5L3hlb3pobExRS3pwbTV0LysxV3pmOTd1cXJmN2ZwY05zMVhWM1h0TTI1cHFmbm1qbEVoOEY5Y1B2Qjk5V2dEVVNIT1ZXSEEwaWowWGJMR3F1MkgrYU9YMzkzUkgxRWJUVklTN0hHNUlOa3phMUJWZkpDZENRUTFDczFWNlZUZEVMaUVwR2ZQanJqK2pUdWRVMjVmMlhYNVkxejQ0blowcm50Q3c0dFhoby9NSmZ1bjZUUnpkaTd0dTN3U3NrWlMySCt2WFBkaWdmV1M1K29CK1JvaDBaSHFVM1A1dWVsK05CYWhGSVl0SWFEeWNQeFo2VTE3SDU2ZkRWOTBuUU5lcEhpNm1rSy94clF0cWkyTGkvWnlHRlI1V0VRMUZQb0JxOHNCd1JOTi9BMDJLTFhjUXhwVStzbXo3L1FxcitmdENOcEJMN3ZMS1BrMm5VRHFxK3RqaEFIQUlsOWhGUTdBbVBUWGRGNjVrVjlxMm5pa2tZcHR6N0dzY1lmVDgyT045TnMya3UyNzROWDJUa3JuaGpXU08vajl1cFlaei9PdWVPcXNUejBCSWUvd08yeC9IQkVrdk1lOUFqd3FRSDQ1RUN6Wk9iWXdaTnozZVJabjBBTEV3dDRCRFZaNFNBcDViTnJFNC9MandNNVVEcWhYWDRjeUhyR0tpaHpwd3ZUQkhiNEcvblpHT2xyK3JrdU1UakZ4RTd5a1dHWTMrZmd3OXJSS2VwRFRqVk9aY0JOTkR2b2pnYXJXTjZqSVE5TGFIdHBRU3JZWWtnU2VZNWhVTGRBbG5UbE5YVGlnWExvTUYwdmFVTEliWkd2NlVhVFh4RU5rNFZnZFN5MXU4bEhnck5KZzhtMm83YW0yVE9uTjlRU2d3cVMvMFpWRVNnc0hHYy9reDJiVEQxYzhvUG85bkxGS0xuWGdHTTMrbHo1SllYdGhmUVJwT3VWTHhHcUpaOVNLNk1tQ0tOeUw1NDVmWTI1ODVxYVpSWDFpbm93N1RObUxQclpTdW01U2I5Q0ZMbGEzbHU1dkh0cDUyTTFBNHRIUHBGMWhmaWtHMEFXTmVodXlzM0hLc2thUXJPRGZJb3hTVGhKaDdTbVY2ZGxpTDJNNnpoVHhCQWlZK1RBU3hJbkdDOWIxL2pSNE83aTQxRE1DTWNONjFSZFdYVkU5V1hVbGYxUGZKakNiN2JrSEY2TUF2YVRQdGZVUjlhd0o4N3V4RlIrWHJ6bWZEa3VYd2JZcWhINE9LSEdsbnV1R3R2Wm45aGx2djV3NTg0UHI3eVNibnNQdGJjZjZwVzM3SWtkSHgwNDhORU9lWHQ0d2RFVks0NHVrTGMwYjRPY3Z3WG1rNDJxMEdPblFscEc1RlNjRFlrT1F4NVYxWktVSVJnclNtWEgxNzdDc2VoZVNNY21SSE1GSlozeHNtamVtRUIranVFa3BPZmtJSlJUbFZOWlVnU1R6U0xTOXNtMUtwVXg0WE1KZG54dEtsMEJ6QS9FeS8xckV2RDB5b1NFRElDbmpKbWxiZU45SytEcHcyTXpNaGwvN2VEdWkvSFZRK0JYSWw4bmdWelo4ZXBDbUUzazY5bXgxcmpMeHZIMUhNTW44dFZIQXRta1VHazhjMzhTU0ZvVForMERhdXA3Qm56MFkyeFpHaDlRTXQvRFl6TVQ0b2ZJTTB0emdhOUY2TUtvRGxSRXlDT0xaUXBudlNpaFpxUFVzNEpqaWpZT0FMNkpkUjM2SEZkdUN4M2ZqY2FQN295Q0hjSlBGY3EreGFhVm44aU93M3NqamdQOFNaV09LV1UvbjU2bHRRYVREY1dWUzA1dHd4MFUxTk8xK1dPN3lmWU5uNnZvaWx1YTJCTlphU0Z6V3BYR3NmTjMyMTRjN3o1K3MvaXlScG4raytBL01vRCtabExMYTV5a2xwZWJVTXZMUFVzdHJ4azF6WnhlV3Z3L3FlWEZYOUp3dG1MZWIraUxHWEx2M3RXN0lUdkx1MmhHNzBWbDdaMWREMTl5L3QxMXNkY3pCSDV4OWRZZGVkbitycG5MZDVYUjF6VDAvcnhhWGlnZ2IyV1lPMjFHZldhV1FaOGs2bE5UWFJ1WExOay9wN1l1L2xxR25zWHpaL3J5alBwa1VXZXp5aTlucUk3a2svVURqTFlSUDhzTm9YeTY3ZzFrWTVZWkZPaXpiU3g5dGsxcDBFdFlCY2xIZVFGL21Ed0VyRmJ6NGc4QjJ5WTAySmJGQkUwV252RS9mUGhuVk5kWHQ2MllkbmlHMGVSTE0zaGJuNS8zcTJPdms4T3ZLMjE0dEM5SU90eS92anhmVjVDUm1ta3BibmprT0I2Z1dwK24xaUViWWU0WHM3ZENabm50WThrMHpNcnFuVUZXc2poUzRlTzRZQXMvYnIyRHVJdkF4Qkh5TWdRL1pzM0NOMlpZd21LRi9FUzBzZ3laUXBQYllobk94SGd5eVNyRkdEeXJkTXJIanJHL2lhMVJRTHhVRTRSZitsdzByRjVMdm56RzN1b0pqaFFSSnJpREEydk9oNUNLUDVVVmYrUXZOS0JpZDZ3K1JkNnZBYnc1VXgweCtMK3RJKzZFQ1RWSXp4Z3Jpb3ZLa3FYbjYrUHRYNFBZaEMyTDVMNUNscFplUnV6a1ZTSE1sN0dhNTFiWllOVTZJc3l6SEZWSEsvSkRSbHBJbkxSR0dDc2l5bjJ3L2dETU9UU3hRS2l1OWs5V0lxU3JST05LaEdtLzFvVkR1Y1ZKUjMrV1ZKb2JDbWxmTU5PWmg4aDIrL1gzaVNGUGcvSGV3NnZwUWJOS1RzRGw4ZUVUVXF2UDR3b2trUFVrL3AwMUkwdktabWJHYW1RellmNlhBMzFucVJNRy81ZDFRdjA1NjRUMmluRjF3dmZ3bEZKcWhiOGcyNTV2dm02THQ0YVY0Qm5TKzdQaVpjTG1kLzY5UXE2bnlkUkxyMGdQeGlJUUkwbXgvUVc0UXQzLy9QT1lIa3FycVI0V2tGNkJvSVUyaVFtS1dGVzdJdDFob0kzNVZMUUZLTTlIQVdwaUNSNGJHZnE4WEVVOVUzRU9uYXlYMWs3WjhiTk4vbEJaejVidUdkTEJoa1RGek1DR3prVEZISDV5MzVGWkhBNFdUbUg1OHIwSG1MZGlvbnlMS1luSjhBUk1OZ05vQ0tJYjVINXZ2MXdnN0k4LzUwM0xnOEV4ejNuTHoyOEc0a1BIbEJLRDUzNG1mT0s0VHZtaDhFbktqaE1mQ1IvN2tPYy9YTWtqdCtIUGxMS2pqWlFkVjBwVlN0bnhEY0lNbDJsaytRTTBaQkFPdUpPWnUyNGszLzVENGNFajBrbjJqL3hTU0NEV1JYWGxrT1FhNkxQZmNqN3NpRDN5VFJaQW1kVjBCWjNNbnJ6SUkrb2xyNVJBSEkvNjRzTkE1T1RCTXVKRk1kTVJ5MDJLQzNPek05MFphUUV4OW9RYllBY1B0Z21pbFVUWFpDeVhhbXhLVFRYU2dPVm53dVUza3NGK0lhYTc3QXNnNWZVRHhSekxiOXE5YXd2VzRMM1VoYjcyTWFObkxyK2U3QjY0RFBQTVI2L3pTMG1oc1hyN3FzYUxqMFYwd2VzMjJ2UURodlRkVzhuUlJ4LzFtN2M3azdac0lWOTJiYlhvNXJnTlEyVGhFRE1PNlJqekNOK1BES2pncDcyZklmNGlDR3RDaXd0em5VOE84bnkvMi8vOWc0VGp3ancxdnYxZE9zazVLTTlYUjNWNWNEOHJoZ0FkNHprTVljbExwK1FISjVINlJwNGNUdVU1cmQ3RWh3RmU2MFR5bTg1WXd2TmttZWZsa1VCMklGdVVWeVhHY1JqMlBUakc3RVFPazJJWk1MOUFOVDc4M1VjTWp5ODdRSFB0eTRISkg5TW5ncTdkQzZ6ZnNtdjNKcDdsaWdmV2swUDgwcUVoZzN1T3pySjFGMkhybGkxSnp1MW0vNk9Qa2k5YmQ2Y2JCdlMyamRjRmRaRmpGemV1Mmw0dFY0RXh1Z2sveUpVekg0UHVOOVA2NkJRRHNEY1RsSWxnT3A0ODd6Y0lKc1NBVGc2U1J5dFFKMkVBcVNnU0JoQ1NFWDE5U1JBRmZJR3dqM1o5SzNWaStqVEJHTWd5cG1PUEZBanhoNnVqMVkzaEJUTlRiRFpycGxoNFJXdjFxcW1WYzBJSkI1aVBjN0o4bWZOVFRXbE9vNzY1S3lmTDY0MTlJWG5PdDh5VmJFanBHYTJnRk9SeHBBTEZBdUFpZlllSTZWVHlXZ1oxVEpMVzBzbWVJN1ZkY21sVDA2WE56WFFibmhhTy9lZUdZb2RodXoveEZMQ0VHLzF4MU1mOUhuVFpoUXBSSytwQW0rajhWbm1BdysyWTAwN0ZnbzV0dG1vWlpnNTVDOHcrWURhL0QzRmFuWmJURFpJbkRwRVdvN1ZJeTRuYVRzQ2dyRTZEQlZFbjlDR3RWbHlCUkswNHQ2MnRxS2l0bzYyanFMV29aVTZqM3g5S1M4L3orNHJKMGcrbGl6aXRzZ2dneEhpYnBOeEZRVGFCTVMvb0lvSXlLeTlTVUo5N29ScFlvYnlMMEZUcVQyVVprOFVxVGN2SitkVTF4aVI3c3NIK285YVFiTG5UYW1HYWpjUHJSYTNkYWpTeU41SFBqUmFMcFN2RDdYWklMMXZTQlEydVMvWllYZmxkYi9BZk1TK2xsMFh3RzNORXB6WFpvdC9ObTAwanYwNTMxRnRTTlNPLzVad1dzMW5MRkhQT0VXZWEwNWwrRk81aU9lck5URTdWNDRGVXM4TWlYWTExMHJlZ2lNRGJMTzUxaGJmTDBDamxiTElISkQ4ZGN5SWpjMVZHclRWeDVtcmduRjdrOU9SUktwMU92em1CeVVqa3RHSWYwZ21DYmhIUzZZUWVKT2lFZGdYVzFwN2hGcUpldCt2Yzk0aE9UUlN2cUJFNXpTRFM2RVdOZnRkUHZna3AzUlVWRlMwcld0cEpFdGJzY2xuU2h2K3hwQ0drMFVzcWdzbzdUb1N4THptaGppcFpEb0EvV2Vvck1ySWxmMVlHdGhYbFRxMFB6SFNCQW1TWWluZlhiZG85ZGVZcjJKRGhubHo0bThjSmYvZ1dxM1ZuZm0ybS9jdXM2ZG5GVmFia2hUYXIxWFpKbXQ0YjJMb2l1cjdxbmlsV0s5Z1hzbEQ3dWdDY2JRczZIMjFDMzFFdHlDakFBZzhPZ0pzQ1NWY0tCTTVOV0d0Y0RZd1d3TU9uZ2pSYjFSZXJhTEQ2WmhXdFVXZlU2Z1pKaHdZdmlIdzhvSUlETVRLb3o0U04yaVJqWnpMV0diQStTYWNuQjR4SksxQ1NNV211SXpvLzlxWVdEWUFORFFFYjVMYTdKcjJ0NWlmZXRqTWFhQVhjdG5GRDYvbXQ1NjNzWGI2MGM5RzhqbGt6Nit0SWJBa0VTaU1CZTQ0WmtGek1nZEhuUzRVenZPaGw4dmU4RUVHakNlL3FNeWRrV1pQNEFyWTBGUy9kVkx1OG91Nkt5K3AyRktlS1JvZW96ZW5KYjVyYk5pY3ZZRFo3WnpiT21US3Rrc3ErNk9JYVZrY1ZKSzRveHZ3dXl5VGVZZlFQUEg5QlNWZjFxdExVZWZVcnR6Z2RPcHNoTmN6YTBpdEtLdklqYWE2aXN1S1N0RElyL0Z1YW9YVzVSdjdzTkk5Ukcra1ljUStUZUExcEdkYkpjWi9XYXdCdlpoTE1yTWNNZlJSZjBRQzE4QkNNTFlQbTAzZnFaQ0szUDJBUHFzV0Z5UmdjYjc1YTd6cjJxM25QdDNvTmFUNlRjY2JoYVN2YUpCa1dTd1FKRG04Ni9raERzU1V6TmFOQWwxKyt2cCtOeXJrYUkzSnR6Sy81ZVFCbHdsU0RsZmRuZFNhOGt5NEI2TWpoZGN6VDhzZXlzaW9xNEkrZjV3cnNDYmpvUnFsRnp3WjZIU2hNRjdOVkNoTkxLT2V1bjhTZTUzbGdYUDFraEg3TWp5ZlA4UlVqdU92L0EyQStoZng0Mm8yU1VXdmJNQlNGajl5MFl3OE5nMjB2ZlprZTAwR3RwRjJoTkt3UUFuMVpvYzFvQzN0TU0yRzdKSkVqeVErRi9xbjFSNHl4dC8yZ3dZNVVyVXZET21aajY3dlg5eHhkU3dMd0FsOGhjSDk5eHZmRUFwdmlRK0lNejBTVmVBMXZ4SmZFTGJ3V1B4T3ZZek5UaVRmd0tpc1N0N0dWM1ZFbFdzOFpmWXNPZ1FXMmhFcWNvUzArSlY3RGtWZ2tidUd0K0pGNG5UNHZFMitnazcxUDNNYTc3QlpER05TNGdVV0ZBaVU4SkhiUlJRLzdwSE5tTk1kUTFjUWF6YmZFV2VSWi9CYlk0Sm84aWVvQkt6MTFobm5IdUJOZFBXZHhPSVRpWFZBYktocGNJYWZLMEVsaHdkZ3dyem5PbDZJeGxVR3JWcnI0MDhNMlhUQTA5WTJ0aXRMTDNXNXZYNTZYV2c1Tll5dHQ1Wm10WnBwdmM2MG5YZzRhWHhyclpLZjB2bmFIU2hXVkw1dXJmR0ptYXRFWXI1dDVITVoxN1ZTeWlBN2JZWlluRndLUFpnTStNbGV3ZHNvZnNBeDEwVXpIaEQwMkc1YjNBSDJNY01GblFIcnExM1pXZmZieWJ1K2dQN29ZRGZyTHZlMDgrUDlycTFhOEhxL1BnOE5sVkRxcUREZENMbldNUzIxZFplWXlkb0gvNy9ydnJmNCtGL2Vud3ZFa0JJT2FPY2NwUXdOVGp1RWNGZngraW1PY1VNUmQ0NmE1aWExcTczSlhUWE5qQzNWNmZJSmYzMkt6S0hqYVpZclhUc0pnQUViUFgwWVJuQXpGTFc1UnNjVlpWMXdvdUFVbnFLVXhZQzhJTlFWanZOVm44N1dNcG9reDBYTnp2cHg4U0RoOGZ2RDJMY0ZmVEtkS3VIRGp3WXVNandiOEJHaWtpV1phYUtXTklDSENSR2luZ3lpZGRORk5ENzMwMGM4QU1RWVpZcGdSUmhsam5BbmlURExGTkFsbVVGQkpNc3NjOHl5d3lCSWF5Nnl3eWhycmJMREpGdHZza0dLWFBkSmsyT2VBUTQ0NDVvUlR6c2lTNDV3TExybmltaHZ5RkxqbGpudDBpaGk4QzBtNGhGdDRoRmZJSWF0YTBtc1ZvMmJxWmV2WlRwUnQ0eUg0MitvdmxwTWlkZE11L1R2S2o1WFhKMVBUZkk1VlJma1o2aGNOUnpWUUFBRUFBZi8vQUE5NDJtTmdaR0JnNEFGaUpTQm1ZbUFHd2tRR1JvWWtoaFFnTDVVaEhjaG1BY3N3QUFBbjFBSTFlTnBqWUdSZ1lPQmlDR0ZJWW1CMmNmTUpZUkJKTDByTlpsRElTU3pKWTlCaFlBSEtNdnovendCU2hjd1dZMkIyZGd4UllCRHo5ZmNCa2tIK3ZrQVNMc3VZVnBTWXpNQUJZb0V4QzFndkkxQ0VFV2dtRTlBK0JTREp4c0RIa016QXpDREVJQXF5SFVpTGc5V213TmxNRENJTVlnQzF0aE1aZU5wallHUmdZT0Jpc0dHd1kyQjJjZk1KWVJCSkwwck5acERMU1N6Slk5QmdZQUhLTXZ6L0R5U3dzWUFBQUZzYUMyc0FBQUFBQUFFQUFBQUExYVFuQ0FBQUFBRFpuSVBoQUFBQUFObjdTVWM9JykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBRUNvQUJJQUFBQUFkUFFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFCQWpBQUFBQndBQUFBY2lUdjBIa2RFUlVZQUFEKzRBQUFBS0FBQUFDb0Evd0UxUjFCUFV3QUFRRmdBQUFBeUFBQUFRQmFiS0poSFUxVkNBQUEvNEFBQUFIZ0FBQUNpWjRkeXhVOVRMeklBQUFJTUFBQUFUd0FBQUdCeUFwSzJZMjFoY0FBQUF4Z0FBQUN1QUFBQlVzUnRXeUpqZG5RZ0FBQUxZQUFBQUQ0QUFBQnNKN0VSVm1ad1oyMEFBQVBJQUFBRzhnQUFEaFdlTmhQT1oyRnpjQUFBUDdBQUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBTWRBQUFNSWtBQUZxNGlLNXhPR2hsWVdRQUFBR1VBQUFBTmdBQUFEWVhtaHBRYUdobFlRQUFBY3dBQUFBZ0FBQUFKQXNQQWU5b2JYUjRBQUFDWEFBQUFMb0FBQURZS3VjWlBteHZZMkVBQUF1Z0FBQUEwZ0FBQU5KWWVrSk9iV0Y0Y0FBQUFld0FBQUFnQUFBQUlBSEhBaEZ1WVcxbEFBQTlBQUFBQWNJQUFBTnYreDlxZ25CdmMzUUFBRDdFQUFBQTdBQUFBVWxrZmNUeWNISmxjQUFBQ3J3QUFBQ2lBQUFBdlZxeDN6c0FBUUFBQUFNRW13aWJpUWhmRHp6MUFCOElBQUFBQUFEWm5JUGhBQUFBQU5uN1NUVC8ydjMvQlBJRnBBQUJBQWdBQWdBQUFBQUFBSGphWTJCa1lHQnorT3ZDd01CeTV2K3QvN2RZUGpFQVJWQUFDd0NvR2djR0FBRUFBQUJvQUc0QUJRQXhBQUlBQWdBc0FGb0FqUUFBQUp3QkZRQUNBQUY0Mm1OZ1lUbkR0SWVCbFlHQjFaamxEQU1EdzB3SXpYU0dvWWxKQzhobjRPQmtnQUZtQmlRUUdCcm95TENBUVlGaEE1dkRYeGNHQnZZY1pnVUZCb2JKWUlWeldCWURLUVVHWmdCMGx3eXlBSGphSlk2aGl3SnhFSVcvQVpQWkpnZ0tna1VGbXlCY0Uvd3pWb05CT0pOZ0V4R0w4V0J0NXhvVVlTMmFCRkZrMndXRFdjd0hCeWJEMXA5UGJ4N3ZHOTdBREpNNDQ2TktuUDl0UDJ5cHNKQTdkakt6SWtkQzgrU0lnREY3WnV6b3MySE9nVFZUaTZ5bkhQTEZoYXlMcWRPbTlsWkRWMEphWW8yaytLSCtzaytUaW92ZG5Rd0ZKcGF6RXBHN1dvcFAwZ3p3R0xFU3kySkFsVy8zRUx2a05Sdm9OMCszQ3RxdXY3WloyaCsvRExtNXV4UVRLSytlTjhrOU1RQUFlTnBqWUdCZ1pvQmdHUVpHQmhEd0FmSVl3WHdXQmdNZ3pRR0VURUE2bXFHT1ljUC8vMENXQWtNc2lQWC84ZjlIL3pkQ2RZRUJJeHNEbk1zSTBzUEVnQXFBa3N3c3JHenNISnhjM0R5OGZQd0Nna0xDSXFKaTRoS1NVdEl5c25MeUNvcEt5aXFxYXVvYW1scmFPcnA2K2dhR1JzWW1wbWJtRnBaVzFqYTJkZ3oyRG81T3ppNnVidTRlbmw3ZVByNSsvZ0dCUWNFaG9XSGhFWkZSMFRHeGNmRUpEQVJCSWdOTkFRQVZUUitZQUFCNDJxMVhhMXNieHhXZTFRMk1BUU9Tc0p0MTNWSEdvaTQ3a2tuck9NUldITExMb2poS1VvRnh1K3MwN1M0Uzd2MlM5RWF2NmYyaS9KbXpvbjNxZk10UHkzdG1WZ280NEQ1OW52SkI1NTJaZCtaYzU4eENRa3NTRDZNd2xyTDNSQ3p1OXFqeTRGRkV0MXk2RVNlUDVlaGhSSVZtK3RHc21CV0RnVHB3R3cwU01ZbEFiWStGSTRMRWI1R2pTU2FQVzFUUXFxRWFMU3BxT1R3dTF1ckNENmdheUNUeHMwSXQ4TE5tTWFCQ3NIOGthVjRCQk9tUVN2MmpjYUZRd0RIVU9MemE0Tm54WXQzeHIwcEE1WStyVGhWcmlrUS9Pb3pIcTA3QktDeHBLbnBVRHlMV1I2dEJrQk5jT1pUMGNaOUthNC9HTjV5RklCeUVWQW1qQmhXYjhkNDdFY2p1S0pMVTcyTnFDMnphWkxRWnh6S3piRmgwQTFQNVNOSUdyMjh3OCtOK0pCR05VU3Bwcmg4bG1KRzhOc2ZvTnFQYmladkVjZXdpV2pRZkRFanNSU1I2VEc1ZzdQYm9HcU5ydmZUSmtoZ3c0MGxaSE1UeE1JM0o4ZUk0OXlDV1EvaWovTGhGWlMxaFFhbVp3cWVab0IvUmpQSnBWdm5JQUxZa0xhcVljQ01TY3BqTkhQaVNGOWxkMTVyUHYxUk13Z0dWMXh0WURPUklqcUFyMnlnM0VhSGRLT203NlY0Y3FiZ1JTOXA2RUdITjViamtwclJvUnRPRndCdUxnazN6TEliS1Z5Z1g1YWRVT0hoTXpnQ0cwTXg2aXk1b3lkWXV3cTJTT0pCOEFtMGxNVk9TYldQdG5CNWZXQlJCNks4M3BvVnpVWjh1cEhsN2l1UEJoQUN1SnpJY3FaU1Rhb0l0WEU0SVNSZEdUcXhFYWxXNmJWVXNuTE9kcm1PWGNEOTE3ZVNtUlcwY09sNllGOFVRV2x6VmlOZFJ4SmQwVmlpRU5FeTNXN1NrUVpXU0xnVnY4QUVBeUJBdDhXZ1BveVdUcjJVY3RHU0NJaEdEQVRUVGNwRElVU0pwR1dGcjBZcnU3VWRaYWJnZFg2ZUZRM1hVb3FydTdVYTlCM2JTYldDK2F1WnJPaE1yd2NNb1cxa0p5RWw5V3ZiNHlxRzAvT3dTL3l6aGg1eFY1S0xZN0VjWmh3LysraU5rR0dxWDFoc0syeWJZdGV1OEJUZVpaMko0MG9YOVhjeWVUdFk1S2N5RXFDckVLeUJ4Yit3NGpzbFdYWXRNRk1MOWlGYVVMME5hUlBrdEtKUWNTckdHbVFRMi9PZktGVWNzaTZyd2ZaOGpVWU1oV010cXN4NTk2TG5QSTI2cmNMYnV0ZWl5emh5V1Z4QjRscC9UV1pIbGN6b3JzWFIxVm1aNVZXY1ZscC9YMlF6TGF6cWJaZmtGblYxZzZXazFTUVJWRW9SY3lUWTU3L0sxYVpFK3NiZzZYWHpQTHJaT0xLNU5GOSszaTFJTHV1U2Q1ekQ3K20vckt6dDYwcjhHL0pPdzYzbjR4MUxCUDViWDRSL0xKdnhqdVFiL1dINFIvckc4QWY5WWZnbitzVnlIZnl6YlduWk01ZDdVVUhzbGtlaCtUaEtZM09JMnRybDROelRkOU9nbUx1WUx1Qk5kZVU1YVZicXB1TU0vaytHeTkxK2U1RHBicklSY2V2VENlbFoyNm1HRTdzaGVmdVZFZU03ajNOTHlSV1A1aXpqTmNzTFA2c1Q5UGRNV25oZXIveEw4dDMxUGJXYTNuRHI3ZWh2eGdBTm4yNDliazI2MjZDWGR2dHhwMGVaL282TENCNkMvakJTSjFhWnN5eTczQm9UMi9talVWVjAwa3dndklOb3ZucVpOeDZuWEVPRTdhR0tyZEJtMEV2cHEwOUN5ZWVIVHhjQTdITFdWbEowUnpyeDdtaWJiOWp5cTREYmtiRWtKTjVldDNlaTRKTXZTUFM2dGxaK0xmVzY1YytqZXl1eFFPd2xWZ3FmdmJjSnR6ejVQcFNBWktpcmpkY1Z5S1VoZDRJUmIzdE43VXBpR2gwRHRJTWNLR25iNDZab0xqQmFjZDRZU1padHJCWmNZeVNpajRNcWZPUlVuc2hGTk5xS0kzN3lsZnFvTGhkQ1p4RUppdHJ5V3gwSjFFS1pYcGtzMFo5WjNWSmVWY2hidlRVUEl6dGhJazlpUDJyS0RsNTJ0enljbDI1V25naXBOak82Zi9JaXhTVHlyMnZOc0tTNzVWMDlZRWt6U2xmQ1h6dE11VDFLOGhmN1I1aWp1ME9VZzZydDRYR1VuYm1jYlRnMzM5clZUcTN0dS85U3FmK2JlWiswSU5OM3hucVZ3VzlOZGJ3VGJ1TWJnMUxsVUpMUk5HOWdSR3BlNVB0ZHM1Rk44cWZuV2RTNVFoZXZUeHMyejUrL29iQTZQem1UTC8xalMzZjlYRmJOUDNNYzZDcTNxUkwwMDR0ek9MaHJ3SFc4U2xkY3h1dXMxVkI2WDNKdHBDTzRqQkhWNzdmRlpnaHRlYmROdDNQSTN6cG52NFRpblZxV1hnTi9VOURMRVd4ekZFT0dXTzNpQko5RjZXM05CMDF1QVg5VmpJWFlBK2dBT2cxMDlkc3pNSG9DWmVjQ2NMc0ErY3hnOFpBNkRyekdId2RmMU1YcGhBQlFCT1FiRit0aXhjNCtBN053N3pITVlmWU41QnIzTFBJTyt5VHlEdnNVNlE0Q0VkVEpJV1NlREE5YkpZTUNjMXdHR3pHRnd5QndHajVuRDROdkdybTJnN3hpN0dIM1gyTVhvZThZdVJ0ODNkakg2Z2JHTDBRK05YWXgrWk94aTlHUEV1RE5ONEUvTWlMWUEzN1B3TmNEM09laG01R1AwVTd5MU9lZG5GakxuNTRiajVKeGZZUE1yMDFOL2FVWm14NUdGdk9OWEZqTDkxemduSi96R1FpYjgxa0ltL0E3Y2U5UHpmbTlHaHY2QmhVei9nNFZNL3lOMjVvUS9XY2lFUDF2SWhMK0ErK3IwdkwrYWthSC96VUttLzkxQ3B2OERPM1BDUHkxa3dzaENKbnlveHhmTkp5NVYzSEdwVUF6eDN4UGFZT3g3Tkh0SXhldjlvOGxqM2ZvRTlhQUQrZ0FBZU5wajhON0JjQ0lvWWlNalkxL2tCc2FkSEF3Y0RNa0ZHeG5ZbmJZd2FFc3pNMmlCbU5zTldCUTRoTmladVNBOEV5WU5Oa2xXTUkvTGFRK1BBNGNEeXdFR1pnWnVJSi9YYVErREF4aUMrRHVCSklQTFJoWEdqc0NJRFE0ZEVTQitpc3RHRFJCL0J3Y0RSSURCSlZKNm96cElhQmRIQXdNamkwTkhjZ2hNQWdTMkd6RXBzWW13TXZOcDdXRDgzN3FCcFhjakU0UExadFlVTmdZWEZ3QjlsUzRIQUFCNDJtTmdJQUNNSUpCbEp3TUQ4eHdHaG44MUNCWWpEeU1QdzJPR3h5eUxHUmhZRldDeS8xK3hCak52K3YvcVh4cE1MNnNaNDJNZ3ZnZ0ExbEVWTGdBQUFBQUFpQUNJQUlnQWlBRGNBT29Ca0FKRUF1b0RuZ1BhQkRBRWhnVUlCVndGakFXOEJlSUdKZ1pxQnJ3SFBBZXlDQllJZ0Fqb0NVUUpzZ29ZQ2xvS29ncmlDekFMY0F2NERKd05FZzJVRGZvT1lnOHNEOGdRUkJEWUVTZ1JnaEl5RXFRVE5oUENGQVlVZkJWRUZlb1dlaGJXRnp3WG5CZ2NHTFFaS2htYUdkWWFFaHBhR29vYXVCdUVIRHdjcGgxV0hiUWVQQjdlSDNRZmdCK01JQ0FnZUNFY0lhNGg5aUtVSXpJajNDUmlKTUFsUUNXZ0poNG1zaWNnSjVRb0ppaGNLTzRwWkNtc0tvSXJraXljTE9ndEZDMWNBQUI0MnExOENYd2IxYlgzdmJOb3QyeHRsaGZKc21aR2ttVlo4aTdGdXhKbnRTMW50K1BFaWVQc0Rsa2dJYXdobUlha0pRbVVRS0VwQkdoSmdLOUFBNFNHa0JBZWExdmFRdmVtZlpRQzc5SFNYN3E5OXlqd0NzU1Q3OXc3TTFwc2gvQys3MEdzR2MzY0dkMnozSFArWjVsQkxMcEwvaVBYelZlaWZPUkFUYWcvdVNnZUZZczVIWWQ3ZU13eE9vYlRqWnIwakk2RmY3c01HQ09Hdzh4NkkyWVJZdnRodzZJaDJFTnpuYzZDQW9TY1RjNHBEWFVWUVY5WmdhUEFZYmZCWGZNYXpUcDNCQlc2V0tkTzlBdkJSa2REdk43UE92eHNQTmpZa0hDdzhCbXZyeXQwbCtKMkRGdVhVODg2NEZNbkNpRXoxb2xjek10NmhmTS9Gc2lHYll3eVkrWE1uUko3OWl3anVPekYvSU1QOHNWMmw4Q2NQY3RLcnFEeHdRZU5RYjdTRi9pME0rRHpCZmpuQTc1UC9meTFuMzc1WTFzZXA4UDM0RU9zM21vM20rU25jY3BrdGx2MXJMeEJYcWZqOG13T25KS2ZkaUFHdjNiaFk1YmpQa0lXVklKNnVwOTB6MXVTZENPRThCQ0hNWlpTUEpETURDT0dFWm5lMHFRTERnTDVHSTFrSHg5STJ2UHlFTW9yeVN0MjJ1RkdKa2xuSUN6UXM0UW9OaGh2d1V5aEZ4TVNnMjBZcUdmKzA4azA4U3RXOEUyTTAvMitmODZjQlF2Z2ovdW9xR1JzYTNNemM3Q2s2UHhpcjNCVzhOSVBtTTJGQytncDVnSE96MzFVSUNLVC9BRkNCU3d5WVNzaS96R283c0tmdVh1NFUyZ2g2a2RMay8xenB6TkdVNkNFWVJtbXg1YXZaN0dPWXhnV3hHakJKbE5GeW1wZ0VESU9GZVNaV2FNeFFDa01zNzJMRmlHMHFIOVJmOTlpdU0yQ1ZQZnNXZE9TYlMzK1lFQjBpVUYvMEc3d1JWQVpkam10T0lMMTlYWHBYU3NHcWhvYk9yQ1l0U3ZFY0dORE8yN0JpYXhkVmR6NXVENXJGMGJvdWUwbGVYa2xSWWZiYml5aU82ZVNYS1FzT2djbmZxL3RyRkZPUE5CNms3SnpwazA1MGZpMnRyTktYdDc2K3piMmNYdE5kWFdON1p5eStiakFWbDZpWTMrbGJXM2txUDJjc3ZtcmN2QkgybGFPbnpzSG1uMzB3bTR1eHBlakdTaUZGcUZyays2VWsyYzVqQmIyVEhGeFBGNlVxQWh5RE0rQ3FwU0RxcFRwUUI4d2ovQUk0bUdoc0R3emdsaFdQMnpBZXIzRWdzWklzSWRZL2NERWNXUUlPd3puMlBrRFNWaEw4SXZUUFlFS0VmNk1CaStvanhjWHVwVzFvdWhPS0JoeUZib1Z4dXRkcWpiQnNZeGUxYm5oaWhnT0JRbkhFK1JhUnVkeWtvT29zWUZjem53OVdGdFYyNUdNUjJvYm5ja1YxNlhtTGUxN2VFY3drUWcyMURZbmsvSHEycmJDbHZWVFJ5TDdsajJ3TnBpNHBWWnlTVGhjNlFuejVSN3hCWHVwaWFqa0x3V3ZhN3IzRG11NS82cmhaVi9wNWI0cmVqemk2N1l5QXpuNWpyL00wKzM5bHFtc3FPZG8zK2hNNW9qb2tYc3J2T1VPTTMvYjJHOW4rRjBXM1RlQVZqNnRzL2xJUk5Xb0EzV2pUY21SUXN6eDVkaGdaSHBnWmZLWTRVY1JhOUFaV04wbzRoRFNjMmpFZ3ZWNTJHalFHMGZNbU9meHNBbFdhVVVLR1F5NllhVFRoWFc5eVdSTmpTUWhsT3hPZHMyY1h0TlIwejRsTGxWTHNjb0tUNG05QUg3T0dyU1MxYW53VVZQUGVvNllKR0tNTU9FbTRXQUNjOEM4d3ZxNmVHTkRVQncvM29vejUvQnR1N3E2dEgvTXR4MVdzYmlxOFB5ZGJwdFZMSXE2MmMxanMrcnJKUW4rbU95QmtucVFPOVdWZFhTanV5VHFjUlNlL3hlWHU2U20xT1ptcDdVcHc2UjZ1U0I3NEhQYVlWai9sd0V2cndkZWRxSWVkRERwc21DRWU5cGNZS0M2Z3d6SE5tQ2U0MVRUVmdGYXlJQlJINFdyV0k1aFJ4REcrbUVqcUdKRnlvQTVqaC9XQVZ0RkhqUzM3bEpEaHhDTXBMc2E3OEVRSXRRMUcrWXhUWXlMd1dZcFpDS2FERHFidG41QlVTQmM5ZUY0Z2hpRnRCM1I2ZDBab3lKVUV5a1FUc2NUVkplcEhnTzdFeUhtMzQ4VnVwcVQ3YkhaczZiTW5OSndvdFNwTDNLOXBWaUZaYVZseTFMSzdtTVY1Vk52ZW1Iay9yNmxTeGNQUHI3akZmKzBSRy9ISzl5cGxSYXY2M3VDMXlPdWsyYTMxQ3lQUHorMXpWbFlVRlZaV1dWTEpWZll5RTZCdi9PNi9udlhETjNaZXMzTzFZZVhuQi9yRERkTmIvc3hjQU8vd0R6QU9zQlhXRkhiQ1NNd0dhdGN0VkNId1JDSGdZQnpkb1o0Q2R4UERxQmgyRU93d2swd3hvb3NFa3VVVDg5U1d4a2l6ckFGc3c3OUhMNHlGcXZrNStES1Q3bVA2dVJ5dnlqNjhidWNJVWp1akxIOENQc0F2eDc1MERUbEI4MXd1RElGWjBLNHQxU3hSR2FrL0JpcWhFUEVuc0RYQVhMMU1Qdytuajh3Y01MbExHZklqMnVhcm1OY1RqdmRJNU1KeFREVDJHQ1BKMWliMVYzcmxPeXZ2Zjc2YTNiSldldTJXdmYvNmZiYi83U2ZYeC93eGNPbGxodms1OCtlbForL3dWSWFqdnNDaHJsL3g3MXZ2SUY3L3o2WHpqVUtjLzF4N2x3eGhya2lGRUtadVNyendwV0l6cFZ3YXdCbG1EVnd3dXVwb0hNdHRMdWNqRTZmWHBOeGUyTURRL2VJQzNFemkrak1yQk5tekJmOFhUNyt4aHZ5OGIvUE5haXp4cDFueitKT2JkWmtCdWg1dkp2TGgzWFRnaFlsODZjd0RPSWF3MTRibUJYRWdHUmRNRk1IRVNYZUM5Q0lxMGlCMzBjUk1tTVg3SEdZUTNpVWlQaG1lcFlEN1FjUUFQZHFyZzVXaDNTR0VnS0N3TVVsNGlyRGRmbVlXbTlLVGJYaU9Ra3A4UTRjSXJwT1NmSlI2dzJHKzRFT3J2cnBja0ZJV0EzTjFUKzczK1ZPQkVQbGpkYUZDNjJONWFGZ3d1MjYvMmZWelFaclFoREtuNjdtT3BxNFUyM1Z0dnpYTnptcklxWE82QlRlY1lzajZvNkhQU0hocFplRWtDY2NkMGZoRUQ4bDZpeU5WRGszdlo1dnEyNGpQSGdVN2VNRWpnSHBSSk9Wc1BnUnd3K0F1Mk14WmhCZVQ2d0JnVGs4TTU5S01CaVVwS0NrTjVSU0EycnpxMHRXOU5zMDQyanpheWJTYjZNcjk2NGFHODVUVnFYOEQ4WDF5aDhxMzdFRi9EVEhrRE1mS2g1Yi9vZDZKazhaaVMzd25lclZzUHdtVzRCWElSc3FTNWFhNk9LamV0T2YwWnRRa0RFVVVhNVQ1RVhoSmpFeWpHelgvODNaRjR6Z05WeXA2eDk0bFQwL1AzL3NUeldlWWlQSGxEbGNWQmNleFdjNWdUa0o5L2NsUGRrTGVJaWNKYm9ONkRiT1pybU9ES0hzWjNUU1l6cGw4c3luekVtRkhJVUlPditYQUdlYThUYVVoNHFUaFpwbEFOL1hDNTk1eUJLZ2Q4NUZpYy8zOXZiM3d4L2U1aFZrNGx4bENnWXhla0EreEVYNXE4R1pkVDlqQXJXbGhxaVVHQ0p5NDZ6RkpxbkhFTjZqSGt1YTBsK3ZHbENzRW5HSnlxOXI3bzg0djNnOSs0dGwzTmc2ZTdKekdjZmNZMC95VjFjSlp1TW54eUprbzFzUUFiZXdCL3pPTE9yRFMxRlZNa3lRSkI3bUZJOE0weUlFaGxFdkNSUUtTZ3RLQ3AzMHAzU1pkUTAvUlcxT2pqZGxQbm56eWl2ZnZQTk8rcmxoOCtZTjVJODdkWjk4N3J2ZmxjOGRQb3pkMy8wdWR0LzMzdmRlZlBIVlYxOTg4WHZBajlNSWNWWGNHUlJBTmNtb0hlQVY2QVo4c0F3Ry9NQldwSGlPRUwweXplOEFrc0ppTUU3V3FEUk9tQzNZbHJZMjhVU0FyRjJYclo3akZRRkxpb0EvL3JuZDZoRHRUb2NUUCt6eGVxVy92cUY0RHNXUk1BOWViWkpDVlY2WHgvejNndkx5OC9PcHpPNkhPWUt2UjdWbzB3a0pjeXdSV1FHSVIwS3dEd0J6bEdyejVUQmZ4UWRYRUNreUs3WElJNUExREt6UHJzbkhEU1JKU0ZDTGFxU3FSdEd0TFZPblRvLzlXVWpTcjdwV0NNQUl3NFUwbUtRbWlQbmRxYUZscStYL3dDV3g5bVJ6bVhqK1V5RGFaTVhmV2RneHI2ZS9qeHlNRER6Yng1MWFkblRMMmtlSDVFOEdSWTlYK0VEd0FROHFLdkx3ZmZOV05jeFlWSG1BSFAxYjJGMWJpeWo5SjBGWENvSCtadFNkbkIzRk9vREJnQ3A2RU96d09nN0lZa21JUW5BZUM5d0JtTXdyS0RwSGxlQ3pHVFZKVWtPRFZCaFdVRExvTENWUnNhWEUySUtSVlZRSmdBU1JJcUNNK0NSMHNrVy91M1hoY3ZrUDN6OFl0QW1WQnN2VWZWTTNidXBidEo2ZzJaNkIva1VMdW5zSnJiVnpIMXZJblhyaW9jZTZnbDhlZXU2RmxDTmFHbDNFKzRTNVhiUG5STnZiWTlObVRwL3Bua3VJZlM3cUtKZG9QSFlOeUxvTGFJMmlHaFJQMXRkZ3BNTTllb3g0eGFnYXNFNVhrWUl3Z0dGWGdoeEZGdWlxanNIb0tuOHc3ZytLUm9PSEVHYkxBQ0pYZmQwRVBXMVVkb2tVNjNHOWc2MnBmbHpSenNkdlU3WmpQMUcyajhvTFlNZUJ6NWJPcXBmdisxMEJkeXBXTmZhdW9yRVBaU3Z1UTdDWldzUjBDdUxZWGtBeUdEMUpaWFlFOFBuTVpLY2VBRGttOG1KNUhRdnJpb093YUJjTTRrRUxSNEJzL1JBUmw1QkNIRWNENHpCRHhGV05vb0lrdWdPQ3BJa0w5RThmVitqSnVIVVN1dFJyWWlLSGllVUd3M29HaENIUHRLNWN1Zk9KcFovOWZ1aTVYa1ZXOSt3ZXZIelp3aFdyS2l1U2pZeWY4UXJNU3U1SXJMMDkrazVnN1ltcmZ2alQ2a3BYaElncHRYTHgvRUdwb0V4a2dtS1pFaXQvRTJpS2M2Y0JuMFJSTXRrR0NKYzFrVkFEdkFsUXlDbTBzTEMwaU9ISW9xVzhIS0h5YUhsVlJSQXVMUXNHQ2cyR1lxQkh3VStNbnZodUxVUUlVbmR1bHdLSTJEVk5HMFgyTDE2ZUNULzdYM3VjOGIzOVc0K3Qydjc2Nks2WHA0YWp6K0V0MkNCdlgxb1g3Vy91MnpDOG1EdmRNTVhtNldlTlBiZHZhMjBhZW5UTDVVK3RYcmV5N2RqYVgrTGF4MHhqU3lwbXgySzlzWUh1VkQ5WlYyZUFuaWtnb3pLMDRJUVZnQXV4S3lhd0swV3dDd0IrR3pnSGRnaldHaXVrbERWVW1peFdUcUhSQ2VjR0tKUXRReDdSWGNFVCtpaGV3U28rSk1ybVY2VFdhQ05aSGM1V2ttZVVoMHkxZ0tpalRUcDhqWHdIV1RJK2dUblBIUUhOcW5XZmw5eHV2U2xhWnNsbkwzdVJMQkxjUndYQm9zZGczbjVZSTZYZ2x1clI5T1JVcHc1UUJqSGNCaEFEdzQvb3FUZlJLZDZFNHpRVFVGSGg4U0JVVVY5UkY2dnloRHhCb1J4dVVWSmwxQnl6VHA4ZHFjVVRrOFJyVEZaY3g3ejc3S3ErMU5CbFcxKzcrZWJYdG01Y21lcGI5ZXgxc3hhUmZNeWlXWDJEZzMza2p6dTE5TjdsZ3plSTRtMlhiZmxXWDkrM3RteTZWUlIyRFM2L2QrbWJxWTZPbnA2T2pwUWNXdExWMWRmWDFiVUVkT3p1QytmQUg1MENSbFlSSFhOZ2hqTVRqdmVBZFdNd3h3QnRQSi9XTVJVS0FHMCtIMEsrS2w4a0FPRW04Z1lLUTZxT0FVVUZzTTZVdGRMT0pDYkdvY1NTeDdESS9KSW9sSHhRdnE2RTZOb3p2OW1ZbjlhMXhhQmF6VlRKdUZOVW5lVFQ4dUY4ck9wYTkyMDdORjE3aDZpV29tUXdXNHBiMkljQm8xQWZ6Mm5JSlVEc01qdE1mRDRZTUN2NEhXdXB0Y1Rsb0dDRytuZzFKNkg0SENiM1c3NEtiYlEvWmtFbTN6VjJOQ2YzQlhQWUFkaFBvblB3b2Nwa3FFang4Q3o0ZUdadFprSVk3STNQQ3lpRHpJQ2ZNQU9xeXJtNFVKdkY0em40TUhzdS96a1JLc0thdXdhbHVHWnVLbkFFc0tpUjRLbWU4ZkZXV1RuRm9scXNaY1RwT0F1cnpwZjlmcDVUY3BWSVl5ZVpPVktKUzNMbU9jOS9XT3h5RmJNV2JxcFUyZUFUSFBKYjhsc093ZGRRS1pud0hYa1Y0VEM0MXp0QXZ4NUYvOFVKN0dGQXBDSUtKNE1nQThLSzFlbTBaUUQxMmdGMTJrVzd2N1NJNGxiZHBMalZmbWtrV3pUdU8zczRHOW5LOGZFNEY5MEJ2Rm1rOGFZZ2c5T3o0cnV5a0liVGRWbnBGaU5PaDNXWTZ3QStuUC9RcVhDSW1UTjJVdVVRYTJFT1VUN0lXMHdLajdDRUpaVkg4aGJnemM5QVg5K0hHRjFDZGVpNnBBVjBCVnZBWjRHeXFzRjZNRzM5d0I4amZoY3hnblFwU2lteUxMbGhNRFlpUjFKMzR3YkNHRVEwYnlSNzJFRFNHUWlBOHRVRmFxc3E0VWRGS1ZLaHJGb2E4RkYzVUkyREhaTmdyWGk5UFFmdnM4VnZmUDJ3anFsS0pLb1lDK05mUDN2bTNKU0NRY0tuSDJxYlBqMlZnai91b3pPUDdIOGcwbGZzZGhmL3ZFcnZ0TTVxbno2empFS3dmd2s3bDV5UGVvVmpSSGVQcVdzSCtTK3M1NDV3Y2RTRit0R0M1TndpRjJOa0lIeGltUjRUMWlPTzBYTWppREZqSThzWVJ3d1l3ajRFekFMNHBkUHhBd0RDU0dxSDE4M3Y3a2FvdTcrN2I4RTh1TkdjYURBWUM0aEJDL0hvR2FlbkxDMHFRQldHd1hMTHRrNkM1ZzR6SWJGZU0yVjJxWjdKc21VaVcvc2Z1K2Z1WHpKam1TMTF6YUoxUys1WXVDemc1NHNjcnBJeWJyYWh2RGpZS2k1OWRQdWVuKzlZZkhUN1Y2NHo2S3hPbzk1aWFmeldnaVAvY2VNUjdIdXFlbWExVkNiTWlFN2o0Z2MrdWYvR1U4TTlIYmZ2MnJiK3AzdTJ6ekRxOUs0OCtiVnlseFJvMzk1ejFmRlZYLzM0eml1ZkhLNWdTLzJsTnB1ZGQzdjNmUGpRaTdqbEdUazE5L3IyNnZxQkcyTHJFSFBoWThCMFo4SFBKaURDbjVKc1JFYXdQMFoyUGRMckRVTW1iREFJS1IzSHNHUUZBa3pDSWpGR3pVMHd1cEZnT2xzd0xwb05aY1NXNDBtZ1hNaXZuK1NvSTIzay9YcTJubVgrcmM2TWhYNDFrbDZpYlB1aTh0ZWlYZXF4VGNwMjBkZ2phaEQ5NXBMclA3bUdPK0lUemwrbUlEd0Y3UjA4bVAyTk5TcmJOK1RGK0RGRWZmTk1vSFU3ME9wREZZQmdkNXpnc1o0anVLSVdsazg1K0RBOTV2VHJlWUpmQWZNUjlLQlRBMlVTWDVVbXE4QWE4VHlCSGpvQXZ0dklCVHE0QUxTSlhhbU1SenFkTmh3V0VFSTFzVWk0Z3JoeUgvTDZnMDFHYlFIcEZieVlpYzB5TEdFMWpBOHdtVzdab1IvT24vUEh0Mzg2OW9KQy9XV1hxVGJMZVBTMnBVc1dMNy90eFplSFZyL0lIWG5zMElJZFl2dTczMzVDWVFKclZMWnlLRG10czIzTXZMOXJGclZqNndHZnJBY2ZIa09keVdRbEJvaElQUTRzSEFLYitHRTl3QlVsK01yc013dzFDMkdPSUY4QTlNR2dLQVVDQmhYT085V2NwcG9DaGZrcnVGZk5DQ21SY0IxTitYTlZzYlpaMWZYT3pXdjMzLzZOQS8zZlhGRmdyZlpaWTJkL2ZmVFRXL2IrN2U0bkZqY251Vk9BakVjRkwxQzQ1cHJYenB6K2NYV05ZV0d3ckw1dzQ5M1kvZHhwN0w1N1Y0ZG1BMXBCbnJ0Qm5oNklmSmNxWWl4U3hLZWo0dUJ5eENlbHhjY2hEc1JIeEthTUl6QXNMVGFJNmdPaXp3czNMUUVWMTFPUktWSDk1OHVMeGVmMzdqMy9oQnhXeERNOHJDcnJiM1p1dVBmKysrL2R3QjNaSjM5MDVvejgwZjVjQVoxdmVPbjA2UmVwYkFnOUFQaFJISDJtZ04yWWtxdUd1YkljeDI4all1SVpGZ0l0akkyd09vMUdBV3c3eCtsV2d1S0pPcElac2NCVjFWbFhzVHczK2dVdUk2eXJTU2ZHditoMXlWWmtBSmhnMkRiaFNqMEhLeU05WDFBczQwcmxlcFM1ZkdDQTV0V0IyZ1ovc0ZHMFNYNUh3RXpLY2FwT2dmZnd1Mmc5VFFlclFRMzA2YWxKQmNIRnlraitYTDc4UXhMcGZvanZhZW1jVmdOaC9tQ3VQTmpidVNObG92d0xraXcvTkVaaUsvbWRINUV2OGpjRlg2NWtjbVJTang1U3VCdlN1S3VVRDlicmdUdUdJYU5pS3RQMUExN2o2dmpLeE1YSGc3VDF3R3I5dHZGWEFQc01LeWRlQU93alU2eEh0Y1FVRSs2WnFDbk9jTS9tcjFNTXpXUnhkamJycGltc3V3N1hFTjdKUC90WEZSNGRVN1kzcWdWTTltZ1c3K1NmRXViOWQzYWduV0VjUm5QQXpod0ZPOU9PdXBLem1vRXNGMkFNRWlrQXFtTTRyZXBpWUdnbUJLTHM5RDdEYUdVWE9OeU8yb0xCWUZ3QWM1Tk5YSTY1U1RSbUtFbG5GbXlxRDg0MVAxYkYvR3pZU016UDF0VXZhZjVFMmZvY3R1VnZYNjJZb2ljWHFhYm8vMUJUMUxlQ21LS3lSN0lkakR4V0pCbHJhalN6ZEZVQ3pCSUdkSWE0ZTBCZkZoTDdpc3hnYWN6Y2Vvdkp3SkxhdERXUG9ZdUlaMGtlR3F3VXpXNEJuUXZSL080NXMyZk5uTjdlb3ZwVmZ6QS91elJ0bTB5Q2Z0dm55elhERFgrMnRKV3lkRk9UNmw3M0tkdE9lV2RuN2hGdEJMNUtIWUZ2N3RTTzBEZ1ltSEErUndGd1JQNzFaQXFoTXV3VHJGY1ZoT1RuRVNjQW4wSUU2WE9BcFBraGt2WVRVc0FaWUEzU09CTkNBWm85U2lmOUZIcnFKa0Q4Ykp2OEp6ckx2MktVQy9NeCtxdnFPMzh4K2Z6VENvelJhbHJIUFFMaGF6eFpYMHh5cmoxa1BZSVBHYzJlTFFKSnJnSmREaE5nQklORFlpQW9qcHVzbXNRanFRVXliUnVOMGJQcUNhcEFUdi8yNTMrK3Q0QXE2SXpoQlF0a05jM0Z2Sy9OZGV5dUYxKzZzMERBMDZsS3l1ZUYvbVZNZjlwVXFicjNPc3g1SlpxZjdGME12cThLSW5TU0FRS29nc0VxY3d6ODIyVldsVEhQb2lvalF3SmVIVll6ZG5EMWlpVjlpeGIwekFHK2krRjRreTFvemRaRVhFYktQVzRTdldmVk9VbXdFNHFSZ284bzVHUFhGOVZMbktXV1g2TGtSdVFIcHd3SzdtQ1JaQzJzOFprVUh1eHZXeXk1aSszQmdwS2tVQ1hXYjFmMXRDSVhFZUd2S2R0cVBMMVJQYkpINDUzOEdKdW84YytxN3lvS1ZDaEh1anNqVGNHZTRsQlVxSHZ5YzNUMlJaeE02NFRtQ3lKb3RRWWFHVVJ5VTZNUVNDSGRFRVI5T2dWMWFBblFVaEtXS1VQQUVyQ1kyNVk5RW1VR0RpVHpFYW5DaFFuVGJVR0tyYkpXcjZZNkYzTit6Q2VVM2pmeEVOV2ZqTnU3NHc1Vmk5YWx0UWpqS1lvQzFVMTBlQmlaZ01hWGdjWVVzVit6QTE2V0kxa0FqdWdRSGpWZ29qaG0wMFdzV0FwMXo1Z0dCRWdTV2JHV2JLMXhUS0lSWmlXTURKbng1MGNKV2xPVm4vc3lwU1Z1YmMwMVZJTzZyK2ZGS2lNeDZ5SGQ4dHd6TGZseFZSTThybExkeVdkMHBTN3NuWHp0TS9Qa0RhTFhLK0s3eHA2ZVRCK3NOdG1GLzJLemtuVUd0dUVZOEtnRERUOVRYMEFLVldvTVhncUxpWWdYZkptaUNReURoNGxCQzVQaXRXL2lXWGFJaUQrbEdCREZuM2VnTmdtNEY0ZEFsTHE4SERNU0RHSHhVa1lmUXJGc2E2L3dyS211TlJhMXllM2MxdHlncWxPejZJYUtBdndBcDJvTnZqck5vejYvdjlqRG5CdjczbVE4S1IyYmo4YzAzV0ZRQi9EbDF2L3R1aGxyK3ZTV1d6NDllcFIrN3IvOTl2M2tqenQxbDN6dXVlZmtjM2NUOS9zY2R0LzEzbXRuenZ6d2gyZk92S2JHQlZlQWZBSVFyS3pUVnFvT2tiaHR2WjRpS01NRVYwTldLc2ZyOWR3MmJTU0V3UHpLaVFNcGFJMlJmSGtBaVJSNUdZbTFWMkRxSlF4ZkpsaTQrVzkvZS85dURXYmRvMnp2dkZOZHErTGRWMTk5N2JWWGd4Qisrc29yUDN0cU1zNlBIUjljdVhJWjRibjhiNVRuVFdnR2VxWDdTUWZRYXFyRFNLOGsvMHVUWnZJRjk1Z0FVbllQS09jbHBBY0s5WWoyYlBFRExDZ3BLZnV2SmVHK2J0aElxamdHQWwrOU1EYWdqYVVaRkZwR0lFNWsvR0NJalZsYXdSc2w0MWx5Nzg4WkRzalYzZHlNVVBPTTV1bkpkcGo2RktuQ0lZbEJNNDBvVlZVSTZXazJKU2V2b3RmS0VHbzFKVVRiOGk2dU5NWE9qYjI5dmhrK1QwdEpiN2NscnpDUzd4Q2JOamRKM2ZWVEY4YXUycW96T0NyekMyMW52bkVNeHU0N2VIQWYrZU5PM1NhZi84NTM1TTl1WXpaNmpUcmVXS0dUZkVGZlpVbWxhRFpaek5XczVBbUpaYmJYMm5EUks5L0IzRzN2UGZQd3d5ZFBQdnp3TTVtWTlGblFQZEt6dFAwRXJIR0RsbUVRa0FIT0c1Z1J3Z1U5eEZPa3FzU3pETW10Y2twdXBSVENCWjNlYU5SdDA4WWlvMUcvY3JLaE5ML1EwelZ6T3Z6U1ZLS0c0WGliV2FzY0ZuNnVoNzRJbXB4TVRaZi8rei9qNVM3UlhaVG5yQ2gycUpIVTNGVmhwOGNwRmZwNkdwTnFWQ1UzajB0TzVEOTYxN3BWcTliZHhSMDUvZFNmV2wzaDBwWm9qY3Z2VjFRNTJTMjJ4VHJMSThFTGFETGRsdkdjN3U0NW9FQjNnVDNwQU4zdVFxbGsxMHlNZFQ3TThBVFBZTjJ3UWMrUWFpUHdQTE5QcWxvc1dOVndDcEgyRHJwTEhWTVhtak45bWhTUXFxV0FNU3Ryb1dnU2lTTGNDc2VVbEY4b3F4YWthaUJoaDhLOGtNcWtPcVdKa2YxVlBBTHhsN242YThOekZrcEMxV1ViYm03KzV2TFRYM25rU3FVZFVReWI0M2V2V1RJWURwV251dnN1ciszcFcvWFV0bmxmcWFzRnVyeUMvSGZCVzFEUU5iK3J4UnV3MnV4T1VScis3WmFqZzJ1REpOV0pld1d2dlhEOWh0bkppb1Nqd0ZsZ0x5dXAyTE54NDBPRERUVUJrZ0hCYUJYbzJrYlF0U2hxU05icXNCbzJranlkVnJUTStCZ0s3YUlvSXBMWXdoRlFxNVkybGRLTE9CVmJkbEdzcHl6UmxJaWMrSzFxdFBxVTdXOVBrS00rZ2QxTFk4T2wvaktZT1lDTUhOZDZRZjVQZXZ4aFVpVERhbzhreVRtUzNoeWFYbVNIUUlnMEYwTzZIOU9BT29FYVJaRUNDbU1tS1V0OG9kYVZNMm5vcHdEc0NSRlA5WmJYRHh4NGZVdDFibFNUMnJKaXhaYlUrTGhtN0FmN1hsMjc5dFY5VEZNMkdoejczZllycnRqT0JETDVnUXNmQXkxbmFTMFphSkZvellSWEtkTHJGSW8wWWtqTkdOQ2RtSXZ1VkJDRUo2R2tOQnNlUDBGbk9GMit5OXJjMXRhVUp6K296Zm00c2gzNHpSOW5hVGc0N2IwWFM5NHlrWDBzaDRaN21iVlo4LzhyelA5ZG1QOVUxSnhNeEdNMkZ1dElOUnlSMnY0b2dYaWdZd1N4Y0p5UVlyQkd5bFRVUVVDZUZKUnlRUXByWlJSRXA4Z254RTVLbGJKOGNxZzdSV2MrWlMxYldCZWIxbUw1NW9PVzFzNVlyWXNkcmxOcFVnSGRqc1k3OUJYVmRWVzZPK1BySjhTaWk0czlsaklSLzBZT2kyVVdUL0U0dXAvRmo3dUxIQzQ1eGN6T3l1K0FRbElzdDVCVU5HZlhseGs1SWtLVFVRK0VHNFlzWmtaSmdTdFFsODhOMkdmTmlJTkE2Yis4YkxCcm5EUVpQbGt1M0RpWjJOMkpMTWFNS0l5UlA4WmlXeTUwYS9qT1kwSDF5S2l5YmNlaS9FbHJMc01pZHh3c1VvOXNTZ2REZStVcnN0Zm5oeC9tQlBIMzRLM1pqUHY1ejdOanpBcmcxMUhnVnp0S0pCdUFYU3hobHg0WVJHSmkwSk5KUXZoMjFLcXhLVWRaSmtkTGwxd0lOMUJxcXVSSFgxVXQwUzVsKzZyOGVDeVg5czdUWnhvbkxPeVA1R3hpMFFYR2xCUHZ2WVdsZEx5M0QyaWRRbk1VYTVSOHJLaDBLMjNMOURScGFZQkw5VFJOSEtmME5JVlFRQ3hzRkF2VEdZTjBTMU5Xc0RkSmU0Sjc3R1c4bFNUdElOVDdCZERvWk5ybDQrUTdXT0lDU211YjcveC92MDBUbXdkb25EZXRsRFhTUkNkZXFmU01ZQ3pJVDdQMzg0UElUWEl3SkVvbEQxTnd5ak14WE9hWkdCanJSb1ZTWXdOcG5lRFUwb1U2RnpYQmFQT3pYeUtaUTRZNkxwbG1FWi9Iblp1cXAwMkxlUVZkUlBDU3ZjK0tsZCtOd2U4K1NuKzNJaGtndjhkZ2xsbWZhWHRNdHlhNmtjc3ZOZkpLMmNTbS9pNzVXWnUydzk1SytnY1o4b080VTM2ZWJtViswQ3Q4OG12Qkc1czJyWnI3RS9sVWRQY2wvQ3ZPREhqQ2k4SlA2ZFpNVDVhNXJhU0NpbnVBYnNUc0ljMlJWOEZBTC9JRXc1eWhLUEtVRGswbnBTMWFzdEZsREZzbzNhREUzRjV0eE8xOFBDeDR2R0g5YzgvcHcxNlBFSTd6dU4wWWkzQ243STZ4KzAwR3QyZ3k1RnZ4WHZrNmE3N0JKTG9OSm1hVnd3NjI5ODJ4Qzl3SDhydkloc3JwZkZ6aldhQjBmdEpwVE1oM2NXOWJkVHByM21lVmVYVExuWlhmdGRYVTFGVGJiTld3SWJFOGRySmpiQU4vRk81ZlRPOVBZbGVsUmJMSW1iNnhVcVlKQmJSK0paNXRLQ3lYTEdaNXBLaWlLV1lyd011NC9jRFZldDBibHZKUXZOdDhRY0c1VzhCdjNNc2VSM1d3dlArZ3REL24rN0NCYlcwQjNPb0FDbGdJUG5LTzZObWVBU1ZNRGtOb1FQcXNSa21Qa2dHeGhoRlNGcURSUVNTbEp6d1labFJBck55NS90SVhBTGtpM2RVYW0wcVR0WjkzRlVwZkJIR2VkZzBKVE9yckVhcHZyMjlyU2dCdHRTS2d4bmlqV1FPTmhibUFPdDJPUXhQTUpDT2RhZW5PZFBmSEU0MFFrU1JlRmNwOWlqVzZ2SDJvZU82VHk2ODQydi85NDN2dVhyU3g1ZUFzbTZVNFZKQWZHM2h0eVlOelpuWE8rSExMemJ2WTQvL3lsUHhPUlZReFRQV0p0czdVVjRjUDNGUG03VXg2aS9oQVZaV24zbFplUHZaR1hVMTFiYUltV2FySXBSVGtjaGxmamlwUk0vcUJ3bTRUQ3dHY0RjTWFBNUdvWDBndVhwVUdHRFUxSXBaUzVERUlHcWRIVWpvYXZhc3VYNVZEOU9KREZYdXZYb1hVakVjRWhpSU94REJ5NmRIQSs4SklCQVkwUjVycWEySCtGZjVnWXpCZ1VvSnJXMjRqR2cyMkp3dGQ3Rm90WHEzTjQwUGUrcjI5dTEvZHNPSFYzVU9IRzd6Q3V5cnEwOHB6bnJjM3RMZHZTTFlQMXRZT3R2UGxZRXlXTmJXTnZ2V1ZyN3cxT2pCdmtlQlZpOGw3MWJEN2lkWWQ4K2J0YU8yNHNyZjN5ZzZ5Um04a2ZYZDBIWFFtazdHTDFGTWpXZlhVeUxoNktpaFpNQ1FHZ3hQcXFkbWRCWm1TYWxhUGxGTFVZRDlSaWhyaCtVMnpON1cwYkpxZCtsYVBQVDhxMkNQTDMxaC82UDBiZHYzcjNnYzdtNVBzY1RESkw5REVYK1hzU01lT1ZHcEhSMTJWYVc2a0xGclUwTHp6clFNSGZuLzlqamlKS3hnMEREUTlvdXJRZDVNbUh5eGRHMVllSHBoTVljalRYaXlSNjhTRkcvMmNvVU4wOWVseWxxeWlNQ3pQcmIvMDZJa0tJd1lEY1ZGVG1Lekhib0p0T0p0dGhlNHNoVUhqRkliOTBLdjJJdnhaOERZY0hsSlVwM2R2dlpxY3diMXlCZFdWSk5VYm9qR2YvVlZSRHErd2FONkFvanB0VGRpdGFZeWlLNHJlS0d0ME4vQjNMdWlNSDl4L1I3STFuU0htNFNTUGFCOHROMHdTVlJHYUlpWmNDTE85Z29DUUVCS0NrZ2dYbG9jZEFnUnhKV3B6b09pL1NQOEprS2pUK3dsZGxyT2J2Y0xZTHNjTksrODlZYkVVbHVlWjNDVnJmcmJtMEZ2YnIvbjNyNStNNEdkdFcvdlk0N3ZQM1MxNDVpMU9jQlUxZ1pJU3I5RWYzUG03V3crOHRmTzllK1lvL2Q2UEFDWmF3d2RRRTdwY0VYRllLMWNhTUtQSFdzSFNPRXpxdmRLNENtZElHd3NuNFY1R1BKSzVLS2UwU1F2REpDOUVFMnlDV0VRTHc4cGpKc3J6SmFMZ3hSbjBNV2s2UTJtU3Btdmtua1BGeFNhTFdHU3gzVGgwRTA1UWZQSkRYS3dDU0RWSGZQSWtPWDd5NURFKzBHVDBlMHFrcWlBZmVyaVYxb2luNXlEa002UkRlczdwbDhsYWtkZHhqNEFzYTFFSHVrTjVDaUdJZWIyMlZpSUlsSmxudVZHVGdad2FOdW9ZMm1PbzEvUEQ5RGt6clJVM1N0US9uak5hYzFYS3BVUG9vaGVDMTZxckEwdlNVZGMrSlU3YTVBTmlrUmhVdlpaYmFSVWZsMFpPOTZRUi81U3pQTVoxWG00bFJ2UFBDb1A2Ly9MbnZ0ZVgxK1RsQjRyenpDOWNlZTBtTUswM3ZicHg0NnMzTlc3WnNqdzUwdFkyQW5abVh2ZE16V3lPMWIzNkc3ODNQMTRVcTY3a1d0YXVYNWRvdmZiWFgvN3lyNjk5NzhidDIyOU1iTzd0M1p3QVBRQjR4ajBFOW1ZNjJueUNKYzhmcVUraFNzaGdVQm9QcEhTcmJHUjgzYUUwS1JCdE1pQWo5ZStURDFJVWFqcWkxUW1hVU5BNkRkVEN5bVNSQ0hIb1Z1ekZuNThzdzQ5N3IzbDAyUzFkcWR6S1EzVzhvM2xEUjNYdXdZelhvWjZtNU9TOE8xZkx3em1xdGFaMzN2Q0RnMGR5OG1KN3RRRHN3Z1c2L3Vid0N3c0V0QjZoQWdhdHN5clBVVDhncjJQdnBjZlgwcWVvMTZGbjZYcHRndkVIZ2JkVDBSVkpZMGZNYk9KSWdLL3hWMTF5VXNwQWM1S2dYWUdVeVVoWWg0WmdvU3FOTXdJWUprNFBUdnppZ3hUK1RrVkpxWUVXTDZSR3dsK3BVRFhBSVZaL3FaSWdpQ0lncXFCZTdmblFPK3E1SFI3eTFHT2Q1L3crclVOczFYaFdnaUhnNmlqd3Y1OThWbnp5ajdZM0t0dUFleFY0eGNpOHlSZ0pkakQycTJBOEVRd200c0VmeWs4VFB0MEhmT29BUHZuUkxJVTVickM2M0JCNUJrNUtNV2tQUkZDTkN3NkNqK2ZZOWRuSGxjZmsvTWhIS25qcVkzS1hxRk16UC9KcU51aTgrcXdudHAxVGQ0NHFybVZ5UmNBWFBvRDVIZ0M3MDRFTzB3ZHVubWxOTUVTeWdQQmFNYTlMQVBhZ0NJODhpd09ZWGpFbkJqMnIwd1ZTSE1Nb290WDhPZW1IMUU2UzRIMlNvVWtmR1RXRXRDRnF3MFlrUFdKQUsxKzFneE51RE1EL21ZNE4rc1NLVFduWnVOalh6QlAxcExHWjJpYnkvTEt3MFN2c0ZMekZwZFdKM0IyMU9lRVloSlkzOW53dEVydHVGbnY4N20rTW5TRVJLR051ckx2amdQejRoUDNiTlFXNC9Zb3JmN3htdmJvK25nQStUa2NqSjZhUmVGMDEzQjdTcDI4WU5oa1pneUV3dmdleU5Ca2tweFVuUnlJUUdEcUVKaG1vMlozT3VHWjR6R3FpNlAvWjRpajhBWjgyNzM5bWN6NFV2RGQvSDZ6ekY3RTRES1B4NmVENzRPTzJBbDVaRGp6S1I3N2N1bDVrUWwzUFYxQldWSmlwNjQxL3Vwekp3VnFNL0lmcnIvL0RvVVAwYy9iR3BxYU5zNVZQOWpnQnBHL3RWRDdmVXhDVWhya1pGSkIzY3BmQmZHcFFFdDJjTkVVeHg1c3dTdnRjeVVUU2xUenh0VHhQWGFZeXhVeGVLa1RjUmpVZGx1VmtWV040c1N2QXk1S0h2bXFUdFIwUUc5YWdhaUpUdFdpVmlVeHNsNWJkUkVhd0hScktWRnRjWllQcWNYT3c2SWFzVUlVOXJpRk4rWndpclBFMkRzRG9lN25SQ3NYMndMdEhNcndqeUNLUWhWZWt5WEZLT0ZOSkNMRXE3ejRmb09SZU1ZRjNJdWtRdUFoQ21ZeURuNk5FT1FpbFA1ZC9qNlNEdjhJczBNNGV6d3J0emwrbmJKVlA3TmFpdi9mRzQzYUk5Y0JXRUwyTG8yZG9MK0NKZXZMc1cwOHAyV0pNcksyRmxreUpPYVUxcVVDSzVKVFNYN0tyTWFydHJjcTBUbVl1eWhTNHhsMlRBZHNaWTB3YjZVaTFKNUl6ZGtCNStVWWNOU3FteDAwTEtKbkg0bFZMNDcrRVY2YmF5bjdZWFdXM1I0dXRCVk5hVTN2bll6V05NYlpJclZ2dlVGMldYZkIydjdLR1BUNmx2TUVmamNZTXZsV1BieHlhM0s3ODY4SDdGSjRlQmRzU28vYTNKemtuQ1lTWGphdnhSYkpxZkpIUHFmR0JrWTJKQWFsYURHaXZHYUY5VjJxRlR5bndhY3MwOStVaVJKbElmWTlXK0lMWm9mV1A2QXRGV2c2dGFlbnNDcTFZZm4xaTN0TGxUKy9hZjdYMlRwRzZ3OHUvR2EwcVhyYjJZTXUrRlErdC8vcU8yZzcydVBJbWtZN0dTckhTYmpLYUN3djlWdzBQN2UrZWxYNlBTRWZ6d3VJeUU1OW44Zmw3anZaL2FjWWNrL3I4TTRtN0Y5UGU3SGl5SGx3UlNZdU82dWp6bFN4OXZsSnRrTXp0eHBiRUNsR1FKSzFBbG03NnREblZ2SUVhRXFxVlBqVXNJdGxieGxudnhOdHBNSFRyVGJIckZ4VG11YVFDdTh2MWs2OGZPL2tTT2Z4UzJ5enVGRmxPNzlNZzZNOFBod05Hc1NMcUtmU2FON3g4R29za0RNSWxTdDhqelAxcjdHRTBCYTArWWN2eW95VWt4OE9SNmg3SGtaZnlaT2NJa3RMRWswcWN6MmZIK1ZTUnA2QzRGQURjSGhlMTBtVnVnSytiVUEraytUcGlKdHF5cWdmc1g3eXEwM3lYK01NTWJzY2dIdW8rdFdheUlIc1ljT0xsR1VjSW5oTS9vR2d6WUhkcnR0Y2tkUkhTN3dyMFg2d09HUGpmcWdQZW9OWUJmNWMvZmViTWFmbnk3NmZsZHI5MVB2VjBRajB5eWg1VzQ3QkJzYXhNWkk3bVZEcG00VlBqNjRBdy93NVNCMnlvS3FCMUhhVGpFS2REdVhYQVFGWWRrRFFyU2NRTGl1UHJnRGlUTGcvK1Q4dUE0VHNNamEzTlUvSU8zR2FkMHRKYWIvaXFvQktrUGgyeXVIdWZ1U29jaVpodjZaMnRaV1V5cEpLU0oxNHQzeWVXZWFWeEpPL0VDejNlb2hMNVlYeHpkazJMUEJleUYyai9uQnBnNEdJMXdKbTBCaWdXanE4QjZyOXdEZEFSdWxRTmNMSFN5L1pmbUszUExmaFpkKyswcVVmdVY3WngrZU9HM1BwMjN1aTFoZXFSVlJxVFBwTS95VGJMZS9mbUFFTERwOWxNMjcwN1hRK3JrTmRTSFUrUWZvTXFOMjE4MDZtcW9hNWhSRHJleU90U3RQSTlNRWR5alN2Zll5dWoxOUVYRWJRemlTK284RW41cHBrM0hybEpDcFFXejEwOXYwbitTWGV1MnJjZU94WWZyL2JuLzNucm5XMGNudEpWWDhYd2RadTNNRHR5dE9GbXZEUFQ5MGhyZlVCYmhOVDZyQmV2OVFXK1lLMHZNTEhXRjBGaDBSMmY3UDBGT2EyZGNhM2NGOFBVUWRGNm45VSs5aEdlMFRDek9wYXZWdnlzZHNZcy81UWU4UWxzQ1hzWWFDbVZIR1BuZG9vZVMwbXgvRTlhOVlNampIdWJja1FzZzBrK0pEL052czhQUXF5K0tXbHRnVUEySDZZZkJnZWp2ZnFyTlAycUFwS1VaTmJTekRXaGlMN1V4azllcFlJNEhvMWtob0hJeVZPUXhGNWpabjQ2RlpCb3JJNUtncmMwb0ZkZndtR2xDVzBmQTNTN0NQbjVXS2NnT2UyWmVkTE1wVHdycjZWcTRWczFEaXErMkdNcExWcDFXWWpqOGFicnI5K0tqVGkyY1dsUnFjVWpmdllCbTRldnZseXRyV3pISnZhRDgveGdwRDBXSzRnczZ4MHVHYmxGTkFuNzFqbE51eTFGbmZOQytiRlllOVZUcDcyK3J4b0tGaSszeGFxcW9yYkJ4UVhHeldXZUU4ZG9mZktjZkIvekhrL2VhUkpYZUpMNy9oSHRSVWdERTE2RWxIbmhpU3VyZFliNVRuemF0Q1Q4OGR1OHdpZmZKcDB3dW42L1VvTkY3OHRQY3lHUXh6UTBrclNDMitOcTRKNXVERXFWbGdjTVk4a2IxcFFIZzVIMk5xdEtUcE1IcmJCa2hnRUlIRURLYS94WUlnL1NXVHdOVFcxdERvU0RZWDM2QlQ1S2NVcURSUEROaHdzMU9iU3IrRnBoZnFJeGhxbGtZdWw2RitQL2dEWGg3UnJUcjhaNTdBZWZpVVJFU3pmR1FEWmJyOTg5b3VOeGRNTWdGUkUvZU95RXAyeXpzV0R4b0MxYVZSV3pMVjljWVBpcXozdjZxU29RVTM1b1htZVJaYmZKdVc2ZllBcmNmZVd3eWQ0NU4xZ0Fjb3BRSHQyRUQzRGR6Qmd3LzNKU3gzeEdzSUpqSlFERG92Q0haZENBamlldlBBREVSQmpCUUhUS0lHWStBY3pBSDJEcktLeFRodVVBT0N1ajRTZ3BEU3FERVJtcjFlT0RvaFFTNmF1QTFQTHZ4UHFMMmplbTExN09RZDVVOGQ2S2FZMWRVcWl0M0Y3b0QxZm50ZXhmR2g5T3htZUwyVWVZTVZId2VNc0ZSeUFjc0xuNmwwaUN4NVA1cHNSbmJ6R043RXExaHpaQnE3WlZIS2txS2FSQlVNWU1xREUzZytaUDBrcWJYU3llN0tWdXpJNnY5ZmRyLzJKVHA4YklIM2VxUCt2b0w1V0RzYW13MEFFWEJMbjMrTzBRK2RlaWVlRHlucU56Y3BneHcvckJTeTZvWkhqVGRLdzNjK3FyZXFZQWY5azl4QkxzUWJ6SmJPTE5venFPNU1rZ1F0K0FUTHpCTkdDMTVMRm1JOVlielBvUlpESVpWaUdEeWJDQVBFMm1YS3FEUzNWWWw3NmV2cHp5VXBjUEpEM3o1OWZWelY4NGYySGR2THE1UFYxVGsyS3dxRmdFV2RhU0oya29YN1FHQXZWdE9GUjQycnR3NEVOU1h4UVVVdDhVVk9lMnEyMjkyaE5WOU9xRStvWlBXNzJZMEROK3Axc09Gem1jN3Z1dXpNc3JjK2VWZ251enUzMkgzRTVtc2ZOOHY4VlE2aTF5c3Q4bTI4c2hEdW4yVmRaVXltODdCSjBCeDYwUk1ScnQvanQvTC9NVHdSOE0rdkhscmZyYVVwY243M3A5aVh2c24wTEFXT2l3alAwM0g1Vmd5eGo1NkZpdEVBajRyM0k1bk02cnBvcjVJSWJyN1BiaVF2bldIL3dBc1NDckVQZU9LcXNoN0tLU3l0Y2tOUk1rWlNCR3BSaWtsQnpIYWlQbURSWURieG5Od3hhejJYSjVGc3VSZ1RjWlJwQlpyemYzSTdOWnZ4THB6ZnA1YW4xdjVnU1JHWXdHM2ppS2pCYUQwYkxyQzk4dE9ldlNOekpZekxzdWVTY0llNHZxNnVxRzZsWXNXN3BvUWZlY2NFTFZBZXYvaHc2b2J4Y2lBeWQ5dFZDZDhsQjh2V0lZdjdnK0RGVFlYYksreW8xdE5aR0dXSHVOTHh5cEtJbnZtWHJ0elhON0h2cStMM3d4cldnWnB4WG5qenVkdDduc2k2TDJYNGtKWDBYTTFVVVU1S0RiNmltN2J1M1VqWWxyUWk0SFdjc2YwN1c4RFRXaGJyUVJiVWJ2VXcwcGlwSVhLWUtXZE9RRG9OczhtekhrcmNZbUk2L2ExNW5wTGdwRG5qSFBZQndGejRISXU0Mm9Rd0s3TktJblFzbkRhS1FBNXhuTWVRTldiTFJnazlsb0lnZnl6S3VRT2M4TXl6dVZ2cEdlSVZXL3lXK29oeHVpTDNDL2dhVFkwNFBRcHN0Nk52YU1yQndhWE5xL2VQN2NHZE5iVzJqWlVHeW9qNFp0RUY0cE5qenpNcVdzeXBjYTltZmVwcFFsV1ZXd1NEWDZHWVd3cTJweUVhdkExaWZ3WGZ2WE5iWjg0MERibmhxdjBWUnFaWFhWNjZ0MnhxcFNUcGZMMmJhaEtUNmx1YXh5UVVuam51bXNpZXBDUmlkaTBlN0NTVXpFTzNmei9MYXRxMWJYT3VjMWpWeFc3TXp6MjRvOFpZeWphTFlZRUlKQm9VY0l1bXBkam9yUkVvdTdaT3lQVkMweTZpRi9pOWlIU2N5R3ZPSUg5SjFyNjloN0FmY0tLSmFNcE45V3BaVStBdWtFYjVTK3BVcEE1WUpVRk5ES0c1TnhOT3ZCTm5hWDkrU3h2bFBMb25aN3NOanFXbkI5N0NaWmZkTXQwMHpDNi9ON1RyOWNHeXVNZWlvclE0WkErR0htWFMzV3dPZTRXc0JnQ3dGU2hhaVdlaVppcml6QXBZZzU1eTF6anpZMXpweloxRENUWCtnVmpwTFV5MUhSbzlhdjV3QzlmaFJLU2xsMFpwZHkvc2QxbkY5TlVzZjV0YnB6dTVKSG1Dd05odjR2RWY1dENnQUFBSGphalpMQlRoc3hFSVovTHdIUkE2aXRla0k5V0tnSE9MQk9vRWdST1lWSXVSUUpJZ0ZxajdDMWRoY2w4V0o3RDd4RUg2SXYwaHVxK2g1OWh4NzcyM0ZMcUVyVlhhMzllVHovekt6SEFKN2pIZ0tMNXlPK0pSYllFTzhTWitpSUl2RUtYb3ZQaVR0NEtiNG5Yc1ZHOWlyeEdsNWs0OFNiMk1vK1VTVTZ6N2o2R2lNRUZ0Z1NLbkdHZGZFaDhRcjZva3Jjd1J2eEpmRXEvWDhrWHNOMnRwMTRFMit6OXhqQm9NRWRMR3FVcU9BaHNZOHVlamdrbmRPaU9RZXZOdnBvamhKbmtXZHhMN0RCRGJtSTZpRTlQWFdHZHNmMVRvenFtY1hoQ0lwdlNXM3dhSEdObkNyRFNBcTNYQnZhTmVmNTB1cUt5cUJWZjFUeFVNTXVvMkJrbWp0Ymw1V1grOTNlb1R5dnRCeVoxdGJheWpOYnp6UkhjNk1MTDRldHI0eDFjcWZ5dm5GSFNwVzFyOXJydkRBemRkc2FyOXQ1bks2YXhxa1VJa2JZRFZtZVBBZzh5Z1ljMDNQS2E0RmpNK1Y0d0JyRHFmWXh3QVFYL0lha3AvNW83MEYra0hkNy9jSGtZakljTEJlenR3ajdyOGI4RHZINEhCYkN5eWh3ZERZOGJibFVIeTYxZGJXWnk1Z1ovMVBqWHdyNzFmTkZ4eDI3SEhRTmJZNlpRdDRwNTNCSFN1NmZZb3dUaXRnUk5zUVZ0bTY4eTEwOXpZMHQxZW40QkQ4QityR29lUUFBZU5wbGl0ZE93bUFBUnM5ZlJoR2NETVV0YmxHeHhWbFhYQ2k0QlNlb3BURmdMd2cxQldPODFVZjFQWXltaVRIUmMzTytuSHhJT0h4KzhQWXR3VjlNcDBxNGNPUEJpNHlQQnZ3RWFLU0pabHBvcFkwZ0ljSkVhS2VES0oxMDBVMFB2ZlRSendBeEJobGltQkZHR1dPY0NlSk1Nc1UwQ1daUVVFa3l5eHp6TExESUVockxyTERLR3V0c3NNa1cyK3lRWXBjOTBtVFk1NEJEampqbWhGUE95SkxqbkFzdXVlS2FHL0lVdU9XT2UzU0tHTHdMU2JpRVczaUVWOGdocTFyU2F4V2padXBsNjlsT2xHM2pJZmpiNmkrV2t5SjEweTc5TzhxUGxkY25VOU44amxWRitSbnFGekxITlc0QUFRQUIvLzhBRDNqYVkyQmtZR0RnQVdJbElHWmlZQWJDUkFaR2hpU0dGQ0F2bFNFZHlHWUJ5ekFBQUNmVUFqVjQybU5nWkdCZzRHSUlZVWhpWUhaeDh3bGhFRWt2U3MxbVVNaEpMTWxqMEdGZ0Fjb3kvUC9QQUZLRnpCWmpZSFoyREZGZ0VQUDE5d0dTUWY2K1FCSXV5NWhXbEpqTXdBRmlnVEVMV0M4alVJUVJhQ1lUMEQ0RklNbkd3TWVRek1ETUlNUWdDcklkU0l1RDFhYkEyVXdNSWd4aUFMVzJFeGw0Mm1OZ1pHQmc0R0t3WWJCallIWng4d2xoRUVrdlNzMW1rTXRKTE1sajBHQmdBY295L1A4UEpMQ3hnQUFBV3hvTGF3QUFBQUFBQVFBQUFBRFZwQ2NJQUFBQUFObWNnK0VBQUFBQTJmdEpOQT09JykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG4ifX0=`, "base64").toString("utf8"))
+ conf.templates = JSON.parse(Buffer.from(`eyJjbGFzc2ljIjp7InF1ZXJ5IjoicXVlcnkgTWV0cmljcyB7XHJcbiAgdXNlcihsb2dpbjogJGxvZ2luKSB7XHJcbiAgICBkYXRhYmFzZUlkXHJcbiAgICBuYW1lXHJcbiAgICBsb2dpblxyXG4gICAgY3JlYXRlZEF0XHJcbiAgICBhdmF0YXJVcmxcclxuICAgIHdlYnNpdGVVcmxcclxuICAgIGdpc3RzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgcmVwb3NpdG9yaWVzKGxhc3Q6ICRyZXBvc2l0b3JpZXMsIGlzRm9yazogZmFsc2UsIG93bmVyQWZmaWxpYXRpb25zOiBPV05FUikge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICAgIHRvdGFsRGlza1VzYWdlXHJcbiAgICAgIG5vZGVzIHtcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgd2F0Y2hlcnMge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBzdGFyZ2F6ZXJzIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFuZ3VhZ2VzKGZpcnN0OiA0KSB7XHJcbiAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgIHNpemVcclxuICAgICAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAgICAgY29sb3JcclxuICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX29wZW46IGlzc3VlcyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX2Nsb3NlZDogaXNzdWVzKHN0YXRlczogQ0xPU0VEKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByX29wZW46IHB1bGxSZXF1ZXN0cyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJfbWVyZ2VkOiBwdWxsUmVxdWVzdHMoc3RhdGVzOiBNRVJHRUQpIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ya0NvdW50XHJcbiAgICAgICAgbGljZW5zZUluZm8ge1xyXG4gICAgICAgICAgc3BkeElkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwYWNrYWdlcyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHN0YXJyZWRSZXBvc2l0b3JpZXMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICB3YXRjaGluZyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzU3BvbnNvciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzTWFpbnRhaW5lciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uIHtcclxuICAgICAgdG90YWxSZXBvc2l0b3JpZXNXaXRoQ29udHJpYnV0ZWRDb21taXRzXHJcbiAgICAgIHRvdGFsQ29tbWl0Q29udHJpYnV0aW9uc1xyXG4gICAgICByZXN0cmljdGVkQ29udHJpYnV0aW9uc0NvdW50XHJcbiAgICAgIHRvdGFsSXNzdWVDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zXHJcbiAgICB9XHJcbiAgICBjYWxlbmRhcjpjb250cmlidXRpb25zQ29sbGVjdGlvbihmcm9tOiAkY2FsZW5kYXIuZnJvbSwgdG86ICRjYWxlbmRhci50bykge1xyXG4gICAgICBjb250cmlidXRpb25DYWxlbmRhciB7XHJcbiAgICAgICAgd2Vla3Mge1xyXG4gICAgICAgICAgY29udHJpYnV0aW9uRGF5cyB7XHJcbiAgICAgICAgICAgIGNvbG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXBvc2l0b3JpZXNDb250cmlidXRlZFRvIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93ZXJzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93aW5nIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgaXNzdWVDb21tZW50cyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIG9yZ2FuaXphdGlvbnMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltYWdlIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0ODBcIiBoZWlnaHQ9XCI8JT0gMTJcclxuICArICghIWJhc2UuaGVhZGVyKSo4MFxyXG4gICsgKCEhYmFzZS5tZXRhZGF0YSkqMzhcclxuICArICgoISFiYXNlLmFjdGl2aXR5KXx8KCEhYmFzZS5jb21tdW5pdHkpKSoxMjhcclxuICArICghIWJhc2UucmVwb3NpdG9yaWVzKSo5MlxyXG4gICsgKCghIWJhc2UucmVwb3NpdG9yaWVzKSooKCEhY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKXx8KCEhY29tcHV0ZWQucGx1Z2lucy5saW5lcykpKSoxNlxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cCkqNjhcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMucGFnZXNwZWVkKSoxMjZcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzKSo2OFxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMpKjk2XHJcbiAgKyAoISFjb21wdXRlZC5wbHVnaW5zLm11c2ljKSo2NCArIChjb21wdXRlZC5wbHVnaW5zLm11c2ljID8gY29tcHV0ZWQucGx1Z2lucy5tdXNpYy50cmFja3MgPyAxNCtNYXRoLm1heCgwLCBjb21wdXRlZC5wbHVnaW5zLm11c2ljLnRyYWNrcy5sZW5ndGgtMSkqMzYgOiAwIDogMClcclxuICArICghIWNvbXB1dGVkLnBsdWdpbnMucG9zdHMpKjY0ICsgKGNvbXB1dGVkLnBsdWdpbnMucG9zdHMgPyBjb21wdXRlZC5wbHVnaW5zLnBvc3RzLnBvc3RzID8gTWF0aC5tYXgoMCwgY29tcHV0ZWQucGx1Z2lucy5wb3N0cy5wb3N0cy5sZW5ndGgtMSkqNDAgOiAwIDogMClcclxuICArIE1hdGgubWF4KDAsICgoKCEhYmFzZS5tZXRhZGF0YSkrKCEhYmFzZS5oZWFkZXIpKygoISFiYXNlLmFjdGl2aXR5KXx8KCEhYmFzZS5jb21tdW5pdHkpKSsoISFiYXNlLnJlcG9zaXRvcmllcykrKCghIWNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzKSkrKCEhY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpKyghIWNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzKSsoISFjb21wdXRlZC5wbHVnaW5zLm11c2ljKSsoISFjb21wdXRlZC5wbHVnaW5zLnBvc3RzKSktMSkpKjRcclxuJT5cIj5cclxuXHJcbiAgPGRlZnM+PHN0eWxlPjwlPSBmb250cyAlPjwvc3R5bGU+PC9kZWZzPlxyXG5cclxuICA8c3R5bGU+XHJcbiAgICA8JT0gc3R5bGUgJT5cclxuICA8L3N0eWxlPlxyXG5cclxuICA8Zm9yZWlnbk9iamVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgPGRpdiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj5cclxuXHJcbiAgICAgIDwlIGlmIChiYXNlLmhlYWRlcikgeyAlPlxyXG4gICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgPGgxIGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImF2YXRhclwiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCw8JT0gY29tcHV0ZWQuYXZhdGFyICU+XCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4+PCU9IHVzZXIubmFtZSB8fCB1c2VyLmxvZ2luICU+PC9zcGFuPlxyXG4gICAgICAgICAgPC9oMT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDhhNi41IDYuNSAwIDExMTMgMCA2LjUgNi41IDAgMDEtMTMgMHpNOCAwYTggOCAwIDEwMCAxNkE4IDggMCAwMDggMHptLjUgNC43NWEuNzUuNzUgMCAwMC0xLjUgMHYzLjVhLjc1Ljc1IDAgMDAuNDcxLjY5NmwyLjUgMWEuNzUuNzUgMCAwMC41NTctMS4zOTJMOC41IDcuNzQyVjQuNzV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgSm9pbmVkIEdpdEh1YiA8JT0gY29tcHV0ZWQucmVnaXN0cmF0aW9uICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS41IDMuNWEyIDIgMCAxMDAgNCAyIDIgMCAwMDAtNHpNMiA1LjVhMy41IDMuNSAwIDExNS44OTggMi41NDkgNS41MDcgNS41MDcgMCAwMTMuMDM0IDQuMDg0Ljc1Ljc1IDAgMTEtMS40ODIuMjM1IDQuMDAxIDQuMDAxIDAgMDAtNy45IDAgLjc1Ljc1IDAgMDEtMS40ODItLjIzNkE1LjUwNyA1LjUwNyAwIDAxMy4xMDIgOC4wNSAzLjQ5IDMuNDkgMCAwMTIgNS41ek0xMSA0YS43NS43NSAwIDEwMCAxLjUgMS41IDEuNSAwIDAxLjY2NiAyLjg0NC43NS43NSAwIDAwLS40MTYuNjcydi4zNTJhLjc1Ljc1IDAgMDAuNTc0LjczYzEuMi4yODkgMi4xNjIgMS4yIDIuNTIyIDIuMzcyYS43NS43NSAwIDEwMS40MzQtLjQ0IDUuMDEgNS4wMSAwIDAwLTIuNTYtMy4wMTJBMyAzIDAgMDAxMSA0elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgIEZvbGxvd2VkIGJ5IDwlPSB1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50ICU+IHVzZXI8JT0gcyh1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjYWxlbmRhclwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA8JT0gY29tcHV0ZWQuY2FsZW5kYXIubGVuZ3RoKjE1ICU+IDExXCIgd2lkdGg9XCI8JT0gY29tcHV0ZWQuY2FsZW5kYXIubGVuZ3RoKjE1ICU+XCIgaGVpZ2h0PVwiMTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgZm9yIChjb25zdCBbeCwge2NvbG9yfV0gb2YgT2JqZWN0LmVudHJpZXMoY29tcHV0ZWQuY2FsZW5kYXIpKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBjbGFzcz1cImRheVwiIHg9XCI8JT0geCoxNSAlPlwiIHk9XCIwXCIgd2lkdGg9XCIxMVwiIGhlaWdodD1cIjExXCIgZmlsbD1cIjwlPSBjb2xvciAlPlwiIHJ4PVwiMlwiIHJ5PVwiMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xIDIuNUEyLjUgMi41IDAgMDEzLjUgMGg4Ljc1YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMFYxLjVoLThhMSAxIDAgMDAtMSAxdjYuNzA4QTIuNDkyIDIuNDkyIDAgMDEzLjUgOWgzLjI1YS43NS43NSAwIDAxMCAxLjVIMy41YTEgMSAwIDEwMCAyaDUuNzVhLjc1Ljc1IDAgMDEwIDEuNUgzLjVBMi41IDIuNSAwIDAxMSAxMS41di05em0xMy4yMyA3Ljc5YS43NS43NSAwIDAwMS4wNi0xLjA2bC0yLjUwNS0yLjUwNWEuNzUuNzUgMCAwMC0xLjA2IDBMOS4yMiA5LjIyOWEuNzUuNzUgMCAwMDEuMDYgMS4wNjFsMS4yMjUtMS4yMjR2Ni4xODRhLjc1Ljc1IDAgMDAxLjUgMFY5LjA2NmwxLjIyNCAxLjIyNHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICBDb250cmlidXRlZCB0byA8JT0gdXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXNDb250cmlidXRlZFRvLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8JSBpZiAoYmFzZS5hY3Rpdml0eSkgeyAlPlxyXG4gICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNSAxLjc1YS43NS43NSAwIDAwLTEuNSAwdjEyLjVjMCAuNDE0LjMzNi43NS43NS43NWgxNC41YS43NS43NSAwIDAwMC0xLjVIMS41VjEuNzV6bTE0LjI4IDIuNTNhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2TDEwIDcuOTQgNy41MyA1LjQ3YS43NS43NSAwIDAwLTEuMDYgMEwzLjIyIDguNzJhLjc1Ljc1IDAgMDAxLjA2IDEuMDZMNyA3LjA2bDIuNDcgMi40N2EuNzUuNzUgMCAwMDEuMDYgMGw1LjI1LTUuMjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIEFjdGl2aXR5XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMC41IDcuNzVhMi41IDIuNSAwIDExLTUgMCAyLjUgMi41IDAgMDE1IDB6bTEuNDMuNzVhNC4wMDIgNC4wMDIgMCAwMS03Ljg2IDBILjc1YS43NS43NSAwIDExMC0xLjVoMy4zMmE0LjAwMSA0LjAwMSAwIDAxNy44NiAwaDMuMzJhLjc1Ljc1IDAgMTEwIDEuNWgtMy4zMnpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLmNvbW1pdHMgJT4gQ29tbWl0PCU9IHMoY29tcHV0ZWQuY29tbWl0cykgJT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yLjUgMS43NWEuMjUuMjUgMCAwMS4yNS0uMjVoOC41YS4yNS4yNSAwIDAxLjI1LjI1djcuNzM2YS43NS43NSAwIDEwMS41IDBWMS43NUExLjc1IDEuNzUgMCAwMDExLjI1IDBoLTguNUExLjc1IDEuNzUgMCAwMDEgMS43NXYxMS41YzAgLjk2Ni43ODQgMS43NSAxLjc1IDEuNzVoMy4xN2EuNzUuNzUgMCAwMDAtMS41SDIuNzVhLjI1LjI1IDAgMDEtLjI1LS4yNVYxLjc1ek00Ljc1IDRhLjc1Ljc1IDAgMDAwIDEuNWg0LjVhLjc1Ljc1IDAgMDAwLTEuNWgtNC41ek00IDcuNzVBLjc1Ljc1IDAgMDE0Ljc1IDdoMmEuNzUuNzUgMCAwMTAgMS41aC0yQS43NS43NSAwIDAxNCA3Ljc1em0xMS43NzQgMy41MzdhLjc1Ljc1IDAgMDAtMS4wNDgtMS4wNzRMMTAuNyAxNC4xNDUgOS4yODEgMTIuNzJhLjc1Ljc1IDAgMDAtMS4wNjIgMS4wNThsMS45NDMgMS45NWEuNzUuNzUgMCAwMDEuMDU1LjAwOGw0LjU1Ny00LjQ1elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0UmV2aWV3Q29udHJpYnV0aW9ucyAlPiBQdWxsIHJlcXVlc3Q8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zKSAlPiByZXZpZXdlZFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMTc3IDMuMDczTDkuNTczLjY3N0EuMjUuMjUgMCAwMTEwIC44NTR2NC43OTJhLjI1LjI1IDAgMDEtLjQyNy4xNzdMNy4xNzcgMy40MjdhLjI1LjI1IDAgMDEwLS4zNTR6TTMuNzUgMi41YS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41em0tMi4yNS43NWEyLjI1IDIuMjUgMCAxMTMgMi4xMjJ2NS4yNTZhMi4yNTEgMi4yNTEgMCAxMS0xLjUgMFY1LjM3MkEyLjI1IDIuMjUgMCAwMTEuNSAzLjI1ek0xMSAyLjVoLTFWNGgxYTEgMSAwIDAxMSAxdjUuNjI4YTIuMjUxIDIuMjUxIDAgMTAxLjUgMFY1QTIuNSAyLjUgMCAwMDExIDIuNXptMSAxMC4yNWEuNzUuNzUgMCAxMTEuNSAwIC43NS43NSAwIDAxLTEuNSAwek0zLjc1IDEyYS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0Q29udHJpYnV0aW9ucyAlPiBQdWxsIHJlcXVlc3Q8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zKSAlPiBvcGVuZWRcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IDEuNWE2LjUgNi41IDAgMTAwIDEzIDYuNSA2LjUgMCAwMDAtMTN6TTAgOGE4IDggMCAxMTE2IDBBOCA4IDAgMDEwIDh6bTkgM2ExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS0uMjUtNi4yNWEuNzUuNzUgMCAwMC0xLjUgMHYzLjVhLjc1Ljc1IDAgMDAxLjUgMHYtMy41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICA8JT0gdXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbElzc3VlQ29udHJpYnV0aW9ucyAlPiBJc3N1ZTwlPSBzKHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnMpICU+IG9wZW5lZFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuNzUgMi41YS4yNS4yNSAwIDAwLS4yNS4yNXY3LjVjMCAuMTM4LjExMi4yNS4yNS4yNWgyYS43NS43NSAwIDAxLjc1Ljc1djIuMTlsMi43Mi0yLjcyYS43NS43NSAwIDAxLjUzLS4yMmg0LjVhLjI1LjI1IDAgMDAuMjUtLjI1di03LjVhLjI1LjI1IDAgMDAtLjI1LS4yNUgyLjc1ek0xIDIuNzVDMSAxLjc4NCAxLjc4NCAxIDIuNzUgMWgxMC41Yy45NjYgMCAxLjc1Ljc4NCAxLjc1IDEuNzV2Ny41QTEuNzUgMS43NSAwIDAxMTMuMjUgMTJIOS4wNmwtMi41NzMgMi41NzNBMS40NTcgMS40NTcgMCAwMTQgMTMuNTQzVjEySDIuNzVBMS43NSAxLjc1IDAgMDExIDEwLjI1di03LjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwlPSB1c2VyLmlzc3VlQ29tbWVudHMudG90YWxDb3VudCAlPiBpc3N1ZSBjb21tZW50PCU9IHModXNlci5pc3N1ZUNvbW1lbnRzLnRvdGFsQ291bnQpICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwlIH0gJT5cclxuICAgICAgICA8JSBpZiAoYmFzZS5jb21tdW5pdHkpIHsgJT5cclxuICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjc1IDBBMS43NSAxLjc1IDAgMDAwIDEuNzV2MTIuNUMwIDE1LjIxNi43ODQgMTYgMS43NSAxNmgxMi41QTEuNzUgMS43NSAwIDAwMTYgMTQuMjVWMS43NUExLjc1IDEuNzUgMCAwMDE0LjI1IDBIMS43NXpNMS41IDEuNzVhLjI1LjI1IDAgMDEuMjUtLjI1aDEyLjVhLjI1LjI1IDAgMDEuMjUuMjV2MTIuNWEuMjUuMjUgMCAwMS0uMjUuMjVIMS43NWEuMjUuMjUgMCAwMS0uMjUtLjI1VjEuNzV6TTExLjc1IDNhLjc1Ljc1IDAgMDAtLjc1Ljc1djcuNWEuNzUuNzUgMCAwMDEuNSAwdi03LjVhLjc1Ljc1IDAgMDAtLjc1LS43NXptLTguMjUuNzVhLjc1Ljc1IDAgMDExLjUgMHY1LjVhLjc1Ljc1IDAgMDEtMS41IDB2LTUuNXpNOCAzYS43NS43NSAwIDAwLS43NS43NXYzLjVhLjc1Ljc1IDAgMDAxLjUgMHYtMy41QS43NS43NSAwIDAwOCAzelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBDb21tdW5pdHkgc3RhdHNcclxuICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuNSAzLjVhMiAyIDAgMTAwIDQgMiAyIDAgMDAwLTR6TTIgNS41YTMuNSAzLjUgMCAxMTUuODk4IDIuNTQ5IDUuNTA3IDUuNTA3IDAgMDEzLjAzNCA0LjA4NC43NS43NSAwIDExLTEuNDgyLjIzNSA0LjAwMSA0LjAwMSAwIDAwLTcuOSAwIC43NS43NSAwIDAxLTEuNDgyLS4yMzZBNS41MDcgNS41MDcgMCAwMTMuMTAyIDguMDUgMy40OSAzLjQ5IDAgMDEyIDUuNXpNMTEgNGEuNzUuNzUgMCAxMDAgMS41IDEuNSAxLjUgMCAwMS42NjYgMi44NDQuNzUuNzUgMCAwMC0uNDE2LjY3MnYuMzUyYS43NS43NSAwIDAwLjU3NC43M2MxLjIuMjg5IDIuMTYyIDEuMiAyLjUyMiAyLjM3MmEuNzUuNzUgMCAxMDEuNDM0LS40NCA1LjAxIDUuMDEgMCAwMC0yLjU2LTMuMDEyQTMgMyAwIDAwMTEgNHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgRm9sbG93aW5nIDwlPSB1c2VyLmZvbGxvd2luZy50b3RhbENvdW50ICU+IHVzZXI8JT0gcyh1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuMjUgMi41Yy0xLjMzNiAwLTIuNzUgMS4xNjQtMi43NSAzIDAgMi4xNSAxLjU4IDQuMTQ0IDMuMzY1IDUuNjgyQTIwLjU2NSAyMC41NjUgMCAwMDggMTMuMzkzYTIwLjU2MSAyMC41NjEgMCAwMDMuMTM1LTIuMjExQzEyLjkyIDkuNjQ0IDE0LjUgNy42NSAxNC41IDUuNWMwLTEuODM2LTEuNDE0LTMtMi43NS0zLTEuMzczIDAtMi42MDkuOTg2LTMuMDI5IDIuNDU2YS43NS43NSAwIDAxLTEuNDQyIDBDNi44NTkgMy40ODYgNS42MjMgMi41IDQuMjUgMi41ek04IDE0LjI1bC0uMzQ1LjY2Ni0uMDAyLS4wMDEtLjAwNi0uMDAzLS4wMTgtLjAxYTcuNjQzIDcuNjQzIDAgMDEtLjMxLS4xNyAyMi4wNzUgMjIuMDc1IDAgMDEtMy40MzQtMi40MTRDMi4wNDUgMTAuNzMxIDAgOC4zNSAwIDUuNSAwIDIuODM2IDIuMDg2IDEgNC4yNSAxIDUuNzk3IDEgNy4xNTMgMS44MDIgOCAzLjAyIDguODQ3IDEuODAyIDEwLjIwMyAxIDExLjc1IDEgMTMuOTE0IDEgMTYgMi44MzYgMTYgNS41YzAgMi44NS0yLjA0NSA1LjIzMS0zLjg4NSA2LjgxOGEyMi4wOCAyMi4wOCAwIDAxLTMuNzQ0IDIuNTg0bC0uMDE4LjAxLS4wMDYuMDAzaC0uMDAyTDggMTQuMjV6bTAgMGwuMzQ1LjY2NmEuNzUyLjc1MiAwIDAxLS42OSAwTDggMTQuMjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIFNwb25zb3JpbmcgPCU9IGNvbXB1dGVkLnNwb25zb3JzaGlwcyAlPiByZXBvc2l0b3I8JT0gcyhjb21wdXRlZC5zcG9uc29yc2hpcHMsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggLjI1YS43NS43NSAwIDAxLjY3My40MThsMS44ODIgMy44MTUgNC4yMS42MTJhLjc1Ljc1IDAgMDEuNDE2IDEuMjc5bC0zLjA0NiAyLjk3LjcxOSA0LjE5MmEuNzUuNzUgMCAwMS0xLjA4OC43OTFMOCAxMi4zNDdsLTMuNzY2IDEuOThhLjc1Ljc1IDAgMDEtMS4wODgtLjc5bC43Mi00LjE5NEwuODE4IDYuMzc0YS43NS43NSAwIDAxLjQxNi0xLjI4bDQuMjEtLjYxMUw3LjMyNy42NjhBLjc1Ljc1IDAgMDE4IC4yNXptMCAyLjQ0NUw2LjYxNSA1LjVhLjc1Ljc1IDAgMDEtLjU2NC40MWwtMy4wOTcuNDUgMi4yNCAyLjE4NGEuNzUuNzUgMCAwMS4yMTYuNjY0bC0uNTI4IDMuMDg0IDIuNzY5LTEuNDU2YS43NS43NSAwIDAxLjY5OCAwbDIuNzcgMS40NTYtLjUzLTMuMDg0YS43NS43NSAwIDAxLjIxNi0uNjY0bDIuMjQtMi4xODMtMy4wOTYtLjQ1YS43NS43NSAwIDAxLS41NjQtLjQxTDggMi42OTR2LjAwMXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgU3RhcnJlZCA8JT0gdXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnQsIFwieVwiKSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNjc5IDcuOTMyYy40MTItLjYyMSAxLjI0Mi0xLjc1IDIuMzY2LTIuNzE3QzUuMTc1IDQuMjQyIDYuNTI3IDMuNSA4IDMuNWMxLjQ3MyAwIDIuODI0Ljc0MiAzLjk1NSAxLjcxNSAxLjEyNC45NjcgMS45NTQgMi4wOTYgMi4zNjYgMi43MTdhLjExOS4xMTkgMCAwMTAgLjEzNmMtLjQxMi42MjEtMS4yNDIgMS43NS0yLjM2NiAyLjcxN0MxMC44MjUgMTEuNzU4IDkuNDczIDEyLjUgOCAxMi41Yy0xLjQ3MyAwLTIuODI0LS43NDItMy45NTUtMS43MTVDMi45MiA5LjgxOCAyLjA5IDguNjkgMS42NzkgOC4wNjhhLjExOS4xMTkgMCAwMTAtLjEzNnpNOCAyYy0xLjk4MSAwLTMuNjcuOTkyLTQuOTMzIDIuMDc4QzEuNzk3IDUuMTY5Ljg4IDYuNDIzLjQzIDcuMWExLjYxOSAxLjYxOSAwIDAwMCAxLjc5OGMuNDUuNjc4IDEuMzY3IDEuOTMyIDIuNjM3IDMuMDI0QzQuMzI5IDEzLjAwOCA2LjAxOSAxNCA4IDE0YzEuOTgxIDAgMy42Ny0uOTkyIDQuOTMzLTIuMDc4IDEuMjctMS4wOTEgMi4xODctMi4zNDUgMi42MzctMy4wMjNhMS42MTkgMS42MTkgMCAwMDAtMS43OThjLS40NS0uNjc4LTEuMzY3LTEuOTMyLTIuNjM3LTMuMDIzQzExLjY3MSAyLjk5MiA5Ljk4MSAyIDggMnptMCA4YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBXYXRjaGluZyA8JT0gdXNlci53YXRjaGluZy50b3RhbENvdW50ICU+IHJlcG9zaXRvcjwlPSBzKHVzZXIud2F0Y2hpbmcudG90YWxDb3VudCwgXCJ5XCIpICU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDE0LjI1YzAgLjEzOC4xMTIuMjUuMjUuMjVINHYtMS4yNWEuNzUuNzUgMCAwMS43NS0uNzVoMi41YS43NS43NSAwIDAxLjc1Ljc1djEuMjVoMi4yNWEuMjUuMjUgMCAwMC4yNS0uMjVWMS43NWEuMjUuMjUgMCAwMC0uMjUtLjI1aC04LjVhLjI1LjI1IDAgMDAtLjI1LjI1djEyLjV6TTEuNzUgMTZBMS43NSAxLjc1IDAgMDEwIDE0LjI1VjEuNzVDMCAuNzg0Ljc4NCAwIDEuNzUgMGg4LjVDMTEuMjE2IDAgMTIgLjc4NCAxMiAxLjc1djEyLjVjMCAuMDg1LS4wMDYuMTY4LS4wMTguMjVoMi4yNjhhLjI1LjI1IDAgMDAuMjUtLjI1VjguMjg1YS4yNS4yNSAwIDAwLS4xMTEtLjIwOGwtMS4wNTUtLjcwM2EuNzUuNzUgMCAxMS44MzItMS4yNDhsMS4wNTUuNzAzYy40ODcuMzI1Ljc3OS44NzEuNzc5IDEuNDU2djUuOTY1QTEuNzUgMS43NSAwIDAxMTQuMjUgMTZoLTMuNWEuNzUuNzUgMCAwMS0uMTk3LS4wMjZjLS4wOTkuMDE3LS4yLjAyNi0uMzAzLjAyNmgtM2EuNzUuNzUgMCAwMS0uNzUtLjc1VjE0aC0xdjEuMjVhLjc1Ljc1IDAgMDEtLjc1Ljc1aC0zek0zIDMuNzVBLjc1Ljc1IDAgMDEzLjc1IDNoLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDEzIDMuNzV6TTMuNzUgNmEuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41ek0zIDkuNzVBLjc1Ljc1IDAgMDEzLjc1IDloLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDEzIDkuNzV6TTcuNzUgOWEuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41ek03IDYuNzVBLjc1Ljc1IDAgMDE3Ljc1IDZoLjVhLjc1Ljc1IDAgMDEwIDEuNWgtLjVBLjc1Ljc1IDAgMDE3IDYuNzV6TTcuNzUgM2EuNzUuNzUgMCAwMDAgMS41aC41YS43NS43NSAwIDAwMC0xLjVoLS41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICBNZW1iZXIgb2YgPCU9IHVzZXIub3JnYW5pemF0aW9ucy50b3RhbENvdW50ICU+IG9yZ2FuaXphdGlvbjwlPSBzKHVzZXIub3JnYW5pemF0aW9ucy50b3RhbENvdW50KSAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8JSB9ICU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCUgaWYgKGJhc2UucmVwb3NpdG9yaWVzKSB7ICU+XHJcbiAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMiAyLjVBMi41IDIuNSAwIDAxNC41IDBoOC43NWEuNzUuNzUgMCAwMS43NS43NXYxMi41YS43NS43NSAwIDAxLS43NS43NWgtMi41YS43NS43NSAwIDExMC0xLjVoMS43NXYtMmgtOGExIDEgMCAwMC0uNzE0IDEuNy43NS43NSAwIDAxLTEuMDcyIDEuMDVBMi40OTUgMi40OTUgMCAwMTIgMTEuNXYtOXptMTAuNS0xVjloLThjLS4zNTYgMC0uNjk0LjA3NC0xIC4yMDhWMi41YTEgMSAwIDAxMS0xaDh6TTUgMTIuMjV2My4yNWEuMjUuMjUgMCAwMC40LjJsMS40NS0xLjA4N2EuMjUuMjUgMCAwMS4zIDBMOC42IDE1LjdhLjI1LjI1IDAgMDAuNC0uMnYtMy4yNWEuMjUuMjUgMCAwMC0uMjUtLjI1aC0zLjVhLjI1LjI1IDAgMDAtLjI1LjI1elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgPCU9IHVzZXIucmVwb3NpdG9yaWVzLnRvdGFsQ291bnQgJT4gUmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXMudG90YWxDb3VudCwgXCJ5XCIpICU+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOC43NS43NWEuNzUuNzUgMCAwMC0xLjUgMFYyaC0uOTg0Yy0uMzA1IDAtLjYwNC4wOC0uODY5LjIzbC0xLjI4OC43MzdBLjI1LjI1IDAgMDEzLjk4NCAzSDEuNzVhLjc1Ljc1IDAgMDAwIDEuNWguNDI4TC4wNjYgOS4xOTJhLjc1Ljc1IDAgMDAuMTU0LjgzOGwuNTMtLjUzLS41My41M3YuMDAxbC4wMDIuMDAyLjAwMi4wMDIuMDA2LjAwNi4wMTYuMDE1LjA0NS4wNGEzLjUxNCAzLjUxNCAwIDAwLjY4Ni40NUE0LjQ5MiA0LjQ5MiAwIDAwMyAxMWMuODggMCAxLjU1Ni0uMjIgMi4wMjMtLjQ1NGEzLjUxNSAzLjUxNSAwIDAwLjY4Ni0uNDVsLjA0NS0uMDQuMDE2LS4wMTUuMDA2LS4wMDYuMDAyLS4wMDIuMDAxLS4wMDJMNS4yNSA5LjVsLjUzLjUzYS43NS43NSAwIDAwLjE1NC0uODM4TDMuODIyIDQuNWguMTYyYy4zMDUgMCAuNjA0LS4wOC44NjktLjIzbDEuMjg5LS43MzdhLjI1LjI1IDAgMDEuMTI0LS4wMzNoLjk4NFYxM2gtMi41YS43NS43NSAwIDAwMCAxLjVoNi41YS43NS43NSAwIDAwMC0xLjVoLTIuNVYzLjVoLjk4NGEuMjUuMjUgMCAwMS4xMjQuMDMzbDEuMjkuNzM2Yy4yNjQuMTUyLjU2My4yMzEuODY4LjIzMWguMTYybC0yLjExMiA0LjY5MmEuNzUuNzUgMCAwMC4xNTQuODM4bC41My0uNTMtLjUzLjUzdi4wMDFsLjAwMi4wMDIuMDAyLjAwMi4wMDYuMDA2LjAxNi4wMTUuMDQ1LjA0YTMuNTE3IDMuNTE3IDAgMDAuNjg2LjQ1QTQuNDkyIDQuNDkyIDAgMDAxMyAxMWMuODggMCAxLjU1Ni0uMjIgMi4wMjMtLjQ1NGEzLjUxMiAzLjUxMiAwIDAwLjY4Ni0uNDVsLjA0NS0uMDQuMDEtLjAxLjAwNi0uMDA1LjAwNi0uMDA2LjAwMi0uMDAyLjAwMS0uMDAyLS41MjktLjUzMS41My41M2EuNzUuNzUgMCAwMC4xNTQtLjgzOEwxMy44MjMgNC41aC40MjdhLjc1Ljc1IDAgMDAwLTEuNWgtMi4yMzRhLjI1LjI1IDAgMDEtLjEyNC0uMDMzbC0xLjI5LS43MzZBMS43NSAxLjc1IDAgMDA5LjczNSAySDguNzVWLjc1ek0xLjY5NSA5LjIyN2MuMjg1LjEzNS43MTguMjczIDEuMzA1LjI3M3MxLjAyLS4xMzggMS4zMDUtLjI3M0wzIDYuMzI3bC0xLjMwNSAyLjl6bTEwIDBjLjI4NS4xMzUuNzE4LjI3MyAxLjMwNS4yNzNzMS4wMi0uMTM4IDEuMzA1LS4yNzNMMTMgNi4zMjdsLTEuMzA1IDIuOXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQubGljZW5zZXMuZmF2b3JpdGUubGVuZ3RoKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIFByZWZlciA8JT0gY29tcHV0ZWQubGljZW5zZXMuZmF2b3JpdGUgJT4gbGljZW5zZVxyXG4gICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgTm8gbGljZW5zZSBwcmVmZXJlbmNlXHJcbiAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOC44NzguMzkyYTEuNzUgMS43NSAwIDAwLTEuNzU2IDBsLTUuMjUgMy4wNDVBMS43NSAxLjc1IDAgMDAxIDQuOTUxdjYuMDk4YzAgLjYyNC4zMzIgMS4yLjg3MiAxLjUxNGw1LjI1IDMuMDQ1YTEuNzUgMS43NSAwIDAwMS43NTYgMGw1LjI1LTMuMDQ1Yy41NC0uMzEzLjg3Mi0uODkuODcyLTEuNTE0VjQuOTUxYzAtLjYyNC0uMzMyLTEuMi0uODcyLTEuNTE0TDguODc4LjM5MnpNNy44NzUgMS42OWEuMjUuMjUgMCAwMS4yNSAwbDQuNjMgMi42ODVMOCA3LjEzMyAzLjI0NSA0LjM3NWw0LjYzLTIuNjg1ek0yLjUgNS42Nzd2NS4zNzJjMCAuMDkuMDQ3LjE3MS4xMjUuMjE2bDQuNjI1IDIuNjgzVjguNDMyTDIuNSA1LjY3N3ptNi4yNSA4LjI3MWw0LjYyNS0yLjY4M2EuMjUuMjUgMCAwMC4xMjUtLjIxNlY1LjY3N0w4Ljc1IDguNDMydjUuNTE2elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwlPSB1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnQgJT4gUGFja2FnZTwlPSBzKHVzZXIucGFja2FnZXMudG90YWxDb3VudCkgJT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMi41IDMuNWMwLS4xMzMuMDU4LS4zMTguMjgyLS41NS4yMjctLjIzNy41OTItLjQ4NCAxLjEtLjcwOEM0Ljg5OSAxLjc5NSA2LjM1NCAxLjUgOCAxLjVjMS42NDcgMCAzLjEwMi4yOTUgNC4xMTcuNzQyLjUxLjIyNC44NzQuNDcgMS4xMDEuNzA3LjIyNC4yMzMuMjgyLjQxOC4yODIuNTUxIDAgLjEzMy0uMDU4LjMxOC0uMjgyLjU1LS4yMjcuMjM3LS41OTIuNDg0LTEuMS43MDhDMTEuMTAxIDUuMjA1IDkuNjQ2IDUuNSA4IDUuNWMtMS42NDcgMC0zLjEwMi0uMjk1LTQuMTE3LS43NDItLjUxLS4yMjQtLjg3NC0uNDctMS4xMDEtLjcwNy0uMjI0LS4yMzMtLjI4Mi0uNDE4LS4yODItLjU1MXpNMSAzLjVjMC0uNjI2LjI5Mi0xLjE2NS43LTEuNTkuNDA2LS40MjIuOTU2LS43NjcgMS41NzktMS4wNDFDNC41MjUuMzIgNi4xOTUgMCA4IDBjMS44MDUgMCAzLjQ3NS4zMiA0LjcyMi44NjkuNjIyLjI3NCAxLjE3Mi42MiAxLjU3OCAxLjA0LjQwOC40MjYuNy45NjUuNyAxLjU5MXY5YzAgLjYyNi0uMjkyIDEuMTY1LS43IDEuNTktLjQwNi40MjItLjk1Ni43NjctMS41NzkgMS4wNDFDMTEuNDc2IDE1LjY4IDkuODA2IDE2IDggMTZjLTEuODA1IDAtMy40NzUtLjMyLTQuNzIxLS44NjktLjYyMy0uMjc0LTEuMTczLS42Mi0xLjU3OS0xLjA0LS40MDgtLjQyNi0uNy0uOTY1LS43LTEuNTkxdi05ek0yLjUgOFY1LjcyNGMuMjQxLjE1LjUwMy4yODYuNzc5LjQwN0M0LjUyNSA2LjY4IDYuMTk1IDcgOCA3YzEuODA1IDAgMy40NzUtLjMyIDQuNzIyLS44NjkuMjc1LS4xMjEuNTM3LS4yNTcuNzc4LS40MDdWOGMwIC4xMzMtLjA1OC4zMTgtLjI4Mi41NS0uMjI3LjIzNy0uNTkyLjQ4NC0xLjEuNzA4QzExLjEwMSA5LjcwNSA5LjY0NiAxMCA4IDEwYy0xLjY0NyAwLTMuMTAyLS4yOTUtNC4xMTctLjc0Mi0uNTEtLjIyNC0uODc0LS40Ny0xLjEwMS0uNzA3QzIuNTU4IDguMzE4IDIuNSA4LjEzMyAyLjUgOHptMCAyLjIyNVYxMi41YzAgLjEzMy4wNTguMzE4LjI4Mi41NS4yMjcuMjM3LjU5Mi40ODQgMS4xLjcwOCAxLjAxNi40NDcgMi40NzEuNzQyIDQuMTE4Ljc0MiAxLjY0NyAwIDMuMTAyLS4yOTUgNC4xMTctLjc0Mi41MS0uMjI0Ljg3NC0uNDcgMS4xMDEtLjcwNy4yMjQtLjIzMy4yODItLjQxOC4yODItLjU1MXYtMi4yNzVjLS4yNDEuMTUtLjUwMy4yODUtLjc3OC40MDYtMS4yNDcuNTQ5LTIuOTE3Ljg2OS00LjcyMi44NjktMS44MDUgMC0zLjQ3NS0uMzItNC43MjEtLjg2OWE2LjIzNiA2LjIzNiAwIDAxLS43NzktLjQwNnpcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQuZGlza1VzYWdlICU+IHVzZWRcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5saW5lcykgeyAlPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgPCU9IGNvbXB1dGVkLnBsdWdpbnMubGluZXMuZXJyb3IgPyAnZXJyb3InIDogJycgJT5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC43MiAzLjIyYS43NS43NSAwIDAxMS4wNiAxLjA2TDIuMDYgOGwzLjcyIDMuNzJhLjc1Ljc1IDAgMTEtMS4wNiAxLjA2TC40NyA4LjUzYS43NS43NSAwIDAxMC0xLjA2bDQuMjUtNC4yNXptNi41NiAwYS43NS43NSAwIDEwLTEuMDYgMS4wNkwxMy45NCA4bC0zLjcyIDMuNzJhLjc1Ljc1IDAgMTAxLjA2IDEuMDZsNC4yNS00LjI1YS43NS43NSAwIDAwMC0xLjA2bC00LjI1LTQuMjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy5saW5lcy5lcnJvci5tZXNzYWdlICU+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmFkZGVkICU+IGFkZGVkLCA8JT0gY29tcHV0ZWQucGx1Z2lucy5saW5lcy5kZWxldGVkICU+IHJlbW92ZWRcclxuICAgICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04IC4yNWEuNzUuNzUgMCAwMS42NzMuNDE4bDEuODgyIDMuODE1IDQuMjEuNjEyYS43NS43NSAwIDAxLjQxNiAxLjI3OWwtMy4wNDYgMi45Ny43MTkgNC4xOTJhLjc1Ljc1IDAgMDEtMS4wODguNzkxTDggMTIuMzQ3bC0zLjc2NiAxLjk4YS43NS43NSAwIDAxLTEuMDg4LS43OWwuNzItNC4xOTRMLjgxOCA2LjM3NGEuNzUuNzUgMCAwMS40MTYtMS4yOGw0LjIxLS42MTFMNy4zMjcuNjY4QS43NS43NSAwIDAxOCAuMjV6bTAgMi40NDVMNi42MTUgNS41YS43NS43NSAwIDAxLS41NjQuNDFsLTMuMDk3LjQ1IDIuMjQgMi4xODRhLjc1Ljc1IDAgMDEuMjE2LjY2NGwtLjUyOCAzLjA4NCAyLjc2OS0xLjQ1NmEuNzUuNzUgMCAwMS42OTggMGwyLjc3IDEuNDU2LS41My0zLjA4NGEuNzUuNzUgMCAwMS4yMTYtLjY2NGwyLjI0LTIuMTgzLTMuMDk2LS40NWEuNzUuNzUgMCAwMS0uNTY0LS40MUw4IDIuNjk0di4wMDF6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnJlcG9zaXRvcmllcy5zdGFyZ2F6ZXJzICU+IFN0YXJnYXplcjwlPSBzKGNvbXB1dGVkLnJlcG9zaXRvcmllcy5zdGFyZ2F6ZXJzKSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUgMy4yNWEuNzUuNzUgMCAxMS0xLjUgMCAuNzUuNzUgMCAwMTEuNSAwem0wIDIuMTIyYTIuMjUgMi4yNSAwIDEwLTEuNSAwdi44NzhBMi4yNSAyLjI1IDAgMDA1Ljc1IDguNWgxLjV2Mi4xMjhhMi4yNTEgMi4yNTEgMCAxMDEuNSAwVjguNWgxLjVhMi4yNSAyLjI1IDAgMDAyLjI1LTIuMjV2LS44NzhhMi4yNSAyLjI1IDAgMTAtMS41IDB2Ljg3OGEuNzUuNzUgMCAwMS0uNzUuNzVoLTQuNUEuNzUuNzUgMCAwMTUgNi4yNXYtLjg3OHptMy43NSA3LjM3OGEuNzUuNzUgMCAxMS0xLjUgMCAuNzUuNzUgMCAwMTEuNSAwem0zLTguNzVhLjc1Ljc1IDAgMTAwLTEuNS43NS43NSAwIDAwMCAxLjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnJlcG9zaXRvcmllcy5mb3JrcyAlPiBGb3JrPCU9IHMoY29tcHV0ZWQucmVwb3NpdG9yaWVzLmZvcmtzKSAlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNjc5IDcuOTMyYy40MTItLjYyMSAxLjI0Mi0xLjc1IDIuMzY2LTIuNzE3QzUuMTc1IDQuMjQyIDYuNTI3IDMuNSA4IDMuNWMxLjQ3MyAwIDIuODI0Ljc0MiAzLjk1NSAxLjcxNSAxLjEyNC45NjcgMS45NTQgMi4wOTYgMi4zNjYgMi43MTdhLjExOS4xMTkgMCAwMTAgLjEzNmMtLjQxMi42MjEtMS4yNDIgMS43NS0yLjM2NiAyLjcxN0MxMC44MjUgMTEuNzU4IDkuNDczIDEyLjUgOCAxMi41Yy0xLjQ3MyAwLTIuODI0LS43NDItMy45NTUtMS43MTVDMi45MiA5LjgxOCAyLjA5IDguNjkgMS42NzkgOC4wNjhhLjExOS4xMTkgMCAwMTAtLjEzNnpNOCAyYy0xLjk4MSAwLTMuNjcuOTkyLTQuOTMzIDIuMDc4QzEuNzk3IDUuMTY5Ljg4IDYuNDIzLjQzIDcuMWExLjYxOSAxLjYxOSAwIDAwMCAxLjc5OGMuNDUuNjc4IDEuMzY3IDEuOTMyIDIuNjM3IDMuMDI0QzQuMzI5IDEzLjAwOCA2LjAxOSAxNCA4IDE0YzEuOTgxIDAgMy42Ny0uOTkyIDQuOTMzLTIuMDc4IDEuMjctMS4wOTEgMi4xODctMi4zNDUgMi42MzctMy4wMjNhMS42MTkgMS42MTkgMCAwMDAtMS43OThjLS40NS0uNjc4LTEuMzY3LTEuOTMyLTIuNjM3LTMuMDIzQzExLjY3MSAyLjk5MiA5Ljk4MSAyIDggMnptMCA4YTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwlPSBjb21wdXRlZC5yZXBvc2l0b3JpZXMud2F0Y2hlcnMgJT4gV2F0Y2hlcjwlPSBzKGNvbXB1dGVkLnJlcG9zaXRvcmllcy53YXRjaGVycykgJT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCA8JT0gY29tcHV0ZWQucGx1Z2lucy50cmFmZmljLmVycm9yID8gJ2Vycm9yJyA6ICcnICU+XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTAgMS43NUEuNzUuNzUgMCAwMS43NSAxaDQuMjUzYzEuMjI3IDAgMi4zMTcuNTkgMyAxLjUwMUEzLjc0NCAzLjc0NCAwIDAxMTEuMDA2IDFoNC4yNDVhLjc1Ljc1IDAgMDEuNzUuNzV2MTAuNWEuNzUuNzUgMCAwMS0uNzUuNzVoLTQuNTA3YTIuMjUgMi4yNSAwIDAwLTEuNTkxLjY1OWwtLjYyMi42MjFhLjc1Ljc1IDAgMDEtMS4wNiAwbC0uNjIyLS42MjFBMi4yNSAyLjI1IDAgMDA1LjI1OCAxM0guNzVhLjc1Ljc1IDAgMDEtLjc1LS43NVYxLjc1em04Ljc1NSAzYTIuMjUgMi4yNSAwIDAxMi4yNS0yLjI1SDE0LjV2OWgtMy43NTdjLS43MSAwLTEuNC4yMDEtMS45OTIuNTcybC4wMDQtNy4zMjJ6bS0xLjUwNCA3LjMyNGwuMDA0LTUuMDczLS4wMDItMi4yNTNBMi4yNSAyLjI1IDAgMDA1LjAwMyAyLjVIMS41djloMy43NTdhMy43NSAzLjc1IDAgMDExLjk5NC41NzR6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlPSBjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwlIH0gZWxzZSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8JT0gY29tcHV0ZWQucGx1Z2lucy50cmFmZmljLnZpZXdzLmNvdW50ICU+IHZpZXc8JT0gcyhjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMudmlld3MuY291bnQpICU+IGluIGxhc3QgdHdvIHdlZWtzXHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXApIHsgJT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcblxyXG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgPGgzPklzc3VlczwvaDM+XHJcbiAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuNDcuMjJBLjc1Ljc1IDAgMDE1IDBoNmEuNzUuNzUgMCAwMS41My4yMmw0LjI1IDQuMjVjLjE0MS4xNC4yMi4zMzEuMjIuNTN2NmEuNzUuNzUgMCAwMS0uMjIuNTNsLTQuMjUgNC4yNUEuNzUuNzUgMCAwMTExIDE2SDVhLjc1Ljc1IDAgMDEtLjUzLS4yMkwuMjIgMTEuNTNBLjc1Ljc1IDAgMDEwIDExVjVhLjc1Ljc1IDAgMDEuMjItLjUzTDQuNDcuMjJ6bS44NCAxLjI4TDEuNSA1LjMxdjUuMzhsMy44MSAzLjgxaDUuMzhsMy44MS0zLjgxVjUuMzFMMTAuNjkgMS41SDUuMzF6TTggNGEuNzUuNzUgMCAwMS43NS43NXYzLjVhLjc1Ljc1IDAgMDEtMS41IDB2LTMuNUEuNzUuNzUgMCAwMTggNHptMCA4YTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJiYXJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMjBcIiBoZWlnaHQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgICA8bWFzayBpZD1cImlzc3Vlcy1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjIwXCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIHJ4PVwiNVwiLz5cclxuICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG1hc2s9XCJ1cmwoI2lzc3Vlcy1iYXIpXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiPCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuaXNzdWVzLmNvdW50ID8gMCA6IDIyMCAlPlwiIGhlaWdodD1cIjhcIiBmaWxsPVwiI2QxZDVkYVwiLz5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG1hc2s9XCJ1cmwoI2lzc3Vlcy1iYXIpXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiPCU9IChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jbG9zZWQvY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY291bnQpKjIyMCB8fCAwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjZDczYTQ5XCIvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjaXNzdWVzLWJhcilcIiB4PVwiPCU9IChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jbG9zZWQvY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY291bnQpKjIyMCB8fCAwICU+XCIgeT1cIjBcIiB3aWR0aD1cIjwlPSAoMS1jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jbG9zZWQvY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY291bnQpKjIyMCB8fCAwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjMjhhNzQ1XCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBob3Jpem9udGFsIGZpbGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGw9XCIjZDczYTQ5XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS41IDhhNi41IDYuNSAwIDAxMTAuNjUtNS4wMDMuNzUuNzUgMCAwMC45NTktMS4xNTMgOCA4IDAgMTAyLjU5MiA4LjMzLjc1Ljc1IDAgMTAtMS40NDQtLjQwN0E2LjUgNi41IDAgMDExLjUgOHpNOCAxMmExIDEgMCAxMDAtMiAxIDEgMCAwMDAgMnptMC04YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAxMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em00Ljc4IDQuMjhsMy0zYS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMi40NyAyLjQ3LS45Ny0uOTdhLjc0OS43NDkgMCAxMC0xLjA2IDEuMDZsMS41IDEuNWEuNzUuNzUgMCAwMDEuMDYgMHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm8td3JhcFwiPjwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jbG9zZWQgJT4gQ2xvc2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsPVwiIzI4YTc0NVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggMS41YTYuNSA2LjUgMCAxMDAgMTMgNi41IDYuNSAwIDAwMC0xM3pNMCA4YTggOCAwIDExMTYgMEE4IDggMCAwMTAgOHptOSAzYTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLS4yNS02LjI1YS43NS43NSAwIDAwLTEuNSAwdjMuNWEuNzUuNzUgMCAwMDEuNSAwdi0zLjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vLXdyYXBcIj48JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMub3BlbiAlPiBPcGVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICA8aDM+UHVsbCByZXF1ZXN0czwvaDM+XHJcbiAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuNDcuMjJBLjc1Ljc1IDAgMDE1IDBoNmEuNzUuNzUgMCAwMS41My4yMmw0LjI1IDQuMjVjLjE0MS4xNC4yMi4zMzEuMjIuNTN2NmEuNzUuNzUgMCAwMS0uMjIuNTNsLTQuMjUgNC4yNUEuNzUuNzUgMCAwMTExIDE2SDVhLjc1Ljc1IDAgMDEtLjUzLS4yMkwuMjIgMTEuNTNBLjc1Ljc1IDAgMDEwIDExVjVhLjc1Ljc1IDAgMDEuMjItLjUzTDQuNDcuMjJ6bS44NCAxLjI4TDEuNSA1LjMxdjUuMzhsMy44MSAzLjgxaDUuMzhsMy44MS0zLjgxVjUuMzFMMTAuNjkgMS41SDUuMzF6TTggNGEuNzUuNzUgMCAwMS43NS43NXYzLjVhLjc1Ljc1IDAgMDEtMS41IDB2LTMuNUEuNzUuNzUgMCAwMTggNHptMCA4YTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJiYXJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMjBcIiBoZWlnaHQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgICA8bWFzayBpZD1cInByLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyMjBcIiBoZWlnaHQ9XCI4XCIgZmlsbD1cIndoaXRlXCIgcng9XCI1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjcHItYmFyKVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLnByLmNvdW50ID8gMCA6IDIyMCAlPlwiIGhlaWdodD1cIjhcIiBmaWxsPVwiI2QxZDVkYVwiLz5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG1hc2s9XCJ1cmwoI3ByLWJhcilcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI8JT0gKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIubWVyZ2VkL2NvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIuY291bnQpKjIyMCB8fCAwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjNmY0MmMxXCIvPlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgbWFzaz1cInVybCgjcHItYmFyKVwiIHg9XCI8JT0gKGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIubWVyZ2VkL2NvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIuY291bnQpKjIyMCB8fCAwICU+XCIgeT1cIjBcIiB3aWR0aD1cIjwlPSAoMS1jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLnByLm1lcmdlZC9jb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLnByLmNvdW50KSoyMjAgfHwgMCAlPlwiIGhlaWdodD1cIjhcIiBmaWxsPVwiIzI4YTc0NVwiLz5cclxuICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaG9yaXpvbnRhbCBmaWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsPVwiIzZmNDJjMVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUgMy4yNTRWMy4yNXYuMDA1YS43NS43NSAwIDExMC0uMDA1di4wMDR6bS40NSAxLjlhMi4yNSAyLjI1IDAgMTAtMS45NS4yMTh2NS4yNTZhMi4yNSAyLjI1IDAgMTAxLjUgMFY3LjEyM0E1LjczNSA1LjczNSAwIDAwOS4yNSA5aDEuMzc4YTIuMjUxIDIuMjUxIDAgMTAwLTEuNUg5LjI1YTQuMjUgNC4yNSAwIDAxLTMuOC0yLjM0NnpNMTIuNzUgOWEuNzUuNzUgMCAxMDAtMS41Ljc1Ljc1IDAgMDAwIDEuNXptLTguNSA0LjVhLjc1Ljc1IDAgMTAwLTEuNS43NS43NSAwIDAwMCAxLjV6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vLXdyYXBcIj48JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5tZXJnZWQgJT4gTWVyZ2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsPVwiIzI4YTc0NVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMTc3IDMuMDczTDkuNTczLjY3N0EuMjUuMjUgMCAwMTEwIC44NTR2NC43OTJhLjI1LjI1IDAgMDEtLjQyNy4xNzdMNy4xNzcgMy40MjdhLjI1LjI1IDAgMDEwLS4zNTR6TTMuNzUgMi41YS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41em0tMi4yNS43NWEyLjI1IDIuMjUgMCAxMTMgMi4xMjJ2NS4yNTZhMi4yNTEgMi4yNTEgMCAxMS0xLjUgMFY1LjM3MkEyLjI1IDIuMjUgMCAwMTEuNSAzLjI1ek0xMSAyLjVoLTFWNGgxYTEgMSAwIDAxMSAxdjUuNjI4YTIuMjUxIDIuMjUxIDAgMTAxLjUgMFY1QTIuNSAyLjUgMCAwMDExIDIuNXptMSAxMC4yNWEuNzUuNzUgMCAxMTEuNSAwIC43NS43NSAwIDAxLTEuNSAwek0zLjc1IDEyYS43NS43NSAwIDEwMCAxLjUuNzUuNzUgMCAwMDAtMS41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuby13cmFwXCI+PCU9IGNvbXB1dGVkLnBsdWdpbnMuZm9sbG93dXAucHIub3BlbiAlPiBPcGVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcykgeyAlPlxyXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICA8aDM+TW9zdCB1c2VkIGxhbmd1YWdlczwvaDM+XHJcbiAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZXJyb3IpIHsgJT5cclxuICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmVycm9yLm1lc3NhZ2UgJT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImJhclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ2MFwiIGhlaWdodD1cIjhcIj5cclxuICAgICAgICAgICAgICA8bWFzayBpZD1cImxhbmd1YWdlcy1iYXJcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ2MFwiIGhlaWdodD1cIjhcIiBmaWxsPVwid2hpdGVcIiByeD1cIjVcIi8+XHJcbiAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgIDxyZWN0IG1hc2s9XCJ1cmwoI2xhbmd1YWdlcy1iYXIpXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiPCU9IGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmZhdm9yaXRlcy5sZW5ndGggPyAwIDogNDYwICU+XCIgaGVpZ2h0PVwiOFwiIGZpbGw9XCIjZDFkNWRhXCIvPlxyXG4gICAgICAgICAgICAgIDwlIGZvciAoY29uc3Qge25hbWUsIHZhbHVlLCBjb2xvciwgeH0gb2YgY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZmF2b3JpdGVzKSB7ICU+XHJcbiAgICAgICAgICAgICAgICA8cmVjdCBtYXNrPVwidXJsKCNsYW5ndWFnZXMtYmFyKVwiIHg9XCI8JT0geCo0NjAgJT5cIiB5PVwiMFwiIHdpZHRoPVwiPCU9IHZhbHVlKjQ2MCAlPlwiIGhlaWdodD1cIjhcIiBmaWxsPVwiPCU9IGNvbG9yICU+XCIvPlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjZW50ZXIgaG9yaXpvbnRhbC13cmFwIGZpbGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8JSBmb3IgKGNvbnN0IHtuYW1lLCB2YWx1ZSwgY29sb3J9IG9mIGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmZhdm9yaXRlcykgeyAlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNlbnRlciBuby13cmFwIGxhbmd1YWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsPVwiPCU9IGNvbG9yICU+XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNOCA0YTQgNCAwIDEwMCA4IDQgNCAwIDAwMC04elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IG5hbWUgJT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8JSB9ICU+XHJcblxyXG4gICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpIHsgJT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgPGgyIGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTQuMDY0IDBhOC43NSA4Ljc1IDAgMDAtNi4xODcgMi41NjNsLS40NTkuNDU4Yy0uMzE0LjMxNC0uNjE2LjY0MS0uOTA0Ljk3OUgzLjMxYTEuNzUgMS43NSAwIDAwLTEuNDkuODMzTC4xMSA3LjYwN2EuNzUuNzUgMCAwMC40MTggMS4xMWwzLjEwMi45NTRjLjAzNy4wNTEuMDc5LjEuMTI0LjE0NWwyLjQyOSAyLjQyOGMuMDQ2LjA0Ni4wOTQuMDg4LjE0NS4xMjVsLjk1NCAzLjEwMmEuNzUuNzUgMCAwMDEuMTEuNDE4bDIuNzc0LTEuNzA3YTEuNzUgMS43NSAwIDAwLjgzMy0xLjQ5VjkuNDg1Yy4zMzgtLjI4OC42NjUtLjU5Ljk3OS0uOTA0bC40NTgtLjQ1OUE4Ljc1IDguNzUgMCAwMDE2IDEuOTM2VjEuNzVBMS43NSAxLjc1IDAgMDAxNC4yNSAwaC0uMTg2ek0xMC41IDEwLjYyNWMtLjA4OC4wNi0uMTc3LjExOC0uMjY2LjE3NWwtMi4zNSAxLjUyMS41NDggMS43ODMgMS45NDktMS4yYS4yNS4yNSAwIDAwLjExOS0uMjEzdi0yLjA2NnpNMy42NzggOC4xMTZMNS4yIDUuNzY2Yy4wNTgtLjA5LjExNy0uMTc4LjE3Ni0uMjY2SDMuMzA5YS4yNS4yNSAwIDAwLS4yMTMuMTE5bC0xLjIgMS45NSAxLjc4Mi41NDd6bTUuMjYtNC40OTNBNy4yNSA3LjI1IDAgMDExNC4wNjMgMS41aC4xODZhLjI1LjI1IDAgMDEuMjUuMjV2LjE4NmE3LjI1IDcuMjUgMCAwMS0yLjEyMyA1LjEyN2wtLjQ1OS40NThhMTUuMjEgMTUuMjEgMCAwMS0yLjQ5OSAyLjAybC0yLjMxNyAxLjUtMi4xNDMtMi4xNDMgMS41LTIuMzE3YTE1LjI1IDE1LjI1IDAgMDEyLjAyLTIuNWwuNDU4LS40NThoLjAwMnpNMTIgNWExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS04LjQ0IDkuNTZhMS41IDEuNSAwIDEwLTIuMTItMi4xMmMtLjczNC43My0xLjA0NyAyLjMzMi0xLjE1IDMuMDAzYS4yMy4yMyAwIDAwLjI2NS4yNjVjLjY3MS0uMTAzIDIuMjczLS40MTYgMy4wMDUtMS4xNDh6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgIFBhZ2VTcGVlZCBJbnNpZ2h0c1xyXG4gICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgPCU9IHVzZXIud2Vic2l0ZVVybCAlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQuZXJyb3IpIHsgJT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC40Ny4yMkEuNzUuNzUgMCAwMTUgMGg2YS43NS43NSAwIDAxLjUzLjIybDQuMjUgNC4yNWMuMTQxLjE0LjIyLjMzMS4yMi41M3Y2YS43NS43NSAwIDAxLS4yMi41M2wtNC4yNSA0LjI1QS43NS43NSAwIDAxMTEgMTZINWEuNzUuNzUgMCAwMS0uNTMtLjIyTC4yMiAxMS41M0EuNzUuNzUgMCAwMTAgMTFWNWEuNzUuNzUgMCAwMS4yMi0uNTNMNC40Ny4yMnptLjg0IDEuMjhMMS41IDUuMzF2NS4zOGwzLjgxIDMuODFoNS4zOGwzLjgxLTMuODFWNS4zMUwxMC42OSAxLjVINS4zMXpNOCA0YS43NS43NSAwIDAxLjc1Ljc1djMuNWEuNzUuNzUgMCAwMS0xLjUgMHYtMy41QS43NS43NSAwIDAxOCA0em0wIDhhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6XCI+PC9wYXRoPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMucGFnZXNwZWVkLmVycm9yLm1lc3NhZ2UgJT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGZpbGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgIDwlIGZvciAoY29uc3Qge3Njb3JlLCB0aXRsZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQuc2NvcmVzKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yaWUgY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAgMTIwXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJnYXVnZSA8JT0gIU51bWJlci5pc05hTihzY29yZSkgPyAoc2NvcmUgPj0gMC45ID8gJ2hpZ2gnIDogc2NvcmUgPj0gMC41ID8gJ2F2ZXJhZ2UnIDogJ2xvdycpIDogJycgJT5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJnYXVnZS1iYXNlXCIgcj1cIjUzXCIgY3g9XCI2MFwiIGN5PVwiNjBcIj48L2NpcmNsZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwlIGlmICghTnVtYmVyLmlzTmFOKHNjb3JlKSkgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiZ2F1Z2UtYXJjXCIgdHJhbnNmb3JtPVwicm90YXRlKC05MCA2MCA2MClcIiByPVwiNTNcIiBjeD1cIjYwXCIgY3k9XCI2MFwiIHN0cm9rZS1kYXNoYXJyYXk9XCI8JT0gc2NvcmUgKiAzMjkgJT4gMzI5XCI+PC9jaXJjbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9XCI2MFwiIHk9XCI2MFwiIGRvbWluYW50LWJhc2VsaW5lPVwiY2VudHJhbFwiID48JT0gTWF0aC5yb3VuZChzY29yZSoxMDApICU+PC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD1cIjYwXCIgeT1cIjYwXCIgZG9taW5hbnQtYmFzZWxpbmU9XCJjZW50cmFsXCIgPi08L3RleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPjwlPSB0aXRsZSAlPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8JSB9ICU+XHJcbiAgICAgIDwlIH0gJT5cclxuXHJcbiAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmhhYml0cykgeyAlPlxyXG4gICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggMS41Yy0yLjM2MyAwLTQgMS42OS00IDMuNzUgMCAuOTg0LjQyNCAxLjYyNS45ODQgMi4zMDRsLjIxNC4yNTNjLjIyMy4yNjQuNDcuNTU2LjY3My44NDguMjg0LjQxMS41MzcuODk2LjYyMSAxLjQ5YS43NS43NSAwIDAxLTEuNDg0LjIxMWMtLjA0LS4yODItLjE2My0uNTQ3LS4zNy0uODQ3YTguNjk1IDguNjk1IDAgMDAtLjU0Mi0uNjhjLS4wODQtLjEtLjE3My0uMjA1LS4yNjgtLjMyQzMuMjAxIDcuNzUgMi41IDYuNzY2IDIuNSA1LjI1IDIuNSAyLjMxIDQuODYzIDAgOCAwczUuNSAyLjMxIDUuNSA1LjI1YzAgMS41MTYtLjcwMSAyLjUtMS4zMjggMy4yNTktLjA5NS4xMTUtLjE4NC4yMi0uMjY4LjMxOS0uMjA3LjI0NS0uMzgzLjQ1My0uNTQxLjY4MS0uMjA4LjMtLjMzLjU2NS0uMzcuODQ3YS43NS43NSAwIDAxLTEuNDg1LS4yMTJjLjA4NC0uNTkzLjMzNy0xLjA3OC42MjEtMS40ODkuMjAzLS4yOTIuNDUtLjU4NC42NzMtLjg0OC4wNzUtLjA4OC4xNDctLjE3My4yMTMtLjI1My41NjEtLjY3OS45ODUtMS4zMi45ODUtMi4zMDQgMC0yLjA2LTEuNjM3LTMuNzUtNC0zLjc1ek02IDE1LjI1YS43NS43NSAwIDAxLjc1LS43NWgyLjVhLjc1Ljc1IDAgMDEwIDEuNWgtMi41YS43NS43NSAwIDAxLS43NS0uNzV6TTUuNzUgMTJhLjc1Ljc1IDAgMDAwIDEuNWg0LjVhLjc1Ljc1IDAgMDAwLTEuNWgtNC41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgQ29kaW5nIGhhYml0c1xyXG4gICAgICAgICAgPC9oMj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuNDcuMjJBLjc1Ljc1IDAgMDE1IDBoNmEuNzUuNzUgMCAwMS41My4yMmw0LjI1IDQuMjVjLjE0MS4xNC4yMi4zMzEuMjIuNTN2NmEuNzUuNzUgMCAwMS0uMjIuNTNsLTQuMjUgNC4yNUEuNzUuNzUgMCAwMTExIDE2SDVhLjc1Ljc1IDAgMDEtLjUzLS4yMkwuMjIgMTEuNTNBLjc1Ljc1IDAgMDEwIDExVjVhLjc1Ljc1IDAgMDEuMjItLjUzTDQuNDcuMjJ6bS44NCAxLjI4TDEuNSA1LjMxdjUuMzhsMy44MSAzLjgxaDUuMzhsMy44MS0zLjgxVjUuMzFMMTAuNjkgMS41SDUuMzF6TTggNGEuNzUuNzUgMCAwMS43NS43NXYzLjVhLjc1Ljc1IDAgMDEtMS41IDB2LTMuNUEuNzUuNzUgMCAwMTggNHptMCA4YTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzLmVycm9yLm1lc3NhZ2UgJT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJoYWJpdHNcIj5cclxuICAgICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmhhYml0cy5pbmRlbnRzLnN0eWxlKSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxsaT5Vc2UgPCU9IGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzLmluZGVudHMuc3R5bGUgJT4gZm9yIGluZGVudHM8L2xpPlxyXG4gICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgICAgPCUgaWYgKCFOdW1iZXIuaXNOYU4oY29tcHV0ZWQucGx1Z2lucy5oYWJpdHMuY29tbWl0cy5ob3VyKSkgeyAlPlxyXG4gICAgICAgICAgICAgICAgICA8bGk+TW9zdGx5IHB1c2ggY29kZSBhcm91bmQgPCU9IGNvbXB1dGVkLnBsdWdpbnMuaGFiaXRzLmNvbW1pdHMuaG91ciAlPjowMDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8JSB9ICU+XHJcblxyXG4gICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5tdXNpYykgeyAlPlxyXG4gICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEuNSA4YTYuNSA2LjUgMCAxMTEzIDAgNi41IDYuNSAwIDAxLTEzIDB6TTggMGE4IDggMCAxMDAgMTZBOCA4IDAgMDA4IDB6TTYuMzc5IDUuMjI3QS4yNS4yNSAwIDAwNiA1LjQ0MnY1LjExN2EuMjUuMjUgMCAwMC4zNzkuMjE0bDQuMjY0LTIuNTU5YS4yNS4yNSAwIDAwMC0uNDI4TDYuMzc5IDUuMjI3elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMubXVzaWMubW9kZSAlPlxyXG4gICAgICAgICAgPC9oMj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZmlsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICA8JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5tdXNpYy5wcm92aWRlcikgeyAlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yLjAwMiAyLjcyNWEuNzUuNzUgMCAwMS43OTctLjY5OUM4Ljc5IDIuNDIgMTMuNTggNy4yMSAxMy45NzQgMTMuMjAxYS43NS43NSAwIDExLTEuNDk3LjA5OCAxMC41MDIgMTAuNTAyIDAgMDAtOS43NzYtOS43NzYuNzUuNzUgMCAwMS0uNy0uNzk4ek0yIDEzYTEgMSAwIDExMiAwIDEgMSAwIDAxLTIgMHptLjg0LTUuOTVhLjc1Ljc1IDAgMDAtLjE3OSAxLjQ4OWMyLjUwOS4zIDQuNSAyLjI5MSA0LjggNC44YS43NS43NSAwIDEwMS40OS0uMTc4QTcuMDAzIDcuMDAzIDAgMDAyLjgzOCA3LjA1elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgRnJvbSA8JT0gY29tcHV0ZWQucGx1Z2lucy5tdXNpYy5wcm92aWRlciAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLm11c2ljLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuNDcuMjJBLjc1Ljc1IDAgMDE1IDBoNmEuNzUuNzUgMCAwMS41My4yMmw0LjI1IDQuMjVjLjE0MS4xNC4yMi4zMzEuMjIuNTN2NmEuNzUuNzUgMCAwMS0uMjIuNTNsLTQuMjUgNC4yNUEuNzUuNzUgMCAwMTExIDE2SDVhLjc1Ljc1IDAgMDEtLjUzLS4yMkwuMjIgMTEuNTNBLjc1Ljc1IDAgMDEwIDExVjVhLjc1Ljc1IDAgMDEuMjItLjUzTDQuNDcuMjJ6bS44NCAxLjI4TDEuNSA1LjMxdjUuMzhsMy44MSAzLjgxaDUuMzhsMy44MS0zLjgxVjUuMzFMMTAuNjkgMS41SDUuMzF6TTggNGEuNzUuNzUgMCAwMS43NS43NXYzLjVhLjc1Ljc1IDAgMDEtMS41IDB2LTMuNUEuNzUuNzUgMCAwMTggNHptMCA4YTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMubXVzaWMuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLm11c2ljLnRyYWNrcy5sZW5ndGgpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYWNrbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwlIGZvciAoY29uc3Qge25hbWUgPSBcIlwiLCBhcnRpc3QgPSBcIlwiLCBhcnR3b3JrID0gXCJcIn0gb2YgY29tcHV0ZWQucGx1Z2lucy5tdXNpYy50cmFja3MpIHsgJT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCw8JT0gYXJ0d29yayAlPlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIGFsdD1cIlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj48JT0gbmFtZSAlPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnRpc3RcIj48JT0gYXJ0aXN0ICU+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwlIH0gZWxzZSB7ICU+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjc1IDEuNWEuMjUuMjUgMCAwMC0uMjUuMjV2OS41YzAgLjEzOC4xMTIuMjUuMjUuMjVoMmEuNzUuNzUgMCAwMS43NS43NXYyLjE5bDIuNzItMi43MmEuNzUuNzUgMCAwMS41My0uMjJoNi41YS4yNS4yNSAwIDAwLjI1LS4yNXYtOS41YS4yNS4yNSAwIDAwLS4yNS0uMjVIMS43NXpNMCAxLjc1QzAgLjc4NC43ODQgMCAxLjc1IDBoMTIuNUMxNS4yMTYgMCAxNiAuNzg0IDE2IDEuNzV2OS41QTEuNzUgMS43NSAwIDAxMTQuMjUgMTNIOC4wNmwtMi41NzMgMi41NzNBMS40NTcgMS40NTcgMCAwMTMgMTQuNTQzVjEzSDEuNzVBMS43NSAxLjc1IDAgMDEwIDExLjI1di05LjV6TTkgOWExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS0uMjUtNS4yNWEuNzUuNzUgMCAwMC0xLjUgMHYyLjVhLjc1Ljc1IDAgMDAxLjUgMHYtMi41elwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICBObyBtdXNpYyByZWNlbnRseSBsaXN0ZW5lZFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgICAgPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMucG9zdHMpIHsgJT5cclxuICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk02IDJhLjc1Ljc1IDAgMDEuNjk2LjQ3MUwxMCAxMC43MzFsMS4zMDQtMy4yNkEuNzUuNzUgMCAwMTEyIDdoMy4yNWEuNzUuNzUgMCAwMTAgMS41aC0yLjc0MmwtMS44MTIgNC41MjhhLjc1Ljc1IDAgMDEtMS4zOTIgMEw2IDQuNzcgNC42OTYgOC4wM0EuNzUuNzUgMCAwMTQgOC41SC43NWEuNzUuNzUgMCAwMTAtMS41aDIuNzQybDEuODEyLTQuNTI5QS43NS43NSAwIDAxNiAyelwiLz48L3N2Zz5cclxuICAgICAgICAgICAgUmVjZW50IGFydGljbGVzXHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBmaWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uPlxyXG4gICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBvc3RzLmVycm9yKSB7ICU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQuNDcuMjJBLjc1Ljc1IDAgMDE1IDBoNmEuNzUuNzUgMCAwMS41My4yMmw0LjI1IDQuMjVjLjE0MS4xNC4yMi4zMzEuMjIuNTN2NmEuNzUuNzUgMCAwMS0uMjIuNTNsLTQuMjUgNC4yNUEuNzUuNzUgMCAwMTExIDE2SDVhLjc1Ljc1IDAgMDEtLjUzLS4yMkwuMjIgMTEuNTNBLjc1Ljc1IDAgMDEwIDExVjVhLjc1Ljc1IDAgMDEuMjItLjUzTDQuNDcuMjJ6bS44NCAxLjI4TDEuNSA1LjMxdjUuMzhsMy44MSAzLjgxaDUuMzhsMy44MS0zLjgxVjUuMzFMMTAuNjkgMS41SDUuMzF6TTggNGEuNzUuNzUgMCAwMS43NS43NXYzLjVhLjc1Ljc1IDAgMDEtMS41IDB2LTMuNUEuNzUuNzUgMCAwMTggNHptMCA4YTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyelwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPCU9IGNvbXB1dGVkLnBsdWdpbnMucG9zdHMuZXJyb3IubWVzc2FnZSAlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPCUgfSBlbHNlIHsgJT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMi4wMDIgMi43MjVhLjc1Ljc1IDAgMDEuNzk3LS42OTlDOC43OSAyLjQyIDEzLjU4IDcuMjEgMTMuOTc0IDEzLjIwMWEuNzUuNzUgMCAxMS0xLjQ5Ny4wOTggMTAuNTAyIDEwLjUwMiAwIDAwLTkuNzc2LTkuNzc2Ljc1Ljc1IDAgMDEtLjctLjc5OHpNMiAxM2ExIDEgMCAxMTIgMCAxIDEgMCAwMS0yIDB6bS44NC01Ljk1YS43NS43NSAwIDAwLS4xNzkgMS40ODljMi41MDkuMyA0LjUgMi4yOTEgNC44IDQuOGEuNzUuNzUgMCAxMDEuNDktLjE3OEE3LjAwMyA3LjAwMyAwIDAwMi44MzggNy4wNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIEZyb20gPCU9IGNvbXB1dGVkLnBsdWdpbnMucG9zdHMuc291cmNlICU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBvc3RzLnBvc3RzLmxlbmd0aCkgeyAlPlxyXG4gICAgICAgICAgICAgICAgICA8JSBmb3IgKGNvbnN0IHt0aXRsZSwgZGF0ZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5wb3N0cy5wb3N0cykgeyAlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwb3N0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC43NSAwYS43NS43NSAwIDAxLjc1Ljc1VjJoNVYuNzVhLjc1Ljc1IDAgMDExLjUgMFYyaDEuMjVjLjk2NiAwIDEuNzUuNzg0IDEuNzUgMS43NXYxMC41QTEuNzUgMS43NSAwIDAxMTMuMjUgMTZIMi43NUExLjc1IDEuNzUgMCAwMTEgMTQuMjVWMy43NUMxIDIuNzg0IDEuNzg0IDIgMi43NSAySDRWLjc1QS43NS43NSAwIDAxNC43NSAwem0wIDMuNWg4LjVhLjI1LjI1IDAgMDEuMjUuMjVWNmgtMTFWMy43NWEuMjUuMjUgMCAwMS4yNS0uMjVoMnptLTIuMjUgNHY2Ljc1YzAgLjEzOC4xMTIuMjUuMjUuMjVoMTAuNWEuMjUuMjUgMCAwMC4yNS0uMjVWNy41aC0xMXpcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIj48JT0gZGF0ZSAlPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj48JT0gdGl0bGUgJT48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8JSB9ICU+XHJcbiAgICAgICAgICAgICAgICA8JSB9IGVsc2UgeyAlPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMS43NSAxLjVhLjI1LjI1IDAgMDAtLjI1LjI1djkuNWMwIC4xMzguMTEyLjI1LjI1LjI1aDJhLjc1Ljc1IDAgMDEuNzUuNzV2Mi4xOWwyLjcyLTIuNzJhLjc1Ljc1IDAgMDEuNTMtLjIyaDYuNWEuMjUuMjUgMCAwMC4yNS0uMjV2LTkuNWEuMjUuMjUgMCAwMC0uMjUtLjI1SDEuNzV6TTAgMS43NUMwIC43ODQuNzg0IDAgMS43NSAwaDEyLjVDMTUuMjE2IDAgMTYgLjc4NCAxNiAxLjc1djkuNUExLjc1IDEuNzUgMCAwMTE0LjI1IDEzSDguMDZsLTIuNTczIDIuNTczQTEuNDU3IDEuNDU3IDAgMDEzIDE0LjU0M1YxM0gxLjc1QTEuNzUgMS43NSAwIDAxMCAxMS4yNXYtOS41ek05IDlhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tLjI1LTUuMjVhLjc1Ljc1IDAgMDAtMS41IDB2Mi41YS43NS43NSAwIDAwMS41IDB2LTIuNXpcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgTm8gcmVjZW50IHBvc3RzXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCUgfSAlPlxyXG4gICAgICAgICAgICAgIDwlIH0gJT5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8JSB9ICU+XHJcblxyXG4gICAgICA8JSBpZiAoYmFzZS5tZXRhZGF0YSkgeyAlPlxyXG4gICAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICA8c3Bhbj5UaGVzZSBtZXRyaWNzIDwlPSAhY29tcHV0ZWQudG9rZW4uc2NvcGVzLmluY2x1ZGVzKFwicmVwb1wiKSA/IFwiZG9lcyBub3QgaW5jbHVkZVwiIDogXCJpbmNsdWRlc1wiICU+IHByaXZhdGUgY29udHJpYnV0aW9uczwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPkxhc3QgdXBkYXRlZCA8JT0gbmV3IERhdGUoKSAlPjwvc3Bhbj5cclxuICAgICAgICA8L2Zvb3Rlcj5cclxuICAgICAgPCUgfSAlPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9yZWlnbk9iamVjdD5cclxuPC9zdmc+Iiwic3R5bGUiOiIvKiBTVkcgZ2xvYmFsIGNvbnRleHQgKi9cclxuICBzdmcge1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIEFwcGxlIENvbG9yIEVtb2ppLCBTZWdvZSBVSSBFbW9qaTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjNzc3Nzc3O1xyXG4gIH1cclxuXHJcbi8qIEhlYWRlcnMgKi9cclxuICBoMSwgaDIsIGgzIHtcclxuICAgIG1hcmdpbjogOHB4IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGNvbG9yOiAjMDM2NmQ2O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgaDEgc3ZnLCBoMiBzdmcsIGgzIHN2ZyB7XHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgfVxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4vKiBGaWVsZHMgKi9cclxuICBzZWN0aW9uID4gLmZpZWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICB9XHJcbiAgLmZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcbiAgLmZpZWxkIHN2ZyB7XHJcbiAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgZmlsbDogIzk1OWRhNTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gIH1cclxuICAuZmllbGQuZXJyb3Ige1xyXG4gICAgY29sb3I6ICNjYjI0MzE7XHJcbiAgfVxyXG4gIC5maWVsZC5lcnJvciBzdmcge1xyXG4gICAgZmlsbDogI2NiMjQzMTtcclxuICB9XHJcblxyXG4vKiBEaXNwbGF5cyAqL1xyXG4gIC5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbiAgLnJvdyBzZWN0aW9uIHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gIH1cclxuICAuY29sdW1uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgLmNlbnRlciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbiAgLmhvcml6b250YWwge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG4gIC5ob3Jpem9udGFsLXdyYXAge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICAuaG9yaXpvbnRhbCAuZmllbGQge1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgfVxyXG4gIC5uby13cmFwIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgfVxyXG4gIC5maWxsLXdpZHRoIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbi8qIFVzZXIgYXZhdGFyICovXHJcbiAgLmF2YXRhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgbWFyZ2luOiAwIDZweDtcclxuICB9XHJcblxyXG4vKiBDb21taXQgY2FsZW5kYXIgKi9cclxuICAuY2FsZW5kYXIuZmllbGQge1xyXG4gICAgbWFyZ2luOiA0cHggMDtcclxuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgfVxyXG4gIC5jYWxlbmRhciAuZGF5IHtcclxuICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDI3LDMxLDM1LC4wNCk7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcclxuICB9XHJcblxyXG4vKiBQcm9ncmVzcyBiYXJzICovXHJcbiAgc3ZnLmJhciB7XHJcbiAgICBtYXJnaW46IDRweCAwO1xyXG4gIH1cclxuXHJcbi8qIExhbmd1YWdlICovXHJcbiAgLmZpZWxkLmxhbmd1YWdlIHtcclxuICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgfVxyXG5cclxuICAuZmllbGQubGFuZ3VhZ2Ugc21hbGwge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gIH1cclxuXHJcbi8qIEhhYml0cyAqL1xyXG4gIC5oYWJpdHMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzN3B4O1xyXG4gIH1cclxuXHJcbi8qIEZvb3RlciAqL1xyXG4gIGZvb3RlciB7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4vKiBTcGVlZCB0ZXN0IGNhdGVnb3JpZXMgKi9cclxuICAuY2F0ZWdvcmllcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gIH1cclxuICAuY2F0ZWdvcmllIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gIH1cclxuXHJcbi8qIEdhdWdlcyAqL1xyXG4gIC5nYXVnZSB7XHJcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XHJcbiAgICBmaWxsOiBub25lO1xyXG4gIH1cclxuICAuZ2F1Z2UuaGlnaCB7XHJcbiAgICBjb2xvcjogIzE4YjY2MztcclxuICB9XHJcbiAgLmdhdWdlLmF2ZXJhZ2Uge1xyXG4gICAgY29sb3I6ICNmYjhjMDA7XHJcbiAgfVxyXG4gIC5nYXVnZS5sb3cge1xyXG4gICAgY29sb3I6ICNlNTM5MzU7XHJcbiAgfVxyXG4gIC5nYXVnZS1iYXNlLCAuZ2F1Z2UtYXJjIHtcclxuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAxMDtcclxuICB9XHJcbiAgLmdhdWdlLWJhc2Uge1xyXG4gICAgc3Ryb2tlLW9wYWNpdHk6IC4yO1xyXG4gIH1cclxuICAuZ2F1Z2UtYXJjIHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMjUwbXM7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGlvbi1nYXVnZSAxcyBlYXNlIGZvcndhcmRzXHJcbiAgfVxyXG4gIC5nYXVnZSB0ZXh0IHtcclxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcbiAgICB0ZXh0LWFuY2hvcjogbWlkZGxlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcbiAgLmdhdWdlIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzc3Nzc3NztcclxuICB9XHJcbiAgQGtleWZyYW1lcyBhbmltYXRpb24tZ2F1Z2Uge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgMzI5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qIE11c2ljIHBsdWdpbiAqL1xyXG4gIC50cmFja2xpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC50cmFjayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gIH1cclxuICAudHJhY2sgaW1nIHtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gIH1cclxuICAudHJhY2sgLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgfVxyXG4gIC50cmFjayAuYXJ0aXN0IHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gIH1cclxuXHJcbi8qIFBvc3RzIHBsdWdpbiAqL1xyXG4gIC5wb3N0IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuICAucG9zdCAuaW5mb3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICB9XHJcbiAgLnBvc3QgLmluZm9zIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3aWR0aDogNDAwcHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgbWF4LWhlaWdodDogNDBweDs7XHJcbiAgfVxyXG4gIC5wb3N0IC5pbmZvcyAuZGF0ZSB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgfVxyXG5cclxuLyogRmFkZSBhbmltYXRpb24gKi9cclxuICAuYWYge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0aW9uLWZhZGUgMXMgZWFzZSBmb3J3YXJkcztcclxuICB9XHJcbiAgQGtleWZyYW1lcyBhbmltYXRpb24tZmFkZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4vKiBDYWxlbmRhciAqL1xyXG4gIDpyb290IHtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LWJnOiAjZWJlZGYwO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktYm9yZGVyOiByZ2JhKDI3LDMxLDM1LDAuMDYpO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDEtYmc6ICM5YmU5YTg7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMi1iZzogIzQwYzQ2MztcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwzLWJnOiAjMzBhMTRlO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDQtYmc6ICMyMTZlMzk7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWhhbGxvd2Vlbi1ncmFwaC1kYXktTDEtYmc6ICNmZmVlNGE7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWhhbGxvd2Vlbi1ncmFwaC1kYXktTDItYmc6ICNmZmM1MDE7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWhhbGxvd2Vlbi1ncmFwaC1kYXktTDMtYmc6ICNmZTk2MDA7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWhhbGxvd2Vlbi1ncmFwaC1kYXktTDQtYmc6ICMwMzAwMWM7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MNC1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMy1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMi1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMS1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgfSIsImZvbnRzIjoiIn0sInRlcm1pbmFsIjp7InF1ZXJ5IjoicXVlcnkgTWV0cmljcyB7XHJcbiAgdXNlcihsb2dpbjogJGxvZ2luKSB7XHJcbiAgICBkYXRhYmFzZUlkXHJcbiAgICBuYW1lXHJcbiAgICBsb2dpblxyXG4gICAgY3JlYXRlZEF0XHJcbiAgICBhdmF0YXJVcmxcclxuICAgIHdlYnNpdGVVcmxcclxuICAgIGdpc3RzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgcmVwb3NpdG9yaWVzKGxhc3Q6ICRyZXBvc2l0b3JpZXMsIGlzRm9yazogZmFsc2UsIG93bmVyQWZmaWxpYXRpb25zOiBPV05FUikge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICAgIHRvdGFsRGlza1VzYWdlXHJcbiAgICAgIG5vZGVzIHtcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgd2F0Y2hlcnMge1xyXG4gICAgICAgICAgdG90YWxDb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICBzdGFyZ2F6ZXJzIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFuZ3VhZ2VzKGZpcnN0OiA0KSB7XHJcbiAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgIHNpemVcclxuICAgICAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAgICAgY29sb3JcclxuICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX29wZW46IGlzc3VlcyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaXNzdWVzX2Nsb3NlZDogaXNzdWVzKHN0YXRlczogQ0xPU0VEKSB7XHJcbiAgICAgICAgICB0b3RhbENvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByX29wZW46IHB1bGxSZXF1ZXN0cyhzdGF0ZXM6IE9QRU4pIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJfbWVyZ2VkOiBwdWxsUmVxdWVzdHMoc3RhdGVzOiBNRVJHRUQpIHtcclxuICAgICAgICAgIHRvdGFsQ291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ya0NvdW50XHJcbiAgICAgICAgbGljZW5zZUluZm8ge1xyXG4gICAgICAgICAgc3BkeElkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwYWNrYWdlcyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHN0YXJyZWRSZXBvc2l0b3JpZXMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgICB3YXRjaGluZyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzU3BvbnNvciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIHNwb25zb3JzaGlwc0FzTWFpbnRhaW5lciB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIGNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uIHtcclxuICAgICAgdG90YWxSZXBvc2l0b3JpZXNXaXRoQ29udHJpYnV0ZWRDb21taXRzXHJcbiAgICAgIHRvdGFsQ29tbWl0Q29udHJpYnV0aW9uc1xyXG4gICAgICByZXN0cmljdGVkQ29udHJpYnV0aW9uc0NvdW50XHJcbiAgICAgIHRvdGFsSXNzdWVDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zXHJcbiAgICAgIHRvdGFsUHVsbFJlcXVlc3RSZXZpZXdDb250cmlidXRpb25zXHJcbiAgICB9XHJcbiAgICBjYWxlbmRhcjpjb250cmlidXRpb25zQ29sbGVjdGlvbihmcm9tOiAkY2FsZW5kYXIuZnJvbSwgdG86ICRjYWxlbmRhci50bykge1xyXG4gICAgICBjb250cmlidXRpb25DYWxlbmRhciB7XHJcbiAgICAgICAgd2Vla3Mge1xyXG4gICAgICAgICAgY29udHJpYnV0aW9uRGF5cyB7XHJcbiAgICAgICAgICAgIGNvbG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXBvc2l0b3JpZXNDb250cmlidXRlZFRvIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93ZXJzIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgZm9sbG93aW5nIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgfVxyXG4gICAgaXNzdWVDb21tZW50cyB7XHJcbiAgICAgIHRvdGFsQ291bnRcclxuICAgIH1cclxuICAgIG9yZ2FuaXphdGlvbnMge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltYWdlIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0ODBcIiBoZWlnaHQ9XCI8JT0gNDhcclxuICArICghIWJhc2UuaGVhZGVyKSo2MlxyXG4gICsgKCEhYmFzZS5tZXRhZGF0YSkqMTA4XHJcbiAgKyAoISFiYXNlLmFjdGl2aXR5KSoxMDhcclxuICArICghIWJhc2UuY29tbXVuaXR5KSo5NFxyXG4gICsgKCEhYmFzZS5yZXBvc2l0b3JpZXMpKjE0MlxyXG4gICsgKCghIWJhc2UucmVwb3NpdG9yaWVzKSooISFjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMpKSoxOFxyXG4gICsgKCghIWJhc2UucmVwb3NpdG9yaWVzKSooISFjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwKSkqMTAyXHJcbiAgKyAoKCEhYmFzZS5yZXBvc2l0b3JpZXMpKighIWNvbXB1dGVkLnBsdWdpbnMubGluZXMpKSozNFxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpKjExMFxyXG4gICsgKCEhY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMpKjEyNFxyXG4gICsgTWF0aC5tYXgoMCwgKCgoISFiYXNlLm1ldGFkYXRhKSsoISFiYXNlLmhlYWRlcikrKCghIWJhc2UuYWN0aXZpdHkpfHwoISFiYXNlLmNvbW11bml0eSkpKyghIWJhc2UucmVwb3NpdG9yaWVzKSsoISFjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZCkrKCEhY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMpKS0xKSkqMjBcclxuJT5cIj5cclxuICA8JVxyXG4gICAgbWV0YS4kID0gYDxzcGFuIGNsYXNzPVwicHMxLXBhdGhcIj4ke2Ake3VzZXIubG9naW59YC50b0xvY2FsZUxvd2VyQ2FzZSgpfUBtZXRyaWNzPC9zcGFuPjo8c3BhbiBjbGFzcz1cInBzMS1sb2NhdGlvblwiPn48L3NwYW4+JHtjb21wdXRlZC50b2tlbi5zY29wZXMuaW5jbHVkZXMoXCJyZXBvXCIpID8gXCIjXCIgOiBcIiRcIn1gXHJcbiAgICBtZXRhLmFuaW1hdGlvbnMgPSAhbWV0YS5wbGFjZWhvbGRlciA/IHtzdGRpbjouMTYsIHN0ZG91dDouMjgsIGxlbmd0aDooMitPYmplY3Qua2V5cyhiYXNlKS5sZW5ndGgrT2JqZWN0LmtleXMoY29tcHV0ZWQucGx1Z2lucykubGVuZ3RoKX0gOiB7c3RkaW46MCwgc3Rkb3V0OjAsIGxlbmd0aDowfVxyXG4gICU+XHJcblxyXG4gIDxkZWZzPjxzdHlsZT48JT0gZm9udHMgJT48L3N0eWxlPjwvZGVmcz5cclxuXHJcbiAgPHN0eWxlPlxyXG4gICAgPCU9IHN0eWxlICU+XHJcbiAgICAgIC5zdGRpbiwgLnN0ZG91dCB7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA8JT0gbWV0YS5hbmltYXRpb25zLnN0ZGluICU+cztcclxuICAgICAgfVxyXG4gICAgICAuc3Rkb3V0IHtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDwlPSBtZXRhLmFuaW1hdGlvbnMuc3Rkb3V0ICU+cztcclxuICAgICAgfVxyXG4gICAgICA8JSBmb3IgKGxldCBpID0gMCwgZCA9IDA7IGkgPCBtZXRhLmFuaW1hdGlvbnMubGVuZ3RoOyBpKyssIGQrPW1ldGEuYW5pbWF0aW9ucy5zdGRpbittZXRhLmFuaW1hdGlvbnMuc3Rkb3V0KSB7ICU+XHJcbiAgICAgICAgLnN0ZGluOm50aC1vZi10eXBlKDwlPSBpKzEgJT4pIHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogPCU9IGQgJT5zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3Rkb3V0Om50aC1vZi10eXBlKDwlPSBpKzIgJT4pIHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogPCU9IGQrbWV0YS5hbmltYXRpb25zLnN0ZGluICU+cztcclxuICAgICAgICB9XHJcbiAgICAgICAgPCUgaWYgKGkgPT09IG1ldGEuYW5pbWF0aW9ucy5sZW5ndGgtMSkgeyAlPlxyXG4gICAgICAgICAgZm9vdGVyIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA8JT0gZCAlPnM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPCUgfSAlPlxyXG4gICAgICA8JSB9ICU+XHJcbiAgPC9zdHlsZT5cclxuXHJcbiAgPGZvcmVpZ25PYmplY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIj5cclxuICAgIDxkaXYgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvblwiPuKUgDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvblwiPuKWoTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbiBleGl0XCI+4pyVPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPHByZT48JSMgLSU+XHJcbjwlIGlmIChiYXNlLm1ldGFkYXRhKSB7ICU+XHJcbjxkaXYgY2xhc3M9XCJiYW5uZXJcIj48JSMgLSU+XHJcbkdpdEh1YiBtZXRyaWNzIGdlbmVyYXRvciA8JT0gbWV0YS52ZXJzaW9uICU+XHJcblRoZXNlIGdlbmVyYXRlZCBtZXRyaWNzIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOT1xyXG5XQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuXHJcblxyXG5MYXN0IGdlbmVyYXRlZDogPCU9IG5ldyBEYXRlKCkudG9HTVRTdHJpbmcoKSAlPlxyXG48L2Rpdj48JSB9IC0lPlxyXG48JSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtJT5cclxuPCUgaWYgKGJhc2UuaGVhZGVyKSB7ICU+XHJcbjxkaXYgY2xhc3M9XCJzdGRpblwiPjwlLSBtZXRhLiQgJT4gd2hvYW1pPC9kaXY+PCUjIC0lPlxyXG48ZGl2IGNsYXNzPVwic3Rkb3V0XCI+PCUjIC0lPlxyXG48Yj48JT0gdXNlci5uYW1lIHx8IHVzZXIubG9naW4gJT48L2I+IHJlZ2lzdGVyZWQ9PCU9IGNvbXB1dGVkLnJlZ2lzdHJhdGlvbi5tYXRjaCgvXi4rPyBbeW1dLylbMF0ucmVwbGFjZSgvIC9nLCBcIlwiKSAlPiwgdWlkPTwlPSBgJHt1c2VyLmRhdGFiYXNlSWR9YC5zdWJzdHIoLTQpICU+LCBnaWQ9PCU9IHVzZXIub3JnYW5pemF0aW9ucy50b3RhbENvdW50ICU+XHJcbiAgY29udHJpYnV0ZWQgdG8gPCU9IHVzZXIucmVwb3NpdG9yaWVzQ29udHJpYnV0ZWRUby50b3RhbENvdW50ICU+IHJlcG9zaXRvcjwlPSBzKHVzZXIucmVwb3NpdG9yaWVzQ29udHJpYnV0ZWRUby50b3RhbENvdW50LCBcInlcIikgJT4gPGI+PCUgZm9yIChjb25zdCBbeCwge2NvbG9yfV0gb2YgT2JqZWN0LmVudHJpZXMoY29tcHV0ZWQuY2FsZW5kYXIpKSB7IC0lPjxzcGFuIHN0eWxlPVwiY29sb3I6PCU9IGNvbG9yICU+XCI+Izwvc3Bhbj48JSB9ICU+PC9iPlxyXG4gIGZvbGxvd2VkIGJ5IDxiPjwlPSB1c2VyLmZvbGxvd2Vycy50b3RhbENvdW50ICU+PC9iPiB1c2VyPCU9IHModXNlci5mb2xsb3dlcnMudG90YWxDb3VudCkgJT5cclxuPC9kaXY+PCUgfSAtJT5cclxuPCUjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLSU+XHJcbjwlIGlmICgoYmFzZS5hY3Rpdml0eSl8fChiYXNlLmNvbW11bml0eSkpIHsgJT5cclxuPGRpdiBjbGFzcz1cInN0ZGluXCI+PCUtIG1ldGEuJCAlPiBnaXQgc3RhdHVzPC9kaXY+PCUjIC0lPlxyXG48ZGl2IGNsYXNzPVwic3Rkb3V0XCI+PCUjIC0lPlxyXG48JSBpZiAoYmFzZS5hY3Rpdml0eSkgeyAtJT5cclxuPGI+UmVjZW50IGFjdGl2aXR5PC9iPlxyXG4gIDxiPjwlPSBgJHtjb21wdXRlZC5jb21taXRzfWAucGFkU3RhcnQoNSkgJT48L2I+IGNvbW1pdDwlPSBzKGNvbXB1dGVkLmNvbW1pdHMpICU+XHJcbiAgPGI+PCU9IGAke3VzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxQdWxsUmVxdWVzdFJldmlld0NvbnRyaWJ1dGlvbnN9YC5wYWRTdGFydCg1KSAlPjwvYj4gcHVsbCByZXF1ZXN0PCU9IHModXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0UmV2aWV3Q29udHJpYnV0aW9ucykgJT4gcmV2aWV3ZWRcclxuICA8Yj48JT0gYCR7dXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbFB1bGxSZXF1ZXN0Q29udHJpYnV0aW9uc31gLnBhZFN0YXJ0KDUpICU+PC9iPiBwdWxsIHJlcXVlc3Q8JT0gcyh1c2VyLmNvbnRyaWJ1dGlvbnNDb2xsZWN0aW9uLnRvdGFsUHVsbFJlcXVlc3RDb250cmlidXRpb25zKSAlPiBvcGVuZWRcclxuICA8Yj48JT0gYCR7dXNlci5jb250cmlidXRpb25zQ29sbGVjdGlvbi50b3RhbElzc3VlQ29udHJpYnV0aW9uc31gLnBhZFN0YXJ0KDUpICU+PC9iPiBpc3N1ZTwlPSBzKHVzZXIuY29udHJpYnV0aW9uc0NvbGxlY3Rpb24udG90YWxJc3N1ZUNvbnRyaWJ1dGlvbnMpICU+IG9wZW5lZFxyXG4gIDxiPjwlPSBgJHt1c2VyLmlzc3VlQ29tbWVudHMudG90YWxDb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiBpc3N1ZSBjb21tZW50PCU9IHModXNlci5pc3N1ZUNvbW1lbnRzLnRvdGFsQ291bnQpICU+XHJcbjwlIH0gLSU+XHJcbjwlIGlmICgoYmFzZS5hY3Rpdml0eSkmJihiYXNlLmNvbW11bml0eSkpIHsgLSU+XHJcblxyXG48JSB9IC0lPlxyXG48JSBpZiAoYmFzZS5jb21tdW5pdHkpIHsgLSU+XHJcbjxiPlRyYWNrZWQgYWN0aXZpdHk8L2I+XHJcbiAgPGI+PCU9IGAke3VzZXIuZm9sbG93aW5nLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gdXNlcjwlPSBzKHVzZXIuZm9sbG93ZXJzLnRvdGFsQ291bnQpICU+IGZvbGxvd2VkXHJcbiAgPGI+PCU9IGAke2NvbXB1dGVkLnNwb25zb3JzaGlwc31gLnBhZFN0YXJ0KDUpICU+PC9iPiByZXBvc2l0b3I8JT0gcyhjb21wdXRlZC5zcG9uc29yc2hpcHMsIFwieVwiKSAlPiBzcG9uc29yZWRcclxuICA8Yj48JT0gYCR7dXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gcmVwb3NpdG9yPCU9IHModXNlci5zdGFycmVkUmVwb3NpdG9yaWVzLnRvdGFsQ291bnQsIFwieVwiKSAlPiBzdGFycmVkXHJcbiAgPGI+PCU9IGAke3VzZXIud2F0Y2hpbmcudG90YWxDb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiByZXBvc2l0b3I8JT0gcyh1c2VyLndhdGNoaW5nLnRvdGFsQ291bnQsIFwieVwiKSAlPiB3YXRjaGVkXHJcbjwlIH0gLSU+XHJcbjwvZGl2PjwlIH0gLSU+XHJcbjwlIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0lPlxyXG48JSBpZiAoYmFzZS5yZXBvc2l0b3JpZXMpIHsgJT5cclxuPGRpdiBjbGFzcz1cInN0ZGluXCI+PCUtIG1ldGEuJCAlPiBscyAtbGggZ2l0aHViL3JlcG9zaXRvcmllczwvZGl2PjwlIyAtJT5cclxuPGRpdiBjbGFzcz1cInN0ZG91dFwiPjwlIyAtJT5cclxuVG90YWwgPCU9IHVzZXIucmVwb3NpdG9yaWVzLnRvdGFsQ291bnQgJT4gcmVwb3NpdG9yPCU9IHModXNlci5yZXBvc2l0b3JpZXMudG90YWxDb3VudCwgXCJ5XCIpICU+IC0gPCU9IGNvbXB1dGVkLmRpc2tVc2FnZSAlPlxyXG48JSBpZiAoY29tcHV0ZWQucGx1Z2lucy50cmFmZmljKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLnRyYWZmaWMuZXJyb3IpIHsgLSU+XHJcbi0tLS0gIDxiPiAgICAgPC9iPiAgdmlld3MgPHNwYW4gY2xhc3M9XCJlcnJvclwiPig8JT0gY29tcHV0ZWQucGx1Z2lucy50cmFmZmljLmVycm9yLm1lc3NhZ2UgJT4pPC9zcGFuPlxyXG48JSB9IGVsc2UgeyAtJT5cclxuLXItLSAgPGI+PCU9IGAke2NvbXB1dGVkLnBsdWdpbnMudHJhZmZpYy52aWV3cy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgdmlld3NcclxuPCUgfX0gLSU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMuc3RhcmdhemVyc31gLnBhZFN0YXJ0KDUpICU+PC9iPiAgc3RhcmdhemVyPCU9IHMoY29tcHV0ZWQucmVwb3NpdG9yaWVzLnN0YXJnYXplcnMpICU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMuZm9ya3N9YC5wYWRTdGFydCg1KSAlPjwvYj4gIGZvcms8JT0gcyhjb21wdXRlZC5yZXBvc2l0b3JpZXMuZm9ya3MpICU+XHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5yZXBvc2l0b3JpZXMud2F0Y2hlcnN9YC5wYWRTdGFydCg1KSAlPjwvYj4gIHdhdGNoZXI8JT0gcyhjb21wdXRlZC5yZXBvc2l0b3JpZXMud2F0Y2hlcnMpICU+XHJcbmRyLXggIDxiPjwlPSBgJHt1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIHBhY2thZ2U8JT0gcyh1c2VyLnBhY2thZ2VzLnRvdGFsQ291bnQpICU+XHJcbmRyLXggIDxiPjwlPSBgJHt1c2VyLmdpc3RzLnRvdGFsQ291bnR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIGdpc3Q8JT0gcyh1c2VyLmdpc3RzLnRvdGFsQ291bnQpICU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yKSB7IC0lPlxyXG5kLS0tICA8Yj4gICAgIDwvYj4gIElTU1VFUyA8c3BhbiBjbGFzcz1cImVycm9yXCI+KDwlPSBjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmVycm9yLm1lc3NhZ2UgJT4pPC9zcGFuPlxyXG5kLS0tICA8Yj4gICAgIDwvYj4gIFBVTExfUkVRVUVTVFMgPHNwYW4gY2xhc3M9XCJlcnJvclwiPig8JT0gY29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5lcnJvci5tZXNzYWdlICU+KTwvc3Bhbj5cclxuPCUgfSBlbHNlIHsgLSU+XHJcbmRyLXggIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgSVNTVUVTXHJcbi1yLS0gIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5vcGVufWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJzilIDilIAgb3BlblxyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5pc3N1ZXMuY2xvc2VkfWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJTilIDilIAgY2xvc2VkXHJcbmRyLXggIDxiPjwlPSBgJHtjb21wdXRlZC5wbHVnaW5zLmZvbGxvd3VwLmlzc3Vlcy5jb3VudH1gLnBhZFN0YXJ0KDUpICU+PC9iPiAgUFVMTF9SRVFVRVNUU1xyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5vcGVufWAucGFkU3RhcnQoNSkgJT48L2I+ICDilJzilIDilIAgb3BlblxyXG4tci0tICA8Yj48JT0gYCR7Y29tcHV0ZWQucGx1Z2lucy5mb2xsb3d1cC5wci5tZXJnZWR9YC5wYWRTdGFydCg1KSAlPjwvYj4gIOKUlOKUgOKUgCBtZXJnZWRcclxuPCUgfX0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5saWNlbnNlcy5mYXZvcml0ZS5sZW5ndGgpIHsgLSU+XHJcbmRyLXggICAgICAgICBMSUNFTlNFXHJcbi1yLS0gICAgICAgICDilJTilIDilIAgPCU9IGNvbXB1dGVkLmxpY2Vuc2VzLmZhdm9yaXRlICU+XHJcbjwlIH0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzKSB7IGlmIChjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yKSB7ICU+XHJcbjxzcGFuIGNsYXNzPVwiZGlmZiBlcnJvclwiPkBAIDwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmVycm9yLm1lc3NhZ2UgJT4gQEA8L3NwYW4+PCUgfSBlbHNlIHsgJT5cclxuPHNwYW4gY2xhc3M9XCJkaWZmXCI+QEAgLTwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmRlbGV0ZWQgJT4gKzwlPSBjb21wdXRlZC5wbHVnaW5zLmxpbmVzLmFkZGVkICU+IEBAPC9zcGFuPlxyXG48JSB9fSAtJT5cclxuPC9kaXY+PCUgfSAtJT5cclxuPCUjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLmxhbmd1YWdlcykgeyAlPlxyXG48ZGl2IGNsYXNzPVwic3RkaW5cIj48JS0gbWV0YS4kICU+IGxvY2FsZTwvZGl2PjwlIyAtJT5cclxuPGRpdiBjbGFzcz1cInN0ZG91dFwiPjwlIyAtJT5cclxuPCUgaWYgKGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmVycm9yKSB7IC0lPlxyXG48c3BhbiBjbGFzcz1cImVycm9yXCI+PCU9IGNvbXB1dGVkLnBsdWdpbnMubGFuZ3VhZ2VzLmVycm9yLm1lc3NhZ2UgJT48L3NwYW4+PCUjIC0lPlxyXG48JSB9IGVsc2UgeyBmb3IgKGNvbnN0IHtuYW1lLCB2YWx1ZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5sYW5ndWFnZXMuZmF2b3JpdGVzKSB7IC0lPlxyXG48Yj48JT0gbmFtZS50b0xvY2FsZVVwcGVyQ2FzZSgpLnBhZEVuZCgxMikgJT48L2I+IFs8JT0gXCIjXCIucmVwZWF0KE1hdGguY2VpbCgxMDAqdmFsdWUvNSkpLnBhZEVuZCgyMCkgJT5dIDwlPSAoMTAwKnZhbHVlKS50b0ZpeGVkKDIpLnBhZEVuZCg1KSAlPiVcclxuPCUgfX0gLSU+XHJcbjwvZGl2PjwlIH0gLSU+XHJcbjwlIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0lPlxyXG48JSBpZiAoY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQpIHsgJT5cclxuPGRpdiBjbGFzcz1cInN0ZGluXCI+PCUtIG1ldGEuJCAlPiBjdXJsIC1JIDwlPSB1c2VyLndlYnNpdGVVcmwgJT48L2Rpdj48JSMgLSU+XHJcbjxkaXYgY2xhc3M9XCJzdGRvdXRcIj48JSMgLSU+XHJcbjwlIGlmIChjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5lcnJvcikgeyAtJT5cclxuPHNwYW4gY2xhc3M9XCJlcnJvclwiPjwlPSBjb21wdXRlZC5wbHVnaW5zLnBhZ2VzcGVlZC5lcnJvci5tZXNzYWdlICU+PC9zcGFuPjwlIH0gZWxzZSB7IC0lPlxyXG48Yj5Vc2VyLUFnZW50PC9iPjogR29vZ2xlIFBhZ2VTcGVlZCBBUElcclxuPGI+TG9jYXRpb248L2I+OiA8JT0gdXNlci53ZWJzaXRlVXJsICU+XHJcbjwlIGZvciAoY29uc3Qge3Njb3JlLCB0aXRsZX0gb2YgY29tcHV0ZWQucGx1Z2lucy5wYWdlc3BlZWQuc2NvcmVzKSB7IC0lPlxyXG48Yj48JT0gYFgtJHt0aXRsZS5yZXBsYWNlKC8gL2csIFwiLVwiKX1gICU+PC9iPjogPCU9ICFOdW1iZXIuaXNOYU4oc2NvcmUpID8gTWF0aC5yb3VuZChzY29yZSoxMDApIDogXCItXCIgJT4lXHJcbjwlIH19IC0lPlxyXG48L2Rpdj48JSB9IC0lPlxyXG48JSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtJT5cclxuPCUgaWYgKGJhc2UubWV0YWRhdGEpIHsgLSU+XHJcblxyXG48Zm9vdGVyPkNvbm5lY3Rpb24gcmVzZXQgYnkgPCU9IE1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpICU+LjwlPSBNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSAlPi48JT0gTWF0aC5mbG9vcigyNTYqTWF0aC5yYW5kb20oKSkgJT4uPCU9IE1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpICU+PC9mb290ZXI+PCUjIC0lPlxyXG48JSB9IC0lPjwvcHJlPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9yZWlnbk9iamVjdD5cclxuPC9zdmc+XHJcblxyXG4iLCJzdHlsZSI6Ii8qIFNWRyBnbG9iYWwgY29udGV4dCAqL1xyXG4gIHN2ZyB7XHJcbiAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM3Nzc3Nzc7XHJcbiAgfVxyXG5cclxuLyogVGl0bGUgYmFyICovXHJcbiAgLmhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNTA0YjQ1IDAlLCMzYzNiMzcgMTAwJSk7XHJcbiAgfVxyXG5cclxuICAudGl0bGUge1xyXG4gICAgY29sb3I6ICNkNWQwY2U7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBmb250LXNpemU6IDhweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjN2Q3ODcxIDAlLCAjNTk1OTUzIDEwMCUpO1xyXG4gICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcclxuICB9XHJcblxyXG4gIC5idXR0b24uZXhpdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2YzNzQ1OCAwJSwgI2RlNGMxMiAxMDAlKTtcclxuICB9XHJcblxyXG4vKiBUZXJtaW5hbCAqL1xyXG4gIHByZSwgLmJhbm5lciwgZm9vdGVyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBQcmltZSc7XHJcbiAgICBjb2xvcjogI0RERERERDtcclxuICB9XHJcbiAgcHJlIHtcclxuICAgIGJhY2tncm91bmQ6ICM0MjA5MkI7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIH1cclxuICAuYmFubmVyLCBmb290ZXIge1xyXG4gICAgY29sb3I6ICNBRTlEQTc7XHJcbiAgfVxyXG5cclxuLyogUHJvbXB0ICovXHJcbiAgLnBzMS1wYXRoIHtcclxuICAgIGNvbG9yOiAjN0VEQTI5O1xyXG4gIH1cclxuXHJcbiAgLnBzMS1sb2NhdGlvbiB7XHJcbiAgICBjb2xvcjogIzQ4NzhjMDtcclxuICB9XHJcblxyXG4vKiBEaWZmICovXHJcbiAgLmRpZmYge1xyXG4gICAgY29sb3I6ICMzQTk2REQ7XHJcbiAgfVxyXG5cclxuLyogRXJyb3IgKi9cclxuICAuZXJyb3Ige1xyXG4gICAgY29sb3I6ICNjYjI0MzE7XHJcbiAgfVxyXG5cclxuLyogQW5pbWF0aW9ucyAqL1xyXG4gIC5zdGRpbiwgZm9vdGVyIHtcclxuICAgIHdpZHRoOiAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN0ZGluLWFuaW1hdGlvbjtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgfVxyXG5cclxuICAuc3Rkb3V0IHtcclxuICAgIG1heC1oZWlnaHQ6IDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzdGRvdXQtYW5pbWF0aW9uO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3RkaW4tYW5pbWF0aW9uIHtcclxuICAgIDAlIHsgd2lkdGg6IDAlOyB9XHJcbiAgICAxMDAlIHsgd2lkdGg6IDEwMCU7IH1cclxuICB9XHJcblxyXG4gIEBrZXlmcmFtZXMgc3Rkb3V0LWFuaW1hdGlvbiB7XHJcbiAgICAwJSB7IG1heC1oZWlnaHQ6IDA7IH1cclxuICAgIDEwMCUgeyBtYXgtaGVpZ2h0OiAzNjBweDsgfVxyXG4gIH1cclxuXHJcbi8qIENhbGVuZGFyICovXHJcbiAgOnJvb3Qge1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktYmc6ICNlYmVkZjA7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1ib3JkZXI6IHJnYmEoMjcsMzEsMzUsMC4wNik7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MMS1iZzogIzliZTlhODtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJnOiAjNDBjNDYzO1xyXG4gICAgLS1jb2xvci1jYWxlbmRhci1ncmFwaC1kYXktTDMtYmc6ICMzMGExNGU7XHJcbiAgICAtLWNvbG9yLWNhbGVuZGFyLWdyYXBoLWRheS1MNC1iZzogIzIxNmUzOTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMS1iZzogI2ZmZWU0YTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMi1iZzogI2ZmYzUwMTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MMy1iZzogI2ZlOTYwMDtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItaGFsbG93ZWVuLWdyYXBoLWRheS1MNC1iZzogIzAzMDAxYztcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUw0LWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwzLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwyLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICAgIC0tY29sb3ItY2FsZW5kYXItZ3JhcGgtZGF5LUwxLWJvcmRlcjogcmdiYSgyNywzMSwzNSwwLjA2KTtcclxuICB9IiwiZm9udHMiOiJAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBRCtrQUJJQUFBQUFjYkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBL2lBQUFBQndBQUFBY2lUdjBNVWRFUlVZQUFENjBBQUFBS0FBQUFDb0Evd0UxUjFCUFV3QUFQMVFBQUFBeUFBQUFRQmFiS0poSFUxVkNBQUErM0FBQUFIZ0FBQUNpWjRkeXhVOVRMeklBQUFJTUFBQUFUd0FBQUdCdzFvL1dZMjFoY0FBQUF5QUFBQUN1QUFBQlVzUnRXeUpqZG5RZ0FBQUxhQUFBQUVNQUFBQnNKdUVRaFdad1oyMEFBQVBRQUFBRzhnQUFEaFdlTmhQT1oyRnpjQUFBUHF3QUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBTWdBQUFMM3dBQUZkUWcrSEVybWhsWVdRQUFBR1VBQUFBTmdBQUFEWVhtUnFzYUdobFlRQUFBY3dBQUFBZ0FBQUFKQXNQQWZsb2JYUjRBQUFDWEFBQUFNRUFBQURZTDNRZHcyeHZZMkVBQUF1c0FBQUEwZ0FBQU5JdkJCbCtiV0Y0Y0FBQUFld0FBQUFnQUFBQUlBSFJBZ1p1WVcxbEFBQTcvQUFBQWNRQUFBT1RBVnl1cG5CdmMzUUFBRDNBQUFBQTdBQUFBVWxrWDhUeWNISmxjQUFBQ3NRQUFBQ2lBQUFBdlZxeDN6c0FBUUFBQUFNRW0xT3V3elJmRHp6MUFCOElBQUFBQUFEWm5JUGhBQUFBQU5uN1NVZi81UDVsQk9nRmh3QUFBQWdBQWdBQUFBQUFBSGphWTJCa1lHQnorT3ZDd01CeTV2K1QvMDlZWGpBQVJWQUFDd0NwRkFjUUFBRUFBQUJvQUhBQUJRQXZBQUlBQWdBc0FGb0FqUUFBQUtZQkNnQUNBQUY0Mm1OZ1lUbkRPSUdCbFlHQjFaamxEQU1EdzB3SXpYU0dvWWxKQzhobllPVmtnQUZtQmlRUUdCcm95SENBUVlGaEE1dkRYeGNHQnZZY1pnVUZCb2JKWUlWeldCWURLUVVHWmdCbi9ReWlBSGphWXpuRE1KVUJDRmpPUUREalM0Yi9ERFlNbXhtTUdDWXpQbVhVWk14bTJNK3dpckVFaU84ekhHUFl3M0NIWVRkUVpES1FkWkxoS2NNNWhnT005eGs3R0dvWlZqR3NaL2dIMU1YRkVNQlFCc1FnbUFURUp4aUt3V3c1QmplR0NDQU53dk1ZcW9BOHJ2L2ZnT3B0R0pZemVqR21NYno0LzRUUmtxR2RRWldoSGdnbkFXMnBaL0FGa3ZzWW5CazIvdjhEWkxlQTVTWUQzVmJLNE1GZ0JOVHRCdFMvaVdFamt6VERPNFpwRE4vKy8vNy9tMEdFWVI4VE84TnVBQkZVUGtrQUFBQjQybU5nWUdCbWdHQVpCa1lHRVBBQjhoakJmQllHQXlETkFZUk1RRHFhb1k1aHcvLy9RSllDUXl5STlmL3gvMGYvTjBKMWdRRWpHd09jeXdqU3c4U0FDb0NTekN5c2JPd2NuRnpjUEx4OC9BS0NRc0lpb21MaUVwSlMwakt5Y3ZJS2lrcktLcXBxNmhxYVd0bzZ1bnI2Qm9aR3hpYW1adVlXbGxiV05yWjJEUFlPams3T0xxNXU3aDZlWHQ0K3ZuNytBWUZCd1NHaFllRVJrVkhSTWJGeDhRa01CRUVpQTAwQkFCVk5INWdBQUhqYXJWZHJXeHZIRlo3VkRZd0JBNUt3bTNYZFVjYWlManVTU2VzNHhGWWNzc3VpT0VwU2dYRzc2elR0TGhMdS9aTDBScS9wL2FMOG1iT2lmZXA4eTAvTGUyWldDampnUG4yZThrSG5uWmwzNWx6bnpFSkNTeElQb3pDV3N2ZEVMTzcycVBMZ1VVUzNYTG9SSjQvbDZHRkVoV2I2MGF5WUZZT0JPbkFiRFJJeGlVQnRqNFVqZ3NSdmthTkpKbzliVk5DcW9Sb3RLbW81UEM3VzZzSVBxQnJJSlBHelFpM3dzMll4b0VLd2Z5UnBYZ0VFNlpCSy9hTnhvVkRBTWRRNHZOcmcyZkZpM2ZHdlNrRGxqNnRPRld1S1JEODZqTWVyVHNFb0xHa3FlbFFQSXRaSHEwR1FFMXc1bFBSeG4wcHJqOFkzbklVZ0hJUlVDYU1HRlp2eDNqc1J5TzRva3RUdlkyb0xiTnBrdEJuSE1yTnNXSFFEVS9sSTBnYXZiekR6NDM0a0VZMVJLbW11SHlXWWtidzJ4K2cybzl1Sm04Ung3Q0phTkI4TVNPeEZKSHBNYm1Eczl1Z2FvMnU5OU1tU0dERGpTVmtjeFBFd2pjbng0amozSUpaRCtLUDh1RVZsTFdGQnFabkNwNW1nSDlHTThtbFcrY2dBdGlRdHFwaHdJeEp5bU0wYytKSVgyVjNYbXMrL1ZFekNBWlhYRzFnTTVFaU9vQ3ZiS0RjUm9kMG82YnZwWGh5cHVCRkwybm9RWWMzbHVPU210R2hHMDRYQUc0dUNUZk1zaHNwWEtCZmxwMVE0ZUV6T0FJYlF6SHFMTG1qSjFpN0NyWkk0a0h3Q2JTVXhVNUp0WSsyY0hsOVlGRUhvcnplbWhYTlJueTZrZVh1SzQ4R0VBSzRuTWh5cGxKTnFnaTFjVGdoSkYwWk9yRVJxVmJwdFZTeWNzNTJ1WTVkd1AzWHQ1S1pGYlJ3NlhwZ1h4UkJhWE5XSTExSEVsM1JXS0lRMFRMZGJ0S1JCbFpJdUJXL3dBUURJRUMzeGFBK2pKWk92WlJ5MFpJSWlFWU1CTk5OeWtNaFJJbWtaWVd2Uml1N3RSMWxwdUIxZnA0VkRkZFNpcXU3dFJyMEhkdEp0WUw1cTVtczZFeXZCd3loYldRbklTWDFhOXZqS29iVDg3QkwvTE9HSG5GWGtvdGpzUnhtSEQvNzZJMlFZYXBmV0d3cmJKdGkxNjd3Rk41bG5ZbmpTaGYxZHpKNU8xamtweklTb0tzUXJJSEZ2N0RpT3lWWmRpMHdVd3YySVZwUXZRMXBFK1Mwb2xCeEtzWWFaQkRiODU4b1ZSeXlMcXZCOW55TlJneUZZeTJxekhuM291YzhqYnF0d3R1NjE2TExPSEpaWEVIaVduOU5aa2VWek9pdXhkSFZXWm5sVlp4V1duOWZaRE10ck9wdGwrUVdkWFdEcGFUVkpCRlVTaEZ6Sk5qbnY4clZwa1Q2eHVEcGRmTTh1dGs0c3JrMFgzN2VMVWd1NjVKM25NUHY2Yitzck8zclN2d2I4azdEcmVmakhVc0UvbHRmaEg4c20vR081QnY5WWZoSCtzYndCLzFoK0NmNnhYSWQvTE50YWRremwzdFJRZXlXUjZINU9FcGpjNGphMnVYZzNOTjMwNkNZdTVndTRFMTE1VGxwVnVxbTR3eitUNGJMM1g1N2tPbHVzaEZ4NjlNSjZWbmJxWVlUdXlGNSs1VVI0enVQYzB2SkZZL21MT00xeXdzL3F4UDA5MHhhZUY2di9FdnkzZlU5dFpyZWNPdnQ2Ry9HQUEyZmJqMXVUYnJib0pkMiszR25SNW4ram9zSUhvTCtNRkluVnBtekxMdmNHaFBiK2FOUlZYVFNUQ0M4ZzJpK2VwazNIcWRjUTRUdG9ZcXQwR2JRUyttclQwTEo1NGRQRndEc2N0WldVblJIT3ZIdWFKdHYyUEtyZ051UnNTUWszbDYzZDZMZ2t5OUk5THEyVm40dDlicmx6Nk43SzdGQTdDVldDcCs5dHdtM1BQaytsSUJrcUt1TjF4WElwU0YzZ2hGdmUwM3RTbUlhSFFPMGd4d29hZHZqcG1ndU1GcHgzaGhKbG0yc0ZseGpKS0tQZ3lwODVGU2V5RVUwMm9vamZ2S1YrcWd1RjBKbkVRbUsydkpiSFFuVVFwbGVtU3pSbjFuZFVsNVZ5RnU5TlE4ak8yRWlUMkkvYXNvT1huYTNQSnlYYmxhZUNLazJNN3AvOGlMRkpQS3ZhODJ3cEx2bFhUMWdTVE5LVjhKZk8weTVQVXJ5Ri90SG1LTzdRNVNEcXUzaGNaU2R1Wnh0T0RmZjJ0Vk9yZTI3LzFLcC81dDVuN1FnMDNmR2VwWEJiMDExdkJOdTR4dURVdVZRa3RFMGIyQkVhbDdrKzEyemtVM3lwK2RaMUxsQ0Y2OVBHemJQbjcraHNEby9PWk12L1dOTGQvMWNWczAvY3h6b0tyZXBFdlRUaTNNNHVHdkFkYnhLVjF6RzY2elZVSHBmY20ya0k3aU1FZFh2dDhWbUNHMTV0MDIzYzhqZk9tZS9oT0tkV3BaZUEzOVQwTXNSYkhNVVE0Wlk3ZUlFbjBYcGJjMEhUVzRCZjFXTWhkZ0Q2QUE2RFhUMTJ6TXdlZ0psNXdKd3V3RDV6R0R4a0RvT3ZNWWZCMS9VeGVtRUFGQUU1QnNYNjJMRnpqNERzM0R2TWN4aDlnM2tHdmNzOGc3N0pQSU8reFRwRGdJUjFNa2haSjRNRDFzbGd3SnpYQVliTVlYRElIQWFQbWNQZzI4YXViYUR2R0xzWWZkZll4ZWg3eGk1RzN6ZDJNZnFCc1l2UkQ0MWRqSDVrN0dMMFk4UzRNMDNnVDh5SXRnRGZzL0Exd1BjNTZHYmtZL1JUdkxVNTUyY1dNdWZuaHVQa25GOWc4eXZUVTM5cFJtYkhrWVc4NDFjV012M1hPQ2NuL01aQ0p2eldRaWI4RHR4NzAvTitiMGFHL29HRlRQK0RoVXovSTNibWhEOVp5SVEvVzhpRXY0RDc2dlM4djVxUm9mL05RcWIvM1VLbS93TTdjOEkvTFdUQ3lFSW1mS2pIRjgwbkxsWGNjYWxRRFBIZkU5cGc3SHMwZTBqRjYvMmp5V1BkK2dUMW9BUDZBQUI0Mm1QdzNzRndJaWhpSXlOalgrUUd4cDBjREJ3TXlRVWJHZGlkdGpCb1N6TXphSUdZMncxWUZEaUUySm01SUR3VEpnMDJTVll3ajh0cEQ0OERod1BMQVFabUJtNGduOWRwRDRNREdJTDRPNEVrZzh0R0ZjYU93SWdORGgwUklINkt5MFlORUg4SEJ3TkVnTUVsVW5xak9raG9GMGNEQXlPTFEwZHlDRXdDQkxZYk1TbXhpYkF5ODJudFlQemZ1b0dsZHlNVGc4dG0xaFEyQmhjWEFIMlZMZ2NBQUhqYVkyQWdBSXdna0dVbkF3UHpuUC9mL2hVaFdBenpnSEFLd3hTV3hRd01yQXJNY3hnWS90V3c3UHovaWpXWWVkUC9WLy9TWUhwWnpSZ2ZBL0ZGQU1tRUdZZ0FBQUFBaUFDSUFJZ0FpQURpQVBBQmtBSmlBd3dENmdRZ0JHUUVxZ1VvQlhBRm5nWElCZTRHTEFaMkJzQUhQQWU0Q0JJSWhBanFDVUFKdWdvZUNtQUtwZ3JrQ3lvTGFBdnlESjROQmcxc0RkZ09KZzdBRDB3UHhoQkNFSWdRM0JGMkVjWVNSQkxBRXdvVFloUXFGS3dWUUJXWUZlNFdRaGJDRjBRWHFoZ0FHRHdZZUJqQUdPb1pHQm5lR3B3YkJodkVIQ0ljcGgyRUhnd2VHQjRrSHJnZkNCL09JSElndWlGbUloSWlraU1tSTRRa0VpUm1KTllsVmlXNEpqb213aWIwSjNvbjJpZ29LTllwMkNyd0t6d3JhQ3VvQUFCNDJyVjhCM3djMWJYM3ZWTzNhRmZhMVJaSjI3UmR2YTU2VzNmWjZ1NnliRXR5bDhGTjJJQndFemJHZ0ttMkFadGdJTlFrTkdPRFFYVDRDQ1dVSkE4ZTVGRkNQZ0lFeUV2Z3ZjU0VJbzIrYysvTTdLNktiWDd2L1Q3L3JOblptVHV6OS9UL3VlZk1JQmJkS0gzR05mRTVLQm1sb2lxMEtEcS9QTitmemdrY2J1WXh4d2dNSnd6cVJFWmc0Zjh1RGNhSTRUQ3pWb3RaaE5oRjhNR2lidGhEYlJaTFNncENsaXBMWmFRa0srUnhwNlNtcEpwTmNGZERtVjZ3NXlLYmxiVUlmcTh2VkpZYUtTLzFzcWxldGp4VUZxbElaV0ZiWGxwaXN6dHdQWVpQcTBWa1UyRXIrSDFoUFJiOFhJR0xkZm1HWC9lUkQ3WXNueG5KWkE0RjJIZmZaWHhXY3pwLzU1MTh1dG5xWTk1OWx3MVlROW83NzlTRytCeFA4SWRwUVk4bnlEOFQ5UHpnNVFkKzJQK3R5Y0FKK0JaOGhCV05acjFPT29sYmRIcXpVV1NsZGRJYWdUT1lVbkdMZERJVk1makwwVytaUDNPbmtSRTUwWUxIZFN6RElveWJtNDdiMnhkSDdRZ2gzTXRoakFNdFBORE85Q0tHOFRPdGpxZ1ZEZ0lmTU9wTFBONFpOU2NuSTVUc1RIYllMSERIcEtDZ0lid1FXU1AyKzBKaE5sUmVnODAyRnliVWh1b3dNSUo1MXNJVU02Nk1EQTh1WWl6MlBiaW1adXBVK09OT3AyV00xTm5UMCszTS84bElHMDUzK1c3eHVlaG1kQlNOTXEremIzS25VL3hJTjVxQlVBcUxkT2h6UlA0eHFIYjBLKzU2YmdnMW9UYTBPTHBnVmkyajFYbHRETXN3elNrR1BhczFhaGlFdFdpZEtWbGtzY0F4REF2eVRjSTZYUllsTVp0dGJXNUdxTG10dWEyMUJXNHlaOGEwYUVOMVpWbXBOeEQwVy8wQmI4Q3M4UkR4V29SY0xGTDV3WTVNSHhHdk43NUxQNERnQ25Vbk5TWndiM3kzRkZkNFJlNENvTzNGNk5PRXhFL21jWjVVWng3VEpQMmc3dDFCanY4NitoejUrTFJEUHRpSWVYWHZtRFFRbFg2TXNyM2VjTmg3bW15azUxSk03alJXaHozeHZkaEpYQ0Vma3Y0YTM1TzJuejVOK01laWs2Tjd1UXcrRTgxQzdhZ1QzUk4xOEN5alFSYU1OWXZicXEwY2o2dXdsczhLTVl5V0J5M0pCQzNKMDJNTlJwcE9BVFFDOHdqM0lWN0w4SjFKV0F1bXcycVpQc1N5WXE4T2kyS0FCZFVwZ1QzRWlwM251b3Bjd1BiQ1NMYWpNK3JzNkdoc1JLaWpzNk96c2IyeEhXWTMweDNNOGp1RFdRYU5DOFRod2phN2JGZXljb1ZEWWF2TjdzWldpeEdMVmtYZDRGaGM4VXJJYWJzcEZDN0FaUkdRQnJtYUVhd1dteDN1WkM0dmk0VGdIaVptbjdlN3c1ZWQ3Zk5sKzR5MTErMXVidTljZE4rRjNtRFF1Mk9CZk5pYXBuVnU2ZHd6YzNaSDE4L1hlSU4zcmMzTzhyZi9jMk5lZHQ0Q1B0UGpleWh0ZHI3ZjdmWS82M2RuYkhYOHkraDBiVnl5ZUY4emM4TG44ZmllU1Y5UVNVNSs0M2VuMnBvV0ptTjdpc3UxZHQ2aW5kR2YrenpTZ1JtMW1WbUdKUDNYSTkzenB2cnlqTWs2NmIrSWpIaFVBanArQytoNE12S2lZalFGZGFBVjBXNndaUjR6L0NCaU5ZS0dGUVlSaDVESW9iNGtMQnF3VmlOcSsvU1k1ekVJQXVPc0ZxVFJDTDFJRUxLRjFxbFRTMHA4UG9TbWRreHRuOU5ZTXFVa1dsM3BLL1lWNVdRNTBzMHA4Q1BHa0pHWXNjeE52MDloR0ZkYVlpY2FqQ203UWVGeHdBZ2ozS0RZOVRDaUFQdkhYMkZreHB6RzErNmFNMGY5enp4anowaExUeHUreVVZLzJmVWpKVlBEWWZVL2t6ZzBuSENDRzVxVGNHYlE0YkRaN2NNdjJ1QXp6Y2JXV3hLSGpyeVhPSFJQNGluaU53NEJUemNBVCt0UkkvcDcwL0ZpVU93MFBVYTRFak9vRWJQTUxMK1Y1ZGhDekhOOHMyUHlVeG80MVNsN3ppeFFhZ2FDeHlEY21lVVl0ZytjcXRpckJaWE9hdEZnanVON0JSQ0duMjkxeUQ5VmNzN3hDSWJUWFZWc2ptalJXUzVDc1dzU0pOMEpEaHFobWRPQnlEcC94QitvRG9SMHhIenNjWmNjOHZ1SUZHMTJYRjRCTGt2eGI0Sm9WMTJkcjVBSW5FaTB2Q0pFeFVxc2hvaTFBak9mM213bFZ0RzhvYUlqSnpzSEI3TXlrN0tPRWErMUxGQ3lZVDdaNlM5eUw5cjdVTi9SampYTFZzNDdzdXFkdW9LNVpSZDJTVDl5USt1U3c3dUpNU3dwTEdndGpIUVdTcWNXYjRESUZ2UmMwbjBKK2ZEMkhsbHljOWZxMjZac3Zicno0UHlSM1BPbVJlWVhiY1loSVBvejVuWG1MeEREa2xDNXpQNGtFcmk2R1JLNEVEREt6SkJvaFJlUkE2Z1g5c0NSUkhVd0pnbnBBaXpSN1hpRXFzSE1YNFFLMXU5MkJkZ0tvZkJ1N25TSlZKL2hkR2JnRjRtUWNMYjBTN2FYWDQwOHlITVM3amFIL3VCamNLOHcvTkpKK0x5dzgxR2JCV3RzdVlqNEdHSWhBdWk5bWU2Ukh3R0h3NVJGek9VVnJGR1g0dEtiREE5KzllVkRCcFBlbGFMVFgvTGVsVmYrWVlCZmJUTzcwaTNhZnVucTBWSHArbjZ0SmQxbHRnbXovNEhudnZvcW5uOTZOcG5IZVRDUHU1UjVhREdhVFgweG1VZE9mQjV1SjUySHpXeTFNSUpJQkV3TnRkeHNTbUhvSG9sQ2RtYnFINjY4OHIxTDlQSnNIdnJ5cXdlVjJmQzIwOUlEcjc0cVBmU1AyWUl5STd3WlFmakZXOVU1RVgrRTBYUDRLczRBdGxPRzVrZVRpekRpQ3NQKzlHUVdYRHNETVNJSEJKSktKSUF2QjRqRlpiVUFiRUM1UkM1VzJPTXdoL0Fna2N4bDlDd0hLTUlBZHkxREVYZWdBQUJFQmdVUXdYS0ZtNExJeTB6MWd5YUtpdTlwd0VHaWtUSTl2QXl4bU1QNWZBQWp1eWt0cUJOOG1kSlhMNlhudUROeTB2ZnZUOC9KY09la3Z5ajlaNlpQMEFYVFRIYU1BamcvaHhzcXlwRytHTkI1UGFsbVowZ28rMTI2SytpMkZwdytYV0IxQjEzcHZ5c1RRazV6cXNlckc4QnB2TTZmSmRQK0szUVY1K01Za0VOK05BZU1Ha0VRNHpCQUkzQU9lQzJ4Y29LT2VLWURSbnVRTytEM0IveWl4a0VnaE1sTGJjcnZOVkhqS3pONUtWQW85WnJJOUE5NGNCV3hHT2tWb3YzU0syUWZWM21DSERQeFdKQ09KZlBCVzZYM21iK0JWYVFnZDlRQmlnRmdEbEhsUnpIZEQ0VVlUUnJGTUNJTFAweXdTajBHdmYvQUxMNWpudDdJTE9jYzFoZHhLRFhabUN3NXMwdTRKUHhKcXBYU3lqQ2NqN2tLR1pBbjZreTBxVzV5dGcxKzM0RDBFV3BRTW1FS1BSd1A4eHdSeUd5Wkg1aXJ5SHpKSDUzdng0QS8vNGJ6NE1yMHFFMDFVT1JIcmZSdVNVSDVibU1nNDBNTkRZMk44SWZ6WEw0bnlFMmZrR2xITDB2SE9JSHZSeVpVZmtyUE1ES1FKUkFsaWR3NHAwV3gwcWlPYXVNK2FpVFVENWhRU2xpZHRvaFZCRWNBT3Z0dkVYYWtSL1Ric3lJc2N3ZDg4djF1dTBiNy9ZMHBGdklwbkpkaWtYSG4weEEvVW1oTTlxQzhhRGJCa2pKMEJsOE1VeUZFWmFOV2tqU2tlRkxjYVRZYVYyVjRUTTBUZnBLNmhmRlJrdm44aGI2KzV5Kzk5UG0rdmhjRzJ3YW1UeDlvazdmYzBGSHB5eWVla0w0NmVoVGJubmdDMjQ4ZTN2VDJ3WU52Yjl4SXRwc0lQejVFQ096eWFaaFJVVFRmQ0xBS2RBRTJMSU1CSmJBQWVEbkNpSjRZdjBFL3cvNUFoTmhjWUl3QVRhcWhWVkE3Qk0xbHZ5RWlYVTRWMFBDOXlaaHBOM3J3Z01WaWM2SFJLMVFCczB0K3BzdE9zL25NWHlTNU1vWlpLcU9uQUdSK0RYd3FST2MvNXNNY1MwUmtCQkVGRU95ekhNeU1xTlZtbUo4Y0k3T0kxSmdlTmZFSUpnd0Q3N0ZyOG5HZFVTTjhLMFFGZ1p3eXY1MmFHOEVpZ29pOUNTalJxMG9ad0o3ZkY0T0oxSTB3VHp6Y3Mvbzg2VGcrUVFJYWtEckg1MHJHVHl4dHVtakR4bDV5eUQ3N1YwdTRvWG0zYlZoei93YnAvbDBrY3IxSXFBNmw0R2VYNzJ4Y3RxRnlJemwyS0p4U1ZrTjk1T2hYN0g5VGZORVViU3pHQWk4QUdVd3pFZ0JRQ0J5UXc1Sk1oS0EyRnJnQ2FKZ1hlelZ5S0krckQyd2hkQWNDa1VqQW5xY2xvVnNtU3dWYWluOEhKMGcwaUlCWUNOaHk4a0cvSlZJSjhiMlVlZUdCNWUyenUxYjNQbm5waWxmYjNLYU16QlR6MUZ0YWQrelplK0ZzSXRxSy9nc3ZQSDhyQmNBRzQzWEh1YUdPRzFjdDNCa01IVnl6NGQ2bDA2dHRUb3NyeDFCY3RXM04ydk9Jdkh1V0x1Z05UeU5rYjdCbGFCZFR1emdFT2dnd0RRVlJGaXFQbG1aaEpPQm1FU05lZHBBYUxBaFpMUUQ1R2JZSFpPbG5nY1p3Q0VaRHBoWHhCbnhhalRNWFdVMHErckNXbGlRb1pnMHVpOG13Rkh0VDJabDNrbG5mZVJuMW0zUEo5ckRrODdsMCtGTmJTVWc2RHkvVWNFT3RJL3ZJWFAra0tpbnNlSTNNenozdWtRcjhqZXpUbjZheXVndEYwTXpvTkJGZ05TWnlZbm1CQmJ2aGVKYmJCWU5BZ0h3ZkRCZTdpWmg4QkhIUlBEaWJJV0tLb0JKL0tHQVArUUpVVFBLa1daRE01S0pTak4wblIybmlqMHU5N00yRWlnTERxZ3N1UHI1czNmTzdlbDVzODZRUUNVMDUwdFJ4Y1VQTnBqblR6eTlOOGVYNEdRdVRtYzNZdUx0b1VIaXVjczFqMjdZTnJZOVdXTjIyakZ4RFFmbVViYTF6K3FQK2dNN3R4Ly8wdTJWLzlScjRxeVR1U2NqNjgxQnR0RW9qVTRtQldrNm1pd1d6SWs0aWdTNFh1RmxYbmlzMzZJZkxIS0ZBUUtOSmwya1RJY3Nnd1hjTWRlWkFCUnFYRXJESEliaEszMHFmT0NOSEZtNThaUFdhcHdZMlBGN1pjZ2hQK1U0NnZIVkt3d1hOemYzMWRWdGF1U2REcFI0SE52N3JuZWx6bGordytmejdlMVoxWC9iYkIzSGtUZjNJdFJXOURUTTMxbGV1blQ1alhSV1YxMmRBQ3cveWNxQzVqd0V3WjRoUFNTSUFIbllCSXZkRElHQzdPYURHMXlMYmtTT2FMcDlDZ3hQT2RWTDA2RURwZm11WVYraExpQW5laEJ6U3kzN2hFcVNGMnJBamtNL2ptNldRN0N1WU80a28wbEorL0w5MnV5dk5xR2YvZkpEWXhMc1E4VmowRnVpV0JQYmdBQWhVZzZaSHAxZ0VRQWZFTVlNSU9JYnZFMm5rRU9USXdYR3E2ZWZsT1owSTVkWGtWVWRLbkxuT25JQVBicEVCVHNBKzNnbkkySHp5bklzWkp3L21yVi8yTEoyemJQUDZKN2R1ZlhMOTVxVnp1bnArdWE2K3Q3SnlaVzN0eXNySzN2clpteHNhTnMrV3Q5elFvaU5kSFlOWk9UZXRXSHZQOHVYM3JGMXhVMDdXWUVmWGtVV0g4K2RYbHM0dktwcGZXamsvWCtMTGUrdnJWMVJVcktpdjd5MG51dmI4NkpjY0N6UXJ1bWJDREFjRWN5QUNqZ0Y2ZVQ2bWEwcjRCM3JINmxvZ0VKWjFqV0EvaGhNRll2NFZlYmppek9rbDh3cFJMT201N3h5Z2NsaUgzWEdWazNWc050VTNib2hxbHZUR20zbzhYdWNPeXpvbTZ4dk1sbUlWOWw3QUpRNFM0emtWclFTSmo0YXNBRk1IWm9UWVkzUVlNNnlwRk1EUUdLK3VPZEM0dzR6OTVsYmdqUHJIYkk3RG1wSEx4MEFjbU1NVjB2c1FBTWtjM0NnbkdyYkxVWjJGdU02c2prOElndzl5TzIwV09nTit3Z3pNRTdDZk9va3JFekZnNGt5a1V4UHg0RTYwblhOeHFTaWQ0RUc5aGxoVU04RjBxSk11SE1JSTNPSE1wR0JUV1N6UVlnVzdoN0dzcHBoOXplUzFKV1dQOURCM1pDZlpBQW9QL3l2ZFprdG50VnhxYnByWmE1R2VsWjYxZU0xcHVUcThNeWt6UFQwekNlOGtPdlVyWE0zNTJMbFVGb0J1MVBYSXRTQUVrTVVpdWl6WlRialNwc2dqM1dxbThGU1lBRS9OWndhcnZvUjlkcTRhTXFUTkNSQVdxSHdZK05DbThzR2N6TVJBZDJjY2REdkRLdWdXNGtzbVdxd0dBY3hWQWRYRC83SlFiakIzalBUSTNHQzF6Q0NsV3Rxcm8vekFVL0ZVbVIvU1hzSUhhZlJiOW1YSWZjT1FNVjBjMVdWZ0JodkFCVExLRW00bzV1Y2c0aUorRjNGMzFOZ0NMY1R3dUY1d01YNE9IR0pnM0VBWWc0aHU5U1VPNjR4YXNpRHZ5U3JMaWhUbXcwK0dBbm5aMUM1bDM1T01hVllXS20vQTljd2tjR1BjMHUrN3grYk4yTC9Cd05jMXNBWW0yVFNqZlZuKzZxVzdGeE1ubW1TNCtXbFRlWGxkSGZ4eHA5dXVXYlp3ZTFmKzlVVkZMMXZTUktlM3VyRzRhVW13a3pqVjNWYUhwdXZILzNMNSt1bnFBckVTQnBXTXJ1VU9jdVZvRGxxTXVxS0xNK3lNanRGaFZrZmdGdUlobEEvcXNRWnhqSWJyUTB3UzFyR01yaytMSVdWREFvc0Flb2tpMzBrQkdCSjVzYU9wQ2FHbXhVMkw1cmJERFdlSFMwTEJnbEFnWk5DNDQwdGlvWENDSHlxeEsyRWRMTXhxc1ZFY1JtTzc0cC9LNldsMU9ZQmNaQTZVVXNkc2s1MVh5TS9tLzJYWHpNRjVVNWJaSThzYmlqc0tGaDVjc0RESEk2UW1wMXJzWEl1WTVXOWEyUFBJd0JVZjdWenkwUFlaKzhvMHJOUEFwNVhmM0hINzU5dHZ4N1lIYXhkVUJkekZpeUpaQWE3OHdIZDNiRDI1Y21yRHRHbmxxMmQyL1diL3FnYTlLS1licFg5enBPY1VIaHJZODl6YUd5WHA5c0ZuMWxoTVRMNVo1OUNsT2ZmKzg3NFhjYzJqMHRMT0E3TUtDN3F1bWxwUUttTUdTSlc0RnlITzVxTmlWQmt0UTFyd08xcDJMUkpGVGJjT2F6UytGb0ZqV0xMMEFtQUMrNGtUS2lxRTBia0V5NWtDRWIrZU1NMW14K05RWE5ncmpqc2lSMXV3UnBIMXNzd3ZpcE53YngwRmRiZVI3ZjY1a21QZUFQMStnbXdyY2ROVE5CUFpGSHdLWC9Fa1JGL2ZjRWcxMGIvL1BaYU9IQ0xiSzBiK3pMamt0ZTUyb0djbTBPTUdWUzVFZGRGcUFZdHlaQkl4SjRJckFVOEM2STVnQTBGSmMrVk1xVEEvSnlzYzlFSytoSnplUUsxV05ZRllFRmJwTUtsMHNDb2NoNlFmZHZ4ZTV2dTc1ODJJcnQreTVJRkxSbDRqazcva0VrckM2YzkrZThHRlc3ZjlGbXUzNy90UkFoVGFma052ODdhZzcrWk5mVWZteHFtUWhKN0ZTNWNQYjFqZis1YnNneTRFRERRRFltd0ptaGFORm1DQWN6UXFJSlloRUlmdkZRRm15RWxTZkIvU2VXTFkyUnhCckNXb09CVDJoNEpCRFlIY2tPUEppeEpVZFZYVU1GWjFsWVMxUkY1NjUxSjh4SExyZGkwNy83NWxpKzg4ZitXampTYklrYzJlWlI5c3ZmWEwzWHYrZXZQeWd5VytiRzdJN1pkT0VkT2R2bmxhL3p2WFh2dDJmM1dGTWV5MnUyMVRwcEpNOW5Gc3Z5VmFVNjNpVkNLanJTQ2pOT0I4YmpSTGxvbEFaY0tOa1luZjYwaUhVVFp2b0Z5a1VFRk9xeWVUaEl3UWN1RW1mOSs3OSsvSHBHekMrYzJiS2YvZisvMlRGeDN2NlRsK0VhalJkZEkvVHAyUy9ubGRuTzAvZnRiMzVxRkRiNjZYZVU3bTFneHpxMEVIbTQ3cndOdVdJNEFtRE5lZmhQVmFEZGIzZzd2UjZnVXRXQWlDSkVIVEo4OGVrY21UWlhnMTlYWkVLOG1GSWljTTBpdTFlczNnVDd5ME0ycURuUnBVWFFGYUZmU2JVb09RTlpVWjVCcVZ5VElKL1NWeEordzFLZW13SXV6WUVTNEhZT3p3SHNLUU5XdklsbDBQQjBDNkkxOWl4cE9WNVNGL2tzVGsrckx4UXlEUDl4SU56Qk9VaUhpZmxLN3BJcC9TaTJUYkphMzdERVFxODJ3aDhLd2NYU3J6ckJBc0VVSlBQOGlhNE4rMW9MV2N3SExna0RIV2RldXhUdWRySVZtaTJBMSt4aS9LNjk2a1RFblh2WC9TSlJDMmdFbmxLRkpVQUk0b2xiSXBLYzRpbWZEU2NhendtOGI1cEJnSHVTcUZGMUtNRlY5UW9DQ1I3V1UwKzJTdklEbUE5QjJoL1NWcFlBd25kb3gxU0xJdXJWRHFsclZvVG5SV0pjWWlRWFlRc0RnQ2FEaDFiVi9EMEJVQnlEcGord3lqTHUvRDRWcFVFd29HSWo0d1l4MzF0Wk9hY1VWWlhCbG9XbTJhMUtBNWF0QlRkaTNhZEg5UDEzMGJIOTd4TDJvaEQ1SnRabUR1dTl0dS9YcnYvcStQTEwraFdESHJQeEw2YXBlWHlXWmQ5ZWNZWGpwZGJDa3NQb3J0ajUvQ2FiZlVWQlJUNDVaMVlRZm93alRpczVBZWNWalByVTNTYVNDRWFMdU5Ca2FyOWJXSVBFdldVc0hrNmNvT1hEY05UYW1ycWE2cUxDOHBWT0tLTjVBY0w4cE9FSnYzaklKVXFmZkdSZHNOdERVMjB0RHlNdGt1bFl4TDQ5L2tNN2lhbnNIL3ZWVCtKaWZld3h0VWN2RVJhZDFZRVZNbVhJTXZvT0xHNkZXZ213TzZQU2c3R3VJQUtQTGRaQW5MMXdLVVlvSmFGVW85eUVWWFFaVDFZcnBVN0MwWnV6S243ckJ2dzF4R0ViWlFUWnhLWjJZWlJSUzYzalIraGpIRncrZ0MwTHZMWVM1QnNqcGpKMnVEelNScUFISWVUSndaSWtrcEtYK1FvQTZEL2Y1QTJCK2ZHRkVocGI1Z1VzeUlBcC9ZOUxnK21NaHJiN3pVUHhSTklWbzEvK0RlQzZYNzZld2VsV2MzVXZMd294MHpVek94aTlyS2QwMWJCNWpqY2ZzZ3VuSTN6SE1lc1k4NW1JT1pNR1Q5REFPT3cxeWZYdEVhUTVLaU5Rekp5QVNzTENuQlpSMHRUYk5uVFlzQ1F3TlprY3JpZ0RHdU1sakdhK1MvTFZieklqWGtBaHlteUMwWm4xT0hZb2lGVWxvbkxkT2s3RzMxRkRvNWIwcTQxRWtJbmJ0NlZyclBIcktuelM3SWFYVzc2VktWdERnaDlLeVExZXFVckdUVGxmV2M4L0NxckZWTnVnV3VSdkwxUU1taXV2bGVYOER0Y2tudlRLSms4L0NEWTNsRzRsTUFsWUNiaGJRRU1QNGdvSHNrZEVNT0lzZ1JOTDd1QnVOOEVEejhwb0FDQVJUamlQdkZDZFF6SDhCVS94dC9MUzk4eUJIalRrb1prNk1xSFo1TkJYckJSSjhIWG9CN0NPWVhKZlpmNjdHekhLTG9pMVNGQmpXWXlGT3ZPNE1YaUtMNnFuSWl6QUN4a0tTNE1GUEhTVW92cjkyRTllTlJaNnhCZ3piandDZnR3aWpKS0kvYit5YmJHNGJjUUNEWDhLWjFVL3hvZVhveCtYZzd6U244OFNOOTBkc1RyS3QwNUdWQ01sTTkvT1pZRWFXWVJtNW5lcjJFOXBtSzNaV2gzbE81QmxLc1VESTJCK2d1a1JENGQxbEVESU43aVdNQTAzTkVQUlBQVWxUZ2I1R05zek5xb3NXelVvSURJZ0YvUUFrRE1STU5uekd3VVViZ1V0TVlSYTRLaHNvOEk5OXoxOFRSOTdRV3N2MlR6YUhCNzNNRGlibzZySE5rVnJDM0Q3ODZsbXFqY2ZnNDh5a1ZPNE1XQTkxYi96L1VTVmptNjcxN3Y3NzFWcnJkZUY4WEJDeDV5dzNkSW4zNStPUFNsMGRKQUNMbzhyQWNuL3JmdnZiYWQvcFZqTGtZWk9GRk9hZ3NXZ0xRQzJFQnJSVko0UjN3LzBUUG5KTVY4TUZvRC9IT0lhMWFYakRpM0RQN2lWZ0N3Rlk4dTNMbHMvdisrZzExMUg5SXNCai9YOTg5Y1BEUVZlOXlkeTEvWU11V1h5NlQzaHZMeDVHYmRtMjVnSUNleGRJM2xJZFZhRFlhaXFhV1lDVGFBQklXWXNpK21uV1l3VTFOeHdPZ1NtRmlTU3dtV1M1QkVleHFrcVFKdlZxNjVnN1FTQzIxT1pxT2gyQjRFTEFtd2lKa3dHZStUQU02bUlONGxyOTg0bURFOGd6Yk4yWndaMmZVWGwyTlVQWHM2c2FwVVpod1pYRXczKzhQNmFtRFVRUWFGdVhpcnBKZjJCSnlZK3ArNDFYZXM0cmVtWFpwUjF0bVZlNk1jRlpMcmxhWDdFa3kyYXJYbG1iVUJEV1JHVm5uYnhNMVhuK0c5dEZiSG9heG0rN3Q2cnAzazd6bGhtNlEvbm5paEhUNkJtWi9wa2Fibk9FUjBpd3VXMFpLYmtBak1ucGRNVnZnU3pmcTM2akcvdCtld0VrM0hGNy82cFZYdnRyWFI3YnJZemtLaVUyMWFEcHFpTmFDazlLQUg5UEFHUTNUcDZWQVZFZHJCRHpMcUIxMU5EdWVQcldoRHE2cUpucVVIYW5YeHlzNnREdkpsaGlPUW1vOE9xdVNaY282SnB4Y2R2alN5cUFueitGTVZzSlBZKzI4c0MzVEhjeHd6Nis1Z2pwcWFXTkMzdm5EVjY5ajR4VTcvcDI3YS82UjFmMjN1V3pGMlIwMWRVNGFkQnFhOHhxbnpnN2s1RXI3eG1ua0Y2LzA5TW0rL0RhdzYyemFkOWNSYloyRnNlREZERS9pTXhaNmdZMVU0OEJ4eGZaSlZZRUY3NVhkZ2tpSm5PNVN4MDU3N2txSzhuTkRBWS9MSDlUU1ZUT2xxNHNHWTlLZElnZnIrUEtMVmFtZ1J4SnJYeks3MUFZdkJkV3lmd0JVR3pJV1BiUnA0MEJPMkwrOGJlSHE0bFZiVmp4MythcjdHK1NPcnR6azdKTjdCNjlzcUEwdGFaMjdxYkM5YytVald4YmZYUzFqM00vOTdveXU3alVMc3lzdFpudXl5VzdKUHJSejNiSEZzMmUyRW8rUDgvenVuSzA3Tm5ZMXRHV1lyQ2twVG10Zys2cTFSenFtVjlmSitTeEdsNEN1ekFWZHlVYVJhTEdBbFE0ZXNsNmlGcExpUHAwRzVXd1U5cHRvMnFKVWttTGRBcE1nM1RnYnZGd1p6VktrMC85SkhjMUJzdjFQNmJRY3Fka2xORDNaVHlkZGxnZ01wZGZwc1FFMVJxdHhLcC8yTjlEbEhiWWJoRWdMSnFTZkxBWUs4MUV1b01JSS9NVktYaW9zTEpzQWwrUjFzYkd4cHY2RFYxLzlvRjRPS0JRVzdUbHdZTS9teEFBenN2SDNiNzMxZSthZ090MlJQVWN2di93b3MwdkIxVHFZSzFtZkNwTzV1a21OdjVsWFpneHBPWjJ4T3Rrd0N2cm9YQk9namdJVThMaTVhdVBRN2g2WVM0dDAxRkNhbDF1YUpOM2FUT2QySWRsZWcwdHcyU3I2dlZVSmhpbCt0OGZIZnFQT2RmaHFkcXM4ejlGdllaN3YwdnBpNytPNUFRT0xCUkw4MCtYZ3o4SjhPUkxmSWY5cWdjUXUyTUtvd2Q4TmtZblVUd2ZIalZJR3lMRS9na29DUkF4all6L3RiNklOeHFUTGFSeUZEcXgwSk1jSUhTSXc1eW8rTzJ1dVplZ3A2N3h3TnJlUFloNU04ZXJCVlU4YnF6UDl3bFByZG93Si95a0IxeFJteHNoVFU5eitCTG8vWnBvTExaYVJCMW12alB3d0tvRzUzMEx6dm1pMHJqbzdUZVNJcUhSYUVZalNkQ2ZwR1hrcFVZWjgvTmpFcjZvaUFvS2ovdzF4MEtjZEQrN1k4UWUwZUFMUlk1SytLZExyZUVsMUhPVnNHSlYrbkVlLzBxN2NlcnhNZW5WR25BV2RILzJ4bG40clVtQjZxK1NKNVg4YnBCZ2d4My9HeDJQZy9DVmNHOHU3YW9FSDF3TVBTbEJGTkFJc1lBa0xSQ0NhNUZ3ZzEwblN3UkpVcEpLZUlObUowZUFzbEJLRU8xMjYreFBxRXU2bDdjYlN2VE5sdGFWOWVqOE1UMGtrYStUMzBxMHhVbFl4aFRGUzF1S2pjUngvSDlEaVYzUElTUm8wMUJ3eTNxQ2g1SkRXTXI5VnpTRkZQQ0hUaUZWYlpZL0dqcmgwSTMyTVJlbklZSHd1STNOSTBpbEYxeitSR2FjYmg5dXhnZVliRDVPWjJxenNBOTlUaDFhbjlCdk5rVTZ5YS9pbHlFNXliNUlSa2Y1dlR1N3Y1K0w5L1REV2pteUJzZ2dwQVhNeC9wcGliQ1dwT0R1YjZBZE4yekJWR21rSXozcUc5Rmg3Z29JM1NGdXVmN2lJOGdpdmdkL2RRMzgzS3hva3Y4Y0F0Rm9iYjgyS3RWRFprUldTTUtYeWJKbzAxVjhkLzlsWjBwRDg4L3hTVC9EN2orWGY1SzhrVzFrMlgrQnYyVThoTHJ0UTFpUENxdWxSbHhFU0NFanlnV3pFN0NOVnN3dGhuQXM1dytrY2hOcEhCTUF3a0FiUU9wVWc1MDFLMTZMU1o4SHNjZXR3UkhEYXpQWlVsL0MzdndtdVZMdlo1aFJ3Uk9kMmNrUG0xSkZIZEhxVFF4UU5TZmhQVW1hU1FSUWRKa2pqMmxMTk1KL1JUNlVkM0JlakhES2dURG9mNjNnV0JBT01NZzl1YkYzdUk3MCs2Y2VjSk5oeTd3NW41T1Jra0QvSzJ5ck95T2J5KzVFSnBkTjdHcEhhM3BWbVVXK0dsTHBqTUZaeFkzUFRiR2xHczNTVnplMzFwWnJ4VW01amFyb2pYZmVCSWNNVnpqYU15dXZQKzBuOFkwK2dBbFNOUG0wNjdnSW5uZXpFR3JhaUhOQmRDc3lhYlhhTU9TTENFYVVMT0J2eEhPa1hHVVFzb0dMRWF2b1E2ZDhsaURDM1JTUjA5ekl5RkhUSWR5NDk5d1ZBcnAvdXFrMFpqbWp4MmE1Q3NZc0E4S3ZYRUZoZVdJaFFZWFZoVlZrcDBKYnZEd1FEa1loZVhmcFBoSjJ4bmdKZ0dpM3FDYkZ1TUtYNzEwYVdGQWtRRHowOTFVL1VNVHBsbVhIdWMrZXQvdG5pVDA3ZWZzT0dnYVk3WjV1TVhwcytPUCtGM3VmM3JlNTY1WTdwdDdheEozNXhqOVRmUnR6SWxJYkcxaG1YZGQxMmMrbUMzcTZjb0xZb0xjV2ZtbGNvY1cwTFozZmNzOEZtbDJVUkJGbTA4Sm5nT3NyUUo2ZFNJRFVSMWF6Wmo5UmNMZEJDT3FCcGFwUGJJdEQwVWcyZ2NqTmcvcG1IeXM1V3VRcXBGNUVHN1Z3WWp6aGdkTjlQdUNTYVBkbG9GQnNNVVYwZDJ3bWlzSVZDQ0lYS1FwR0NQT0lWd2ZwRDRPRGxGdEV4SFVPS1JNWW03ZU5iYlBBMDE2VlA3M2hwOCthWGRxeTR0OEhsdTUydVBkRlYvR2R3K29HMnRnT2RuWVBUcGcxMjhwbUFBSXZ2MmZiQjRjTWZiRnM4dDEzMjdGd0s5ZnRTKzVGMTY0NjBMeml5Y3VXUkJjUXVkd1B2WFdBSFo2MHY1U2JVbDNMLzEvV2xjY0Q5WDNRNU9ycTdzK2ZJd281RFBVc2ZuR1UxdTlLVE05dmY3Ny91ZzRzditlQ2F6aHNqdm16MmhMb1FYYmM4c3ZDV250NmpDNnZLVTdMVDdYNTc3ZlJkSDE1MTFZZTdwdFRXRWpUT1VKb094ZlRKbWN5Z00rb1RlUktGSlJJZmE3U1Q2VlBpMEc1cWVVS2l1U2JxRTh0emEzL0NKWW8ralJ1TllvTkJuK0tXUFVHZmZLRmd4Sy9xVTZ5TlAxU0h4OVNzejZoUDdHY3Uya2tIZXRSdzd3cFpzWjYrbEs1WWZDKzVxQ1oxVXEwaSt2VGpBekpDYUorN1dOYXJlL0FCV1o5a1RaSzFpdkQrSVBCK0d1aFRKa0J4eUpuVjFVbkV3MGtlMGI1QXJwZXN3T1MyMEo0RlJKL044a0pVODRhOW9ZQWZMdlNFL1Q1SWlqSkl6bXdua2VLTUttVEVvcGVRZ3Q3Y3FBSGtrQ2ZlZGVQU1I2ZWJqSDZiTnEvbDM5YmYvTzdtUy81d1lQdlAwNW1WMXB2M3NDZTIvWGEvejNuajBjS3d0c3hxeXJLRmk3YStmOU4xSHc3Y3NIUFRCUU5LRHl1M2hBK2lVblRSWTREUnRHcWJjYmI2UUlZR015SnA3MlFod0dOdHJ3NXJ0UUVRS2RFVEpELzJFUTJyWStFazNGS0wrK0lYSlk2a2oyekFMNVVvRFpGK201N0FYclVIUGd6KzJJWGprT1FNSzN2VWdPNjlySWcxQnZTRzNSdC9nNWRRdUhLdi9FbWFXMTIrbCtuaTVzdEQ5L0hCVW5PUlBybUtMLzZQalZSNEw2bXdqNkg0ZGZzOVE3SS8zaTJ0NFE2QkRBdFJBOVpGOVVFR0NFaWp5L0t5RWVVaVVGbWU1UVoxR3RKbzNLc1ZHTm9zSllycXN5bEtiMkUrdFlzQXJhQW1YcUlHTWZuNmJuUzJxNGxWUmRTcmtZaDRWdVQ3em55WGhHc2hnSTYvTExhR1JiVnY0alhFek94RlJRZ1ZOUlRWVjViVFZ1T0FQUkFva3lPb1hWbE9WWExkU1ZwejY5U25hQ1pwWExzaDdyWlhQNysvNTZVRllZMDVyTmUzUHRCMjFkVTdYcEF0c0MzQjhOZ1RNZTg5L05aRjl5L3hlb3pobExRS3pwbTV0LysxV3pmOTd1cXJmN2ZwY05zMVhWM1h0TTI1cHFmbm1qbEVoOEY5Y1B2Qjk5V2dEVVNIT1ZXSEEwaWowWGJMR3F1MkgrYU9YMzkzUkgxRWJUVklTN0hHNUlOa3phMUJWZkpDZENRUTFDczFWNlZUZEVMaUVwR2ZQanJqK2pUdWRVMjVmMlhYNVkxejQ0blowcm50Q3c0dFhoby9NSmZ1bjZUUnpkaTd0dTN3U3NrWlMySCt2WFBkaWdmV1M1K29CK1JvaDBaSHFVM1A1dWVsK05CYWhGSVl0SWFEeWNQeFo2VTE3SDU2ZkRWOTBuUU5lcEhpNm1rSy94clF0cWkyTGkvWnlHRlI1V0VRMUZQb0JxOHNCd1JOTi9BMDJLTFhjUXhwVStzbXo3L1FxcitmdENOcEJMN3ZMS1BrMm5VRHFxK3RqaEFIQUlsOWhGUTdBbVBUWGRGNjVrVjlxMm5pa2tZcHR6N0dzY1lmVDgyT045TnMya3UyNzROWDJUa3JuaGpXU08vajl1cFlaei9PdWVPcXNUejBCSWUvd08yeC9IQkVrdk1lOUFqd3FRSDQ1RUN6Wk9iWXdaTnozZVJabjBBTEV3dDRCRFZaNFNBcDViTnJFNC9MandNNVVEcWhYWDRjeUhyR0tpaHpwd3ZUQkhiNEcvblpHT2xyK3JrdU1UakZ4RTd5a1dHWTMrZmd3OXJSS2VwRFRqVk9aY0JOTkR2b2pnYXJXTjZqSVE5TGFIdHBRU3JZWWtnU2VZNWhVTGRBbG5UbE5YVGlnWExvTUYwdmFVTEliWkd2NlVhVFh4RU5rNFZnZFN5MXU4bEhnck5KZzhtMm83YW0yVE9uTjlRU2d3cVMvMFpWRVNnc0hHYy9reDJiVEQxYzhvUG85bkxGS0xuWGdHTTMrbHo1SllYdGhmUVJwT3VWTHhHcUpaOVNLNk1tQ0tOeUw1NDVmWTI1ODVxYVpSWDFpbm93N1RObUxQclpTdW01U2I5Q0ZMbGEzbHU1dkh0cDUyTTFBNHRIUHBGMWhmaWtHMEFXTmVodXlzM0hLc2thUXJPRGZJb3hTVGhKaDdTbVY2ZGxpTDJNNnpoVHhCQWlZK1RBU3hJbkdDOWIxL2pSNE83aTQxRE1DTWNONjFSZFdYVkU5V1hVbGYxUGZKakNiN2JrSEY2TUF2YVRQdGZVUjlhd0o4N3V4RlIrWHJ6bWZEa3VYd2JZcWhINE9LSEdsbnV1R3R2Wm45aGx2djV3NTg0UHI3eVNibnNQdGJjZjZwVzM3SWtkSHgwNDhORU9lWHQ0d2RFVks0NHVrTGMwYjRPY3Z3WG1rNDJxMEdPblFscEc1RlNjRFlrT1F4NVYxWktVSVJnclNtWEgxNzdDc2VoZVNNY21SSE1GSlozeHNtamVtRUIranVFa3BPZmtJSlJUbFZOWlVnU1R6U0xTOXNtMUtwVXg0WE1KZG54dEtsMEJ6QS9FeS8xckV2RDB5b1NFRElDbmpKbWxiZU45SytEcHcyTXpNaGwvN2VEdWkvSFZRK0JYSWw4bmdWelo4ZXBDbUUzazY5bXgxcmpMeHZIMUhNTW44dFZIQXRta1VHazhjMzhTU0ZvVForMERhdXA3Qm56MFkyeFpHaDlRTXQvRFl6TVQ0b2ZJTTB0emdhOUY2TUtvRGxSRXlDT0xaUXBudlNpaFpxUFVzNEpqaWpZT0FMNkpkUjM2SEZkdUN4M2ZqY2FQN295Q0hjSlBGY3EreGFhVm44aU93M3NqamdQOFNaV09LV1UvbjU2bHRRYVREY1dWUzA1dHd4MFUxTk8xK1dPN3lmWU5uNnZvaWx1YTJCTlphU0Z6V3BYR3NmTjMyMTRjN3o1K3MvaXlScG4raytBL01vRCtabExMYTV5a2xwZWJVTXZMUFVzdHJ4azF6WnhlV3Z3L3FlWEZYOUp3dG1MZWIraUxHWEx2M3RXN0lUdkx1MmhHNzBWbDdaMWREMTl5L3QxMXNkY3pCSDV4OWRZZGVkbitycG5MZDVYUjF6VDAvcnhhWGlnZ2IyV1lPMjFHZldhV1FaOGs2bE5UWFJ1WExOay9wN1l1L2xxR25zWHpaL3J5alBwa1VXZXp5aTlucUk3a2svVURqTFlSUDhzTm9YeTY3ZzFrWTVZWkZPaXpiU3g5dGsxcDBFdFlCY2xIZVFGL21Ed0VyRmJ6NGc4QjJ5WTAySmJGQkUwV252RS9mUGhuVk5kWHQ2MllkbmlHMGVSTE0zaGJuNS8zcTJPdms4T3ZLMjE0dEM5SU90eS92anhmVjVDUm1ta3BibmprT0I2Z1dwK24xaUViWWU0WHM3ZENabm50WThrMHpNcnFuVUZXc2poUzRlTzRZQXMvYnIyRHVJdkF4Qkh5TWdRL1pzM0NOMlpZd21LRi9FUzBzZ3laUXBQYllobk94SGd5eVNyRkdEeXJkTXJIanJHL2lhMVJRTHhVRTRSZitsdzByRjVMdm56RzN1b0pqaFFSSnJpREEydk9oNUNLUDVVVmYrUXZOS0JpZDZ3K1JkNnZBYnc1VXgweCtMK3RJKzZFQ1RWSXp4Z3Jpb3ZLa3FYbjYrUHRYNFBZaEMyTDVMNUNscFplUnV6a1ZTSE1sN0dhNTFiWllOVTZJc3l6SEZWSEsvSkRSbHBJbkxSR0dDc2l5bjJ3L2dETU9UU3hRS2l1OWs5V0lxU3JST05LaEdtLzFvVkR1Y1ZKUjMrV1ZKb2JDbWxmTU5PWmg4aDIrL1gzaVNGUGcvSGV3NnZwUWJOS1RzRGw4ZUVUVXF2UDR3b2trUFVrL3AwMUkwdktabWJHYW1RellmNlhBMzFucVJNRy81ZDFRdjA1NjRUMmluRjF3dmZ3bEZKcWhiOGcyNTV2dm02THQ0YVY0Qm5TKzdQaVpjTG1kLzY5UXE2bnlkUkxyMGdQeGlJUUkwbXgvUVc0UXQzLy9QT1lIa3FycVI0V2tGNkJvSVUyaVFtS1dGVzdJdDFob0kzNVZMUUZLTTlIQVdwaUNSNGJHZnE4WEVVOVUzRU9uYXlYMWs3WjhiTk4vbEJaejVidUdkTEJoa1RGek1DR3prVEZISDV5MzVGWkhBNFdUbUg1OHIwSG1MZGlvbnlMS1luSjhBUk1OZ05vQ0tJYjVINXZ2MXdnN0k4LzUwM0xnOEV4ejNuTHoyOEc0a1BIbEJLRDUzNG1mT0s0VHZtaDhFbktqaE1mQ1IvN2tPYy9YTWtqdCtIUGxMS2pqWlFkVjBwVlN0bnhEY0lNbDJsaytRTTBaQkFPdUpPWnUyNGszLzVENGNFajBrbjJqL3hTU0NEV1JYWGxrT1FhNkxQZmNqN3NpRDN5VFJaQW1kVjBCWjNNbnJ6SUkrb2xyNVJBSEkvNjRzTkE1T1RCTXVKRk1kTVJ5MDJLQzNPek05MFphUUV4OW9RYllBY1B0Z21pbFVUWFpDeVhhbXhLVFRYU2dPVm53dVUza3NGK0lhYTc3QXNnNWZVRHhSekxiOXE5YXd2VzRMM1VoYjcyTWFObkxyK2U3QjY0RFBQTVI2L3pTMG1oc1hyN3FzYUxqMFYwd2VzMjJ2UURodlRkVzhuUlJ4LzFtN2M3azdac0lWOTJiYlhvNXJnTlEyVGhFRE1PNlJqekNOK1BES2pncDcyZklmNGlDR3RDaXd0em5VOE84bnkvMi8vOWc0VGp3ancxdnYxZE9zazVLTTlYUjNWNWNEOHJoZ0FkNHprTVljbExwK1FISjVINlJwNGNUdVU1cmQ3RWh3RmU2MFR5bTg1WXd2TmttZWZsa1VCMklGdVVWeVhHY1JqMlBUakc3RVFPazJJWk1MOUFOVDc4M1VjTWp5ODdRSFB0eTRISkg5TW5ncTdkQzZ6ZnNtdjNKcDdsaWdmV2swUDgwcUVoZzN1T3pySjFGMkhybGkxSnp1MW0vNk9Qa2k5YmQ2Y2JCdlMyamRjRmRaRmpGemV1Mmw0dFY0RXh1Z2sveUpVekg0UHVOOVA2NkJRRHNEY1RsSWxnT3A0ODd6Y0lKc1NBVGc2U1J5dFFKMkVBcVNnU0JoQ1NFWDE5U1JBRmZJR3dqM1o5SzNWaStqVEJHTWd5cG1PUEZBanhoNnVqMVkzaEJUTlRiRFpycGxoNFJXdjFxcW1WYzBJSkI1aVBjN0o4bWZOVFRXbE9vNzY1S3lmTDY0MTlJWG5PdDh5VmJFanBHYTJnRk9SeHBBTEZBdUFpZlllSTZWVHlXZ1oxVEpMVzBzbWVJN1ZkY21sVDA2WE56WFFibmhhTy9lZUdZb2RodXoveEZMQ0VHLzF4MU1mOUhuVFpoUXBSSytwQW0rajhWbm1BdysyWTAwN0ZnbzV0dG1vWlpnNTVDOHcrWURhL0QzRmFuWmJURFpJbkRwRVdvN1ZJeTRuYVRzQ2dyRTZEQlZFbjlDR3RWbHlCUkswNHQ2MnRxS2l0bzYyanFMV29aVTZqM3g5S1M4L3orNHJKMGcrbGl6aXRzZ2dneEhpYnBOeEZRVGFCTVMvb0lvSXlLeTlTVUo5N29ScFlvYnlMMEZUcVQyVVprOFVxVGN2SitkVTF4aVI3c3NIK285YVFiTG5UYW1HYWpjUHJSYTNkYWpTeU41SFBqUmFMcFN2RDdYWklMMXZTQlEydVMvWllYZmxkYi9BZk1TK2xsMFh3RzNORXB6WFpvdC9ObTAwanYwNTMxRnRTTlNPLzVad1dzMW5MRkhQT0VXZWEwNWwrRk81aU9lck5URTdWNDRGVXM4TWlYWTExMHJlZ2lNRGJMTzUxaGJmTDBDamxiTElISkQ4ZGN5SWpjMVZHclRWeDVtcmduRjdrOU9SUktwMU92em1CeVVqa3RHSWYwZ21DYmhIUzZZUWVKT2lFZGdYVzFwN2hGcUpldCt2Yzk0aE9UUlN2cUJFNXpTRFM2RVdOZnRkUHZna3AzUlVWRlMwcld0cEpFdGJzY2xuU2h2K3hwQ0drMFVzcWdzbzdUb1N4THptaGppcFpEb0EvV2Vvck1ySWxmMVlHdGhYbFRxMFB6SFNCQW1TWWluZlhiZG85ZGVZcjJKRGhubHo0bThjSmYvZ1dxM1ZuZm0ybS9jdXM2ZG5GVmFia2hUYXIxWFpKbXQ0YjJMb2l1cjdxbmlsV0s5Z1hzbEQ3dWdDY2JRczZIMjFDMzFFdHlDakFBZzhPZ0pzQ1NWY0tCTTVOV0d0Y0RZd1d3TU9uZ2pSYjFSZXJhTEQ2WmhXdFVXZlU2Z1pKaHdZdmlIdzhvSUlETVRLb3o0U04yaVJqWnpMV0diQStTYWNuQjR4SksxQ1NNV211SXpvLzlxWVdEWUFORFFFYjVMYTdKcjJ0NWlmZXRqTWFhQVhjdG5GRDYvbXQ1NjNzWGI2MGM5RzhqbGt6Nit0SWJBa0VTaU1CZTQ0WmtGek1nZEhuUzRVenZPaGw4dmU4RUVHakNlL3FNeWRrV1pQNEFyWTBGUy9kVkx1OG91Nkt5K3AyRktlS1JvZW96ZW5KYjVyYk5pY3ZZRFo3WnpiT21US3Rrc3ErNk9JYVZrY1ZKSzRveHZ3dXl5VGVZZlFQUEg5QlNWZjFxdExVZWZVcnR6Z2RPcHNoTmN6YTBpdEtLdklqYWE2aXN1S1N0RElyL0Z1YW9YVzVSdjdzTkk5Ukcra1ljUStUZUExcEdkYkpjWi9XYXdCdlpoTE1yTWNNZlJSZjBRQzE4QkNNTFlQbTAzZnFaQ0szUDJBUHFzV0Z5UmdjYjc1YTd6cjJxM25QdDNvTmFUNlRjY2JoYVN2YUpCa1dTd1FKRG04Ni9raERzU1V6TmFOQWwxKyt2cCtOeXJrYUkzSnR6Sy81ZVFCbHdsU0RsZmRuZFNhOGt5NEI2TWpoZGN6VDhzZXlzaW9xNEkrZjV3cnNDYmpvUnFsRnp3WjZIU2hNRjdOVkNoTkxLT2V1bjhTZTUzbGdYUDFraEg3TWp5ZlA4UlVqdU92L0EyQStoZng0Mm8yU1VXdmJNQlNGajl5MFl3OE5nMjB2ZlprZTAwR3RwRjJoTkt3UUFuMVpvYzFvQzN0TU0yRzdKSkVqeVErRi9xbjFSNHl4dC8yZ3dZNVVyVXZET21aajY3dlg5eHhkU3dMd0FsOGhjSDk5eHZmRUFwdmlRK0lNejBTVmVBMXZ4SmZFTGJ3V1B4T3ZZek5UaVRmd0tpc1N0N0dWM1ZFbFdzOFpmWXNPZ1FXMmhFcWNvUzArSlY3RGtWZ2tidUd0K0pGNG5UNHZFMitnazcxUDNNYTc3QlpER05TNGdVV0ZBaVU4SkhiUlJRLzdwSE5tTk1kUTFjUWF6YmZFV2VSWi9CYlk0Sm84aWVvQkt6MTFobm5IdUJOZFBXZHhPSVRpWFZBYktocGNJYWZLMEVsaHdkZ3dyem5PbDZJeGxVR3JWcnI0MDhNMlhUQTA5WTJ0aXRMTDNXNXZYNTZYV2c1Tll5dHQ1Wm10WnBwdmM2MG5YZzRhWHhyclpLZjB2bmFIU2hXVkw1dXJmR0ptYXRFWXI1dDVITVoxN1ZTeWlBN2JZWlluRndLUFpnTStNbGV3ZHNvZnNBeDEwVXpIaEQwMkc1YjNBSDJNY01GblFIcnExM1pXZmZieWJ1K2dQN29ZRGZyTHZlMDgrUDlycTFhOEhxL1BnOE5sVkRxcUREZENMbldNUzIxZFplWXlkb0gvNy9ydnJmNCtGL2Vud3ZFa0JJT2FPY2NwUXdOVGp1RWNGZngraW1PY1VNUmQ0NmE1aWExcTczSlhUWE5qQzNWNmZJSmYzMkt6S0hqYVpZclhUc0pnQUViUFgwWVJuQXpGTFc1UnNjVlpWMXdvdUFVbnFLVXhZQzhJTlFWanZOVm44N1dNcG9reDBYTnp2cHg4U0RoOGZ2RDJMY0ZmVEtkS3VIRGp3WXVNandiOEJHaWtpV1phYUtXTklDSENSR2luZ3lpZGRORk5ENzMwMGM4QU1RWVpZcGdSUmhsam5BbmlURExGTkFsbVVGQkpNc3NjOHl5d3lCSWF5Nnl3eWhycmJMREpGdHZza0dLWFBkSmsyT2VBUTQ0NDVvUlR6c2lTNDV3TExybmltaHZ5RkxqbGpudDBpaGk4QzBtNGhGdDRoRmZJSWF0YTBtc1ZvMmJxWmV2WlRwUnQ0eUg0MitvdmxwTWlkZE11L1R2S2o1WFhKMVBUZkk1VlJma1o2aGNOUnpWUUFBRUFBZi8vQUE5NDJtTmdaR0JnNEFGaUpTQm1ZbUFHd2tRR1JvWWtoaFFnTDVVaEhjaG1BY3N3QUFBbjFBSTFlTnBqWUdSZ1lPQmlDR0ZJWW1CMmNmTUpZUkJKTDByTlpsRElTU3pKWTlCaFlBSEtNdnovendCU2hjd1dZMkIyZGd4UllCRHo5ZmNCa2tIK3ZrQVNMc3VZVnBTWXpNQUJZb0V4QzFndkkxQ0VFV2dtRTlBK0JTREp4c0RIa016QXpDREVJQXF5SFVpTGc5V213TmxNRENJTVlnQzF0aE1aZU5wallHUmdZT0Jpc0dHd1kyQjJjZk1KWVJCSkwwck5acERMU1N6Slk5QmdZQUhLTXZ6L0R5U3dzWUFBQUZzYUMyc0FBQUFBQUFFQUFBQUExYVFuQ0FBQUFBRFpuSVBoQUFBQUFObjdTVWM9JykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0NvdXJpZXIgUHJpbWUnO1xyXG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBRUNvQUJJQUFBQUFkUFFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFCQWpBQUFBQndBQUFBY2lUdjBIa2RFUlVZQUFEKzRBQUFBS0FBQUFDb0Evd0UxUjFCUFV3QUFRRmdBQUFBeUFBQUFRQmFiS0poSFUxVkNBQUEvNEFBQUFIZ0FBQUNpWjRkeXhVOVRMeklBQUFJTUFBQUFUd0FBQUdCeUFwSzJZMjFoY0FBQUF4Z0FBQUN1QUFBQlVzUnRXeUpqZG5RZ0FBQUxZQUFBQUQ0QUFBQnNKN0VSVm1ad1oyMEFBQVBJQUFBRzhnQUFEaFdlTmhQT1oyRnpjQUFBUDdBQUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBTWRBQUFNSWtBQUZxNGlLNXhPR2hsWVdRQUFBR1VBQUFBTmdBQUFEWVhtaHBRYUdobFlRQUFBY3dBQUFBZ0FBQUFKQXNQQWU5b2JYUjRBQUFDWEFBQUFMb0FBQURZS3VjWlBteHZZMkVBQUF1Z0FBQUEwZ0FBQU5KWWVrSk9iV0Y0Y0FBQUFld0FBQUFnQUFBQUlBSEhBaEZ1WVcxbEFBQTlBQUFBQWNJQUFBTnYreDlxZ25CdmMzUUFBRDdFQUFBQTdBQUFBVWxrZmNUeWNISmxjQUFBQ3J3QUFBQ2lBQUFBdlZxeDN6c0FBUUFBQUFNRW13aWJpUWhmRHp6MUFCOElBQUFBQUFEWm5JUGhBQUFBQU5uN1NUVC8ydjMvQlBJRnBBQUJBQWdBQWdBQUFBQUFBSGphWTJCa1lHQnorT3ZDd01CeTV2K3QvN2RZUGpFQVJWQUFDd0NvR2djR0FBRUFBQUJvQUc0QUJRQXhBQUlBQWdBc0FGb0FqUUFBQUp3QkZRQUNBQUY0Mm1OZ1lUbkR0SWVCbFlHQjFaamxEQU1EdzB3SXpYU0dvWWxKQzhobjRPQmtnQUZtQmlRUUdCcm95TENBUVlGaEE1dkRYeGNHQnZZY1pnVUZCb2JKWUlWeldCWURLUVVHWmdCMGx3eXlBSGphSlk2aGl3SnhFSVcvQVpQWkpnZ0tna1VGbXlCY0Uvd3pWb05CT0pOZ0V4R0w4V0J0NXhvVVlTMmFCRkZrMndXRFdjd0hCeWJEMXA5UGJ4N3ZHOTdBREpNNDQ2TktuUDl0UDJ5cHNKQTdkakt6SWtkQzgrU0lnREY3WnV6b3MySE9nVFZUaTZ5bkhQTEZoYXlMcWRPbTlsWkRWMEphWW8yaytLSCtzaytUaW92ZG5Rd0ZKcGF6RXBHN1dvcFAwZ3p3R0xFU3kySkFsVy8zRUx2a05Sdm9OMCszQ3RxdXY3WloyaCsvRExtNXV4UVRLSytlTjhrOU1RQUFlTnBqWUdCZ1pvQmdHUVpHQmhEd0FmSVl3WHdXQmdNZ3pRR0VURUE2bXFHT1ljUC8vMENXQWtNc2lQWC84ZjlIL3pkQ2RZRUJJeHNEbk1zSTBzUEVnQXFBa3N3c3JHenNISnhjM0R5OGZQd0Nna0xDSXFKaTRoS1NVdEl5c25MeUNvcEt5aXFxYXVvYW1scmFPcnA2K2dhR1JzWW1wbWJtRnBaVzFqYTJkZ3oyRG81T3ppNnVidTRlbmw3ZVByNSsvZ0dCUWNFaG9XSGhFWkZSMFRHeGNmRUpEQVJCSWdOTkFRQVZUUitZQUFCNDJxMVhhMXNieHhXZTFRMk1BUU9Tc0p0MTNWSEdvaTQ3a2tuck9NUldITExMb2poS1VvRnh1K3MwN1M0Uzd2MlM5RWF2NmYyaS9KbXpvbjNxZk10UHkzdG1WZ280NEQ1OW52SkI1NTJaZCtaYzU4eENRa3NTRDZNd2xyTDNSQ3p1OXFqeTRGRkV0MXk2RVNlUDVlaGhSSVZtK3RHc21CV0RnVHB3R3cwU01ZbEFiWStGSTRMRWI1R2pTU2FQVzFUUXFxRWFMU3BxT1R3dTF1ckNENmdheUNUeHMwSXQ4TE5tTWFCQ3NIOGthVjRCQk9tUVN2MmpjYUZRd0RIVU9MemE0Tm54WXQzeHIwcEE1WStyVGhWcmlrUS9Pb3pIcTA3QktDeHBLbnBVRHlMV1I2dEJrQk5jT1pUMGNaOUthNC9HTjV5RklCeUVWQW1qQmhXYjhkNDdFY2p1S0pMVTcyTnFDMnphWkxRWnh6S3piRmgwQTFQNVNOSUdyMjh3OCtOK0pCR05VU3Bwcmg4bG1KRzhOc2ZvTnFQYmladkVjZXdpV2pRZkRFanNSU1I2VEc1ZzdQYm9HcU5ydmZUSmtoZ3c0MGxaSE1UeE1JM0o4ZUk0OXlDV1EvaWovTGhGWlMxaFFhbVp3cWVab0IvUmpQSnBWdm5JQUxZa0xhcVljQ01TY3BqTkhQaVNGOWxkMTVyUHYxUk13Z0dWMXh0WURPUklqcUFyMnlnM0VhSGRLT203NlY0Y3FiZ1JTOXA2RUdITjViamtwclJvUnRPRndCdUxnazN6TEliS1Z5Z1g1YWRVT0hoTXpnQ0cwTXg2aXk1b3lkWXV3cTJTT0pCOEFtMGxNVk9TYldQdG5CNWZXQlJCNks4M3BvVnpVWjh1cEhsN2l1UEJoQUN1SnpJY3FaU1Rhb0l0WEU0SVNSZEdUcXhFYWxXNmJWVXNuTE9kcm1PWGNEOTE3ZVNtUlcwY09sNllGOFVRV2x6VmlOZFJ4SmQwVmlpRU5FeTNXN1NrUVpXU0xnVnY4QUVBeUJBdDhXZ1BveVdUcjJVY3RHU0NJaEdEQVRUVGNwRElVU0pwR1dGcjBZcnU3VWRaYWJnZFg2ZUZRM1hVb3FydTdVYTlCM2JTYldDK2F1WnJPaE1yd2NNb1cxa0p5RWw5V3ZiNHlxRzAvT3dTL3l6aGg1eFY1S0xZN0VjWmh3LysraU5rR0dxWDFoc0syeWJZdGV1OEJUZVpaMko0MG9YOVhjeWVUdFk1S2N5RXFDckVLeUJ4Yit3NGpzbFdYWXRNRk1MOWlGYVVMME5hUlBrdEtKUWNTckdHbVFRMi9PZktGVWNzaTZyd2ZaOGpVWU1oV010cXN4NTk2TG5QSTI2cmNMYnV0ZWl5emh5V1Z4QjRscC9UV1pIbGN6b3JzWFIxVm1aNVZXY1ZscC9YMlF6TGF6cWJaZmtGblYxZzZXazFTUVJWRW9SY3lUWTU3L0sxYVpFK3NiZzZYWHpQTHJaT0xLNU5GOSszaTFJTHV1U2Q1ekQ3K20vckt6dDYwcjhHL0pPdzYzbjR4MUxCUDViWDRSL0xKdnhqdVFiL1dINFIvckc4QWY5WWZnbitzVnlIZnl6YlduWk01ZDdVVUhzbGtlaCtUaEtZM09JMnRybDROelRkOU9nbUx1WUx1Qk5kZVU1YVZicXB1TU0vaytHeTkxK2U1RHBicklSY2V2VENlbFoyNm1HRTdzaGVmdVZFZU03ajNOTHlSV1A1aXpqTmNzTFA2c1Q5UGRNV25oZXIveEw4dDMxUGJXYTNuRHI3ZWh2eGdBTm4yNDliazI2MjZDWGR2dHhwMGVaL282TENCNkMvakJTSjFhWnN5eTczQm9UMi9talVWVjAwa3dndklOb3ZucVpOeDZuWEVPRTdhR0tyZEJtMEV2cHEwOUN5ZWVIVHhjQTdITFdWbEowUnpyeDdtaWJiOWp5cTREYmtiRWtKTjVldDNlaTRKTXZTUFM2dGxaK0xmVzY1YytqZXl1eFFPd2xWZ3FmdmJjSnR6ejVQcFNBWktpcmpkY1Z5S1VoZDRJUmIzdE43VXBpR2gwRHRJTWNLR25iNDZab0xqQmFjZDRZU1padHJCWmNZeVNpajRNcWZPUlVuc2hGTk5xS0kzN3lsZnFvTGhkQ1p4RUppdHJ5V3gwSjFFS1pYcGtzMFo5WjNWSmVWY2hidlRVUEl6dGhJazlpUDJyS0RsNTJ0enljbDI1V25naXBOak82Zi9JaXhTVHlyMnZOc0tTNzVWMDlZRWt6U2xmQ1h6dE11VDFLOGhmN1I1aWp1ME9VZzZydDRYR1VuYm1jYlRnMzM5clZUcTN0dS85U3FmK2JlWiswSU5OM3hucVZ3VzlOZGJ3VGJ1TWJnMUxsVUpMUk5HOWdSR3BlNVB0ZHM1Rk44cWZuV2RTNVFoZXZUeHMyejUrL29iQTZQem1UTC8xalMzZjlYRmJOUDNNYzZDcTNxUkwwMDR0ek9MaHJ3SFc4U2xkY3h1dXMxVkI2WDNKdHBDTzRqQkhWNzdmRlpnaHRlYmROdDNQSTN6cG52NFRpblZxV1hnTi9VOURMRVd4ekZFT0dXTzNpQko5RjZXM05CMDF1QVg5VmpJWFlBK2dBT2cxMDlkc3pNSG9DWmVjQ2NMc0ErY3hnOFpBNkRyekdId2RmMU1YcGhBQlFCT1FiRit0aXhjNCtBN053N3pITVlmWU41QnIzTFBJTyt5VHlEdnNVNlE0Q0VkVEpJV1NlREE5YkpZTUNjMXdHR3pHRnd5QndHajVuRDROdkdybTJnN3hpN0dIM1gyTVhvZThZdVJ0ODNkakg2Z2JHTDBRK05YWXgrWk94aTlHUEV1RE5ONEUvTWlMWUEzN1B3TmNEM09laG01R1AwVTd5MU9lZG5GakxuNTRiajVKeGZZUE1yMDFOL2FVWm14NUdGdk9OWEZqTDkxemduSi96R1FpYjgxa0ltL0E3Y2U5UHpmbTlHaHY2QmhVei9nNFZNL3lOMjVvUS9XY2lFUDF2SWhMK0ErK3IwdkwrYWthSC96VUttLzkxQ3B2OERPM1BDUHkxa3dzaENKbnlveHhmTkp5NVYzSEdwVUF6eDN4UGFZT3g3Tkh0SXhldjlvOGxqM2ZvRTlhQUQrZ0FBZU5wajhON0JjQ0lvWWlNalkxL2tCc2FkSEF3Y0RNa0ZHeG5ZbmJZd2FFc3pNMmlCbU5zTldCUTRoTmladVNBOEV5WU5Oa2xXTUkvTGFRK1BBNGNEeXdFR1pnWnVJSi9YYVErREF4aUMrRHVCSklQTFJoWEdqc0NJRFE0ZEVTQitpc3RHRFJCL0J3Y0RSSURCSlZKNm96cElhQmRIQXdNamkwTkhjZ2hNQWdTMkd6RXBzWW13TXZOcDdXRDgzN3FCcFhjakU0UExadFlVTmdZWEZ3QjlsUzRIQUFCNDJtTmdJQUNNSUpCbEp3TUQ4eHdHaG44MUNCWWpEeU1QdzJPR3h5eUxHUmhZRldDeS8xK3hCak52K3YvcVh4cE1MNnNaNDJNZ3ZnZ0ExbEVWTGdBQUFBQUFpQUNJQUlnQWlBRGNBT29Ca0FKRUF1b0RuZ1BhQkRBRWhnVUlCVndGakFXOEJlSUdKZ1pxQnJ3SFBBZXlDQllJZ0Fqb0NVUUpzZ29ZQ2xvS29ncmlDekFMY0F2NERKd05FZzJVRGZvT1lnOHNEOGdRUkJEWUVTZ1JnaEl5RXFRVE5oUENGQVlVZkJWRUZlb1dlaGJXRnp3WG5CZ2NHTFFaS2htYUdkWWFFaHBhR29vYXVCdUVIRHdjcGgxV0hiUWVQQjdlSDNRZmdCK01JQ0FnZUNFY0lhNGg5aUtVSXpJajNDUmlKTUFsUUNXZ0poNG1zaWNnSjVRb0ppaGNLTzRwWkNtc0tvSXJraXljTE9ndEZDMWNBQUI0MnExOENYd2IxYlgzdmJOb3QyeHRsaGZKc21aR2ttVlo4aTdGdXhKbnRTMW50K1BFaWVQc0Rsa2dJYXdobUlha0pRbVVRS0VwQkdoSmdLOUFBNFNHa0JBZWExdmFRdmVtZlpRQzc5SFNYN3E5OXlqd0NzU1Q3OXc3TTFwc2gvQys3MEdzR2MzY0dkMnozSFArWjVsQkxMcEwvaVBYelZlaWZPUkFUYWcvdVNnZUZZczVIWWQ3ZU13eE9vYlRqWnIwakk2RmY3c01HQ09Hdzh4NkkyWVJZdnRodzZJaDJFTnpuYzZDQW9TY1RjNHBEWFVWUVY5WmdhUEFZYmZCWGZNYXpUcDNCQlc2V0tkTzlBdkJSa2REdk43UE92eHNQTmpZa0hDdzhCbXZyeXQwbCtKMkRGdVhVODg2NEZNbkNpRXoxb2xjek10NmhmTS9Gc2lHYll3eVkrWE1uUko3OWl3anVPekYvSU1QOHNWMmw4Q2NQY3RLcnFEeHdRZU5RYjdTRi9pME0rRHpCZmpuQTc1UC9meTFuMzc1WTFzZXA4UDM0RU9zM21vM20rU25jY3BrdGx2MXJMeEJYcWZqOG13T25KS2ZkaUFHdjNiaFk1YmpQa0lXVklKNnVwOTB6MXVTZENPRThCQ0hNWlpTUEpETURDT0dFWm5lMHFRTERnTDVHSTFrSHg5STJ2UHlFTW9yeVN0MjJ1RkdKa2xuSUN6UXM0UW9OaGh2d1V5aEZ4TVNnMjBZcUdmKzA4azA4U3RXOEUyTTAvMitmODZjQlF2Z2ovdW9xR1JzYTNNemM3Q2s2UHhpcjNCVzhOSVBtTTJGQytncDVnSE96MzFVSUNLVC9BRkNCU3d5WVNzaS96R283c0tmdVh1NFUyZ2g2a2RMay8xenB6TkdVNkNFWVJtbXg1YXZaN0dPWXhnV3hHakJKbE5GeW1wZ0VESU9GZVNaV2FNeFFDa01zNzJMRmlHMHFIOVJmOTlpdU0yQ1ZQZnNXZE9TYlMzK1lFQjBpVUYvMEc3d1JWQVpkam10T0lMMTlYWHBYU3NHcWhvYk9yQ1l0U3ZFY0dORE8yN0JpYXhkVmR6NXVENXJGMGJvdWUwbGVYa2xSWWZiYml5aU82ZVNYS1FzT2djbmZxL3RyRkZPUE5CNms3SnpwazA1MGZpMnRyTktYdDc2K3piMmNYdE5kWFdON1p5eStiakFWbDZpWTMrbGJXM2txUDJjc3ZtcmN2QkgybGFPbnpzSG1uMzB3bTR1eHBlakdTaUZGcUZyays2VWsyYzVqQmIyVEhGeFBGNlVxQWh5RE0rQ3FwU0RxcFRwUUI4d2ovQUk0bUdoc0R3emdsaFdQMnpBZXIzRWdzWklzSWRZL2NERWNXUUlPd3puMlBrRFNWaEw4SXZUUFlFS0VmNk1CaStvanhjWHVwVzFvdWhPS0JoeUZib1Z4dXRkcWpiQnNZeGUxYm5oaWhnT0JRbkhFK1JhUnVkeWtvT29zWUZjem53OVdGdFYyNUdNUjJvYm5ja1YxNlhtTGUxN2VFY3drUWcyMURZbmsvSHEycmJDbHZWVFJ5TDdsajJ3TnBpNHBWWnlTVGhjNlFuejVSN3hCWHVwaWFqa0x3V3ZhN3IzRG11NS82cmhaVi9wNWI0cmVqemk2N1l5QXpuNWpyL00wKzM5bHFtc3FPZG8zK2hNNW9qb2tYc3J2T1VPTTMvYjJHOW4rRjBXM1RlQVZqNnRzL2xJUk5Xb0EzV2pUY21SUXN6eDVkaGdaSHBnWmZLWTRVY1JhOUFaV04wbzRoRFNjMmpFZ3ZWNTJHalFHMGZNbU9meHNBbFdhVVVLR1F5NllhVFRoWFc5eVdSTmpTUWhsT3hPZHMyY1h0TlIwejRsTGxWTHNjb0tUNG05QUg3T0dyU1MxYW53VVZQUGVvNllKR0tNTU9FbTRXQUNjOEM4d3ZxNmVHTkRVQncvM29vejUvQnR1N3E2dEgvTXR4MVdzYmlxOFB5ZGJwdFZMSXE2MmMxanMrcnJKUW4rbU95QmtucVFPOVdWZFhTanV5VHFjUlNlL3hlWHU2U20xT1ptcDdVcHc2UjZ1U0I3NEhQYVlWai9sd0V2cndkZWRxSWVkRERwc21DRWU5cGNZS0M2Z3d6SE5tQ2U0MVRUVmdGYXlJQlJINFdyV0k1aFJ4REcrbUVqcUdKRnlvQTVqaC9XQVZ0RkhqUzM3bEpEaHhDTXBMc2E3OEVRSXRRMUcrWXhUWXlMd1dZcFpDS2FERHFidG41QlVTQmM5ZUY0Z2hpRnRCM1I2ZDBab3lKVUV5a1FUc2NUVkplcEhnTzdFeUhtMzQ4VnVwcVQ3YkhaczZiTW5OSndvdFNwTDNLOXBWaUZaYVZseTFMSzdtTVY1Vk52ZW1Iay9yNmxTeGNQUHI3akZmKzBSRy9ISzl5cGxSYXY2M3VDMXlPdWsyYTMxQ3lQUHorMXpWbFlVRlZaV1dWTEpWZll5RTZCdi9PNi9udlhETjNaZXMzTzFZZVhuQi9yRERkTmIvc3hjQU8vd0R6QU9zQlhXRkhiQ1NNd0dhdGN0VkNId1JDSGdZQnpkb1o0Q2R4UERxQmgyRU93d2swd3hvb3NFa3VVVDg5U1d4a2l6ckFGc3c3OUhMNHlGcXZrNStES1Q3bVA2dVJ5dnlqNjhidWNJVWp1akxIOENQc0F2eDc1MERUbEI4MXd1RElGWjBLNHQxU3hSR2FrL0JpcWhFUEVuc0RYQVhMMU1Qdytuajh3Y01MbExHZklqMnVhcm1OY1RqdmRJNU1KeFREVDJHQ1BKMWliMVYzcmxPeXZ2Zjc2YTNiSldldTJXdmYvNmZiYi83U2ZYeC93eGNPbGxodms1OCtlbForL3dWSWFqdnNDaHJsL3g3MXZ2SUY3L3o2WHpqVUtjLzF4N2x3eGhya2lGRUtadVNyendwV0l6cFZ3YXdCbG1EVnd3dXVwb0hNdHRMdWNqRTZmWHBOeGUyTURRL2VJQzNFemkrak1yQk5tekJmOFhUNyt4aHZ5OGIvUE5haXp4cDFueitKT2JkWmtCdWg1dkp2TGgzWFRnaFlsODZjd0RPSWF3MTRibUJYRWdHUmRNRk1IRVNYZUM5Q0lxMGlCMzBjUk1tTVg3SEdZUTNpVWlQaG1lcFlEN1FjUUFQZHFyZzVXaDNTR0VnS0N3TVVsNGlyRGRmbVlXbTlLVGJYaU9Ra3A4UTRjSXJwT1NmSlI2dzJHKzRFT3J2cnBja0ZJV0EzTjFUKzczK1ZPQkVQbGpkYUZDNjJONWFGZ3d1MjYvMmZWelFaclFoREtuNjdtT3BxNFUyM1Z0dnpYTnptcklxWE82QlRlY1lzajZvNkhQU0hocFplRWtDY2NkMGZoRUQ4bDZpeU5WRGszdlo1dnEyNGpQSGdVN2VNRWpnSHBSSk9Wc1BnUnd3K0F1Mk14WmhCZVQ2d0JnVGs4TTU5S01CaVVwS0NrTjVSU0EycnpxMHRXOU5zMDQyanpheWJTYjZNcjk2NGFHODVUVnFYOEQ4WDF5aDhxMzdFRi9EVEhrRE1mS2g1Yi9vZDZKazhaaVMzd25lclZzUHdtVzRCWElSc3FTNWFhNk9LamV0T2YwWnRRa0RFVVVhNVQ1RVhoSmpFeWpHelgvODNaRjR6Z05WeXA2eDk0bFQwL1AzL3NUeldlWWlQSGxEbGNWQmNleFdjNWdUa0o5L2NsUGRrTGVJaWNKYm9ONkRiT1pybU9ES0hzWjNUU1l6cGw4c3luekVtRkhJVUlPditYQUdlYThUYVVoNHFUaFpwbEFOL1hDNTk1eUJLZ2Q4NUZpYy8zOXZiM3d4L2U1aFZrNGx4bENnWXhla0EreEVYNXE4R1pkVDlqQXJXbGhxaVVHQ0p5NDZ6RkpxbkhFTjZqSGt1YTBsK3ZHbENzRW5HSnlxOXI3bzg0djNnOSs0dGwzTmc2ZTdKekdjZmNZMC95VjFjSlp1TW54eUprbzFzUUFiZXdCL3pPTE9yRFMxRlZNa3lRSkI3bUZJOE0weUlFaGxFdkNSUUtTZ3RLQ3AzMHAzU1pkUTAvUlcxT2pqZGxQbm56eWl2ZnZQTk8rcmxoOCtZTjVJODdkWjk4N3J2ZmxjOGRQb3pkMy8wdWR0LzMzdmRlZlBIVlYxOTg4WHZBajlNSWNWWGNHUlJBTmNtb0hlQVY2QVo4c0F3Ry9NQldwSGlPRUwweXplOEFrc0ppTUU3V3FEUk9tQzNZbHJZMjhVU0FyRjJYclo3akZRRkxpb0EvL3JuZDZoRHRUb2NUUCt6eGVxVy92cUY0RHNXUk1BOWViWkpDVlY2WHgvejNndkx5OC9PcHpPNkhPWUt2UjdWbzB3a0pjeXdSV1FHSVIwS3dEd0J6bEdyejVUQmZ4UWRYRUNreUs3WElJNUExREt6UHJzbkhEU1JKU0ZDTGFxU3FSdEd0TFZPblRvLzlXVWpTcjdwV0NNQUl3NFUwbUtRbWlQbmRxYUZscStYL3dDV3g5bVJ6bVhqK1V5RGFaTVhmV2RneHI2ZS9qeHlNRER6Yng1MWFkblRMMmtlSDVFOEdSWTlYK0VEd0FROHFLdkx3ZmZOV05jeFlWSG1BSFAxYjJGMWJpeWo5SjBGWENvSCtadFNkbkIzRk9vREJnQ3A2RU96d09nN0lZa21JUW5BZUM5d0JtTXdyS0RwSGxlQ3pHVFZKVWtPRFZCaFdVRExvTENWUnNhWEUySUtSVlZRSmdBU1JJcUNNK0NSMHNrVy91M1hoY3ZrUDN6OFl0QW1WQnN2VWZWTTNidXBidEo2ZzJaNkIva1VMdW5zSnJiVnpIMXZJblhyaW9jZTZnbDhlZXU2RmxDTmFHbDNFKzRTNVhiUG5STnZiWTlObVRwL3Bua3VJZlM3cUtKZG9QSFlOeUxvTGFJMmlHaFJQMXRkZ3BNTTllb3g0eGFnYXNFNVhrWUl3Z0dGWGdoeEZGdWlxanNIb0tuOHc3ZytLUm9PSEVHYkxBQ0pYZmQwRVBXMVVkb2tVNjNHOWc2MnBmbHpSenNkdlU3WmpQMUcyajhvTFlNZUJ6NWJPcXBmdisxMEJkeXBXTmZhdW9yRVBaU3Z1UTdDWldzUjBDdUxZWGtBeUdEMUpaWFlFOFBuTVpLY2VBRGttOG1KNUhRdnJpb093YUJjTTRrRUxSNEJzL1JBUmw1QkNIRWNENHpCRHhGV05vb0lrdWdPQ3BJa0w5RThmVitqSnVIVVN1dFJyWWlLSGllVUd3M29HaENIUHRLNWN1Zk9KcFovOWZ1aTVYa1ZXOSt3ZXZIelp3aFdyS2l1U2pZeWY4UXJNU3U1SXJMMDkrazVnN1ltcmZ2alQ2a3BYaElncHRYTHgvRUdwb0V4a2dtS1pFaXQvRTJpS2M2Y0JuMFJSTXRrR0NKYzFrVkFEdkFsUXlDbTBzTEMwaU9ISW9xVzhIS0h5YUhsVlJSQXVMUXNHQ2cyR1lxQkh3VStNbnZodUxVUUlVbmR1bHdLSTJEVk5HMFgyTDE2ZUNULzdYM3VjOGIzOVc0K3Qydjc2Nks2WHA0YWp6K0V0MkNCdlgxb1g3Vy91MnpDOG1EdmRNTVhtNldlTlBiZHZhMjBhZW5UTDVVK3RYcmV5N2RqYVgrTGF4MHhqU3lwbXgySzlzWUh1VkQ5WlYyZUFuaWtnb3pLMDRJUVZnQXV4S3lhd0swV3dDd0IrR3pnSGRnaldHaXVrbERWVW1peFdUcUhSQ2VjR0tKUXRReDdSWGNFVCtpaGV3U28rSk1ybVY2VFdhQ05aSGM1V2ttZVVoMHkxZ0tpalRUcDhqWHdIV1RJK2dUblBIUUhOcW5XZmw5eHV2U2xhWnNsbkwzdVJMQkxjUndYQm9zZGczbjVZSTZYZ2x1clI5T1JVcHc1UUJqSGNCaEFEdzQvb3FUZlJLZDZFNHpRVFVGSGg4U0JVVVY5UkY2dnloRHhCb1J4dVVWSmwxQnl6VHA4ZHFjVVRrOFJyVEZaY3g3ejc3S3ErMU5CbFcxKzcrZWJYdG01Y21lcGI5ZXgxc3hhUmZNeWlXWDJEZzMza2p6dTE5TjdsZ3plSTRtMlhiZmxXWDkrM3RteTZWUlIyRFM2L2QrbWJxWTZPbnA2T2pwUWNXdExWMWRmWDFiVUVkT3p1QytmQUg1MENSbFlSSFhOZ2hqTVRqdmVBZFdNd3h3QnRQSi9XTVJVS0FHMCtIMEsrS2w4a0FPRW04Z1lLUTZxT0FVVUZzTTZVdGRMT0pDYkdvY1NTeDdESS9KSW9sSHhRdnE2RTZOb3p2OW1ZbjlhMXhhQmF6VlRKdUZOVW5lVFQ4dUY4ck9wYTkyMDdORjE3aDZpV29tUXdXNHBiMkljQm8xQWZ6Mm5JSlVEc01qdE1mRDRZTUN2NEhXdXB0Y1Rsb0dDRytuZzFKNkg0SENiM1c3NEtiYlEvWmtFbTN6VjJOQ2YzQlhQWUFkaFBvblB3b2Nwa3FFang4Q3o0ZUdadFprSVk3STNQQ3lpRHpJQ2ZNQU9xeXJtNFVKdkY0em40TUhzdS96a1JLc0thdXdhbHVHWnVLbkFFc0tpUjRLbWU4ZkZXV1RuRm9scXNaY1RwT0F1cnpwZjlmcDVUY3BWSVl5ZVpPVktKUzNMbU9jOS9XT3h5RmJNV2JxcFUyZUFUSFBKYjhsc093ZGRRS1pud0hYa1Y0VEM0MXp0QXZ4NUYvOFVKN0dGQXBDSUtKNE1nQThLSzFlbTBaUUQxMmdGMTJrVzd2N1NJNGxiZHBMalZmbWtrV3pUdU8zczRHOW5LOGZFNEY5MEJ2Rm1rOGFZZ2c5T3o0cnV5a0liVGRWbnBGaU5PaDNXWTZ3QStuUC9RcVhDSW1UTjJVdVVRYTJFT1VUN0lXMHdLajdDRUpaVkg4aGJnemM5QVg5K0hHRjFDZGVpNnBBVjBCVnZBWjRHeXFzRjZNRzM5d0I4amZoY3hnblFwU2lteUxMbGhNRFlpUjFKMzR3YkNHRVEwYnlSNzJFRFNHUWlBOHRVRmFxc3E0VWRGS1ZLaHJGb2E4RkYzVUkyREhaTmdyWGk5UFFmdnM4VnZmUDJ3anFsS0pLb1lDK05mUDN2bTNKU0NRY0tuSDJxYlBqMlZnai91b3pPUDdIOGcwbGZzZGhmL3ZFcnZ0TTVxbno2empFS3dmd2s3bDV5UGVvVmpSSGVQcVdzSCtTK3M1NDV3Y2RTRit0R0M1TndpRjJOa0lIeGltUjRUMWlPTzBYTWppREZqSThzWVJ3d1l3ajRFekFMNHBkUHhBd0RDU0dxSDE4M3Y3a2FvdTcrN2I4RTh1TkdjYURBWUM0aEJDL0hvR2FlbkxDMHFRQldHd1hMTHRrNkM1ZzR6SWJGZU0yVjJxWjdKc21VaVcvc2Z1K2Z1WHpKam1TMTF6YUoxUys1WXVDemc1NHNjcnBJeWJyYWh2RGpZS2k1OWRQdWVuKzlZZkhUN1Y2NHo2S3hPbzk1aWFmeldnaVAvY2VNUjdIdXFlbWExVkNiTWlFN2o0Z2MrdWYvR1U4TTlIYmZ2MnJiK3AzdTJ6ekRxOUs0OCtiVnlseFJvMzk1ejFmRlZYLzM0eml1ZkhLNWdTLzJsTnB1ZGQzdjNmUGpRaTdqbEdUazE5L3IyNnZxQkcyTHJFSFBoWThCMFo4SFBKaURDbjVKc1JFYXdQMFoyUGRMckRVTW1iREFJS1IzSHNHUUZBa3pDSWpGR3pVMHd1cEZnT2xzd0xwb05aY1NXNDBtZ1hNaXZuK1NvSTIzay9YcTJubVgrcmM2TWhYNDFrbDZpYlB1aTh0ZWlYZXF4VGNwMjBkZ2phaEQ5NXBMclA3bUdPK0lUemwrbUlEd0Y3UjA4bVAyTk5TcmJOK1RGK0RGRWZmTk1vSFU3ME9wREZZQmdkNXpnc1o0anVLSVdsazg1K0RBOTV2VHJlWUpmQWZNUjlLQlRBMlVTWDVVbXE4QWE4VHlCSGpvQXZ0dklCVHE0QUxTSlhhbU1SenFkTmh3V0VFSTFzVWk0Z3JoeUgvTDZnMDFHYlFIcEZieVlpYzB5TEdFMWpBOHdtVzdab1IvT24vUEh0Mzg2OW9KQy9XV1hxVGJMZVBTMnBVc1dMNy90eFplSFZyL0lIWG5zMElJZFl2dTczMzVDWVFKclZMWnlLRG10czIzTXZMOXJGclZqNndHZnJBY2ZIa09keVdRbEJvaElQUTRzSEFLYitHRTl3QlVsK01yc013dzFDMkdPSUY4QTlNR2dLQVVDQmhYT085V2NwcG9DaGZrcnVGZk5DQ21SY0IxTitYTlZzYlpaMWZYT3pXdjMzLzZOQS8zZlhGRmdyZlpaWTJkL2ZmVFRXL2IrN2U0bkZqY251Vk9BakVjRkwxQzQ1cHJYenB6K2NYV05ZV0d3ckw1dzQ5M1kvZHhwN0w1N1Y0ZG1BMXBCbnJ0Qm5oNklmSmNxWWl4U3hLZWo0dUJ5eENlbHhjY2hEc1JIeEthTUl6QXNMVGFJNmdPaXp3czNMUUVWMTFPUktWSDk1OHVMeGVmMzdqMy9oQnhXeERNOHJDcnJiM1p1dVBmKysrL2R3QjNaSjM5MDVvejgwZjVjQVoxdmVPbjA2UmVwYkFnOUFQaFJISDJtZ04yWWtxdUd1YkljeDI4all1SVpGZ0l0akkyd09vMUdBV3c3eCtsV2d1S0pPcElac2NCVjFWbFhzVHczK2dVdUk2eXJTU2ZHditoMXlWWmtBSmhnMkRiaFNqMEhLeU05WDFBczQwcmxlcFM1ZkdDQTV0V0IyZ1ovc0ZHMFNYNUh3RXpLY2FwT2dmZnd1Mmc5VFFlclFRMzA2YWxKQmNIRnlraitYTDc4UXhMcGZvanZhZW1jVmdOaC9tQ3VQTmpidVNObG92d0xraXcvTkVaaUsvbWRINUV2OGpjRlg2NWtjbVJTang1U3VCdlN1S3VVRDlicmdUdUdJYU5pS3RQMUExN2o2dmpLeE1YSGc3VDF3R3I5dHZGWEFQc01LeWRlQU93alU2eEh0Y1FVRSs2WnFDbk9jTS9tcjFNTXpXUnhkamJycGltc3V3N1hFTjdKUC90WEZSNGRVN1kzcWdWTTltZ1c3K1NmRXViOWQzYWduV0VjUm5QQXpod0ZPOU9PdXBLem1vRXNGMkFNRWlrQXFtTTRyZXBpWUdnbUJLTHM5RDdEYUdVWE9OeU8yb0xCWUZ3QWM1Tk5YSTY1U1RSbUtFbG5GbXlxRDg0MVAxYkYvR3pZU016UDF0VXZhZjVFMmZvY3R1VnZYNjJZb2ljWHFhYm8vMUJUMUxlQ21LS3lSN0lkakR4V0pCbHJhalN6ZEZVQ3pCSUdkSWE0ZTBCZkZoTDdpc3hnYWN6Y2Vvdkp3SkxhdERXUG9ZdUlaMGtlR3F3VXpXNEJuUXZSL080NXMyZk5uTjdlb3ZwVmZ6QS91elJ0bTB5Q2Z0dm55elhERFgrMnRKV3lkRk9UNmw3M0tkdE9lV2RuN2hGdEJMNUtIWUZ2N3RTTzBEZ1ltSEErUndGd1JQNzFaQXFoTXV3VHJGY1ZoT1RuRVNjQW4wSUU2WE9BcFBraGt2WVRVc0FaWUEzU09CTkNBWm85U2lmOUZIcnFKa0Q4Ykp2OEp6ckx2MktVQy9NeCtxdnFPMzh4K2Z6VENvelJhbHJIUFFMaGF6eFpYMHh5cmoxa1BZSVBHYzJlTFFKSnJnSmREaE5nQklORFlpQW9qcHVzbXNRanFRVXliUnVOMGJQcUNhcEFUdi8yNTMrK3Q0QXE2SXpoQlF0a05jM0Z2Sy9OZGV5dUYxKzZzMERBMDZsS3l1ZUYvbVZNZjlwVXFicjNPc3g1SlpxZjdGME12cThLSW5TU0FRS29nc0VxY3d6ODIyVldsVEhQb2lvalF3SmVIVll6ZG5EMWlpVjlpeGIwekFHK2krRjRreTFvemRaRVhFYktQVzRTdldmVk9VbXdFNHFSZ284bzVHUFhGOVZMbktXV1g2TGtSdVFIcHd3SzdtQ1JaQzJzOFprVUh1eHZXeXk1aSszQmdwS2tVQ1hXYjFmMXRDSVhFZUd2S2R0cVBMMVJQYkpINDUzOEdKdW84YytxN3lvS1ZDaEh1anNqVGNHZTRsQlVxSHZ5YzNUMlJaeE02NFRtQ3lKb3RRWWFHVVJ5VTZNUVNDSGRFRVI5T2dWMWFBblFVaEtXS1VQQUVyQ1kyNVk5RW1VR0RpVHpFYW5DaFFuVGJVR0tyYkpXcjZZNkYzTit6Q2VVM2pmeEVOV2ZqTnU3NHc1Vmk5YWx0UWpqS1lvQzFVMTBlQmlaZ01hWGdjWVVzVit6QTE2V0kxa0FqdWdRSGpWZ29qaG0wMFdzV0FwMXo1Z0dCRWdTV2JHV2JLMXhUS0lSWmlXTURKbng1MGNKV2xPVm4vc3lwU1Z1YmMwMVZJTzZyK2ZGS2lNeDZ5SGQ4dHd6TGZseFZSTThybExkeVdkMHBTN3NuWHp0TS9Qa0RhTFhLK0s3eHA2ZVRCK3NOdG1GLzJLemtuVUd0dUVZOEtnRERUOVRYMEFLVldvTVhncUxpWWdYZkptaUNReURoNGxCQzVQaXRXL2lXWGFJaUQrbEdCREZuM2VnTmdtNEY0ZEFsTHE4SERNU0RHSHhVa1lmUXJGc2E2L3dyS211TlJhMXllM2MxdHlncWxPejZJYUtBdndBcDJvTnZqck5vejYvdjlqRG5CdjczbVE4S1IyYmo4YzAzV0ZRQi9EbDF2L3R1aGxyK3ZTV1d6NDllcFIrN3IvOTl2M2tqenQxbDN6dXVlZmtjM2NUOS9zY2R0LzEzbXRuenZ6d2gyZk92S2JHQlZlQWZBSVFyS3pUVnFvT2tiaHR2WjRpS01NRVYwTldLc2ZyOWR3MmJTU0V3UHpLaVFNcGFJMlJmSGtBaVJSNUdZbTFWMkRxSlF4ZkpsaTQrVzkvZS85dURXYmRvMnp2dkZOZHErTGRWMTk5N2JWWGd4Qisrc29yUDN0cU1zNlBIUjljdVhJWjRibjhiNVRuVFdnR2VxWDdTUWZRYXFyRFNLOGsvMHVUWnZJRjk1Z0FVbllQS09jbHBBY0s5WWoyYlBFRExDZ3BLZnV2SmVHK2J0aElxamdHQWwrOU1EYWdqYVVaRkZwR0lFNWsvR0NJalZsYXdSc2w0MWx5Nzg4WkRzalYzZHlNVVBPTTV1bkpkcGo2RktuQ0lZbEJNNDBvVlZVSTZXazJKU2V2b3RmS0VHbzFKVVRiOGk2dU5NWE9qYjI5dmhrK1QwdEpiN2NscnpDUzd4Q2JOamRKM2ZWVEY4YXUycW96T0NyekMyMW52bkVNeHU0N2VIQWYrZU5PM1NhZi84NTM1TTl1WXpaNmpUcmVXS0dUZkVGZlpVbWxhRFpaek5XczVBbUpaYmJYMm5EUks5L0IzRzN2UGZQd3d5ZFBQdnp3TTVtWTlGblFQZEt6dFAwRXJIR0RsbUVRa0FIT0c1Z1J3Z1U5eEZPa3FzU3pETW10Y2twdXBSVENCWjNlYU5SdDA4WWlvMUcvY3JLaE5ML1EwelZ6T3Z6U1ZLS0c0WGliV2FzY0ZuNnVoNzRJbXB4TVRaZi8rei9qNVM3UlhaVG5yQ2gycUpIVTNGVmhwOGNwRmZwNkdwTnFWQ1UzajB0TzVEOTYxN3BWcTliZHhSMDUvZFNmV2wzaDBwWm9qY3Z2VjFRNTJTMjJ4VHJMSThFTGFETGRsdkdjN3U0NW9FQjNnVDNwQU4zdVFxbGsxMHlNZFQ3TThBVFBZTjJ3UWMrUWFpUHdQTE5QcWxvc1dOVndDcEgyRHJwTEhWTVhtak45bWhTUXFxV0FNU3Ryb1dnU2lTTGNDc2VVbEY4b3F4YWthaUJoaDhLOGtNcWtPcVdKa2YxVlBBTHhsN242YThOekZrcEMxV1ViYm03KzV2TFRYM25rU3FVZFVReWI0M2V2V1RJWURwV251dnN1ciszcFcvWFV0bmxmcWFzRnVyeUMvSGZCVzFEUU5iK3J4UnV3MnV4T1VScis3WmFqZzJ1REpOV0pld1d2dlhEOWh0bkppb1Nqd0ZsZ0x5dXAyTE54NDBPRERUVUJrZ0hCYUJYbzJrYlF0U2hxU05icXNCbzJranlkVnJUTStCZ0s3YUlvSXBMWXdoRlFxNVkybGRLTE9CVmJkbEdzcHl6UmxJaWMrSzFxdFBxVTdXOVBrS00rZ2QxTFk4T2wvaktZT1lDTUhOZDZRZjVQZXZ4aFVpVERhbzhreVRtUzNoeWFYbVNIUUlnMEYwTzZIOU9BT29FYVJaRUNDbU1tS1V0OG9kYVZNMm5vcHdEc0NSRlA5WmJYRHh4NGZVdDFibFNUMnJKaXhaYlUrTGhtN0FmN1hsMjc5dFY5VEZNMkdoejczZllycnRqT0JETDVnUXNmQXkxbmFTMFphSkZvellSWEtkTHJGSW8wWWtqTkdOQ2RtSXZ1VkJDRUo2R2tOQnNlUDBGbk9GMit5OXJjMXRhVUp6K296Zm00c2gzNHpSOW5hVGc0N2IwWFM5NHlrWDBzaDRaN21iVlo4LzhyelA5ZG1QOVUxSnhNeEdNMkZ1dElOUnlSMnY0b2dYaWdZd1N4Y0p5UVlyQkd5bFRVUVVDZUZKUnlRUXByWlJSRXA4Z254RTVLbGJKOGNxZzdSV2MrWlMxYldCZWIxbUw1NW9PVzFzNVlyWXNkcmxOcFVnSGRqc1k3OUJYVmRWVzZPK1BySjhTaWk0czlsaklSLzBZT2kyVVdUL0U0dXAvRmo3dUxIQzQ1eGN6T3l1K0FRbElzdDVCVU5HZlhseGs1SWtLVFVRK0VHNFlzWmtaSmdTdFFsODhOMkdmTmlJTkE2Yis4YkxCcm5EUVpQbGt1M0RpWjJOMkpMTWFNS0l5UlA4WmlXeTUwYS9qT1kwSDF5S2l5YmNlaS9FbHJMc01pZHh3c1VvOXNTZ2REZStVcnN0Zm5oeC9tQlBIMzRLM1pqUHY1ejdOanpBcmcxMUhnVnp0S0pCdUFYU3hobHg0WVJHSmkwSk5KUXZoMjFLcXhLVWRaSmtkTGwxd0lOMUJxcXVSSFgxVXQwUzVsKzZyOGVDeVg5czdUWnhvbkxPeVA1R3hpMFFYR2xCUHZ2WVdsZEx5M0QyaWRRbk1VYTVSOHJLaDBLMjNMOURScGFZQkw5VFJOSEtmME5JVlFRQ3hzRkF2VEdZTjBTMU5Xc0RkSmU0Sjc3R1c4bFNUdElOVDdCZERvWk5ybDQrUTdXT0lDU211YjcveC92MDBUbXdkb25EZXRsRFhTUkNkZXFmU01ZQ3pJVDdQMzg0UElUWEl3SkVvbEQxTnd5ak14WE9hWkdCanJSb1ZTWXdOcG5lRFUwb1U2RnpYQmFQT3pYeUtaUTRZNkxwbG1FWi9Iblp1cXAwMkxlUVZkUlBDU3ZjK0tsZCtOd2U4K1NuKzNJaGtndjhkZ2xsbWZhWHRNdHlhNmtjc3ZOZkpLMmNTbS9pNzVXWnUydzk1SytnY1o4b080VTM2ZWJtViswQ3Q4OG12Qkc1czJyWnI3RS9sVWRQY2wvQ3ZPREhqQ2k4SlA2ZFpNVDVhNXJhU0NpbnVBYnNUc0ljMlJWOEZBTC9JRXc1eWhLUEtVRGswbnBTMWFzdEZsREZzbzNhREUzRjV0eE8xOFBDeDR2R0g5YzgvcHcxNlBFSTd6dU4wWWkzQ243STZ4KzAwR3QyZ3k1RnZ4WHZrNmE3N0JKTG9OSm1hVnd3NjI5ODJ4Qzl3SDhydkloc3JwZkZ6aldhQjBmdEpwVE1oM2NXOWJkVHByM21lVmVYVExuWlhmdGRYVTFGVGJiTld3SWJFOGRySmpiQU4vRk81ZlRPOVBZbGVsUmJMSW1iNnhVcVlKQmJSK0paNXRLQ3lYTEdaNXBLaWlLV1lyd011NC9jRFZldDBibHZKUXZOdDhRY0c1VzhCdjNNc2VSM1d3dlArZ3REL24rN0NCYlcwQjNPb0FDbGdJUG5LTzZObWVBU1ZNRGtOb1FQcXNSa21Qa2dHeGhoRlNGcURSUVNTbEp6d1labFJBck55NS90SVhBTGtpM2RVYW0wcVR0WjkzRlVwZkJIR2VkZzBKVE9yckVhcHZyMjlyU2dCdHRTS2d4bmlqV1FPTmhibUFPdDJPUXhQTUpDT2RhZW5PZFBmSEU0MFFrU1JlRmNwOWlqVzZ2SDJvZU82VHk2ODQydi85NDN2dVhyU3g1ZUFzbTZVNFZKQWZHM2h0eVlOelpuWE8rSExMemJ2WTQvL3lsUHhPUlZReFRQV0p0czdVVjRjUDNGUG03VXg2aS9oQVZaV24zbFplUHZaR1hVMTFiYUltV2FySXBSVGtjaGxmamlwUk0vcUJ3bTRUQ3dHY0RjTWFBNUdvWDBndVhwVUdHRFUxSXBaUzVERUlHcWRIVWpvYXZhc3VYNVZEOU9KREZYdXZYb1hVakVjRWhpSU94REJ5NmRIQSs4SklCQVkwUjVycWEySCtGZjVnWXpCZ1VvSnJXMjRqR2cyMkp3dGQ3Rm90WHEzTjQwUGUrcjI5dTEvZHNPSFYzVU9IRzd6Q3V5cnEwOHB6bnJjM3RMZHZTTFlQMXRZT3R2UGxZRXlXTmJXTnZ2V1ZyN3cxT2pCdmtlQlZpOGw3MWJEN2lkWWQ4K2J0YU8yNHNyZjN5ZzZ5Um04a2ZYZDBIWFFtazdHTDFGTWpXZlhVeUxoNktpaFpNQ1FHZ3hQcXFkbWRCWm1TYWxhUGxGTFVZRDlSaWhyaCtVMnpON1cwYkpxZCtsYVBQVDhxMkNQTDMxaC82UDBiZHYzcjNnYzdtNVBzY1RESkw5REVYK1hzU01lT1ZHcEhSMTJWYVc2a0xGclUwTHp6clFNSGZuLzlqamlKS3hnMEREUTlvdXJRZDVNbUh5eGRHMVllSHBoTVljalRYaXlSNjhTRkcvMmNvVU4wOWVseWxxeWlNQ3pQcmIvMDZJa0tJd1lEY1ZGVG1Lekhib0p0T0p0dGhlNHNoVUhqRkliOTBLdjJJdnhaOERZY0hsSlVwM2R2dlpxY3diMXlCZFdWSk5VYm9qR2YvVlZSRHErd2FONkFvanB0VGRpdGFZeWlLNHJlS0d0ME4vQjNMdWlNSDl4L1I3STFuU0htNFNTUGFCOHROMHdTVlJHYUlpWmNDTE85Z29DUUVCS0NrZ2dYbG9jZEFnUnhKV3B6b09pL1NQOEprS2pUK3dsZGxyT2J2Y0xZTHNjTksrODlZYkVVbHVlWjNDVnJmcmJtMEZ2YnIvbjNyNStNNEdkdFcvdlk0N3ZQM1MxNDVpMU9jQlUxZ1pJU3I5RWYzUG03V3crOHRmTzllK1lvL2Q2UEFDWmF3d2RRRTdwY0VYRllLMWNhTUtQSFdzSFNPRXpxdmRLNENtZElHd3NuNFY1R1BKSzVLS2UwU1F2REpDOUVFMnlDV0VRTHc4cGpKc3J6SmFMZ3hSbjBNV2s2UTJtU3Btdmtua1BGeFNhTFdHU3gzVGgwRTA1UWZQSkRYS3dDU0RWSGZQSWtPWDd5NURFKzBHVDBlMHFrcWlBZmVyaVYxb2luNXlEa002UkRlczdwbDhsYWtkZHhqNEFzYTFFSHVrTjVDaUdJZWIyMlZpSUlsSmxudVZHVGdad2FOdW9ZMm1PbzEvUEQ5RGt6clJVM1N0US9uak5hYzFYS3BVUG9vaGVDMTZxckEwdlNVZGMrSlU3YTVBTmlrUmhVdlpaYmFSVWZsMFpPOTZRUi81U3pQTVoxWG00bFJ2UFBDb1A2Ly9MbnZ0ZVgxK1RsQjRyenpDOWNlZTBtTUswM3ZicHg0NnMzTlc3WnNqdzUwdFkyQW5abVh2ZE16V3lPMWIzNkc3ODNQMTRVcTY3a1d0YXVYNWRvdmZiWFgvN3lyNjk5NzhidDIyOU1iTzd0M1p3QVBRQjR4ajBFOW1ZNjJueUNKYzhmcVUraFNzaGdVQm9QcEhTcmJHUjgzYUUwS1JCdE1pQWo5ZStURDFJVWFqcWkxUW1hVU5BNkRkVEN5bVNSQ0hIb1Z1ekZuNThzdzQ5N3IzbDAyUzFkcWR6S1EzVzhvM2xEUjNYdXdZelhvWjZtNU9TOE8xZkx3em1xdGFaMzN2Q0RnMGR5OG1KN3RRRHN3Z1c2L3Vid0N3c0V0QjZoQWdhdHN5clBVVDhncjJQdnBjZlgwcWVvMTZGbjZYcHRndkVIZ2JkVDBSVkpZMGZNYk9KSWdLL3hWMTF5VXNwQWM1S2dYWUdVeVVoWWg0WmdvU3FOTXdJWUprNFBUdnppZ3hUK1RrVkpxWUVXTDZSR3dsK3BVRFhBSVZaL3FaSWdpQ0lncXFCZTdmblFPK3E1SFI3eTFHT2Q1L3crclVOczFYaFdnaUhnNmlqd3Y1OThWbnp5ajdZM0t0dUFleFY0eGNpOHlSZ0pkakQycTJBOEVRd200c0VmeWs4VFB0MEhmT29BUHZuUkxJVTVickM2M0JCNUJrNUtNV2tQUkZDTkN3NkNqK2ZZOWRuSGxjZmsvTWhIS25qcVkzS1hxRk16UC9KcU51aTgrcXdudHAxVGQ0NHFybVZ5UmNBWFBvRDVIZ0M3MDRFTzB3ZHVubWxOTUVTeWdQQmFNYTlMQVBhZ0NJODhpd09ZWGpFbkJqMnIwd1ZTSE1Nb290WDhPZW1IMUU2UzRIMlNvVWtmR1RXRXRDRnF3MFlrUFdKQUsxKzFneE51RE1EL21ZNE4rc1NLVFduWnVOalh6QlAxcExHWjJpYnkvTEt3MFN2c0ZMekZwZFdKM0IyMU9lRVloSlkzOW53dEVydHVGbnY4N20rTW5TRVJLR051ckx2amdQejRoUDNiTlFXNC9Zb3JmN3htdmJvK25nQStUa2NqSjZhUmVGMDEzQjdTcDI4WU5oa1pneUV3dmdleU5Ca2tweFVuUnlJUUdEcUVKaG1vMlozT3VHWjR6R3FpNlAvWjRpajhBWjgyNzM5bWN6NFV2RGQvSDZ6ekY3RTRES1B4NmVENzRPTzJBbDVaRGp6S1I3N2N1bDVrUWwzUFYxQldWSmlwNjQxL3Vwekp3VnFNL0lmcnIvL0RvVVAwYy9iR3BxYU5zNVZQOWpnQnBHL3RWRDdmVXhDVWhya1pGSkIzY3BmQmZHcFFFdDJjTkVVeHg1c3dTdnRjeVVUU2xUenh0VHhQWGFZeXhVeGVLa1RjUmpVZGx1VmtWV040c1N2QXk1S0h2bXFUdFIwUUc5YWdhaUpUdFdpVmlVeHNsNWJkUkVhd0hScktWRnRjWllQcWNYT3c2SWFzVUlVOXJpRk4rWndpclBFMkRzRG9lN25SQ3NYMndMdEhNcndqeUNLUWhWZWt5WEZLT0ZOSkNMRXE3ejRmb09SZU1ZRjNJdWtRdUFoQ21ZeURuNk5FT1FpbFA1ZC9qNlNEdjhJczBNNGV6d3J0emwrbmJKVlA3TmFpdi9mRzQzYUk5Y0JXRUwyTG8yZG9MK0NKZXZMc1cwOHAyV0pNcksyRmxreUpPYVUxcVVDSzVKVFNYN0tyTWFydHJjcTBUbVl1eWhTNHhsMlRBZHNaWTB3YjZVaTFKNUl6ZGtCNStVWWNOU3FteDAwTEtKbkg0bFZMNDcrRVY2YmF5bjdZWFdXM1I0dXRCVk5hVTN2bll6V05NYlpJclZ2dlVGMldYZkIydjdLR1BUNmx2TUVmamNZTXZsV1BieHlhM0s3ODY4SDdGSjRlQmRzU28vYTNKemtuQ1lTWGphdnhSYkpxZkpIUHFmR0JrWTJKQWFsYURHaXZHYUY5VjJxRlR5bndhY3MwOStVaVJKbElmWTlXK0lMWm9mV1A2QXRGV2c2dGFlbnNDcTFZZm4xaTN0TGxUKy9hZjdYMlRwRzZ3OHUvR2EwcVhyYjJZTXUrRlErdC8vcU8yZzcydVBJbWtZN0dTckhTYmpLYUN3djlWdzBQN2UrZWxYNlBTRWZ6d3VJeUU1OW44Zmw3anZaL2FjWWNrL3I4TTRtN0Y5UGU3SGl5SGx3UlNZdU82dWp6bFN4OXZsSnRrTXp0eHBiRUNsR1FKSzFBbG03NnREblZ2SUVhRXFxVlBqVXNJdGxieGxudnhOdHBNSFRyVGJIckZ4VG11YVFDdTh2MWs2OGZPL2tTT2Z4UzJ5enVGRmxPNzlNZzZNOFBod05Hc1NMcUtmU2FON3g4R29za0RNSWxTdDhqelAxcjdHRTBCYTArWWN2eW95VWt4OE9SNmg3SGtaZnlaT2NJa3RMRWswcWN6MmZIK1ZTUnA2QzRGQURjSGhlMTBtVnVnSytiVUEraytUcGlKdHF5cWdmc1g3eXEwM3lYK01NTWJzY2dIdW8rdFdheUlIc1ljT0xsR1VjSW5oTS9vR2d6WUhkcnR0Y2tkUkhTN3dyMFg2d09HUGpmcWdQZW9OWUJmNWMvZmViTWFmbnk3NmZsZHI5MVB2VjBRajB5eWg1VzQ3QkJzYXhNWkk3bVZEcG00VlBqNjRBdy93NVNCMnlvS3FCMUhhVGpFS2REdVhYQVFGWWRrRFFyU2NRTGl1UHJnRGlUTGcvK1Q4dUE0VHNNamEzTlUvSU8zR2FkMHRKYWIvaXFvQktrUGgyeXVIdWZ1U29jaVpodjZaMnRaV1V5cEpLU0oxNHQzeWVXZWFWeEpPL0VDejNlb2hMNVlYeHpkazJMUEJleUYyai9uQnBnNEdJMXdKbTBCaWdXanE4QjZyOXdEZEFSdWxRTmNMSFN5L1pmbUszUExmaFpkKyswcVVmdVY3WngrZU9HM1BwMjN1aTFoZXFSVlJxVFBwTS95VGJMZS9mbUFFTERwOWxNMjcwN1hRK3JrTmRTSFUrUWZvTXFOMjE4MDZtcW9hNWhSRHJleU90U3RQSTlNRWR5alN2Zll5dWoxOUVYRWJRemlTK284RW41cHBrM0hybEpDcFFXejEwOXYwbitTWGV1MnJjZU94WWZyL2JuLzNucm5XMGNudEpWWDhYd2RadTNNRHR5dE9GbXZEUFQ5MGhyZlVCYmhOVDZyQmV2OVFXK1lLMHZNTEhXRjBGaDBSMmY3UDBGT2EyZGNhM2NGOFBVUWRGNm45VSs5aEdlMFRDek9wYXZWdnlzZHNZcy81UWU4UWxzQ1hzWWFDbVZIR1BuZG9vZVMwbXgvRTlhOVlNampIdWJja1FzZzBrK0pEL052czhQUXF5K0tXbHRnVUEySDZZZkJnZWp2ZnFyTlAycUFwS1VaTmJTekRXaGlMN1V4azllcFlJNEhvMWtob0hJeVZPUXhGNWpabjQ2RlpCb3JJNUtncmMwb0ZkZndtR2xDVzBmQTNTN0NQbjVXS2NnT2UyWmVkTE1wVHdycjZWcTRWczFEaXErMkdNcExWcDFXWWpqOGFicnI5K0tqVGkyY1dsUnFjVWpmdllCbTRldnZseXRyV3pISnZhRDgveGdwRDBXSzRnczZ4MHVHYmxGTkFuNzFqbE51eTFGbmZOQytiRlllOVZUcDcyK3J4b0tGaSszeGFxcW9yYkJ4UVhHeldXZUU4ZG9mZktjZkIvekhrL2VhUkpYZUpMNy9oSHRSVWdERTE2RWxIbmhpU3VyZFliNVRuemF0Q1Q4OGR1OHdpZmZKcDB3dW42L1VvTkY3OHRQY3lHUXh6UTBrclNDMitOcTRKNXVERXFWbGdjTVk4a2IxcFFIZzVIMk5xdEtUcE1IcmJCa2hnRUlIRURLYS94WUlnL1NXVHdOVFcxdERvU0RZWDM2QlQ1S2NVcURSUEROaHdzMU9iU3IrRnBoZnFJeGhxbGtZdWw2RitQL2dEWGg3UnJUcjhaNTdBZWZpVVJFU3pmR1FEWmJyOTg5b3VOeGRNTWdGUkUvZU95RXAyeXpzV0R4b0MxYVZSV3pMVjljWVBpcXozdjZxU29RVTM1b1htZVJaYmZKdVc2ZllBcmNmZVd3eWQ0NU4xZ0Fjb3BRSHQyRUQzRGR6Qmd3LzNKU3gzeEdzSUpqSlFERG92Q0haZENBamlldlBBREVSQmpCUUhUS0lHWStBY3pBSDJEcktLeFRodVVBT0N1ajRTZ3BEU3FERVJtcjFlT0RvaFFTNmF1QTFQTHZ4UHFMMmplbTExN09RZDVVOGQ2S2FZMWRVcWl0M0Y3b0QxZm50ZXhmR2g5T3htZUwyVWVZTVZId2VNc0ZSeUFjc0xuNmwwaUN4NVA1cHNSbmJ6R043RXExaHpaQnE3WlZIS2txS2FSQlVNWU1xREUzZytaUDBrcWJYU3llN0tWdXpJNnY5ZmRyLzJKVHA4YklIM2VxUCt2b0w1V0RzYW13MEFFWEJMbjMrTzBRK2RlaWVlRHlucU56Y3BneHcvckJTeTZvWkhqVGRLdzNjK3FyZXFZQWY5azl4QkxzUWJ6SmJPTE5venFPNU1rZ1F0K0FUTHpCTkdDMTVMRm1JOVlielBvUlpESVpWaUdEeWJDQVBFMm1YS3FEUzNWWWw3NmV2cHp5VXBjUEpEM3o1OWZWelY4NGYySGR2THE1UFYxVGsyS3dxRmdFV2RhU0oya29YN1FHQXZWdE9GUjQycnR3NEVOU1h4UVVVdDhVVk9lMnEyMjkyaE5WOU9xRStvWlBXNzJZMEROK3Axc09Gem1jN3Z1dXpNc3JjK2VWZ251enUzMkgzRTVtc2ZOOHY4VlE2aTF5c3Q4bTI4c2hEdW4yVmRaVXltODdCSjBCeDYwUk1ScnQvanQvTC9NVHdSOE0rdkhscmZyYVVwY243M3A5aVh2c24wTEFXT2l3alAwM0g1Vmd5eGo1NkZpdEVBajRyM0k1bk02cnBvcjVJSWJyN1BiaVF2bldIL3dBc1NDckVQZU9LcXNoN0tLU3l0Y2tOUk1rWlNCR3BSaWtsQnpIYWlQbURSWURieG5Od3hhejJYSjVGc3VSZ1RjWlJwQlpyemYzSTdOWnZ4THB6ZnA1YW4xdjVnU1JHWXdHM2ppS2pCYUQwYkxyQzk4dE9ldlNOekpZekxzdWVTY0llNHZxNnVxRzZsWXNXN3BvUWZlY2NFTFZBZXYvaHc2b2J4Y2lBeWQ5dFZDZDhsQjh2V0lZdjdnK0RGVFlYYksreW8xdE5aR0dXSHVOTHh5cEtJbnZtWHJ0elhON0h2cStMM3d4cldnWnB4WG5qenVkdDduc2k2TDJYNGtKWDBYTTFVVVU1S0RiNmltN2J1M1VqWWxyUWk0SFdjc2YwN1c4RFRXaGJyUVJiVWJ2VXcwcGlwSVhLWUtXZE9RRG9OczhtekhrcmNZbUk2L2ExNW5wTGdwRG5qSFBZQndGejRISXU0Mm9Rd0s3TktJblFzbkRhS1FBNXhuTWVRTldiTFJnazlsb0lnZnl6S3VRT2M4TXl6dVZ2cEdlSVZXL3lXK29oeHVpTDNDL2dhVFkwNFBRcHN0Nk52YU1yQndhWE5xL2VQN2NHZE5iVzJqWlVHeW9qNFp0RUY0cE5qenpNcVdzeXBjYTltZmVwcFFsV1ZXd1NEWDZHWVd3cTJweUVhdkExaWZ3WGZ2WE5iWjg0MERibmhxdjBWUnFaWFhWNjZ0MnhxcFNUcGZMMmJhaEtUNmx1YXh5UVVuam51bXNpZXBDUmlkaTBlN0NTVXpFTzNmei9MYXRxMWJYT3VjMWpWeFc3TXp6MjRvOFpZeWphTFlZRUlKQm9VY0l1bXBkam9yUkVvdTdaT3lQVkMweTZpRi9pOWlIU2N5R3ZPSUg5SjFyNjloN0FmY0tLSmFNcE45V3BaVStBdWtFYjVTK3BVcEE1WUpVRk5ES0c1TnhOT3ZCTm5hWDkrU3h2bFBMb25aN3NOanFXbkI5N0NaWmZkTXQwMHpDNi9ON1RyOWNHeXVNZWlvclE0WkErR0htWFMzV3dPZTRXc0JnQ3dGU2hhaVdlaVppcml6QXBZZzU1eTF6anpZMXpweloxRENUWCtnVmpwTFV5MUhSbzlhdjV3QzlmaFJLU2xsMFpwZHkvc2QxbkY5TlVzZjV0YnB6dTVKSG1Dd05odjR2RWY1dENnQUFBSGphalpMQlRoc3hFSVovTHdIUkE2aXRla0k5V0tnSE9MQk9vRWdST1lWSXVSUUpJZ0ZxajdDMWRoY2w4V0o3RDd4RUg2SXYwaHVxK2g1OWh4NzcyM0ZMcUVyVlhhMzllVHovekt6SEFKN2pIZ0tMNXlPK0pSYllFTzhTWitpSUl2RUtYb3ZQaVR0NEtiNG5Yc1ZHOWlyeEdsNWs0OFNiMk1vK1VTVTZ6N2o2R2lNRUZ0Z1NLbkdHZGZFaDhRcjZva3Jjd1J2eEpmRXEvWDhrWHNOMnRwMTRFMit6OXhqQm9NRWRMR3FVcU9BaHNZOHVlamdrbmRPaU9RZXZOdnBvamhKbmtXZHhMN0RCRGJtSTZpRTlQWFdHZHNmMVRvenFtY1hoQ0lwdlNXM3dhSEdObkNyRFNBcTNYQnZhTmVmNTB1cUt5cUJWZjFUeFVNTXVvMkJrbWp0Ymw1V1grOTNlb1R5dnRCeVoxdGJheWpOYnp6UkhjNk1MTDRldHI0eDFjcWZ5dm5GSFNwVzFyOXJydkRBemRkc2FyOXQ1bks2YXhxa1VJa2JZRFZtZVBBZzh5Z1ljMDNQS2E0RmpNK1Y0d0JyRHFmWXh3QVFYL0lha3AvNW83MEYra0hkNy9jSGtZakljTEJlenR3ajdyOGI4RHZINEhCYkN5eWh3ZERZOGJibFVIeTYxZGJXWnk1Z1ovMVBqWHdyNzFmTkZ4eDI3SEhRTmJZNlpRdDRwNTNCSFN1NmZZb3dUaXRnUk5zUVZ0bTY4eTEwOXpZMHQxZW40QkQ4QityR29lUUFBZU5wbGl0ZE93bUFBUnM5ZlJoR2NETVV0YmxHeHhWbFhYQ2k0QlNlb3BURmdMd2cxQldPODFVZjFQWXltaVRIUmMzTytuSHhJT0h4KzhQWXR3VjlNcDBxNGNPUEJpNHlQQnZ3RWFLU0pabHBvcFkwZ0ljSkVhS2VES0oxMDBVMFB2ZlRSendBeEJobGltQkZHR1dPY0NlSk1Nc1UwQ1daUVVFa3l5eHp6TExESUVockxyTERLR3V0c3NNa1cyK3lRWXBjOTBtVFk1NEJEampqbWhGUE95SkxqbkFzdXVlS2FHL0lVdU9XT2UzU0tHTHdMU2JpRVczaUVWOGdocTFyU2F4V2padXBsNjlsT2xHM2pJZmpiNmkrV2t5SjEweTc5TzhxUGxkY25VOU44amxWRitSbnFGekxITlc0QUFRQUIvLzhBRDNqYVkyQmtZR0RnQVdJbElHWmlZQWJDUkFaR2hpU0dGQ0F2bFNFZHlHWUJ5ekFBQUNmVUFqVjQybU5nWkdCZzRHSUlZVWhpWUhaeDh3bGhFRWt2U3MxbVVNaEpMTWxqMEdGZ0Fjb3kvUC9QQUZLRnpCWmpZSFoyREZGZ0VQUDE5d0dTUWY2K1FCSXV5NWhXbEpqTXdBRmlnVEVMV0M4alVJUVJhQ1lUMEQ0RklNbkd3TWVRek1ETUlNUWdDcklkU0l1RDFhYkEyVXdNSWd4aUFMVzJFeGw0Mm1OZ1pHQmc0R0t3WWJCallIWng4d2xoRUVrdlNzMW1rTXRKTE1sajBHQmdBY295L1A4UEpMQ3hnQUFBV3hvTGF3QUFBQUFBQVFBQUFBRFZwQ2NJQUFBQUFObWNnK0VBQUFBQTJmdEpOQT09JykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG4ifX0=`, "base64").toString("utf8"))
}
//Conf
@@ -506,6 +506,52 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
throw {error:{message:`An error occured`}}
}
}
+// CONCATENATED MODULE: E:\Users\lecoq\Documents\GitHub\gitstats\src\plugins\posts\index.mjs
+//Setup
+ /* harmony default export */ async function E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_posts_index({imports, data, q}, {enabled = false} = {}) {
+ //Plugin execution
+ try {
+ //Check if plugin is enabled and requirements are met
+ if ((!enabled)||(!q.posts))
+ return null
+
+ //Parameters override
+ const login = data.user.login
+ let {"posts.source":source = "", "posts.limit":limit = 4} = q
+ //Limit
+ limit = Math.max(1, Math.min(30, Number(limit)))
+
+ //Retrieve posts
+ let posts = null
+ switch (source) {
+ //Dev.to
+ case "dev.to":{
+ posts = (await imports.axios.get(`https://dev.to/api/articles?username=${login}&state=fresh`)).data.map(({title, readable_publish_date:date}) => ({title, date}))
+ break
+ }
+ //Unsupported
+ default:
+ throw {error:{message:`Unsupported source "${source}"`}}
+ }
+ //Format posts
+ if (Array.isArray(posts)) {
+ //Limit tracklist
+ if (limit > 0) {
+ console.debug(`metrics/compute/${login}/plugins > music > keeping only ${limit} posts`)
+ posts = posts.slice(0, limit)
+ }
+ //Results
+ return {source, posts}
+ }
+ //Unhandled error
+ throw {error:{message:`An error occured (could not retrieve posts)`}}
+ }
+ //Handle errors
+ catch (error) {
+ console.debug(error)
+ throw {error:{message:`An error occured`}}
+ }
+ }
// CONCATENATED MODULE: E:\Users\lecoq\Documents\GitHub\gitstats\src\plugins\selfskip\index.mjs
//Setup
/* harmony default export */ async function E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_selfskip_index({login, rest, computed, q}, {enabled = false} = {}) {
@@ -571,6 +617,7 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
+
//Exports
/* harmony default export */ const E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_index = ({
@@ -580,6 +627,7 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
lines: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_lines_index,
music: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_music_index,
pagespeed: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_pagespeed_index,
+ posts: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_posts_index,
selfskip: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_selfskip_index,
traffic: E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_traffic_index,
});
@@ -618,6 +666,9 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
computed.licenses.used[repository.licenseInfo.spdxId] = (computed.licenses.used[repository.licenseInfo.spdxId] || 0) + 1
}
+ //Total disk usage
+ computed.diskUsage = `${imports.bytes(data.user.repositories.totalDiskUsage*1000)}`
+
//Compute licenses stats
computed.licenses.favorite = Object.entries(computed.licenses.used).sort(([an, a], [bn, b]) => b - a).slice(0, 1).map(([name, value]) => name) || ""
@@ -653,17 +704,6 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
//Common
await E_Users_lecoq_Documents_GitHub_gitstats_src_templates_common(...arguments)
}
-// CONCATENATED MODULE: E:\Users\lecoq\Documents\GitHub\gitstats\src\templates\sybil\template.mjs
-//Imports
-
-
-/** Template processor */
- /* harmony default export */ async function E_Users_lecoq_Documents_GitHub_gitstats_src_templates_sybil_template({login, q}, {conf, data, rest, graphql, plugins}, {s, pending, imports}) {
- //Common
- await E_Users_lecoq_Documents_GitHub_gitstats_src_templates_common(...arguments)
- //Disable optimization to keep white-spaces
- q.raw = true
- }
// CONCATENATED MODULE: E:\Users\lecoq\Documents\GitHub\gitstats\src\templates\terminal\template.mjs
//Imports
@@ -679,12 +719,10 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default = /
//Imports
-
//Exports
/* harmony default export */ const E_Users_lecoq_Documents_GitHub_gitstats_src_templates_index = ({
classic: E_Users_lecoq_Documents_GitHub_gitstats_src_templates_classic_template,
- sybil: E_Users_lecoq_Documents_GitHub_gitstats_src_templates_sybil_template,
terminal: E_Users_lecoq_Documents_GitHub_gitstats_src_templates_terminal_template,
});
// EXTERNAL MODULE: E:\Users\lecoq\Documents\GitHub\gitstats\node_modules\puppeteer\cjs-entry.js
@@ -730,7 +768,7 @@ var external_url_default = /*#__PURE__*/__webpack_require__.n(external_url_);
data.base[part] = (`base.${part}` in q) ? !!q[`base.${part}`] : true
//Placeholder
- if (login === "placeholder")
+ if (login === "placeholder")
placeholder({data, conf, q})
//Compute
else {
@@ -746,7 +784,7 @@ var external_url_default = /*#__PURE__*/__webpack_require__.n(external_url_);
//Compute metrics
console.debug(`metrics/compute/${login} > compute`)
const computer = E_Users_lecoq_Documents_GitHub_gitstats_src_templates_index[template].default || E_Users_lecoq_Documents_GitHub_gitstats_src_templates_index[template]
- await computer({login, q}, {conf, data, rest, graphql, plugins}, {s, pending, imports:{plugins:E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_index, url: (external_url_default()), imgb64: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_image_to_base64_image_to_base64_min_default()), axios: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default()), puppeteer: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_puppeteer_cjs_entry_default()), format, shuffle}})
+ await computer({login, q}, {conf, data, rest, graphql, plugins}, {s, pending, imports:{plugins:E_Users_lecoq_Documents_GitHub_gitstats_src_plugins_index, url: (external_url_default()), imgb64: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_image_to_base64_image_to_base64_min_default()), axios: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_axios_index_default()), puppeteer: (E_Users_lecoq_Documents_GitHub_gitstats_node_modules_puppeteer_cjs_entry_default()), format, bytes, shuffle}})
const promised = await Promise.all(pending)
//Check plugins errors
@@ -794,6 +832,14 @@ var external_url_default = /*#__PURE__*/__webpack_require__.n(external_url_);
return n
}
+/** Bytes formatter */
+ function bytes(n) {
+ for (const {u, v} of [{u:"E", v:10**18}, {u:"P", v:10**15}, {u:"T", v:10**12}, {u:"G", v:10**9}, {u:"M", v:10**6}, {u:"k", v:10**3}])
+ if (n/v >= 1)
+ return `${(n/v).toFixed(2).substr(0, 4).replace(/[.]0*$/, "")} ${u}B`
+ return `${n} byte${n > 1 ? "s" : ""}`
+ }
+
/** Array shuffler */
function shuffle(array) {
for (let i = array.length-1; i > 0; i--) {
@@ -836,8 +882,9 @@ var external_url_default = /*#__PURE__*/__webpack_require__.n(external_url_);
registration:"## years ago",
calendar:new Array(14).fill({color:"#ebedf0"}),
licenses:{favorite:`########`},
- plugins:Object.fromEntries(enabled.map(key =>
+ plugins:Object.fromEntries(enabled.map(key =>
[key, proxify({
+ posts:{source:"########", posts:new Array("posts.limit" in q ? Math.max(Number(q["posts.limit"])||0, 0) : 2).fill({title:"###### ###### ####### ######", date:"####"})},
music:{provider:"########", tracks:new Array("music.limit" in q ? Math.max(Number(q["music.limit"])||0, 0) : 4).fill({name:"##########", artist:"######", artwork:"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mOcOnfpfwAGfgLYttYINwAAAABJRU5ErkJggg=="})},
pagespeed:{scores:["Performance", "Accessibility", "Best Practices", "SEO"].map(title => ({title, score:NaN}))},
followup:{issues:{count:0}, pr:{count:0}},
@@ -874,7 +921,7 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_actions_github_lib_gith
//Initialization
console.log(`GitHub metrics as SVG image`)
console.log(`========================================================`)
- console.log(`Version | 2.2.0`)
+ console.log(`Version | 2.3.0`)
process.on("unhandledRejection", error => { throw error })
//Skip process if needed
@@ -938,7 +985,8 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_actions_github_lib_gith
selfskip:{enabled:bool(core.getInput("plugin_selfskip"))},
languages:{enabled:bool(core.getInput("plugin_languages"))},
followup:{enabled:bool(core.getInput("plugin_followup"))},
- music:{enabled:bool(core.getInput("plugin_music"))}
+ music:{enabled:bool(core.getInput("plugin_music"))},
+ posts:{enabled:bool(core.getInput("plugin_posts"))},
}
let q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true]))
console.log(`Plugins enabled | ${Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => key).join(", ")}`)
@@ -959,6 +1007,13 @@ var E_Users_lecoq_Documents_GitHub_gitstats_node_modules_actions_github_lib_gith
plugins.music.token = core.getInput("plugin_music_token") || ""
console.log(`Music token | ${plugins.music.token ? "provided" : "missing"}`)
}
+ //Posts
+ if (plugins.posts.enabled) {
+ for (const option of ["source", "limit"])
+ q[`posts.${option}`] = core.getInput(`plugin_posts_${option}`) || ""
+ console.log(`Posts provider | ${q["posts.provider"]}`)
+ console.log(`Posts limit | ${q["posts.limit"]}`)
+ }
//Repositories to use
const repositories = Number(core.getInput("repositories")) || 100
@@ -33123,26 +33178,6 @@ exports.create = function(config) {
};
-/***/ }),
-
-/***/ 21960:
-/***/ ((module) => {
-
-// https://drafts.csswg.org/css-images-4/#element-notation
-// https://developer.mozilla.org/en-US/docs/Web/CSS/element
-module.exports = function() {
- this.scanner.skipSC();
-
- var children = this.createSingleNodeList(
- this.IdSelector()
- );
-
- this.scanner.skipSC();
-
- return children;
-};
-
-
/***/ }),
/***/ 97372:
@@ -34496,39 +34531,6 @@ module.exports = {
};
-/***/ }),
-
-/***/ 74721:
-/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
-
-var TYPE = __webpack_require__(22802).TYPE;
-
-var HASH = TYPE.Hash;
-
-// '#' ident
-module.exports = {
- name: 'HexColor',
- structure: {
- value: String
- },
- parse: function() {
- var start = this.scanner.tokenStart;
-
- this.eat(HASH);
-
- return {
- type: 'HexColor',
- loc: this.getLocation(start, this.scanner.tokenStart),
- value: this.scanner.substrToCursor(start + 1)
- };
- },
- generate: function(node) {
- this.chunk('#');
- this.chunk(node.value);
- }
-};
-
-
/***/ }),
/***/ 91882:
@@ -35936,7 +35938,7 @@ module.exports = {
DeclarationList: __webpack_require__(55745),
Dimension: __webpack_require__(35824),
Function: __webpack_require__(79802),
- HexColor: __webpack_require__(74721),
+ HexColor: __webpack_require__(19362),
Identifier: __webpack_require__(61113),
IdSelector: __webpack_require__(91882),
MediaFeature: __webpack_require__(62080),
@@ -36343,8 +36345,8 @@ module.exports = {
module.exports = {
getNode: __webpack_require__(71987),
- '-moz-element': __webpack_require__(21960),
- 'element': __webpack_require__(21960),
+ '-moz-element': __webpack_require__(76903),
+ 'element': __webpack_require__(76903),
'expression': __webpack_require__(97372),
'var': __webpack_require__(67348)
};
@@ -94065,6 +94067,22 @@ function defaultCallback(err) {
}
+/***/ }),
+
+/***/ 76903:
+/***/ ((module) => {
+
+module.exports = eval("require")("../function/element");
+
+
+/***/ }),
+
+/***/ 19362:
+/***/ ((module) => {
+
+module.exports = eval("require")("./HexColor");
+
+
/***/ }),
/***/ 84202:
@@ -94151,7 +94169,7 @@ module.exports = JSON.parse("{\"absolute-size\":{\"syntax\":\"xx-small | x-small
/***/ ((module) => {
"use strict";
-module.exports = {"i8":"4.0.3"};
+module.exports = {"i8":"4.1.0"};
/***/ }),
@@ -94543,6 +94561,6 @@ module.exports = require("zlib");
/******/ // module exports must be returned from runtime so entry inlining is disabled
/******/ // startup
/******/ // Load entry module and return exports
-/******/ return __webpack_require__(73257);
+/******/ return __webpack_require__(79668);
/******/ })()
;
\ No newline at end of file
diff --git a/action/index.mjs b/action/index.mjs
index 71745c4e..905a39b4 100644
--- a/action/index.mjs
+++ b/action/index.mjs
@@ -79,7 +79,8 @@
selfskip:{enabled:bool(core.getInput("plugin_selfskip"))},
languages:{enabled:bool(core.getInput("plugin_languages"))},
followup:{enabled:bool(core.getInput("plugin_followup"))},
- music:{enabled:bool(core.getInput("plugin_music"))}
+ music:{enabled:bool(core.getInput("plugin_music"))},
+ posts:{enabled:bool(core.getInput("plugin_posts"))},
}
let q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true]))
console.log(`Plugins enabled | ${Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => key).join(", ")}`)
@@ -100,6 +101,13 @@
plugins.music.token = core.getInput("plugin_music_token") || ""
console.log(`Music token | ${plugins.music.token ? "provided" : "missing"}`)
}
+ //Posts
+ if (plugins.posts.enabled) {
+ for (const option of ["source", "limit"])
+ q[`posts.${option}`] = core.getInput(`plugin_posts_${option}`) || ""
+ console.log(`Posts provider | ${q["posts.provider"]}`)
+ console.log(`Posts limit | ${q["posts.limit"]}`)
+ }
//Repositories to use
const repositories = Number(core.getInput("repositories")) || 100
diff --git a/package-lock.json b/package-lock.json
index 8c651984..ed962321 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "metrics",
- "version": "2.2.0",
+ "version": "2.3.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -29,17 +29,17 @@
}
},
"@octokit/auth-token": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz",
- "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.3.tgz",
+ "integrity": "sha512-fdGoOQ3kQJh+hrilc0Plg50xSfaCKOeYN9t6dpJKXN9BxhhfquL0OzoQXg3spLYymL5rm29uPeI3KEXRaZQ9zg==",
"requires": {
"@octokit/types": "^5.0.0"
}
},
"@octokit/core": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.1.4.tgz",
- "integrity": "sha512-eNDwFpKbGbLzPXiFE5PCoeq3nHlKTmWcCtZfQNCwJmW21XqrWr6c2uUhgLCzDeDkQVvKqUWaIgeCDB6i6mvFoA==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.2.1.tgz",
+ "integrity": "sha512-XfFSDDwv6tclUenS0EmB6iA7u+4aOHBT1Lz4PtQNQQg3hBbNaR/+Uv5URU+egeIuuGAiMRiDyY92G4GBOWOqDA==",
"requires": {
"@octokit/auth-token": "^2.4.0",
"@octokit/graphql": "^4.3.1",
@@ -50,9 +50,9 @@
}
},
"@octokit/endpoint": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.8.tgz",
- "integrity": "sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.9.tgz",
+ "integrity": "sha512-3VPLbcCuqji4IFTclNUtGdp9v7g+nspWdiCUbK3+iPMjJCZ6LEhn1ts626bWLOn0GiDb6j+uqGvPpqLnY7pBgw==",
"requires": {
"@octokit/types": "^5.0.0",
"is-plain-object": "^5.0.0",
@@ -60,9 +60,9 @@
}
},
"@octokit/graphql": {
- "version": "4.5.6",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.6.tgz",
- "integrity": "sha512-Rry+unqKTa3svswT2ZAuqenpLrzJd+JTv89LTeVa5UM/5OX8o4KTkPL7/1ABq4f/ZkELb0XEK/2IEoYwykcLXg==",
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.7.tgz",
+ "integrity": "sha512-Gk0AR+DcwIK/lK/GX+OQ99UqtenQhcbrhHHfOYlrCQe17ADnX3EKAOKRsAZ9qZvpi5MuwWm/Nm+9aO2kTDSdyA==",
"requires": {
"@octokit/request": "^5.3.0",
"@octokit/types": "^5.0.0",
@@ -70,9 +70,9 @@
}
},
"@octokit/plugin-paginate-rest": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.4.0.tgz",
- "integrity": "sha512-YT6Klz3LLH6/nNgi0pheJnUmTFW4kVnxGft+v8Itc41IIcjl7y1C8TatmKQBbCSuTSNFXO5pCENnqg6sjwpJhg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.6.0.tgz",
+ "integrity": "sha512-o+O8c1PqsC5++BHXfMZabRRsBIVb34tXPWyQLyp2IXq5MmkxdipS7TXM4Y9ldL1PzY9CTrCsn/lzFFJGM3oRRA==",
"requires": {
"@octokit/types": "^5.5.0"
}
@@ -83,18 +83,18 @@
"integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg=="
},
"@octokit/plugin-rest-endpoint-methods": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.0.tgz",
- "integrity": "sha512-1/qn1q1C1hGz6W/iEDm9DoyNoG/xdFDt78E3eZ5hHeUfJTLJgyAMdj9chL/cNBHjcjd+FH5aO1x0VCqR2RE0mw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.1.tgz",
+ "integrity": "sha512-QyFr4Bv807Pt1DXZOC5a7L5aFdrwz71UHTYoHVajYV5hsqffWm8FUl9+O7nxRu5PDMtB/IKrhFqTmdBTK5cx+A==",
"requires": {
"@octokit/types": "^5.5.0",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
- "version": "5.4.9",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.9.tgz",
- "integrity": "sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA==",
+ "version": "5.4.10",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.10.tgz",
+ "integrity": "sha512-egA49HkqEORVGDZGav1mh+VD+7uLgOxtn5oODj6guJk0HCy+YBSYapFkSLFgeYj3Fr18ZULKGURkjyhkAChylw==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0",
@@ -107,9 +107,9 @@
}
},
"@octokit/request-error": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz",
- "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.3.tgz",
+ "integrity": "sha512-GgD5z8Btm301i2zfvJLk/mkhvGCdjQ7wT8xF9ov5noQY8WbKZDH9cOBqXzoeKd1mLr1xH2FwbtGso135zGBgTA==",
"requires": {
"@octokit/types": "^5.0.1",
"deprecation": "^2.0.0",
@@ -117,14 +117,14 @@
}
},
"@octokit/rest": {
- "version": "18.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.0.6.tgz",
- "integrity": "sha512-ES4lZBKPJMX/yUoQjAZiyFjei9pJ4lTTfb9k7OtYoUzKPDLl/M8jiHqt6qeSauyU4eZGLw0sgP1WiQl9FYeM5w==",
+ "version": "18.0.9",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.0.9.tgz",
+ "integrity": "sha512-CC5+cIx974Ygx9lQNfUn7/oXDQ9kqGiKUC6j1A9bAVZZ7aoTF8K6yxu0pQhQrLBwSl92J6Z3iVDhGhGFgISCZg==",
"requires": {
"@octokit/core": "^3.0.0",
"@octokit/plugin-paginate-rest": "^2.2.0",
"@octokit/plugin-request-log": "^1.0.0",
- "@octokit/plugin-rest-endpoint-methods": "4.2.0"
+ "@octokit/plugin-rest-endpoint-methods": "4.2.1"
}
},
"@octokit/types": {
@@ -136,9 +136,9 @@
}
},
"@types/node": {
- "version": "14.14.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.2.tgz",
- "integrity": "sha512-jeYJU2kl7hL9U5xuI/BhKPZ4vqGM/OmK6whiFAXVhlstzZhVamWhDSmHyGLIp+RVyuF9/d0dqr2P85aFj4BvJg=="
+ "version": "14.14.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz",
+ "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw=="
},
"@types/q": {
"version": "1.5.4",
@@ -323,9 +323,9 @@
}
},
"buffer": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.1.tgz",
- "integrity": "sha512-2z15UUHpS9/3tk9mY/q+Rl3rydOi7yMp5XWNQnRvoz+mJwiv8brqYwp9a+nOCtma6dwuEIxljD8W3ysVBZ05Vg==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.0.tgz",
+ "integrity": "sha512-cd+5r1VLBwUqTrmnzW+D7ABkJUM6mr7uv1dv+6jRw4Rcl7tFIFHDqHPL98LhpGFn3dbAt3gtLxtrWp4m1kFrqg==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@@ -341,6 +341,15 @@
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
+ "call-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+ "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -489,26 +498,26 @@
"integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ=="
},
"csso": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.1.0.tgz",
+ "integrity": "sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==",
"requires": {
- "css-tree": "1.0.0-alpha.39"
+ "css-tree": "^1.0.0"
},
"dependencies": {
"css-tree": {
- "version": "1.0.0-alpha.39",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0.tgz",
+ "integrity": "sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw==",
"requires": {
- "mdn-data": "2.0.6",
+ "mdn-data": "2.0.12",
"source-map": "^0.6.1"
}
},
"mdn-data": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA=="
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz",
+ "integrity": "sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q=="
}
}
},
@@ -843,6 +852,16 @@
"wide-align": "^1.1.0"
}
},
+ "get-intrinsic": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
+ "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
"get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -942,9 +961,9 @@
}
},
"ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"ignore-walk": {
"version": "3.0.3",
@@ -1312,35 +1331,14 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
},
"object.assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
- "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
"requires": {
+ "call-bind": "^1.0.0",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.0",
"has-symbols": "^1.0.1",
"object-keys": "^1.1.1"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.18.0-next.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
- "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-negative-zero": "^2.0.0",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
}
},
"object.getownpropertydescriptors": {
@@ -1503,9 +1501,9 @@
}
},
"puppeteer": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.4.0.tgz",
- "integrity": "sha512-LgTqVW2ClEP4XGAT64FLQ0QWVhdNSRwJp9HfMFVfoJlZHGQu3HUbuBhR1hBow3DXZH1K3b/WfHxt1n8hr2uayw==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.4.1.tgz",
+ "integrity": "sha512-8u6r9tFm3gtMylU4uCry1W/CeAA8uczKMONvGvivkTsGqKA7iB7DWO2CBFYlB9GY6/IEoq9vkI5slJWzUBkwNw==",
"requires": {
"debug": "^4.1.0",
"devtools-protocol": "0.0.809251",
diff --git a/package.json b/package.json
index 96c2f8b1..aa61679a 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,13 @@
{
"name": "metrics",
- "version": "2.2.0",
+ "version": "2.3.0",
"description": "Generate an user's GitHub metrics as SVG image format to embed somewhere else",
"main": "index.mjs",
"scripts": {
"start": "node index.mjs",
"build": "node utils/build.mjs",
"test": "node tests/metrics.mjs",
- "upgrade": "npm install @actions/core@latest @actions/github@latest @octokit/graphql@latest @octokit/rest@latest axios@latest compression@latest ejs@latest express@latest express-rate-limit@latest image-to-base64@latest memory-cache@latest prismjs@latest svgo@latest vue@latest vue-prism-component@latest @vercel/ncc@latest libxmljs@latest"
+ "upgrade": "npm install @actions/core@latest @actions/github@latest @octokit/graphql@latest @octokit/rest@latest axios@latest compression@latest ejs@latest express@latest express-rate-limit@latest image-to-base64@latest memory-cache@latest prismjs@latest puppeteer@latest svgo@latest vue@latest vue-prism-component@latest @vercel/ncc@latest libxmljs@latest"
},
"repository": {
"type": "git",
@@ -22,8 +22,8 @@
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^4.0.0",
- "@octokit/graphql": "^4.5.6",
- "@octokit/rest": "^18.0.6",
+ "@octokit/graphql": "^4.5.7",
+ "@octokit/rest": "^18.0.9",
"axios": "^0.21.0",
"compression": "^1.7.4",
"ejs": "^3.1.5",
@@ -32,7 +32,7 @@
"image-to-base64": "^2.1.1",
"memory-cache": "^0.2.0",
"prismjs": "^1.22.0",
- "puppeteer": "^5.4.0",
+ "puppeteer": "^5.4.1",
"svgo": "^1.3.2",
"vue": "^2.6.12",
"vue-prism-component": "^1.2.0"
diff --git a/settings.example.json b/settings.example.json
index 0e2fe4de..4abe2932 100644
--- a/settings.example.json
+++ b/settings.example.json
@@ -33,11 +33,14 @@
"enabled":true, "//":"Enable or disable most used languages metrics"
},
"followup":{ "//":"Follow-up plugin",
- "enabled":true, "//":"Enable owned repositories issues and pull requests metrics"
+ "enabled":true, "//":"Enable or disable owned repositories issues and pull requests metrics"
},
"music":{ "//":"Music plugin",
- "enabled":false, "//":"Enable music plugin",
+ "enabled":false, "//":"Enable or disable music recently played / random track from playlist",
"token":null, "//":"Music provider token (may be required depending on provider)"
+ },
+ "posts":{ "//":"posts plugin",
+ "enabled":false, "//":"Enable or disable recents posts"
}
}
}
\ No newline at end of file
diff --git a/src/html/app.js b/src/html/app.js
index 29edc5f3..2425c166 100644
--- a/src/html/app.js
+++ b/src/html/app.js
@@ -29,6 +29,7 @@
habits:"Coding habits",
selfskip:"Skip metrics commits",
music:"Music plugin",
+ posts:"Recent posts",
"base.header":"Header",
"base.activity":"Account activity",
"base.community":"Community stats",
@@ -39,6 +40,9 @@
"habits.from":100,
"music.playlist":"",
"music.mode":"playlist",
+ "music.limit":4,
+ "posts.limit":4,
+ "posts.source":"dev.to",
},
},
templates:{
diff --git a/src/html/index.html b/src/html/index.html
index a89a9515..fc1f2fbc 100644
--- a/src/html/index.html
+++ b/src/html/index.html
@@ -48,7 +48,7 @@
{{ plugins.descriptions[plugin] || plugin }}
-
+
2.3 Configure additional plugins
diff --git a/src/metrics.mjs b/src/metrics.mjs
index 5353e015..96ab1ff8 100644
--- a/src/metrics.mjs
+++ b/src/metrics.mjs
@@ -32,7 +32,7 @@
data.base[part] = (`base.${part}` in q) ? !!q[`base.${part}`] : true
//Placeholder
- if (login === "placeholder")
+ if (login === "placeholder")
placeholder({data, conf, q})
//Compute
else {
@@ -48,7 +48,7 @@
//Compute metrics
console.debug(`metrics/compute/${login} > compute`)
const computer = Templates[template].default || Templates[template]
- await computer({login, q}, {conf, data, rest, graphql, plugins}, {s, pending, imports:{plugins:Plugins, url, imgb64, axios, puppeteer, format, shuffle}})
+ await computer({login, q}, {conf, data, rest, graphql, plugins}, {s, pending, imports:{plugins:Plugins, url, imgb64, axios, puppeteer, format, bytes, shuffle}})
const promised = await Promise.all(pending)
//Check plugins errors
@@ -96,6 +96,14 @@
return n
}
+/** Bytes formatter */
+ function bytes(n) {
+ for (const {u, v} of [{u:"E", v:10**18}, {u:"P", v:10**15}, {u:"T", v:10**12}, {u:"G", v:10**9}, {u:"M", v:10**6}, {u:"k", v:10**3}])
+ if (n/v >= 1)
+ return `${(n/v).toFixed(2).substr(0, 4).replace(/[.]0*$/, "")} ${u}B`
+ return `${n} byte${n > 1 ? "s" : ""}`
+ }
+
/** Array shuffler */
function shuffle(array) {
for (let i = array.length-1; i > 0; i--) {
@@ -138,8 +146,9 @@
registration:"## years ago",
calendar:new Array(14).fill({color:"#ebedf0"}),
licenses:{favorite:`########`},
- plugins:Object.fromEntries(enabled.map(key =>
+ plugins:Object.fromEntries(enabled.map(key =>
[key, proxify({
+ posts:{source:"########", posts:new Array("posts.limit" in q ? Math.max(Number(q["posts.limit"])||0, 0) : 2).fill({title:"###### ###### ####### ######", date:"####"})},
music:{provider:"########", tracks:new Array("music.limit" in q ? Math.max(Number(q["music.limit"])||0, 0) : 4).fill({name:"##########", artist:"######", artwork:"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mOcOnfpfwAGfgLYttYINwAAAABJRU5ErkJggg=="})},
pagespeed:{scores:["Performance", "Accessibility", "Best Practices", "SEO"].map(title => ({title, score:NaN}))},
followup:{issues:{count:0}, pr:{count:0}},
diff --git a/src/plugins/index.mjs b/src/plugins/index.mjs
index 58309a1f..74ba144c 100644
--- a/src/plugins/index.mjs
+++ b/src/plugins/index.mjs
@@ -5,6 +5,7 @@
import lines from "./lines/index.mjs"
import music from "./music/index.mjs"
import pagespeed from "./pagespeed/index.mjs"
+ import posts from "./posts/index.mjs"
import selfskip from "./selfskip/index.mjs"
import traffic from "./traffic/index.mjs"
@@ -16,6 +17,7 @@
lines,
music,
pagespeed,
+ posts,
selfskip,
traffic,
}
\ No newline at end of file
diff --git a/src/plugins/posts/index.mjs b/src/plugins/posts/index.mjs
new file mode 100644
index 00000000..ec556881
--- /dev/null
+++ b/src/plugins/posts/index.mjs
@@ -0,0 +1,45 @@
+//Setup
+ export default async function ({imports, data, q}, {enabled = false} = {}) {
+ //Plugin execution
+ try {
+ //Check if plugin is enabled and requirements are met
+ if ((!enabled)||(!q.posts))
+ return null
+
+ //Parameters override
+ const login = data.user.login
+ let {"posts.source":source = "", "posts.limit":limit = 4} = q
+ //Limit
+ limit = Math.max(1, Math.min(30, Number(limit)))
+
+ //Retrieve posts
+ let posts = null
+ switch (source) {
+ //Dev.to
+ case "dev.to":{
+ posts = (await imports.axios.get(`https://dev.to/api/articles?username=${login}&state=fresh`)).data.map(({title, readable_publish_date:date}) => ({title, date}))
+ break
+ }
+ //Unsupported
+ default:
+ throw {error:{message:`Unsupported source "${source}"`}}
+ }
+ //Format posts
+ if (Array.isArray(posts)) {
+ //Limit tracklist
+ if (limit > 0) {
+ console.debug(`metrics/compute/${login}/plugins > music > keeping only ${limit} posts`)
+ posts = posts.slice(0, limit)
+ }
+ //Results
+ return {source, posts}
+ }
+ //Unhandled error
+ throw {error:{message:`An error occured (could not retrieve posts)`}}
+ }
+ //Handle errors
+ catch (error) {
+ console.debug(error)
+ throw {error:{message:`An error occured`}}
+ }
+ }
\ No newline at end of file
diff --git a/src/templates/classic/image.svg b/src/templates/classic/image.svg
index 6941924e..65ac7d96 100644
--- a/src/templates/classic/image.svg
+++ b/src/templates/classic/image.svg
@@ -9,7 +9,8 @@
+ (!!computed.plugins.habits)*68
+ (!!computed.plugins.languages)*96
+ (!!computed.plugins.music)*64 + (computed.plugins.music ? computed.plugins.music.tracks ? 14+Math.max(0, computed.plugins.music.tracks.length-1)*36 : 0 : 0)
- + Math.max(0, (((!!base.metadata)+(!!base.header)+((!!base.activity)||(!!base.community))+(!!base.repositories)+((!!computed.plugins.habits))+(!!computed.plugins.pagespeed)+(!!computed.plugins.languages)+(!!computed.plugins.music))-1))*4
+ + (!!computed.plugins.posts)*64 + (computed.plugins.posts ? computed.plugins.posts.posts ? Math.max(0, computed.plugins.posts.posts.length-1)*40 : 0 : 0)
+ + Math.max(0, (((!!base.metadata)+(!!base.header)+((!!base.activity)||(!!base.community))+(!!base.repositories)+((!!computed.plugins.habits))+(!!computed.plugins.pagespeed)+(!!computed.plugins.languages)+(!!computed.plugins.music)+(!!computed.plugins.posts))-1))*4
%>">