Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save shravankumar147/d60a05ca92e7a6784e0b757eb856e081 to your computer and use it in GitHub Desktop.
Save shravankumar147/d60a05ca92e7a6784e0b757eb856e081 to your computer and use it in GitHub Desktop.
detectron2_coco128_custom_data_training.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyP867DQiD+qKg8aHD623Spy",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/shravankumar147/d60a05ca92e7a6784e0b757eb856e081/detectron2_coco128_custom_data_training.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "mGVRuWYaFKMg",
"outputId": "4d09b348-f9d8-4dbe-a5fe-78cd9568f44e"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting pyyaml==5.1\n",
" Downloading PyYAML-5.1.tar.gz (274 kB)\n",
"\u001b[K |████████████████████████████████| 274 kB 25.6 MB/s \n",
"\u001b[?25hBuilding wheels for collected packages: pyyaml\n",
" Building wheel for pyyaml (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for pyyaml: filename=PyYAML-5.1-cp37-cp37m-linux_x86_64.whl size=44092 sha256=f3393bc9c7265eb41e14df6132a106b85ea0e0618c02cc2bcca0fcdebe79e438\n",
" Stored in directory: /root/.cache/pip/wheels/77/f5/10/d00a2bd30928b972790053b5de0c703ca87324f3fead0f2fd9\n",
"Successfully built pyyaml\n",
"Installing collected packages: pyyaml\n",
" Attempting uninstall: pyyaml\n",
" Found existing installation: PyYAML 6.0\n",
" Uninstalling PyYAML-6.0:\n",
" Successfully uninstalled PyYAML-6.0\n",
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"dask 2022.2.0 requires pyyaml>=5.3.1, but you have pyyaml 5.1 which is incompatible.\u001b[0m\n",
"Successfully installed pyyaml-5.1\n",
"Cloning into 'detectron2'...\n",
"remote: Enumerating objects: 14573, done.\u001b[K\n",
"remote: Counting objects: 100% (46/46), done.\u001b[K\n",
"remote: Compressing objects: 100% (34/34), done.\u001b[K\n",
"remote: Total 14573 (delta 18), reused 26 (delta 12), pack-reused 14527\u001b[K\n",
"Receiving objects: 100% (14573/14573), 5.96 MiB | 27.39 MiB/s, done.\n",
"Resolving deltas: 100% (10528/10528), done.\n",
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Requirement already satisfied: Pillow>=7.1 in /usr/local/lib/python3.7/dist-packages (7.1.2)\n",
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (3.2.2)\n",
"Requirement already satisfied: pycocotools>=2.0.2 in /usr/local/lib/python3.7/dist-packages (2.0.5)\n",
"Requirement already satisfied: termcolor>=1.1 in /usr/local/lib/python3.7/dist-packages (2.0.1)\n",
"Collecting yacs>=0.1.8\n",
" Downloading yacs-0.1.8-py3-none-any.whl (14 kB)\n",
"Requirement already satisfied: tabulate in /usr/local/lib/python3.7/dist-packages (0.8.10)\n",
"Requirement already satisfied: cloudpickle in /usr/local/lib/python3.7/dist-packages (1.5.0)\n",
"Requirement already satisfied: tqdm>4.29.0 in /usr/local/lib/python3.7/dist-packages (4.64.1)\n",
"Requirement already satisfied: tensorboard in /usr/local/lib/python3.7/dist-packages (2.9.1)\n",
"Collecting fvcore<0.1.6,>=0.1.5\n",
" Downloading fvcore-0.1.5.post20220512.tar.gz (50 kB)\n",
"\u001b[K |████████████████████████████████| 50 kB 4.4 MB/s \n",
"\u001b[?25hCollecting iopath<0.1.10,>=0.1.7\n",
" Downloading iopath-0.1.9-py3-none-any.whl (27 kB)\n",
"Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (0.16.0)\n",
"Requirement already satisfied: pydot in /usr/local/lib/python3.7/dist-packages (1.3.0)\n",
"Collecting omegaconf>=2.1\n",
" Downloading omegaconf-2.2.3-py3-none-any.whl (79 kB)\n",
"\u001b[K |████████████████████████████████| 79 kB 6.2 MB/s \n",
"\u001b[?25hCollecting hydra-core>=1.1\n",
" Downloading hydra_core-1.2.0-py3-none-any.whl (151 kB)\n",
"\u001b[K |████████████████████████████████| 151 kB 59.2 MB/s \n",
"\u001b[?25hCollecting black==22.3.0\n",
" Downloading black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)\n",
"\u001b[K |████████████████████████████████| 1.4 MB 63.2 MB/s \n",
"\u001b[?25hCollecting timm\n",
" Downloading timm-0.6.11-py3-none-any.whl (548 kB)\n",
"\u001b[K |████████████████████████████████| 548 kB 67.2 MB/s \n",
"\u001b[?25hCollecting fairscale\n",
" Downloading fairscale-0.4.6.tar.gz (248 kB)\n",
"\u001b[K |████████████████████████████████| 248 kB 71.1 MB/s \n",
"\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (21.3)\n",
"Collecting pathspec>=0.9.0\n",
" Downloading pathspec-0.10.1-py3-none-any.whl (27 kB)\n",
"Collecting mypy-extensions>=0.4.3\n",
" Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)\n",
"Requirement already satisfied: tomli>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from black==22.3.0) (2.0.1)\n",
"Requirement already satisfied: typing-extensions>=3.10.0.0 in /usr/local/lib/python3.7/dist-packages (from black==22.3.0) (4.1.1)\n",
"Collecting click>=8.0.0\n",
" Downloading click-8.1.3-py3-none-any.whl (96 kB)\n",
"\u001b[K |████████████████████████████████| 96 kB 7.1 MB/s \n",
"\u001b[?25hCollecting typed-ast>=1.4.2\n",
" Downloading typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (843 kB)\n",
"\u001b[K |████████████████████████████████| 843 kB 66.1 MB/s \n",
"\u001b[?25hCollecting platformdirs>=2\n",
" Downloading platformdirs-2.5.2-py3-none-any.whl (14 kB)\n",
"Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pycocotools>=2.0.2) (1.21.6)\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (3.0.9)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (1.4.4)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (0.11.0)\n",
"Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (2.8.2)\n",
"Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from yacs>=0.1.8) (5.1)\n",
"Collecting portalocker\n",
" Downloading portalocker-2.6.0-py2.py3-none-any.whl (15 kB)\n",
"Collecting antlr4-python3-runtime==4.9.*\n",
" Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n",
"\u001b[K |████████████████████████████████| 117 kB 74.2 MB/s \n",
"\u001b[?25hRequirement already satisfied: importlib-resources in /usr/local/lib/python3.7/dist-packages (from hydra-core>=1.1) (5.10.0)\n",
"Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from click>=8.0.0->black==22.3.0) (4.13.0)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib) (1.15.0)\n",
"Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (1.0.1)\n",
"Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (57.4.0)\n",
"Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (1.35.0)\n",
"Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (1.50.0)\n",
"Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (1.8.1)\n",
"Requirement already satisfied: protobuf<3.20,>=3.9.2 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (3.17.3)\n",
"Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (0.37.1)\n",
"Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (0.4.6)\n",
"Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (2.23.0)\n",
"Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (1.3.0)\n",
"Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (0.6.1)\n",
"Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tensorboard) (3.4.1)\n",
"Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard) (4.2.4)\n",
"Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard) (0.2.8)\n",
"Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard) (4.9)\n",
"Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard) (1.3.1)\n",
"Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->click>=8.0.0->black==22.3.0) (3.9.0)\n",
"Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard) (0.4.8)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3,>=2.21.0->tensorboard) (1.24.3)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3,>=2.21.0->tensorboard) (2022.9.24)\n",
"Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3,>=2.21.0->tensorboard) (3.0.4)\n",
"Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3,>=2.21.0->tensorboard) (2.10)\n",
"Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard) (3.2.2)\n",
"Requirement already satisfied: torch>=1.7 in /usr/local/lib/python3.7/dist-packages (from timm) (1.12.1+cu113)\n",
"Collecting huggingface-hub\n",
" Downloading huggingface_hub-0.10.1-py3-none-any.whl (163 kB)\n",
"\u001b[K |████████████████████████████████| 163 kB 72.5 MB/s \n",
"\u001b[?25hRequirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from timm) (0.13.1+cu113)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from huggingface-hub->timm) (3.8.0)\n",
"Building wheels for collected packages: fvcore, antlr4-python3-runtime, fairscale\n",
" Building wheel for fvcore (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for fvcore: filename=fvcore-0.1.5.post20220512-py3-none-any.whl size=61288 sha256=19ded9b83b9db435009d699291b0d195f34b511e7a4a0fada7bec9dcd6c5ae22\n",
" Stored in directory: /root/.cache/pip/wheels/68/20/f9/a11a0dd63f4c13678b2a5ec488e48078756505c7777b75b29e\n",
" Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144575 sha256=71d2cfa48e66f59e0ae331035a01ff570510f967145873b5a87225436abf52c4\n",
" Stored in directory: /root/.cache/pip/wheels/8b/8d/53/2af8772d9aec614e3fc65e53d4a993ad73c61daa8bbd85a873\n",
" Building wheel for fairscale (PEP 517) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for fairscale: filename=fairscale-0.4.6-py3-none-any.whl size=307252 sha256=73d43b9723c15a8d2c79e703a37e576af74f2057d4d21e31c14e9a0d22719cbd\n",
" Stored in directory: /root/.cache/pip/wheels/4e/4f/0b/94c29ea06dfad93260cb0377855f87b7b863312317a7f69fe7\n",
"Successfully built fvcore antlr4-python3-runtime fairscale\n",
"Installing collected packages: portalocker, antlr4-python3-runtime, yacs, typed-ast, platformdirs, pathspec, omegaconf, mypy-extensions, iopath, huggingface-hub, click, timm, hydra-core, fvcore, fairscale, black\n",
" Attempting uninstall: click\n",
" Found existing installation: click 7.1.2\n",
" Uninstalling click-7.1.2:\n",
" Successfully uninstalled click-7.1.2\n",
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"flask 1.1.4 requires click<8.0,>=5.1, but you have click 8.1.3 which is incompatible.\u001b[0m\n",
"Successfully installed antlr4-python3-runtime-4.9.3 black-22.3.0 click-8.1.3 fairscale-0.4.6 fvcore-0.1.5.post20220512 huggingface-hub-0.10.1 hydra-core-1.2.0 iopath-0.1.9 mypy-extensions-0.4.3 omegaconf-2.2.3 pathspec-0.10.1 platformdirs-2.5.2 portalocker-2.6.0 timm-0.6.11 typed-ast-1.5.4 yacs-0.1.8\n"
]
}
],
"source": [
"!python -m pip install pyyaml==5.1\n",
"import sys, os, distutils.core\n",
"# Note: This is a faster way to install detectron2 in Colab, but it does not include all functionalities.\n",
"# See https://detectron2.readthedocs.io/tutorials/install.html for full installation instructions\n",
"!git clone 'https://github.com/facebookresearch/detectron2'\n",
"dist = distutils.core.run_setup(\"./detectron2/setup.py\")\n",
"!python -m pip install {' '.join([f\"'{x}'\" for x in dist.install_requires])}\n",
"sys.path.insert(0, os.path.abspath('./detectron2'))\n",
"\n",
"# Properly install detectron2. (Please do not install twice in both ways)\n",
"# !python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'"
]
},
{
"cell_type": "code",
"source": [
"import torch, detectron2\n",
"!nvcc --version\n",
"TORCH_VERSION = \".\".join(torch.__version__.split(\".\")[:2])\n",
"CUDA_VERSION = torch.__version__.split(\"+\")[-1]\n",
"print(\"torch: \", TORCH_VERSION, \"; cuda: \", CUDA_VERSION)\n",
"print(\"detectron2:\", detectron2.__version__)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fwhyjKmxFPPS",
"outputId": "1b50b0ff-6fd7-445d-da0e-54b2588725b1"
},
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"nvcc: NVIDIA (R) Cuda compiler driver\n",
"Copyright (c) 2005-2021 NVIDIA Corporation\n",
"Built on Sun_Feb_14_21:12:58_PST_2021\n",
"Cuda compilation tools, release 11.2, V11.2.152\n",
"Build cuda_11.2.r11.2/compiler.29618528_0\n",
"torch: 1.12 ; cuda: cu113\n",
"detectron2: 0.6\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# Some basic setup:\n",
"# Setup detectron2 logger\n",
"import detectron2\n",
"from detectron2.utils.logger import setup_logger\n",
"setup_logger()\n",
"\n",
"# import some common libraries\n",
"import numpy as np\n",
"import os, json, cv2, random\n",
"from google.colab.patches import cv2_imshow\n",
"\n",
"# import some common detectron2 utilities\n",
"from detectron2 import model_zoo\n",
"from detectron2.engine import DefaultPredictor\n",
"from detectron2.config import get_cfg\n",
"from detectron2.utils.visualizer import Visualizer\n",
"from detectron2.data import MetadataCatalog, DatasetCatalog"
],
"metadata": {
"id": "QCX6AIp5FRuk"
},
"execution_count": 3,
"outputs": []
},
{
"cell_type": "code",
"source": [
"%matplotlib inline\n",
"#The line above is necesary to show Matplotlib's plots inside a Jupyter Notebook\n",
"\n",
"import cv2\n",
"from matplotlib import pyplot as plt"
],
"metadata": {
"id": "HFzEcHm4Nqq2"
},
"execution_count": 18,
"outputs": []
},
{
"cell_type": "code",
"source": [
"DATA_PATH = \"./COCO 128\"\n",
"TRAIN_DIR = f\"{DATA_PATH}/train\"\n",
"VAL_DIR = f\"{DATA_PATH}/valid\"\n",
"TEST_DIR = f\"{DATA_PATH}/test\""
],
"metadata": {
"id": "6icN1g_4KeBL"
},
"execution_count": 12,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# # if your dataset is in COCO format, this cell can be replaced by the following three lines:\n",
"from detectron2.data.datasets import register_coco_instances, load_coco_json\n",
"# register_coco_instances(\"coco_128_train\", {}, f\"{TRAIN_DIR}/_annotations.coco.json\", TRAIN_DIR)\n",
"# register_coco_instances(\"coco_128_val\", {}, f\"{VAL_DIR}/_annotations.json\", VAL_DIR)\n",
"# register_coco_instances(\"coco_128_test\", {}, f\"{TEST_DIR}/_annotations.json\", TEST_DIR)"
],
"metadata": {
"id": "52F-RCtRNSBm"
},
"execution_count": 13,
"outputs": []
},
{
"cell_type": "code",
"source": [
"def get_data_dict(split='train'):\n",
" if split=='train':\n",
" return load_coco_json(f\"{TRAIN_DIR}/_annotations.coco.json\", TRAIN_DIR, \"coco_128_train\")\n",
" elif split=='val':\n",
" return load_coco_json(f\"{VAL_DIR}/_annotations.coco.json\", VAL_DIR, \"coco_128_val\")\n",
" else:\n",
" return load_coco_json(f\"{TEST_DIR}/_annotations.coco.json\", TEST_DIR, \"coco_128_test\")"
],
"metadata": {
"id": "478JXhqlNUWC"
},
"execution_count": 14,
"outputs": []
},
{
"cell_type": "code",
"source": [
"json_file = os.path.join(TRAIN_DIR, \"_annotations.coco.json\")\n",
"with open(json_file) as f:\n",
" imgs_anns = json.load(f)\n",
"\n",
"classes = {}\n",
"for cls in imgs_anns['categories']:\n",
" id, name = cls['id'], cls['name']\n",
" classes[id] = name\n",
"\n",
"class_categories = list(classes.values())"
],
"metadata": {
"id": "cpu4qiEJNWNl"
},
"execution_count": 15,
"outputs": []
},
{
"cell_type": "code",
"source": [
"NAME = 'coco128'\n",
"for d in [\"train\", \"val\", \"test\"]:\n",
" DatasetCatalog.register(f\"{NAME}_\" + d, lambda d=d: get_data_dict(f\"{NAME}/\" + d))\n",
" MetadataCatalog.get(f\"{NAME}_\" + d).set(thing_classes=class_categories)"
],
"metadata": {
"id": "-3VYI0TuNgfM"
},
"execution_count": 16,
"outputs": []
},
{
"cell_type": "code",
"source": [
"coco128_metadata = MetadataCatalog.get(f\"{NAME}_train\")"
],
"metadata": {
"id": "pteOvHgBNkKu"
},
"execution_count": 17,
"outputs": []
},
{
"cell_type": "code",
"source": [
"def imshow(image):\n",
" #Import image\n",
" # image = cv2.imread(img_file)\n",
" # image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n",
" #Show the image with matplotlib\n",
" plt.imshow(image)\n",
" plt.show()"
],
"metadata": {
"id": "2lXzfhLoNl7o"
},
"execution_count": 19,
"outputs": []
},
{
"cell_type": "code",
"source": [
"dataset_dicts = get_data_dict(\"train\")\n",
"for d in random.sample(dataset_dicts, 3):\n",
" img = cv2.imread(d[\"file_name\"])\n",
" visualizer = Visualizer(img[:, :, ::-1], metadata=coco128_metadata, scale=0.5)\n",
" out = visualizer.draw_dataset_dict(d)\n",
" imshow(out.get_image()[:, :, ::-1])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 791
},
"id": "vXWaRgHLNt5I",
"outputId": "3fc23072-fb7c-4f14-a3ba-41025db7e8b0"
},
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\u001b[32m[10/26 16:53:59 d2.data.datasets.coco]: \u001b[0mLoaded 128 images in COCO format from ./COCO 128/train/_annotations.coco.json\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD8CAYAAAB3lxGOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOy9W6ytyXEe9lX3v9Y+5+wz5zYzHI6GHA4vQ83QpCjLjhghEUxDiGMFRoQ8RLD8ECcRwjxYyUserPjFQQwDesgFAQwYYRDBFhBblh8EC4lsUZIjy5LIWHeKw+uQc5/hnLmc2z77stb6u/LQVdXV/fe/1p4ZjbUFnj44e631/33vrqqvqqu7iZlxL9wL98J3bgh/0hW4F+6Fe+FPNtxjAvfCvfAdHu4xgXvhXvgOD/eYwL1wL3yHh3tM4F64F77Dwz0mcC/cC9/h4V1jAkT0l4noa0T0NBH95LtVzr1wL9wL7yzQu+EnQEQRwNcB/AcAXgTw2wB+jJm//Mde2L1wL9wL7yi8W0jg+wE8zczfYuYVgJ8F8CPvUln3wr1wL7yDMLxL+T4C4AX3+0UAn5qLvL838NX9RecNA6DySfKLASLIOxeo+Wrx+rm2yUtaAoOr3zuDVrNbrTq/ueRzv04frGW7c+q96FVR4ilgpJloJYt+JrQt81OFZi5ISTo2vfGq6vI2AS9PBpU73+Wzg6pPV6yPJfmUj5k82D7Y18+qx21MvHzj5HVmfrDN6d1iAjsDEX0GwGcA4MqFBf6bv/QhfY6soiQAjGEYkFICEYGIEEIEcwIh/9Y0FFjSym8AAxFCCOCUct8QIXEChdDUBSBmK0NVJHbPfAhhO4Bq3xMRUkq5LpKnBi2LUKaWb5e973GzqhAAKHmXfANsKjFAQfKkki8z53o5YOjLBoCUkrVN4/fCaMSJ6i914pcxDZa/r3svaP8xM9j1iU/f69+5PP1z3xf6W/MlKmxM4zAzYohWp5RSfp4TVHG3NMiYh6/36OrNzHU9XH7MDHmTs0oEMJB4M2HIf+uffuO5XhXeLSbwEoD3u9/vk2cWmPmzAD4LAO+7/zyHSMLBhb9TREoJMcZmUEeEEIzQmIEYgECEEAM2mw2GYQAJFyViUCzETYhIjriJMsslRxT+vw6Alufr0n73k6f9HWO0ya6fniEEmuINz4Dmyq0mBNIkXWFIbvIwQBQ6TIbk3ZQJxRitPJ+/J0oACK1ElHa18TWEECaM1vcfN8Tg0zGKlPOMV4XGXF5tH/u+1LHR5zEqkefuSSk5FBmK0FGBI0yA5LsnXq2j5m/lNPUiIozjWM2XXv1yWYwYA8CEcUwIAyGNjICwtd0+vFtM4LcBPE5EH0Qm/r8K4K9tS0BUQ3zt0PJeJ0qyuNrIIYYMN1PCEAIikK0dTh0g+Q0QAlOT51QK+3J1oqITxxObEnabvpK2W/LZJut1Auj3tozesxy3lZAqxaZxwWQdYUyzIZIeIjEGEAKQUlcH66XrMYa5dmzLo02/raxdoWW81RzkhEi1mjF2+tFL77l5YfE7dQ8hIDTowNODCkFmBhLApM8FjbzFtr8rTICZN0T0EwB+CUAE8NPM/NRcfEIm0pBFBoAsGVkIIwSRzCAEkUh5sAAGIZBonUSIgUquZU6DhAsECkjstFHJR3vOE1olTbRtTb01KHf20LZCG712u3zb79tCf5KXGtXqCFdxUmKZQKVPtDW+TzS3SgN2UqvqB5FqXmoBfQje69+2bT0VqEUfAJBU6rYoTNtgao60rymPUUvJVqLXIaunsHowwKTF1OhG6qbCI4SQid31Z2+sY4wYx7GojklUV6disEuTVRQGyzAmVmw0L2x64V2zCTDzLwL4xdPFJsTQVIUZMWSonyerSEMHc8CZWcBJaz8ZWminEy92pF0PMHmIXunuTQcXvQzVJOoNBDODmBE7zOGtDFyPiHqqg2dVFZTnzFQrRICaoCRRjUBcX/WR2m4UsY0x+vrvkurKbrReLgKAQog5Ut0XOR3JuKmNxNlKQFV/MTgDJesfJchMgS2DCl6YSZ3Y6f+xY1vxqhX5uiuSlGYo0831DOCUmRERI4SMluf6rBf+xAyDVaDSadolUTq+nVxeV3PJLcQYjZN6SbxtMtXzx3H0UxClz3/OfuCJgojMSLaNCewqt/uOes+j+y6TVcTRpPwd5c2V7WHstvhzhtbTlNMynF7evbQ9hmhxCWIMZTBGF4vQ8AswZ8ZZEFO2E/CWMfRMzKPDXtgmvPT56JhIaRsjpaze7UJhc+FMMAGCcMbEhfAFeilRa+e00k6NNp7wWsZh5VBZPZi+w+RZa+jzzyfSqiFsNSj5sk2CNRNhTuK177YxiSlI1wzKB4EQKJhO2+YXOhK8FwzWNkzOt1MZYg/S9+B+t5wZJNV71ubb77c524m2KCOBTGt1HUkxty3FkcUnyrggcQJRECIuBs25tvTaanPEMQJDlk796eXtkUVvHs+Fs8MEso0jT1KFnULYukJQSWlnfQ3NCoLniK1hpsckvNGuktiOuHsT2uc3mu7Zh8OTNjcT+K1IR5/efueHnfyR5yoIFMhgsV8N6eWtfeIt2lW+Lm5rA/HIoM1rmxqza7LOxZtj3HN5GMPIFIWKeRKJStDWsdhPvCBh3jiER6a/+zGdY1zb6unrWv2eifd28tdwJpiABWZbw6dAZvVsCVcDEWEYhrw8KOvfPSjlmYK3L9SdFyb5mz7nymulmX/n4/SYRvushYBzRNAyFU9QLhZUn9U2q+5qagKKv0JxAppO0LYtdX5WmoWyjNafcD7taRDPaQh5W+ghlAm+13KrOugT8vx00t/6rsTJnDaQ1D0FoGGI7QrBtn7Q0LNzEWpfDachbM13WzgjTICAELLEB5DGEUS2ygekBIoxG4LIZi8AVJIqd3ZZ/iKqJ1TutNF+t0Spz33wE6BdoquIxcWfY1imskzgOCMv5XUGkJDX/6m8JveMqKwpM0s0CsgrgwQKsOeMhBAD1NnKtyUTcpLuNROU68O6/dwggx762eVU1fZPm65nNFNb0NZlN9TjkJGlM5YRgMRZIBiDDGDI8loqbSpzpDAAj26YFfEA4yhObEK8rUoAN+46XsylHcxAjK0Q4zIGDAziH6HNyGYKUQNULUliuEwZlUQpay6cESZQOoqBDO+l8ao/F61OBnoy6WgyEVupTZSJQstT9OCdZ6rgJH+sliY7EBpTPbnbPmZMaYOytb6LMDAZQN9OZs5142IUbePa5DMJ1ye44PLuOUfBfAymtpI520WvTb2wS4J59U+JqFXztB7dOkj97Tcp0eSQlKgxItCiSuvb34YYBpPI6nHpid4nJ/ISvMfApmX2+pp8AmYERRucEIiQiJEYSDp5GMa0e+HMMIHpBCp6ZcvVW/WgJ4WAIsXriTiV4nky9Inbr/W2Xn7VYKEwqIkUQotY6jb3jGr5AZpJ1CcybUP7rk2zzUjVm2xzrriA+HRgOgZzYRuRn5ZpbENtc++MWSI5hKiojJBKV0tnK0Yqat2u+vpy9FkvbW/utnkAU/Wp5N1XQ1kMmdmcLsgVBEol7jZUdjaYANUEYIRHqJgAUAbQ60UV1LZOyxlPJUKaMAxyWLt+7pAHpihgjsB6KsEc8yi/pysaCsO3pasmCU/j+Hg6MVuHHetD1FbpdoWjajN31yIsTstAtjHqbYzLh94yW48h+n0a9hwBTLWBMjuRB4HkyKsmhKzTS9hlq/Hl+jad1jDXCgqt+ziWJcsyDlN7ExGQUj0Py/zbXT5wVpiABCXmPGgFNrcSsoWF88TWLWUiiQUHVPXoKVFzBAZM3Tr7BA1x5ugTNPMU1Xhfia4toipn94Rr07TMqYe6fCgopbZUK3H1IHqPefbitKE1pLUoYW6Ce+ZlcWRMWyZv+rXWkbLnc1tGa7js1cfXedtcmQs6n3v93pbbPmvLH4YBm83YRTJtODNMgEIektyoIGNW66bK3Uq/i3HH51N13pQjm9TNP0o6b2HVdx2I3CuLmc1zMRtoJG4zQYJJ/L5kiSqhNb5ukpE/wbVBtfzgvruKVcuV1hvMGIYiVQqCYKufr1mP+RrTa73vtKxA5m1XqygNwpL+cpWb9Ee7KSiGUPp4S7oELm2RPyPnladAwqhIx5yLLic/oyvXXhGZfwU4698tU/H9ZnXzzMfFnSy5dtTGNj8vSLL7N2Ec2ZCD2ofUhZsAhKjehvMM6EwwAQIQo+OyQaWxi1NJKT8hC0yqQ3k+x52NVByB+bLQkZxVCVws1nMTs0h0nfzS4qa6mUzKIJsqIOv7HmLqBM+ISZkPGj7QQUNWlyIdK6bVpJ3m5RlKXX/No/jT1UhLn7X50KQOvu/q/EPDJHt1135T4lMdGQlQN+EkhmAQQEn2BDBEpw7VXPCrA1YzAkgMuWMq5ZrQykp68SZU9aODJNq691BfQZuT7nZzpUalSASmNRI2QIzIGwz64UwwAaA24gGZG/tzBIAe/EXFGPS3hv7k7UjhzoDMQVn/zlus/buWc1fpCH2pR0W29uBgq5tOzywAeupA2x/eyNQGLXKuv3bBWakZAK70W0Udk5iNHWdb3XuGrW49CWbkJSq2iUGWyUxClkyqOoTeKpHE06d+K69HottUG1+Wr/McM/Bu8e07Tadb7f2W+9xeAkUGjciejiGAx7O+OuAGzOBQwwknxryKSIXxN9m2hq82tIOgn+1uuLqqUyJvdemezub3MoxpY+mMuBujXksYlUGr0U9L3XtSsWaQpg41dZYYsxO4Lfc0emmd97yTVZ1e0d08c+iFEpfM7tLWMxDZPn9LgynRdgVJ/lGpqHPzqlUTmLk6yGbOZuLVrkn53fGq1QY/3wE1jqo/wnw/ng0mIKFtoF/eK+863JMYptR7SJVKnp7ANVTwranDnPTf9qyXrjVc+nQVA5p5v6u8um96BDxP2NPn3jloWkadps+wsr5akFJm7tt155axtkTSYzKz0pbZBEhVBhc7kKkT8tvHnd/oM1OnGcbWsxf01CH9XRPwVCC0z3pjMo6jm78AEEBqv5ixQwFniAn0JHJrcfdxp0Gci6IYcJhBFCfSpOWsVjb6k3JbmadhAi1TaQfPM4FdYLuHOOr854ndT3CVytMwnYBz0n++rLrNmdHOqR80+WRO1ZJXGxfwzGXq8QkCIimadEtp4nQJBliREaabbufGCiDxvizSOoRQ/Ax8PRrd3qM4jdvb4u5RY09y98alZsCORgKAkRAoIqH0SS+cGSaQvdUUdgko5OQaqp3Wg1/ynJFdNoHCCDSFDoBLpnu60WECzHnPf+uFl/eVa7w80UIIssvM5R1jjmtuoUVnHSDLQKC83q5wbWYCTBhWQxCuI3wqkQY60YrKoMakIqE7kgzoTt5SjEdiJH2ZsmtyA5c9MdR8JMlY5bFj7qtuRbLVhro6mvxmVzP/XZtJhQhZ54duWgMXV/Vef6RkYxWjkA4n52Qtj/LkNb+DYRGRxoQYirvzEMVG0UMRvq8xhfJtH/llRbVRMUUgAsQJCxA2aV7EnAkmkAcCE0L0E6gnZS39rISaSrFthsMJZ0YZtCqOQ8RqhAJoMunVQDaxZ/C0fK/vt21rJWIrray1EyhJqLPTuuVfMWrdpr76felf2m3iNOc6qTNQ7+CcSmxR4ZhkVcQdiNrkMwf/23H3+rqW7/NQ+347Tsbb/GJDd67l+vn9CxWSs7IS/CFfmcHX9iEtgrcs4/dQ7DZVSONmIyFk2TD3f7t93YczwQSAerK3zjbbYPpsfjnBLKH3nrXvQhMPgOxurDvcl9qiiZ6O27anB+16hK/BT4w5I1WZkFO4WSMrVGlO88wtnruIirTq9s9B+kw16g+ieI2qPmzTKQH1mEOrU2vftAiqNea2+QN5CRFEk3htPrOHeBCZcNhmUJWoE4bu543v/9bbsw11GXXas28YpKkBbY5QJkmp1nd9PO9e3BJRy1z8p373h2wUQxCquV8kePEGrA6DmDHM9cr3+bV16UFC3z591ubd68+sDpSdkXMTpJePSrUWcfnPHtNuicH3YyYY8eWfMSKWuvdVjd5nr996jLdqW460U+DY+HK9RGw90yHAnmoVCJVdoWVsPsxtyfbl245XourIuzPPBAoC60t//6nft03cNn6Pk7dlnEZNaJlAVd9QBs4YGjWkonaArsSe1rHXrrn3c/X10qM2rk7zPU0oROz7nwuU5n7dJkRHmod0KNcM/DT1anXh3vzpeeC1cdRP39KDqvx9/X17PMpT1afKp1Mfn15eiv1rStzt7zkGMYcOdi5lSjgTTAAQaVDA5MSDr0uoRGKsyQYePYlYld401ncUWDoUTm7nyAOVXieRqjoy5OQjpMnA9qDXtN+VMXQGhFDWrE3ScrEndibHHBPT9o7jWDmT1HXbzYh65RoSqJgAybmJlC+/0GeWtkPc2k455rzo41vKnal3L7SMYc7vo4X1+Vmn/Q3wYbZpNinLbEXQMQ2GKlkKUJTIelRE05Zxh4rYa+ukf5BXBdLcWRUSzggToLyEIZ1PyGfhQfcSoN9RRGRHkDFzdYBntuCWMwDadO133Us/QRBE2YKrAzKTvpXw+RnXBF/xlymD8fnrBSl+es5J2PZdrRbUnnlzadpQt1HzbRhbofHMkJEnfJt/VpU6qxgcSibNOvaEsDpt22Uk6zG1Nk5XwDT2BSLlUinXmagi6iyP+ujUkyQRgVhNhnmeR3e+RVuvubpva1uZj9k5Su8h2IarzggT6A+Sn7RzEHgOCrWScmvZLn5FTE09lKg8JXiPv22TctfzLASL1DKX6a0174eaUKbHf+3ojqpe2aYuMDf4hH6TTV4JIdDEIy9/Fst8XdHtpxPPt2n7atFcHr28+unad84OouI9QFY2Sp4tMfaMlO0869aFSPY0zNfbI7tt/dGb1204E0xglgi59kEnImw2mwlxt/fk6btdHNW9mCxPKgKZMgI5horrHY56qUc/+7q+PQNegY6O4aCsj2+buNtgY+/5NikyzaODNADYvQUuTo6nrfH5KRGVHAjlyKsuwmv0X+892mtP2zavo28L/f6s35l6QMlpaNr6vkGSaPuBJL6vJ/NhB8Jp29xjKvpd4539Q0UktFzNN7K9S8CH3rJRj6nMEhCmxABgAqPy85L/Lo9GTyaeULv1aKyIPo+2vm/td99tuVePWTRGKgF1+gMsh2lO6Nsxriq92qo1DYk45fk2nNYO0GNep0WB3dDrLwLKMmj+m5nhtPw5ZtWrS3sGw7Z2zgm1FnX490o779rqABE9C+AOgBHAhpn/PBFdA/BPADwG4FkAP8rMN3ZkVFVYCVOD5+otwUs96rQzBDc3IfIcn8ZrvcdyvpisBORyOqcci3g/jeW3zwBOxwR6Kwvbymzfb0cZAKJfGswhn9eqTHHepZsIzQUdvqzMXE7LjLyQ2BV2Sb+5/IHpuAN5zBmkDVJnArSop+2n+Tn31trTy8vmqTtP4DR92YbT99J8+IvM/L3M/Ofl908C+FVmfhzAr8rvU4eeBO8tz7SeaLugcHkoE1s5u1weEQLZf5uokfJKQBDCl3Q9AmJw9tfWPENpS8/5SVctSnvDJB4axjQ9YMXnGcSVlUT6B7QHrpQ6A2gmMKCn4+br341ZqMWfA8ABhABwtDh1GwgICSEyQBsgjACNUPif/0fIWk7VxtKe4tE4nQt126Z9kOujN0Dr9tq5FSL/vWqLG8fi2Yhcf+mHXP9QjzkBvsu1XK1PD5r7Ou8i2NbQrUykXeJsg+Y/F94NdeBHAHxavv9DAL8G4G/uSuQHPEPIQgJzksFPgjkdqU2vX8n/bfLReAxvWa/zmkrgkl8V75SmPS1vgg4avXkbmskXtwaXuFNGB3779MyAP/48EOw0C983aNqbAxtz9UZEcoQNADHELfYAdkxqWsc2bFtBaPPfhQ6r700+pb2Czwi2vGllGqKc1sefe9gKrx6a69lR2xuJ2vbOtWWXbeSdMgEG8DnKCt7/zsyfBfAQM78i778N4KHTZDTh+g4mzkl7/7zlrrOwiMpksmfOsl8hDkyX19rB6z03WClusW1orcZaVg8ahxlimeQJf3eB7tybhsKs+jpiZhTOIOnrUsHrmfpQ3sXZutS2Y5VSalYbNC5Bj1+rVDEfx770nXB6+rn+ntO9fT4B2YJR5825bUmJlKStxUHIyvGTzNXL16n3rrIxdcZbT6qeuw1rLvS2s/vwTpnAv8/MLxHRewD8MhF91b9kZqaZA/WI6DMAPgMAD9x3rgP9+t5jc53ZI0iNXzOX3iQwk+8ENfTQRW/QpmmlPU27ZyVRhwHIYwtb/cYB2cFHIu0xjSuSShGBlj8hjPZ7o1YwQ+DvFIUppOlN9Bbt9epY011r65BHKk2DqCczfVK1yTGEng3F/9bz+0s8MWKS6vtZ2mflaepnADUJc+1R2OsPLVODSW3Xh0WNIIvj691eA0dUGwN39c07YgLM/JJ8Xieinwfw/QBeJaKHmfkVInoYwPWZtJ8F8FkA+Mh7L7FvQE8qa2gnkuQ1y+m8PrgNFk2ZUM0EtsWdIIhmkm1TVUpEdPFur1XzKgGhXJApdWnlaXPphl3JDYWyk0y7j3KbrJCiXrUoa6betUtr02eam0cK+lral41zpX3bJN1p4P8cM68zQsUE8tpP70DQUt+e8PDf/Xq/9/CkKr+aiNszLeeOXptL34a3zQSIaB9AYOY78v0vAfgfAfwCgL8O4Kfk85/tzkwIzh3H7SUF0Nf5dxLWtM59idsylfJ4K8G1a9EaVwc2hCDXXe2eoOVvuUbNv++ladvgUY7VBbW7sL2bRfO7+7GN16bp/e5NRL/s66VZj4mWk37zxzBEcKKtW3F98O5K2auxeO7ZeyVctP2TVZTa8l+QQNtmTowkruVB+5rzNWWWOpR2aR6GLKnevKbW/wK2Ot6MbXtd/QnbGcE7QQIPAfh5afwA4B8x878got8G8HNE9OMAngPwo6fJjLxVXhhAT9L3IFTvmQYvcUIIMoidDiEyqbeLDLzjii9D67BLqmxfuuqss/diuTaziB49Qben97b12qZabAvTcvvlbXumefQ2uPSkVzvW2xhQL2Ric4RNBOLpha6aVWtDyGXo/DROgXa2mECgwhzYqZp+YmWXXnnXjrfT52rE0L/UJHT6rEKARFsN1G+bCTDztwB8svP8DQA/9NZy264KtDCyt1ur1zlVCZpn59rpNl4vKBNpCWmuXJKOn4KO7VLzNPXp9Yfq6e37t5P/aeK26eYYj0nyGQt2ay3fVXfNsxjH5plGxahpauRs6zXHEH2Z24Jn7rscgAqSnDLmlNJkiubyCzqt6tKzEXlkskVdBs6YxyAwnTz6TEPP8rttspymPM13DsbqgPVcUds0HiUQIMeHneKE2k5eml87mebzy9KqbdNpGWTX4NhJ3/5ux8fD/F7b2jx749jWybe3VcF66sOkXNf0bYxb32+z6/jQM1S3TG0bo8mwv2Y0IQSMKLtbBW/lMw7T9nG1ZwJVdo09cEaYAKGeUD0Cbju4jd/GnUvv9b25gZukkc+5u/BqyeTSzUi/tyqd54i0llBqqOuXtU3SzZXbPm+JoWUKGlrD1Vy6XfVoiVLzMGPaWAiol96X6Zb0TxW2CQQNvd89ptCGiikATkspPjL5t5QhXRkoIvH0uDbdLVjVhXbXQ8OZYAJqGW/mcH6lg9g884NSNVL0sVkpNKOOb2UcDZfupesd3AEU24YO9tYBMaFVpFcQI5bXM9tych0iQMoM5jcT9doNzNsGepJ1Vtq6sM3ucdp67GLKeUF/KulJ5tKYUjG6OXXgNAxxW5ggoRCQ5LhveVGWMZ0AKX1SZHzGbq7ewgTURBZAQtA5T51r21SNtr2+zr1wJpgAA1gH6QA1hFCG0mYlBSAUZXfJAyirNirhiaEn3lLqS8I5yebf6XfPHFrXy21oBEAeCWEAavXlJi1QlslCENOTM3kz7NSJsnrSnByb82K54KJRHcTt2cVuKsn2n9B3Ld1GtL2wiwGdViXyqkCLCgDZkhQULNdqEAOgqO0DAsoNRHP1b+0TbXncIcKR5RyLLT4j2oas/uc5YfkFOeGYZRzs/gwVKoRkqwqZKLy6xcwY6xtUc15c99efil2ECxILpuf2YTdEz581hNJP3/Cy/FImaOvV1obTSlH/e5u+3PteJhYAaiTDJI02pmeI0/ctlDrNBhVlo28FMPuyS7rWceWPK/SYA3np7p122i5AXrbL+yviTgNfO07bVlImbFdQSLflurDQ9gtNIX2A922pUVLvynhfX+2HLlLuhDPBBAjAgt0kR27wZkYH1u/lmb90ISMBUqbi0tpnU86cW2WvrNMa2VqU0WMA9TNdyW6QSaftmZepBCzxeuUy6n715U4YydtkAm3evfa9k/x6n0C1YJd/b0MYoZxi1FvVmZPi7bFsE8IS1FGNtTxv29GqtJlQC9LLrtQyF4VPtecctnXonUDsVz566KYNZ4QJkMBdB1l4elNw+zn93pfCNayfSoptcKkngXrv9HfPcNmLPx0Up/Loe1WD2jTEzoddSaFvLO2e6DNXH4WrvlY72tzG2YWedk3I05Tl91soAfbynRonp3nr565VH33Wu/Wo15p23NgJuZpJU3HsyfB1dnWhUoU6hui5uv+pQAKMzPjY9xRRJQXRfJ/dMERA9vMGyLlNGecPu51x5jrXc90WZvXh6ukdWzxCId8HXTVFmqjXF7k8/KTZVeaUcOYP4+y1Z1vcXWX/cYc5Zm3fKXvhEZFtvZ1Lv2ucPDPwvy1ONx3EzbnUy+Y7iU3DHIL6DkBtHZUhzqGa0/b/mWECGAaMzCrUIDu2LQ61BAJPrPqeINQPQv9QCSbYNVGJGUOMmQn1dmaF+rpwLgX5Qqs0vYHy79pBLVAuAShOInOoBdpM7Tcrb24te+qw1NY5l1+WlSZt4h5T9Mao8jU44+JpVCcfb76SkBNz8/cSP5jF3JfRc+U2r+PT6NLNO3Zf9BwD3cyj2xumtgYqDFqHMgDcbv6RthX5R9BjzLRePTS288AUcof00vaj1s4EE8jMUI8Zd1b/LZNn+8Si2fQ20YkyAzCEMNWrrHISstvxjB+DgdNy1x/c2s535aUAACAASURBVH3+5IYg2RnSCsFXE5qdoc021HSkFkNOaG6eb7mNtmZY7bqCVbGLjCr9dvJ9tySdFLOFOL2xrzX8Efo7Ayf1TYXZ9adOv23KWH2x3gjpNzBVhuYEJPhlQxjDquoIna2+rbXw6ak529VUnecMX+u5cCaYgHaDQqDEjDjD6fLV11Op3Rt4t7BSoQafDujbBCYOGZ2VhKoONhlKGSWP+UGzff9dOEoIM9J5Ui8uFuVqUrwFSN6HsXNIYIYJd1SKnjTrxWmD9l91u7BHV6AKXm8PfnymY0GGMLhqgydics8KFE9Tu4v8bK34XUblNhCZajGmtzJs074T3aMUV5BLL5wJJkAAIimUb945QiWaN4i0toJKelRLj9P852wAk3pSbfgr8VtuncuuNQa2SWuor03j6kBE1Q6zCfJofwdyZ3l6TlcvYm0jSI1ZM7fMBKb6Zn9dPHc7Nc92u9xuCxnWduwrjjm1lvOJdIxTRqESvkJtSRx05H215Nm0FZB+n+E/lYrRmTelXQ1zkzyr2dFRK3v9x16lDgFFizrjTABQ1MrW2QZmlDvaQaN9OA7Ukw4Ed4V47aTTG8w2j7nn/fcq7WVNV3mZQU8ZFfUDsAmh7wrxtATYRwjTugUK1f77YhDzkHA7wVXgUdvLdfwiGef6oZ6oWpddhN4LmiaGWNkrfB16sLnHfNipYnkMAF2WrZBbkBhcCwiJMCXiHYzOnybcE1qe0VeE3hB4y9jasqt+sflGMGLaEs4EEyDUA5svU6yVt+pCjh5HbRAAEZVTbp1IDuijAU0755K5S13wQIbkdB9jBvKSZEDUoOf3mhvAbRAGenr+XCe6alfHltnr7DBDwhjUcGRpPYDQySdIoJ5orAua0/6j4plnRDxzyCX3DgNwEBYEcMo3SSVniCxVLeOqZbVIsRCbSy8MQOWjH5dikWrGXQfUl07Oa7mSxrCNYzqn5u5BmBdItXEw58vF2BiyUZThbEGWBQFeIFG546EXzgQTYCKwl2KQiiPbB8ygEnon8mYjiF9rVcmvzKWC/OgLsbkz8Vp1QVGJh3d5oCOI/GSf2RXnHIJaKTUtk+VtY6zEVDKA+3cfJKcitP0xOn93Bucrsdq+6SCU3I/BVhR9f6Wxttv0pPO0f8qBHhkQah2BRLlvOZW+1Ro3QGmyhFu3w10Uw2WbL4HAqag4REDiqdNVnlds6gORKnjTsphheWqZc5LbA7Vqp6TNldLH0eVlqhsAqGrG2jvKpNmWL8bNdFlUw5lgAt0gk7Y9obUHy8l1WI/wJhJ7UlT9cO64JqBw9/b45/zhDX59nblX/9bjq7wj2HHXHSjZQtGe3teVik0bDLbPGSHbxxXsbPq5YxSbjFVlovcSVjZMFTLPCI+AEOprtzJqKpJ11wUbc3PHG4W3pu+kq3vBl4XJRJsyiqL/+3K37W1QuFLVA7Bxd2cnufIJYLL+64UzwQSU2H2odHiiWSZAlFWHHpH49OV3KaPrR9DR7do8/Fn79t4k03w92u+9curnAve27M0v5dNEf5+rf9tW6+POnYEBARTryZ9Dspjt6U1zxrm6UpqDMg/LTQCQMAoipC4TVFWplOU31bRl67MWwZX8XBkpTAykzIrhijoH1KcCVwyqs7+j57+gPisatz2YZNJpUhzrRaOknpC+D+HQAeX6/Fu+d+BthXai6raJOck/l75ngJly4enV4m1e2+rW/z5vNNJ42wxJkwnXEOgcw7DvjFkkYFDdnVvfEgGjPu+uygPTdjCm5WWbgBDHjA7cVM6hEKqeJ6+GMNe+SRqXihrR8yDtITHtB98WX3+i7I/R8z8wZzGvmzf9sr2507mcKutKnU/3QBn9IisITGQrAAxlPAwgOEVSbv2eCWeGCUzgM2CTpBpgdNAB6sk+hx4ky3yLDBrdbAezmWM8pV5lqac3Idq6eQNWjyHY+w4TmGNe/n0v7zkJuDVfxpSYqM8YQgh9+4H7rcxhZOeB6ZEAEVgRjb5LqJbiChPINwTM9XnVjBmG0IY8n5z9QBiGl/7KNIlRjC5VvtvHp2U8/oo9n5dHLwCqw0M5ydwA1WqcISipByOfdzCDEoEzxATYTVp0JrxNao0P5XdlcquUK5O8ZKWfwT2spK8+c/lHT3wdiVVNJqKMZHXwSPXbLDXCEM1lFLpSIN/zwNWEVQxcgzGXSZ/5H5Zfvz8JyJBQoTpgn2r5riS7QzhO03TW81igKVBOz1UDH3O9IczXS4jeoDTZHxCF5sz/wgB0NcFqRMgbqUI+Y8IOWlVJH4LRRGVZZzfKHkGLuS2bGgqikQahpqNcJ2UBzJwN19pH0qfZQCi9pn4NLAZv5OVPv7JlTFvHRsYOjc2j3mznaqV2Hpl35a6EeQZ5ZpgAgJrTNhJsLl6WlIURtNsoXfRJXiaVK12qMIPg9g7YQKHfnRSC3T+oRiOF6d6+wVDm5FY5IFbijo6qTAP2txBBI2/NK4w77dHJZG/Yaf8dBqPLTu06+lzwNBZC8envppNxSk6ChY5LdNM8oPFcZM6bbiZ2HN/mis9IOpXujKrtql/7PrfnHdXGG6OVqRIR0jiWlQrH4IL1I0CyeuB7puovHS9l2kQz9oeSS9UHjLort4CTs8UEUEt1/6wXx95R//CErj6tA4YilahJU31vJnJv0HLIVoyeGuCZmjeeachMo9TTG9cIHb+F3ojOMDrNT59bO7YR6UzYBaO9LtvdxON+K6R+K2XMhTnrvp8jfvUgNJJ3Et+dPVDZTbyklmc9W8TcobJdYUMBwY2JvWvm4bZDbnf12a7xPRtMoCHqnoUeaE7y7RA9MNXzJ7p4jpXNMSQeiCBQmhJFOdPFdXhTH+vgUCzVaNL43706Z2KfMiMCQTeTzOm0ev9gIEJ2iNleh/Y2ptPYF7Y9m7Owb7M9AKrKqTpS58083bM/t2ozN1e21d+/a20JhgIm4KXLeqtlVt+n3rlNg1kXKO8YYOZqf1fVr51nbZ9mFWdqT+syti39cDaYALZPorn35eUcgU2NYuqRD2SOrzDOQ2l/E0wLmWugqPnCmMpsHTEd0OqdYwLlHU0gsMYtZakk2qI+bSn/7UjeuXRzErDLNACwbhavhrK2Cb3VurRl9+6p2BU4tVi6MIFt6Klt83QJupMv8hhWDENUNV/WXN3nVnR2MUcfzgwTsIGXzmN3a61O+nwffCiGH4FNyrzJ52Nr0GKq0biOgGpuLXA9cbFEB5rkm+0sAtuFSXgjWOl31Ufr+li9J2GGiJNniqWrPMMw3EIBepZCtjcyvDWr5D+VFsUgqxOxHhZXTVhHNOlNiiIhUChnALhpWizZBPXiqzKfbIH1z9t6lEqqxYPcsiEoQ3AKU2Nj1ZbK9IniCVk3E0Fuay4GUKrmhbVXGZ2zu1R5ic1Ieyc0y3fV+DMbImUS+5XVSW4j8feQQA2OobL/vKPzBIjopwH8FQDXmfnj8uwagH8C4DEAzwL4UWa+Qbn2/xuA/wjAIYD/nJl/b1cZufJWXiYsNx8pFCmvFtMk1mUiAprTgiRVji8T0/JFsUoTYGcYMDEQ1EAlhj3dD85+oKjJW8N07b0nTebbn5CoGIEAYTjqUUZwTDHBYZQiTWOzxJQSKIVKUpheLFbj2lcgAijlWcu89KNcWz0AZcq4AgJFME8nt2RS+sYEXyHCVgJq76gzlj5XTwVrA5GsBjiqteoyQMkxUiUkAhCNsLUJY9i4ChfpXDb1SN5EsvSm9o2CytgxABUyAc7HgijvnE1+vrhPtVcIAkksMp+8d2xe7eHgGINqp9bdpW/mwmmQwD8A8PcA/Ix79pMAfpWZf4qIflJ+/00APwzgcfn/KQB/Xz63hi6Up0LYRXcrMKc95ouaCdWqAZYtOh2u5aCOGzRfbgm4hmm9DTKTcndCM5UqTjEghzoqX4kpg8lxvcELiEGGt9Vv/b2PaCfrDONSw6YWNtcKClLDepNRqaZMSqJqp5xnBDWa088WfnP1vcB1n6oH2fPzQmAdpITYKQ+AQzbAdHuzRXNztKg/ZD6Wvr3DMOQLTHl6s5JvJcHZUE4TyhA3CHkadjIBZv51InqsefwjAD4t3/8hgF9DZgI/AuBnOLfwC0R0heSa8lPV2xOu1N4TUzbiTc9U80xAf7dnr5kEjFNrbpvWylPo39A/dSRcz0Lt81K1g5m7TMNvRjHJD3J19GjITV2VYvIvy0c2ajCBp/2l0nwibXO7CB3YjBK/Zqf9oBKrF6O3yuL7igFjHjWBSTqR5ORwOrvJnqVsh/ibY890V2LPbhMpTlYO5CWylC9b2muD/7Y+mTINZs5H6gFlV6DOWbfULVDFxENrBGTuwX1h7yQ4asv1zW/XJvCQI+xvI99QDACPAHjBxXtRnu1kAq3UzIM5lejBnZfWc6ts/fp9WiKa+HR3UYgeokGFKHdJdc2n5eaFgYXZ+gJaJy+hCyFNy6P6VFoW56RCBr5i9jM5Y6eSKLfGU1ceM1uaaagncxtmJZahuqm7bMlv+qzYD6aoQOF8/t4vua5ijTL1sywB+nMfSwhWjmO6vDGh45chW5WGKoQDmyvM2XOSgOzoI3sCPNP19pa5ZdC5LfCshDSxv5Twjg2DzMw01/NbAhF9BsBnAOChq/tFErhO7DEB/90ka6gP1HBl2HcjQkzXWjMhuUEzWK5S37suzze1h0Dm6uzjA3C30wrU1PioGVCuAQHO4MmUsuoCJ+mt4dK0iegthkybSC6SQVqSZdW2eyv3uRqao1de3VHW0vJoijF6KtjO4NrjiSJVW3sB7hyWYkTcke4EmHHRb5OeO/Xa+yRUqo6PG+qzHQCAQtbzk9oUHNowm+lc0z0jVaaGth+n4e0ygVcV5hPRwwCuy/OXALzfxXufPJsEZv4sgM8CwBOPPsBth3qI28JhoDQsQ+uyicIGLdQz0ROjegDEWA5byEYWQDd4ExGiHvMkWelx5a2EmKtbe31WXYc6BHFxzeXlOgQiRIdcyoQkbJLAd8csexZwJmCkol5ULyQkJ2m8VI1yEnN90Yn8pYCyfCnWcgJAU9hJ2q2uf9gZ2ur+oeqU6V1r3hNfhBlKac/Y68H9cviHnHPpt0NDzxBgBNtVqYeoFCciQ3Yp90nS24WJK8ajPgKq5ys6y6pKXhTKmg/bqdeUGgbf9KfWIaUEpiCMRJXHee7xdpnALwD46wB+Sj7/mXv+E0T0s8gGwVuntgcEha1uucr9z0Qtk1SW8RTqtByYVCpWqLhAfLXk2/IhKPt1qyC1PMv5fMx5wDNo6HdqO0l7zGEOXROVNXNrA5FNoBwHUhePkvT/DMcPMKLyuwBaGJyLEahLwU5MriSJNZlyxlYf36aAdjmPqvcOiusjhazABDZP+6khpE7c3tkSbyVQJJBe/1U5AJEtxynRMZCXIIHqjkxtZ5DdfJkLu81IGqur+qD0vysHNn93hFCEWyloPuFplgj/MbIR8AEiehHA30Ym/p8joh8H8ByAH5Xov4i8PPg08hLhf3GKKhdiV1991zGFeB2UDsEMKYUQcqhOlqFePoBsO4IZ+LhPwKDiYpxhd06fuEhq69zkt/66dkGLYBvEoEabHEmiBrt9ltRyTbJDTKIyqfGv3rKrzIJDrfvmpgZbLiqQuJbAJYFDYmrdJ1g/VWvwDbS1fCoGSfbIT0GiqoR8FwTzhAFwEilIM4Yt1XNskBTm97gsW+dMsAJR1XGFIdcVt3OFjYuVsTKDJ8E2CrWuvmbwbMon1H0YiGQsi9FPGV5vM6BvT2VIdDTTNfZKOM3qwI/NvPqhTlwG8Dd25dkNVG/kqQhfpbzE89+ZMnzUjiwZNMRvlQxFdrLzWOM2PdmebZhE1iUa3aml9oRqib5cLIsyaGqz4JSPy0qdSc1W1xw3AXaMuJ942UDVnqUnxNT0qfRMRpXkF816vv1u151AT0Mj1ukFlXSwUM0Q8qOykc3lQwDG6lyHQkSWc3R2lHxFVVuctM0hAmZ0KQVTKazEq3MNnpGpaqoGWE2jVnw3HoD85oxkggxEVS8C9KAPIkEYEp+auJKjq6Y60CEvWSnDaYnbtcOr1v4YuV44Mx6D7WYehaFKGEUANQSp6VpYRfqqtf6X2VvpyDSFj0RqFPMDXtKbZNbXE6oo9VZ9Lx+XFaZxCXaoTgW/RU2pmQAjpaZdtRAtzJK9hu1a7InNynQMh1I/jUm8nheAooZGHaBe38hyraIeG5Tay870YtcmuPeT+ZIr11RKkZjE9foLo5pb+ZETNJa/Svz6RVnVqXrTbhn2ElyrxTKvGaVf/A1GfriBMh8SZexk2pPUxbdHeWCQycQ8f8+mhrPBBIiAEA3qmjFO7ARseiTZdkyVUKr/eyRQfP+F06pEVGYfVEcrkhSWSwlFMpd6EsgMQ3mAxaOOuSo3R9eDK5X7s60vtxMaZnTMluEQ8jXaGLlAU4WeYAS5t87IRwGESGvtS22TLzLPW4XZ+izZFmAAIIE2hD4Bo12NMQMa6bGIhrJs1cJHhy65aT4kElZLLU0CzLGuKs/yd0yCLA8UqiSA4HQlqvPp+gMosRu0lgwb41xw6Y1PKyW6+UMEBE4yp4ByNBoKI3JIQP+okThL8+DGUCtY6sZlMMtZFsCfEiYAgChXxSzcBDCVu/m0Q6NObiX+QKBUpL43qkEdi3RAQODA1T52gh63FVVDdfO1uJJ6qBaFAel8CCEfh6VuvybU5HwBEkOmP+eN1GBkqKK00c/h6M40sMqEKOpAOfCCiPIJtSKtlSRDIHvvmgVGEGlUKpsCbEJ6eF3TiDDAMJH3+S9r60obpCdLfj4VOWlu3Ex/cyGkZvUnL9OhIYq6m6pniAbrzYgMNXzKL2MaDG9DIEF/Wb1rfAeEGL00zoSb9774Pg+IplEFQSbMaXKnAktflOPBkJcTXblpHIUOZNVCTlDWFN6/o8fDfTgTTEClNYCiA0InAJrn7iBLkRVxkDNhxLjEwhBsCSsUmJvPj3NlE8l6rTqIOI7egWS5rsVQRsiIYRgiNpsNvEGSpU7BTntBnTE7iOjKMETBxXGl6i8CWI5kN+GvatG04nnDlXumfWfqiT3PjfdLjdRkV/dH+6JgZW6e9r63zzy8B0o/ZEhbe1kOwyDGwoYVubrXz+ME0hBge/mBwjSSuxC0ii0IqgqhWPDLCpWcLdEmrwaby3du7BVEiKidj1QV80whKNETQ+1bUdphBlLKKx3bGMGZYAIaJpK8wwSA4hiUx0SXqmpraBbDIUMzXWcVSUlVfkDLgEp9ag4NIF/EAUdw7p13B1aObtPUS3jHZdo8/ITKDMAfI6X6JVcMoG1HVd9csbqjuTDeOk0tRW3tG70QCwNzhqqsapXnLTL3bYZ/1xjG6tDxIbH+qQnQ18e3AzIeXuUBUDbqoB4DOGRpndO55i2NY1EbbY5AJUCDUIK1taAOFVaEYnBwaNKNETNXR6dBBAUoGUOvlihRfBDe0erAv60wJcQ8EPVlEhkJ1IbCYERh8byU0mO89H8qqoRBcTfonpH0kIDWoZyPp+XVFthqUgJVndt3QIb9MUas12uHBGqBROIZmXiEcvlaYk/Jx+909FLFk2JJVy6xLExvKmmt4k6y5T5mMMYqrsFtl013Orry/KT3/d4+22bxboNnvAX1N4LD1ZtcefkTue/bswlCMW66xsCuA6/6vwPPqRjwdN4SAOL6+HQWW0d1SQ8rk4Mds2aMIeU2p5TA6lMzE84cE7DvDlYXzzsCc0+C5VNnJbLApgLbizHGzGT1BCJyG0LYyuwuo1HIGm+THs6Bp1p2Kiy9RG+kGpD1P2UApQ9yXfW35akSg8jNKKq3/Gr+3oDncDe1fQAnIKlGEi1akdKqvlHGvWmuC9O2GyKYmY3eBhHQaUfn8tFT8wAd+zSdZ9WWW6v3VEVgBtLo7U059O5ZYLVbxRpD0VjKLXGz6tAyImZMxocC2SB5ia8jVJ2vScUvpLevwIezwQSoSBwKetUYigHQTYDUwKNhGEB+PwB1Ok/zguwzaAiACWKdp0o6BMlPYpX4wmCMxJmzz7cvXwi1mCP86gPZ/8JbAkYeEULEmDZ5YSQQWK/PkjhEhAF58vCczSA4SebqXeIqBG3T1c5CFCgfzy6bB1Sqs3yxHEiPN2PEBszrqoyhLv+6u54vqx8hAEl0Xi9oBcWY/ceX42pvceVrouI6rMRBElXJ0YSOQzg1EivER1J9HvVchVLHHCUiBMI4FruF18qYxbgJAstcSq69tZco5XdkoyBMAzI/AtSZqmaSDOZRnJbOOhOAgzMOBTCLwc7BdO8PYMzAwX92s8X217t4iiQqySwCtdgYyJb1ihSUvLI5qYKVWefP/9kGqN4N5uNXO7qoTMwQh+xEFMR70LWr9Isa9ajO0/elr1s1i1smNEnof4jeWUfRtlK13Qi27o3GglBUIS+5tG69OgjEhah5zJOqKupQXbfNxrsN988U8KiMTHf3qKypqgkqliUUbtLXxFc2hc16MHrmbN90n0H93upMPWanhtPB2XHK1vVhWE5U2zacGSYQBreHO+QJTkzVxC3+AoUJFCt1qyY0BCSf1P0Oc12FGFhqdcFDZWe0hCIBGOMCc75VRo+00qq44G0DlY5NJLogO0lQkIAxAibkE3GoybEU1hv0tk2dGPapEogIIG/sA6BW6srGYQy6TKky+XS9uym44hdO9yZtgJ+8bXonKV05fsKrNuZ188LEhIRYb+/VNtfi34GYrKqQYxamlkmlU81yMkOPkzxzKYW5eYbCWqbn3koTUl+q8ih1qW5tIr3ARlDCFi5wJpiAGZDk/MA8ODAUoNJP58akPeQsv941E2ESJ5H0J5U77vKkK8RfeYwJjNe13EDBXEk9EVSrP4C4nSqELpLLQz1byiQ4hscAp+I+y3X+uROiWLVd3tZmsrwtviaz9xl21npl+dRlVqBMRt0nUXnbGcNxqCyNlS2glXf+rydorQpb75PjF62vgkuKwghUgtbqIGvjDTlQU69sWZe+McKGjbEa37ROBIXtbPOCkQGeLceKXcrvRKz2EXDe6eeDjYnYuEr84h0bojtsxBCJ+gfoXzIZmNNNvTh9OBNMQBto8JkUyuukVU8pNoliensIxQoKL90DWuNV/iyTghwRGrFW0tktIzbqRo2ya+lrFmdJqbCe9Kf5+LBPVJWhkj9QfXOwMSWVUY6wPXf0dpNSX0d8FRHlDpigHekvjeoPcxk9SvecmWqnlm3BH4dWSW9tDxs9YdeRFWXRtDhRKaEQEVj9Q5it/XkpL2UBQM4arzsIK8Mw12WxrtGjMNosiaC2rEBs+2GIQvGyZIiqVa/fZ09DaXMSdUzbJXEdy7Ha+P8lv+AGaHvfnQkmQCBQiCjwSinFETpg3J5IJDK5yS0nEWci4Sq9h+6kW2uplA0qe4Vg+RVi1zhKmLbb0QXd0BPNpVifd7a7shySGorDD+RK7qTwVCZSPmRCH7GTxrXVl1ydofVk3XLt7BsKs1vGQVmHbQ+kVGZDAEIcCgIKdRzrO7UjdNqs/enraFJfEQeEybFC3YzCRvbxfdmlX3KIddnMZuz19gXlNWxSW8iISDwyGYmVmdsoSZnKAFLtvwD13lPC99/JTo4u8Zr7ArQWRMgHo3q1IAstcxByTCDBMSRbHSBZGmzjT8OZYAKAQhgnnVEkc9mJJwY5lv6USUEh2PHO+VhyqvKwZTtAOHV5V+BUKdcThsIri0uAA6zFnZNzPVOblhmjMC0zIiUdaG9h13q5OpAcTqkT1frBEVTJwHYcFucYVp5VnktcZQiFMQCIKK7ECjzAgFsSrZBFT+Q7O05BI5ai+k6xSC7l/1Yu+bXt4gXam8qtqlDdD0jKQ9m8RSt9W1GQzy/JmEclIhMhkiajBQ7OX6QADJjq0fgJTC7dJcqHj2h/yDjr3hFFQJU3ovxLnJlEQra3+DsPtTrs+2ILPjszTEClbyasTAxm/AOMQdhYkHsv0EqloZf+ZX1dSnFEWmZxKxW1TGeUs2qSzhsjVBC546TLsh1Rfe6fShWKRfqUwRU1IOidC5rSMQWnEriPEvwdA8IY68p3SKjqh4ygKls+FcIp5Tmj6CQ/KjFcVxfGy9BDUQpzUiSlkllrk1MyEaTLKsBbmPuWVQDOslIptI7lF1JrxhCEYdgpwJ4QmW0HpDFFkcJJGyTCy2OIAtgdsfqtwe69nVmYWqNexl3k8mZwcV8uOCW/THkJs3eXooazwQSIQHGRv4vOZoYa6NyW39S8p+LGayhBIGXWEqLRODML5yzlljrUBKaGPf2n0tWMmHCSicXf3DEg4/gOLgoazFPSDWK1SgGAY1mOJAriqlzkkW5wYcD51HNes9b8iKa7IJ0UKkqHHwaHuixXWEU9oPeMtQopuFjs4illO1diAmyJz8YpjytzLbFtpc0MosjMViWlMQ4ftK56t4D0UyeOfs+rU0HmUWaKWnaIWTVjYQogX0cWqe46L4YKZeTqZ4OfHkvmrfusDMvaliE9lPnJJxNL3mwMVPuYOVVORRQD0pjQLqP6cCaYgPFGhkH+QuA52Nq+WXeFEQjh20oCbIbYkov5BtikdNJVa0BJJDMAHYBEVV2MuIAmPWqC8NZYatxKqbowpiCVRhqViSOTUA09ZkzK+akPSGUToCJ5fVxfX13Xb+FpGyqg4L7X8qxqkEViNcIh9ftMJbipL5BP2WFZCUDtQzUOi6RlRQsWsVJ7tLxEhenkKhJ4VPToysis1Z12lJmI2giy/wcZB02WtqwgSS2kfdJbwtSyU1mQPSU1ksjafbk+HnoEvPQRy9w21ZZQ6qPjQdEERU4n6XsXwUg4E0wAAHRPgEn8dr+6EWDuiKDMgmrJXkCDXwIkm0B6XFWOXpiALck5iJ+t18UOkeeUMzLKnm1jHrDCLU8dzNlAKKsBnZfsJGPOaoA76MoRl0cUXvoTJuLdkBQqSDvVLyZVtb89ybX2dAAAIABJREFU+J1Daau5YmPTh6N2YrIHzboqNLcpiG2cVepm3ujz79RNoQAVqUpxsDMEtU0ZcfmzB1QN1Tydxd4qwZ7fwHz4tbtMLdN0bOV5hGR523wrwkFVmmqsuCXuYpgk1znktkX3wplgAgRCSGVNlWRTBUKBtwYEUvYiJJAc/FkmSrYPwKBkXqYpcUKo4XEMusU3mRHJGxJDGDInZXE3VqkCN2Wd3SDruaHcTR8aJCMRTS66sgDyG/AsqNtwEO4WQwRjxOTodOnHqix50a5QMICRXEJNtw0zAuK2qqpJYVy1BTu6eZ3bRSGi2QmssWVulnFJLEyTazZjm29EWjOKYxAD4ODQlyER2LME2KqOHgha3denBK3cniGoq5RrKyNe8NjBCmU50CC78YGcS6Jk7DuYvcIRM7McO6aGPxlVlnISZ9WwYtxl3EGENI6ymzA5lYDK5UmdcCaYAABxlYXBQnICzIQrkeiORVrbvX2Aew5bFkoGnXQvQJm81X3x7swBg516rpuW00psR8RZPYEsMRVX58oqa+qKgkWCng/vaLEOOsvFEm2HRVBNVUIW+XszMUwSeaqiRlXInVAIu8pZYpoqVFe0AhCJyms3Hl1J5CSdP88B4jKsgjN/OtVC9oObcxf7tf1pr5SMSeZB7sPEqVkSVSL2Z0t45FMkt7mnG4ghGKW5+yzrI5EUYZSGOeuPMA+C3o9k2IckN+kTdseqEzMGaUIWPnmMRlUDpNxtfhZnhgmEWO8RYIWJOggymQJcHCI3SMjpdblQpX+MMgfLMw/sTNcPZTUBEmssa01lebJCHjBuRVJfW9mwEhwxWkL1ERfGYhBAJ4+T2u6MQe0DhXlwJeVWeeRU+q24xpaYNkk9QrBdwI6QDa5r/bQ55Xty8NfOemCY92fWu9upViAyoaAriiGjH0VmcMLA95GqBEncZanZnQNlhvKIHPFqlzJV54yYgU2XOb1AMJJKVdvtBmMxKOYf01uo6qVGJXaG+pWqwMoXvUYwInRTkI4XiG01gUn6lwHW3Y12hyIhDANAQfonYdz4S1brcDaYgCNob7BiKu6qKhFVIld6dDshG93Wlts8nANcmYDBD1XuTHJKOQ466kTyQoCQGYkeTGpxDcbAJpQab0xe+Mnq6ggGEEtb/EYpe6ZtBAB/356DxKybfRwT9GqK5TjdL4RCrC2Q8EylIA1DCgSoDtBXR6WdZS8vEgOcan+JblJFUno7FFluTlK2xbGidstXcUhJZxCmRDAC1jZS3R6qF/10FUnhPoGNGUIMnnYoDGle2cqfxC6QkNU1Yz0MYRialq2+HAA1ZOv0ygbIRT7VOiXwOCIu5kn9bDABFOKu3H4D2WaiHAdQIi3OOzUaIAr1pCUqFtwOcoAf+EkdSj7+mrOpYVHza70DA4gjYIQu08654tZLePlPW76Pl1WHUL/UxM6P3cdn579u+XXK75sn/RSf1sdVfFqlqrTWOMrwtxWpZ2PemTtvSFV7hJZK3tlAi+pynT5j8HC/tD+rCiG4G4hINuQ0dwm0AkdRu4E2qSMzMOocY5XmhBEOpbhalqPICuGPZU0BaiAHR4CiaB35WUoj1uMGPG4sxxDn+/RMMAEG8mYKIpvA2Tbo5VwmzkDRpJCAcHuneZERkjrt6KdzAaXCCIgIJIaYyg3U6cDJ6mDJqwmQmZjTQVFUFy071zcjj4BCFkm4Puk00JuOlKuToBYpv9yom/vAW4J9nwIAB67a6a3L0dHFSDCVqPS59CVgji/ViGj9uuqJqws1thHJwOvr2fQSxNhdGJiGBGU8blmNHTMiVG1rwxRDAZTInHHsVilWJlQ8RA0xiCCgWO6rWNOYXb0FBXGSg2gFim82aywWi9JzzNAjDDPiJVvCHhlIY0IcIuzU14LpkDAaKmCZ44kIKV8zlRkGAykEgFI++oyVMZx1ZyEQEkVD4AEEsFpgSydlIpxyNBaLstoRlInkwxfJYDSjTCYlMl0IzCBA/A9ktiSE4gasTAjFllAJnI5p39sP6iXPAHBZDRhz9prK2lpOvFV46vRLtweCpB2Je8SWyo1GKFnpVA/ITGiU+voTfKq2SN/Vdyx43waPXqZpu7DeLnFxlnfHOOtUYtNxBi+m4nNRGHy5nanygeieXZAZrurnLK7fQc8CVIYjDIap1EiFVUpkKzgAyuoUCIkYYW/AivXq8GTjqChjTKGsiqWAYSHMkHK8JIapxWLAZmSMo7AAPTVIRmaz2Zj9l0BIcYCqMtWBpZ1wmmvIfhrAXwFwnZk/Ls/+BwD/FYDXJNrfYuZflHf/PYAfR55X/y0z/9KuMqQgeL3fdHWRgLl1um4PJz2UYArntIlox4vpHUVujnrIbeoG2cak/CpUE1KleSUiXEdOAbrzwHPMS0yQRU1x9fIXZ5KoDlM1Rk8xqgm7sj9Ytxb0owtegdQmUg5CVQZcGt/ko3FUYFKRSIrK6g72/bAjEDsrOrmyufooWRf4bEWRLqWVY+od7nN2n7pYlfLEMF1duaMiMUC/K3IpCIh5ATjBQSBECuAxN+PO3QNcunIFm/Uai5AwcqlTGlNe7AoZNXAoNoACCvO5EZnBl3sHQAljSiCsEWmDGIrkZ2akDWFMKa+AoBFYTTgNEvgHAP4egJ9pnv+vzPw/+QdE9DEAfxXAnwHwXQB+hYg+ylzszt1AlCc2qT+AXyGgspkiCGELJCoEnI1JFOQgB1l3LWcBuvV6NfAFyodAKLPRyeeO5gpK2sRiwRcy4+bQEQBEXIyY0uOJyNbjPRgLwr+1UwiZ+FWCZWt7fpN5BxtDy8wo2saixM62JoxJ/RSYGQGxpLUJmNsix5UK+ipooDAOVHSo/aRL4/liWFT9m1j3GPglqpotqC9IDAHjKNSiF8LAneqk6kuQFQ6nEgGQrbdFBWDI5huYPDE/kSwNy3l+qoCpQNmk0exPiWQekfgtaAukDLUPJQbSOmC5XAIANptMhIGiGO0CwhI43AQsh/OgcQ3mhA0DPG4QUwAHYJ1YjHkD1us1lsslWK4OC4GwWq1xdHQE0IBhWEgfpnwaFSUgsk4iHN69m4/ni8tcZw5mb5kLp7mL8NeJ6LFd8ST8CICfZeYTAM8Q0dMAvh/A53eWY5eEkqGCTOOiR4PzXgg58dWO91Z907zPUDEHkHMIAex3vgBUlntEqtm6vkrdJCfm2ZKeSgXJ2wV13yGXPgNAyV8NTAAiDWAkbGQiDiJlRquoQwOmx5dneQ09wTvVKIsiCggxusswvRFR688IlM1MIzIoJwYCRYxGuk6ym+QX5CCQVg1arXOStd9dq6UhhIA0ZvazSdmNNoRQ7mzInVXKkGqTbA1PYOOoCUVj1jgkurGeqKOb6/JW5Oi6IZ/bF1j2msSIYbnEyWoFTsA4otwZSVlpDHpaFBdUGIbRBEfCWvp2AIUBq80aX/nGN3Hu0kU88tBDuBoZJylhQ7ncCMbJOmFDhJOTE3z9a19DHAb82U9+T2YW4whOjNVqhYO7h9i/7z4kjNav2Y8wqzGJgf39ffw/n/tl/PAP/zCQ8ka0xJwdiPDu2AR+goj+MwC/A+C/Y+YbAB4B8AUX50V5tjOwrsMD5VgulSomGQLWKRNODBEpjSI9QyFe2VQi1jRh4GSTuUBoKgdyUtmyW900XECw2RlSYjnsVCadZLuG3ohTQ/fiGyK78wRKcgjZr0Y5tNu7rptJtDkQFKR+8sr4dBtphviZkaoD1HrMLEkPVs2tyUzSkAPJhipmRNLlTXWUEduEdmUj1XV1hhT5yGtVObLvRVnvV0bG0vcIggRSwslqBb3eWyUuEcmlqJn4EhxTcc44ZaUg1yEf3gls1hss9vYwjhuB+hExRozjxtq3iAM4cweM4wZpnUA0YL1OWK1GLJYDwIwYszAZkwimkDfljGmTyZA4nyw85jk1AgAnpBiQYgDHgLAccHj3No6JseKEBRFODk9wwgEbirh7cIAH3vMw3njjDdy6fYBxdQIiwslqhRACjo/XGHE733aVEk5Ojm2eJGZsNhuMmxHPPPcSfv8PnkJgxnq1xjhuDHnNhbfLBP4+gL+DPPR/B8D/DOC/fCsZENFnAHwGAB568BpWaQE9RzcuABrXOEcZiicAISwwjgEnCaJz5XXTgQI2lDDGCEJEEitbAHAeI3RjbOWAhCxT8r0ljBGEY15gCANCAhYkxsI4AjQWtZPzUswmLIwAlAnojjBF70wBC0QsOOtzI4Q/pYT1IkuDTZBBJMISAeeH81itVrKuLIaoMEp/BaQRIB6wHiNGigjECBgRKGUFI2SD0Wo9Ii738ebtY1y5QNiLeRIECLNgYMV7WFM2mh6PG5yjAIrZV0292EZhBAsQxs0Geu8BAERkz7tsxE1GwCuB3CMAhJCZAhXDFMn1Z0iML33lq3j/o4/i8uVLWK2OMSwGIKkhONj5JCxIRJ0RTeWDqG/KiAggWgBM4GGBV09WOH9+H/vjBpSWAAcEWmM9rjAsB4wgjOCsOw8D1psNYhjAG8LJccB6PYDSBovAOOYj3FmvwGvGYlgi8hqBRyReIS72cHB4grBY4uDuEY4xIq03+PYLr4L2lrgCwue/9VvgGBFpBG9OsFwscfPGbRwdrxEw4Gtf/waeeOKjODy6gzdvvIbzwwLDYonEwJiAk9UK999/FdeuXgZzwrm982Y8BCIiCKujEyzoHD7w/g9jiMLYUjYajuO8Rv62mAAzv+qI+f8A8H/Lz5cAvN9FfZ886+XxWQCfBYAnHv8AL2iUc/aKzTgMg/jZBxytCQd3V/jnv/Kv8OQT341PfOwj2IsRiUcMQwTTiEgZ0hLLngHR+UGEMTHiEDFS5px5LidEEfx7GBFFdwqyqrAKBKZBIHxARABiAlFmLuVobzbDlqIDCgCnESNFMOWryDZpRFiEPMkBxDEhBgJtNggx4mSTcLIeEUPI1mNk1MEp2wHMroExQ3gwBmK7b3BM2ai5oYTDzYiXbt3Bcu8Kzu0tcXJ0hL3lMqtSIYrtK8OUYYjYnJxggwEcAngzYiDCYlgCYKyIsAkhG5nG3MYT0dN5TFjEIRtUOdclb9lmpDH3/2aT1RKigM2YEIdcjzcP1xjeuIUrDzyEwAEHx0cgyqcXEW9ATDi3t8xMfFhgSdkGweMIuacbo3jEbdZrcYxJuHXjLm5RxL/+ylP40PsfwXs2I1aHxzhZr7EZVzg6vov1ZiWGuSAGNmC9WePC+YvYP38Nxycj4mKJ99x/BeeXhDgEYDOC4oBzewHnFnvYG4Djo4Dl8hxeefFFvO/Rx3B46xaefuE53P/Ae/HGrdt46JFHkEC4cfsAB8sB/84Tj+NajIiLBe6OjDsHx7j+8mv40IcITzzxMQArPPieK9isNjg6XgEYcHQ84o033sTy3AUkRCwWCzCyITAJAh1HYBwZb7x+A4dHJwihHEiaui7VJbwtJkBEDzPzK/LzPwHwJfn+CwD+ERH9L8iGwccB/JtT5IchDtmgAZH+vMR6JHAMONoA33zmZfzBF7+GZ1++iW+++Jv4xjMv4IkPP4pPfOwjGBLL8lXCkBL24hKb4xV4WMiyT8TB8RG+/NWv4MJ9+/jYx57MYJo32KQRewvCkhLSeAJwBA1LbDaMu1jiS199Gh957DFcue8Sbr5xA5FWuHopIMo+7bgYwInzsU8UQWEBZkbECA4BKyaEACQaMcaAu+uEw5tHuP/qVdC4wWIg8CZhTIw1b7DeMPb2xCAZCOvEsqkkH6xBYAyRBaEQhhgR44DEwHq1zjrisIdf+80v4Inv/RS+9uwL+HNPPg4eFliNCUQLrBIQsEGkrJ8vl0scB8Ktww3+5b/+Tdy8fQs/+KkfwIcffRQvv/IK4v4FvHr9Ol579TquXr2Ca1ev4uDkBC+/8jJiCHj4offi4v4+HnrgQaSjQxzcuYMr164hpRG/+7u/C4oB5y9cwBs3buLoZI33feAx3D64i+eev45nXrmJo1XEcjngmWe/hYPDFRZ7e3jo6jU8eO0KXnjmGXz3Rz+K43ENHjfgtMZ6dYTN6gTrDWMck6gNmRHeuXUHf/TFr+LS49+Nr7z5Bg6OR/zQhz6MS1fP4XCzwfnz94GZcWn/PGLIZoIoDOzS/j7GxLh5cIhbB4dAiLiwtwCNJ4ibEYEJd1PC7bt3gAsLrE424E3EenUIXq+xvwy4//J5XLp5GbcOjrE4fx53N2ucwwWcv/wA+NJ5DHv7WCLbQn7r87+FD37oCdw6OMbd4w3WI+Po6C7uu7yfdXlE3Lx5gMQRY4q4dfsQmzTi0sWLGGK07c4pAQsKSBgRYsRieQ5MWWUYhgFM/M6QABH9YwCfBvAAEb0I4G8D+DQRfS8yWnsWwH8NAMz8FBH9HIAvA9gA+Bs7VwYAHNw9xu988Rks9wYwGPftX8bIEXcOD7E8fw5/9NRTePa5l7DeZIbACfjS15/D8y+9ihdefROPf/RjADGuXIrYXxKGzRFiikiLiA0Trr/xJn7/j76Ebz37HBZ7S3zrhTfxPX/mCdx/9SL2FgNW6xWWC8KYAhhL3D3YYL0J+PU/+CKefeEV/N5Tr+DJj3wIVy9fxP6ScfXaVWzsNtkBY8oEdedwjedefhX3X7uGh65dBJAQhgVGPkGIhJOR8Oz166BxCV5ssB8ZkSICZfViPSbEYQ+gQYyMASGeQ6IRm/FEVJh8jPVmTEiJ8OadYyyX53H50hWM6Q4Qgc24xvve9wG88sq3ERPhhCMu7V/C+uQER6tsjIoE7J/fw3IZsWbGzcMD/NFXnsGXv/487hwf48Xrn8N/+Bc+jX/+y5/D/Y++Hzdv3cSdGzexFwfcd/Ei3rh5Azdu3sTlS5cwUMD9167hk5/4BL759Nfx/PPP4eH3PozDu3fx2qvXsV6vce7CBdy6excHxyvsX7qM73r0UTz3/AsYNhtcvvwQUtrg3/zel3FwsgES8MDl+/Dkhz6I229cx/d83/cDacQyAIHXCNgAPGIcs6qV7RbZy+/6q9dx/c07eP3uXewNSyz29nEnEXhxDq8f3cV3PfQIeAROFgFHd2/g4O4tHB8e4iMf/CBeO0gAJxytNrh7skbCChSAgUfsMXB8vMFmbw8biri9ZoRNQsISxCPWiwu4fbTBjVsH2D9/CW/efB2IEa+8/hpuHBzi5O4RLgwB16+/iQff911Yr9e4tH8Jl++7hFsXbuHgziGO18AqDbh5d4MIwu3bB7hx8wAnqzX29/dx5b5LOHd+iQ3n25CGuJDbiUeMzEiJcbJKOFqtEWJAwoCjVRK7WWcb52mZADP/WOfx/7kl/t8F8Hd35evD0cmIL794iOW5iJs3b+K1V7+ETRqwt38BBwc3sF4dYREHbNYZIlEgnMSIg5NjPP8bf4R/8RvP4UMf+W489oHL2F8cYTmucH7Yw53DY/zhl76Mw1VCGvZw8/YGm9Vd3Lz9dXz+838IGo/wyY8/gStXLuLW8V2ExT5+5/e/ijWfw/GKsAqXMY6EveVNfPUbL4HHQ/zgp74Pr79xgNXqBEMccOnSJZw7fw63bt3BF596GreO8tFT73/PZXzPkx/BhWXEIq6BwDhExNPP3kA4fx4/809/Hg8sI37g+z6Bj3/sccRhgeXyHGixyHrqOOL6q6/hi099C5fuu4gnH/8A7r90DmGIWFPEwThiubiIu+NdfPlrL+PR9w/Y3xtx7tyAISxw6dw+9u87j6effgY3Do6Q1oTlYsBTX/8mfvVffR637tzEX/tPfxQP3X8/vvnss/jdL34RX/y9ryCc28cBMd44PMD/9QufAwfCm9++gVdffgXroyOcXyxxeOcFBFlyu/nGIS5e2Medmyd47tlXcUgbXLx4EU899wounj+PI1rizuExzmNEihex2Ccsr9yP63fWuPzIB3HrxZfwS//vbyEG4ObdAxyOhPsuXcL65hFe+8Lv4KOPvg+37xzjzYM72D+/wJWLSywDyU1HAYRoBttIESdjwjGv8cmPfhzDy9/Gk08+idde/TZ+74UX8MqbJ/j0g5/EBx55DKvVIZ59+Sa+9OVnceP11/EfX30Mzz39LfyFH/z3MJ48g8QBCBEnKwYNEVgMePr5b4GvvAfj8hzCOGKRGKshgniDveVVfPnF1/CF3/x1XLj0IA4PjvHCt5/H6sI5fPCjT+IcR6xeeRMX/+zDeOPkBG+8eh0fft9jWB3cRtqcYIgRT33tm/jmc8/g/Lklfv83v4D3ftd7cenaJfy7P/ApHK4OEe9G7J2/gNdffw1XLt2Hc3u69EvYjIwQFwhDPrRkMwLrdcLzzz+/FQUAZ8RjcJ0YX33hRXDa4AOPfDfOXb2G+67cj5sHt/HyS2/gyrkLSOsRHBe4cOEKTjaH4HOEm3ePEBeX8PFP/jkszt2HV+4kXB4ijm++jOXiBJvVCpu9+7F/5RLGDSNeHHH1PQ/ivnPnsL8XcXh4B68c3MLx8T5ujQuE44jzVz+CMA7YDwscY8B4coz3PHw/zj18EV/5w9/Bl55+Dl/8xgt49tmXcC0A+48+gGuXr+HozgmOeMCHn/gE7rx+A1997ja+9M3fwCOPPIhrV+/Dy88/g+W5JW6tjnHn7iF4E3C0GvG5X/n/8NVvXceFy1fxzHPP4vwAPHz/g7h58yau3/j/mXuzGNuu9L7vt9ae9z5zzbfqFu/M6bLZJJvdrZ4syt1yNCSKFNlOJCEPSazYjwkCvwVBXvKQhyAGYjixIceBZciWkziRWwN7EtlNNtnN5sw78M51b8115rPPHteQh1NNOYAayEMMcD/VQ004Z3/f2Wut//f79enPUnzp83qrQ7MRcPnKNkIEjOaWYZoyPh5S5SV+FNOMY85uncGIGr8ZktY57390kw8/uofNcwLXY1ZUBJ0laiX5w2+9Quz71HlFGCS4YZP+cIByJNbzcHtdVpfWsVKwrx7SbGzQjroIdvCMIglDhv1jTF1SYlEWUlWSZiVlWdFtKKTW1FVOu9MAL2CQlVhjcOKApBHjRwHj8RiEJsvmNBrLzCYTMg9Wkoid4yP+xZ/8Gf3BmO3tM1w6d5bPXLmCKAsCFzzXoOoKgUQ4AdOsZjet2XRC4mYXNGwtn8FzE3YHdxnXlo6x3HjrLe7e/AgbBdRJm7c/vs/B/T2++FKHvZlgNhZsbK6RTgdUvs/D3QnxY88zqiXdpTYqz3CkR53P2d/f4/MvfoamL3GCDu+8/wEbF8/y/r27vPD8F9k/GvDUxcfxRcX1nSOslQgjuLjZIyv6FEjmpuTFF1/kwqULHO0eMNrb56VvfI3ecosoatDvDzHUGJ3TbgQkvsTDkM/TxYaq44GFMit4/fU3SKIAVecMBifkRY02n/IBImPBiQKqmWIyKfDjVW7e3uX8lUt48QrtVoSDZlRmODqm2ehSehW+l9Nb3kb5llYnZrBXMT4YURc5pZ7Rixt47TVW1rZoxTGVUPQ2N5mcjHjhM1cZ5ik3rl0jnU15eHJArCVKJ1QWYi+EQOKFgo2tdUZNh8bGJpFwGBU1rTOXaKZjyqRJ7njE3Ta93jKd9XWSoMm9+T1EEOMubzFGoKI10ukJIvYJfYtSOZUyNBpLXLr6ZQ5nOdlBynC0iyUnTS1Bd53VZYOaW9JUMx9p8jvHuCLCCdrc3esTao1jLDWW/qRm92QXN7Bov6a52sJNehSVQ1U6aCJaywlPv3CVm3c/5sGDO2R1TStoAhHrm+fQYhHWqTE02y3CICZ2fS4+tk3kbxO5HWozxdMljraEnou1NVVtsMIl8QMcP8YxDsJIHKtZ6jRpRgHTQlOVFa6UuIHHydEh1WhE7EqE4+JYi6c1jeVl5qYkLXJmSuF0K0hcbh0+ICPn7IVtumEEaLStcFyXWmmKqmL/eMTeccruYMpJmjK+dpMvXriMkxcEUuKHPgjNZHhIOu7jh2eoXEkpDKXRTCtFSkRhDMPcwVceJ/OaYu7SPbPJpD/EL6AuLUVdks9mzCvNnYdHnFnuYGRChcPRbMbmpSt4fowrM+alZSwVcdQmChqoSmDam2grycYD+ukEx5cstTpkcUrSbrNx9gxeIBkNZkynFZ3lBCPBDwOMMXh+wAc3PqazvERrdR1pHDwvRoYNal3TbjZYXmpRlAplQvjWa39p/X0qmoAQDo5sonXJ3t4Rf/O3f4XDl7/NZ5//AoNRylISsbrc4+7RPpGVxHGTpY01TuZDjmdHmEpxceUcGw2Pj7Ip7fWzOA0XM8hZv3QZLwxohh61qBESstmUZpKQS8vzX/w8uw8eMFUGr3aZpiXCcYiiiLOb62ytLFMLw90HN+l2Ngi0Zq3jsbHVZHb9Q0rHReMQtpo0eh2O+scsRy02zm2R1SVhs8PxcEhv/Sz3J2PiqEVNycbjm6x3lmi2Oji9VaScQDOhynxyL6DwBSKKSVoNwpWIpbDD2bNnmOUjPnj3I8IoRjZa1GmJFwS4YYMgcHE9QaMd4Dc9jiZ9XBGSNGNcClzXIUgi0lmOZxtsrlxkOpsyzxWV4+J5TbYuPEk6TymMor26wmxakDRaNMQ6neYGy51N4p5g58O38R1LtLLOdDLESocwbuD4PkL6qIbFkwJUSeR7WAObyx1Wz/gMdIHrB+wPJqhZydd/+VcosTSCCFXU7M9n2PGQp5+7QP/oiPNXruDLmFk6xJqaSRZwPJqgdM65x9ZxqSnyOUEYcHDUZylK2L3/gLnnkNYl0ljWm02qIkcXc3xhwCyOCufpmFJo7uc5pio4PDlCCEGr3abUCtd3CRoNer2QcTHl1T/4BwTSouuKotJYqzBWc63VJGw2QCvGowGj8QAchw9//BMazQ53PnwPP3QoC0UYRDjS493OMr/6G79O3F7Gi44olM94OGFaSZzWJoXokteKR/0ho5GiDiUFhsCRmKrGExrR2uL+8YSmKImcgFQ0aa5fZDzcR7RitK1wXY0vwp9Zf5+KJpAkTZ54+gVMlvLaK2+TbOdAAAAgAElEQVSBI1hZXSYrFLgJioR+ajnJFO1AYo1HUPrUNmRaZaTTCfNxxryW1LKmcAVhlJADBS637t1l2j+gs9rh0oUrvPD8cxR1SX/U57B/TDXLKLKKMEk49+R5dg4PUAJm2Zy4e5mjwTGxG1JlGdoLWF1d43ico72IpNOk68ec2TrLMJ8zmY3pxDFxL+Ho0ZDpgwfEnTazqiRurzKcpLR7K+TG4C5vEHZ7nGQzBnkBcUTp+rjdVS5d3qQUNePxgEsXn6DhRTx2+RKT2YjBrEQ7HsdlhRcIlpIeWrp4cYTjalbWujSWOpy8+SaRK2l3mkzdIaHn0lvuMp1MEEoSyIh8cswsq2ktNWi3O1TFnPZyk2oyYJRmTNKcRnuduLXOPK8Y3LtD3PBYWdmizmZgCqwVSC8Ax0X6PlK4+I5PVeTUVqDx8b2Yi+ef4ONHDwgdSytp8eSXXqITNFjZPo8OY6aDCUIVtKKALyyvIcuK773y93Eb25ztXiIQy1Qm5d49y9LSY3gtw/c/usbWWptiPiHLD6gcj9HJPl/5zGd4+9ED2qurTO8/YGP9DGvpjPqdNxjt3kHsPWRwdMDh7gNk4NIJYxpOyA9eeZnlTge3dqiEosqGDMqapnV5dHDItde/g6vVIiFoQYjT4aAwpE4SijwniUKsVuRlieO59A8OcRwHVWtc18X3fYQQrG2e4wdv/Ihmw2cw0zw8SsmnNVomnLn8LDcfjanrAlWHiEbM8UxxOElxhcSx4EqJKR3cZJ17JyWh0Ixrn+PUMNUeD2494vPPPkUxm5LP8p9Zf5+KJmAw3H5wn6fOXeDM5lmC0Gd5tccPf/gD+sMU21bovCaXBUU6ozAwKmu8BlS2xA9c3rj+Hq4fUVdTikFFURhcYobpnAd7j3BUTtU3zGYf8s5rb6JVxajMaXaarLZ6FLMCGzfprS1xr7/HLJ+Tpn2+8+oh03RGb3mZJAgZjPoM+0Oi3ga1rhFao6qKyWzCQf+Y8XBENRlTWcs0S9la32AymlOMp/Ti7mLdVpQ8/9yzrCwv0e/3OTjapUZilMIoy3gww5M5MvFI5wXvf/AeDT9gb+8BSMHdWzdpr6yw1OtQi4JZOkZLj/lgn7wYM5mt8mT8WTrNLltrq3ie5Uev/hl7D+4QhSGe42EVKLXIpCtjCeMEpWpcZzGNmeYp2hqQLqPVe3Q7bZKkyc79h5zZ3GTWPyQOPQb9I7RWfOUXfxllIWo2cazEVIbh4IS11fNoDd1mj/XHznF32KeY9fFKzcFoyE52SCfTnLnyBI4bcefmdWQS8US0RHo8Ii+hUDVTfYjnGR4e32Xj7Bksimpg6E9L7j/8gDwbM5vPKIsSi2VW1QzHU3SasvMnL/Mtswg/+b5P6PvM53P6aYp1JdoadgFPuvyEb+F7HkYtAk5FmREmDZIgICtyZlnKE90uv3TuPA6St8ZjPt9M2Deau0pzdWuLudYsOZJxVfLGcMg31tZQCF7e3ePnNzbo+T5vjMacVAWVqdk/mqBqwTy3FBW4rouxNbq2GC2xGBxHYo3EkT5SCLTSiwSp61GW6tTqvagmIcH6AdPS8t6NHQb7f2lU55PrU9EEaq24t3cH3xqCOCSIQlqtiF4nYjwdUagxvfU2u8cDdD1BZQW+N8LDxYsEMgqZa8NsuIfuP+JMq005FySbXWb5nN7yEmo2xZU+YZRQac3oaIwRFoyGqoQqZ+/RA4am5FH/iNhqGo7h0f6AuNmEgxl5paiN4dzaWXSVMxr16W5FqKqmKhrs3LuP7yzSbm4jwaHm9kdvYQNJgEtvK6DXaBDFITu3b/LxRxkrq0vkkz6HJyNcz0XmNb2lJg03YZrOyaYj8B0mRxMa4WWuXb/JU1cuczweklbHOJlCVAYlXPIyo9ONOdy7jUXx5NXP0z8ZsHf4iFs3rnHy6AFCShy52Fs3WlGWJUJIwjhezGaIBeNuEUld5Oaz0ZB96XwSQe0/uk1eZAgsvu9RViUplmlR4QrBeneFsiooXZ/M8RjOR+Sew/Ht6zwaDhCxx1xZfD+iLA3DqoTxkEALnMAhnacI4RBFDXw3QFWW2cCwvNxA6oR7dw7x2ylLScLuzg6tVkBvZYO5hnmpcZoNjtKUra2zzGZT9hyX5Y01/GaLWZrSCX1cxyH7+CbtTgvXWxy1dVpt5vOc8XTC9uYi83bj+kdsn92i1+7w8OEOs36fduAT+z5v9sd8dWOdw0Gfx7sdwqpGaEO/KGmEAR+NxjweJxzmBbHn8dLGBptxzI9PTnii2eS4VJRZirWWXm8ZrS21MZRZSuCpxQG80kgMjudhVIXWCm0Ww2raWoxaCGALVaG0wRMVvXZIPi0IwghjPc5sPY4fhrzxnW/9pfX3qWgCRivm8wG378x4+uIL1HXKH/7L3+fX/t3/iHkxY2l5BRkDOzPSfIypK+qwxHUSGjJECE1pM7Sa4glNkeU4QUAcB4SBIPGXiLqreNahsdLm/WvvIX2fqxcvcvPGDZa3L3L5bML/+c1vsuRrqiIj1IZkfRUn8JFW4BaaJGlyOBnz3LPPM05T0t0mB7fvMZaSzccucvncJW589BGPX32G7Qvb/OD17yMIuLD1GKPhECXF4pPWQBD4HBzssbzcpd1usbK+xs79h+zPK8IwJIh8PAeW185y8Og+G8vrPPHks2xuXaLdSMiuv8/dm9e5srRBPSuxjsvweERnNaHntci8Njd3ZxwfjjkepBS1JAifoRFfwHFDiuJtrAlota5Q10dU+gN67Z/HWpdKHeE6CY6zQjr/EGuOCMOv4ToBs/kPcJ0ezeQ8UsTk5U2svY5RBaEHxmrSosRF0E1aCG2o8imHswFh0kSZnNht0wxDZKloL7VRwjJ4cJf5oE897+M1mrz9xit89vFn8FzL/v4DvGUYSo/d/RtMszFJO2YsEgZ7B2TNkHldYIIQ6TmMhicoIXi0u4utK1qdNr/7t3+Xj+/cxXVcOo2E3UcPOfPYY1y4eIH7Dx7Q7XTQSnH37j3OOed44bnnAPBch9/5nd/m2rXrvPDcc/z9v/c/IpAUFjIBDc+jEwTcnc2wQUC/rHl/NMa2GnxpZRXXcXinf0IX2IxiDuZzxrVi0xhcCxc21/nwo/dxjeZYCJQCoxTWVgjHQdYGVZWIOKQqcjCn6VO9mCK01qBRGL34faW1GK1ouD7D4Yigt05WVOAlP7P+PhVNQNUlVTHCeA2y2YRpf8KVi8+yvn6Zd969jSSlf3iTh6+9hTGWCQptLY7rLQAQRiNdiVI1Up9GeIXDh6+/hueHCBEyT4+IwxjhCGbzyeINjyOyecbd11/H91xGkwEH995HG4tQmkftFo3WWfL5EHSOcFzmRcH/ev1t8nxONrfkxZCLTz/NpH9CJ4xoBjFf/urPM5mcsLGywXNXX8DzBNeyj7AsJvxa7S6OkLzw3OcxKAaDE5bXumizwzTNORkN8do93DBAVA5Jp8vO4w1eWy9g3aNIR4yebuOuP0n5zoDllXX8dpdz5y/ymeefZufGdd4vu9wZgTZN9sdHzEtJu/EccQiu2ycKfhFtYtLp6yTxFRylSOLnyIs3CGSJ63yGyfRVquqQXvcrWF2QlffotX8VY3YwZpssf5lm/Evo6gFergmkQ3ely7RUdKMG9299gBNJhK2YDocEa6DHMw4P+wwCH0yN32wjPZ+9B/eJHEtZT/HiZXx3yoMPb+F5Pr4XsPPwHsKreeqZK0jXMkvHbHQ2Ga4ss77a5Xuv/YALj1+h3evywbs/Js0zltZXEdqQX7/ByfERf/R//xF/52//5zzz9FP4nsf+yTGqrvnen/85jUaDv/aNb3B2+yxRFPPGj35EI064cuUK/ZM+L3/r2/zWf/g3F5FrKbjUSFgNQ35wfMKXmzFWOVzPc+bashnHfHl1layqeGUw5Fc3zmAdyR8fHLAdRFjHYVQU5HlFPpuQpRPObZ9jfX2F8WSO5/pIZzFT4mmLqSpUFIA2GKVOrVqLRoADmgqhwBcOh8dHhGHIwfExYRAyHA5YaS+j/i1NEf7/drmuS50pTuSU/o23GdQVmxev8p133iDYaDPNNMfHI4TaJHK6zOdvYrBoUf/FaKcjMUr/lCyAMRW6VgRBB2ti8nxGnRcoXVOVfcCSTxc/m32CpTVUxU+9B5bZ6Iil3pfIiwF5cfu04cBgbweAbue3KNM/5s4H73L04B5SOrR6qzzc2WE0PuaFz32OTmeJ/+G//++4fOUSYRAQhSF+kpDlGbqqmM9Tmt0lhOMRxwmNTgs8cEKB7wumw4p2K8F7/hK79YzbH9wkdALC5RbNbkQYJ/QnE7Z7K3TaPQ4OBsznFeP5jOlE0a36XGrXTKTBmBLDCZPpfQL/Er67AqJHnh+h7JC6njKd3UTIkjjaJI4+ixR3cZ11suoHVNUxxnyJIq+xPEDrY7AVxvg8fHDIcm+F9bUQW49Y2mwx7sQMZwOQLp4bk81KNta2EI5Dq92ktDUiCCiqnE7TJR8fMs8E5WSLljzPtD9GCHDEBk5ZsPaY4LA/Zm19jeGowlYnBA4cnRyRzSfs3LtFa7xEFMUkSYN7+3vk8znSGFZWVvnr/8FvcHBwQDaZcHR0xNsffMBXv/ZV6nrx9KWNZn19nY+u3+SvvvQLgOVP/vRP2dzaJJ2nVKrGYimrmh8cHvGvDw8xleLNYk4tIfN9XNfH8wP+p7v5YtLPGD7qnywSfEpxQzoYa7lpLFHSYJ7O2NzcwvcDjK5pJvEiBuUIKq3xBdy7/4ju9iahH+IIB60XMxpSehihsacgYVUrjFoMvK2urmKDEFtq2n7MIM9+dv392y3v/2+X70a8+OxLfP87/5KyKpmdPOSDn3wXw2L9arRGZVN0kWDkBKsLpIhA+BibIoQL1kNaD2MGSNFE4BKGWwSRi+AJwvgsSfxzzLM3OT75A4Qr6bZ+kzB4knn6E8LoEo7TZDD4Z7hOj0731yjr+1hV43pdeslvk8/fo9F4CS9YI518n2brGwTJOfLg/8J2plT9inme8e61jwhDh1oKguCIzuoKuA7HJyc0K0O/qrBSUJQFZVkQzSLcHY0tMoyw5LrgeHgAjiSdjXBjyXB4wkrU4j975t/nT17+Hvc6Dqoq2B8ck88LnNDnwfEBQljsZMzU3UAXgr/1N77O+lLCf3HnTfZ2fKzdwvMFQmRU6hCl71GVc6RTAIubT1tFXd/DmiZR9ASVOsL3n8CSUNdzlMlwvQRVLSYdcRzcbpcJhrEuqQJ489pbPLpzg/ZSl9/47f+EWVazt7fLD157jbX1dao8I8tSwkaC54GqMvoHu0jXReeGrMjoLPlkRUZdVSglKZQiN4p7D/fwvIBxllPPhhzv3UfVOXk6JC/n+H4DeTIkCmNc6TBnsTT49p+/wuHBIe0wII4jdo6OuH33DtPZDFUrvl3kZFlOlpfcuHmTuq45OTlhZ3ePWZ7zT//gn2O0YWws3zs+YePMGXwD6e2bKN+jDgKSRhvH8ZAIgjDCGoNSFa7nITD4noeqFSBwXA/XDdBlyXQ8YdQfUZca15EEccC8KMgGI04OD3im10AmBolkPs8XcBHpYqxCW4VQgLY4QP/khLnSvPLaD4hdj5YboH4qJ/hLrk9FEyiqgslsiq4qbF2SpzmuH4IjcIQHxqEuc0ydYcQIYwtct4cxM4SIsKbG2DFC+ICLBbQ+xnVeQpljAq+NEFDU76HsbYQE/4yPa9tk4rsU4jpu4OIFz9MSX8KTW4zkP6LO9+kEv0Nv5bcYjn8fHEnSeY6MH9MMv0ZV3WZo/iHJC+C/mFB/KKh/ZDgYD+l2mxzevYMVDkGnTSUE87IkHw6ox8c4pxuIUjhM08VTisNiJ3xWztETQ1WXBG5EVRr6J0d88UtP8XnvAtWXa/5R9h4uLpWnKGSJJueknhJ4Pmo6Yu4mrK+cZW0p4eK5VeLIx9gcY9sIscw0exXPbbO09EUcUTFN3yQv3keZHOkGeP7jWA2z9DUUIzrNr+G624ym38R1mliZg7BU6jpCVrhNj9FoTNAKODg4RDuaqJmgcXjlh29y5anP0E+nTMqUrYYPriRwEiazFFMVjPf3aLsxjWaT47ElL8dceSbm5v179Fa3mc8CVtY9RNxZ5Pldhzov2P14ShSHhIFF2RqjF0yFsigJGgkODpeefBLHwNLZi8ikx3bs43sO7z96ROgKmr0uRmsyrYmWl1junWE0HFPLko2nz6CsYXm9RtSKrxaap9c2+H7g88UvvMCWlzD43/5nRu2ItzbO8PjVL+CKhNjx8AWUxZyDk33OXXiMk4NHdDtd8nlOp9nh+PiY4XBEXlWsLq1jag3hYsJ1ms2Yp1OiwMV3JcU8pRHHBL5H2OuQF9UC0Y6L0BbhcDpiHIC1BElEEAW4COq6JC+rn1l/n4omoEyJDRUyCVh66bO4SQN1lGLmmvDKGuW9ferRgODyNtX+BH+jgRt1GH7rbYLHeiRPn2d+4y714Zz2V55AhgGDP/khYuou1uFSMit+hOeeIw5/mRFvL2gzaYoSc6KlJ/G9c2g7RIY+psxw6zXqSQpdS6lu4NsLKPMutTogH9xkHvyQZvOv4dZdyteGMKiIXvQhdLGuS6EVJQbPDxnPxnTdhFzXrCwtE/qnG4T2p+QDGAxG1Erj+B5xIyKMfFwXkijB+oJ2t4vvuTRcSVnP0WJBsm3EIUmS4PlgioIoiakiF6kF01mKlRbP98DxFsdh8hZ1dRvphwhnSrtzjXbD44xYYzqfcnic4EU+jviQ2WiEEAWdZhPBj7G2xvcroEY6GZGXoM11pKvpxiGm9Nm7e4vjwSHTfp/EOpgAbl+/wcHBMVub63jGkPZPUEbT7HbJsykqm5OORvi+Bxqqok02U9y+voOxJfsPHzGautyZ7+O19GLAUoItNdV4SD09waWi1DVaePRWHUazlLws2Vxa4sq5x7DK8NWf/zq61tj7H+N5km9fuwaq+ETZIQMfv91BJT1QHonnkFUlRoLVFa3E4+LxCGcyI/cdXv32t1mRAc+UJdOpImsUPLi/i2M9Es/H6gprDYfDY0oM0/GQ/iRDVzVH/pi8yBmlU5Ik4ea16wSOy2QyIQx9vNAnbjZZ63R5/Px5Nq5c4syZbf7x7/0et+/dZW1jE8fxT1FyYJXB1Iq6zBdEpNrw3BNPMT06ZnZ8zPGj3Z9Zf5+KJgCayTTD4OC2W0z/j5u0/51niL++yehfv03j89vM3qkoD4dk7x3hdM6T37yLzQXRlXWO/umf0/v3nkVIh3owIvtoj/jqNuWrtxAip6gdguAJfOciRfnWKWHHUFa30V4fqwWBuoqelZTVRyh7QnvlV/Aa25T5TWbZIWH3HIQ1ufkxUXSV0nmf2exlovBzaPMOnshwHAcn8Nna3ETIxey7EQLZbVIVGbUZkZUlOQ6e7+K6LkEQIIDOxiqh6+FHHmfPbBHHIa1GQsMPEJ0m9pyispa6ntMMXbaXzpJP5zz7/DaB7/CH/+Qfs761RV4NMVVFIS3GCIJkMTex/ORfQYo9nr14maPbG5x5/Jd4bOMyf+PrW3zuSUkpJDu7Od/8szdJVrsIb871H73B6LDPU089zepyDykMhS6wElLt4IcR08kIpSp812Vjuc34+AjV6iLTCt9YtGs5s9Km0Wrj2pozS12WGwmu55FrWIkj/MhDjvoc7OwSNSKoVmg2VonjjI9v3WJ15SwbZ56keTkhrfsEQUCj0aDOasZ7u7xz/2N8z+JGAX4U4gmHc+fOUZQlie/RajRBSv7r//a/4Vd++Zd5brVDb3mJdhwy6g+J4wQjBHmVcaYR8uTVK1hlUFWBdAR+HCK1Q6gET/ous9GIrz/7HLNZCpMx25ScPbfFUz//Er0zF3G9gGYSo6sarTW5VnhRiDQWazRVlaPq6hRE40BW4lc1jx48YP/kkDNnN1GVotSKyMDeo0eM64q7t3e4c+c2mponrz6O4zYwGnxfII1EGMOtW9eptSWREd07j8gP9zFFztUg5p/8jOr7VDQBaxd4ZiGchXXXDxdAjXmGySZMvjtGJCH1YEw12Sd9u6LxmXOL77M1VubMf3KLepYhHUk1mKKqlGraP9UxXeOnmDDHdTBKU5+UVOWPcQMX+pJh8nuIkAVldm4Ypv8LZmoQsUC0JRl7mMKizF1EvBhf1VNDZT+mFS8TuA087dDt9Hjhmc8gpcXxXRYbuAsRhPqsAeESuQuyUVXX1FWF1pqsrMjyCtvpIZXErT1G+1NOigKd+By6EXgTrquSD69f585mjcorzDsTpNHUhWH97BWmswkHj24jly3F0pg/evebtB0YpuNTRp5L4LU5e+Yi6ysRUQNqa7E6oBEFdJe3+P6P30TYfY4f3OH44IhpOaDTbBCHIUYuWPcEbVbX1qmKnKLIMKqmKgtaUcJGexnP+njGErUjkrUNoqgFaFpxwlK3g9Kayrj4jsUXmquXn0ZlJY7vsHPbw1QRn/tyg1/hF7l7S1BXbS4+G2HcjDAMcRyHqlJEn3+RX/jiiyRRgHU8OI18G9ehrGsiKXnaaDTwd//uf0mz2eCcK3E9j9/9W3+HeTqmzktqa9CuQ2UNSW8JlEJVJQiD8D0cIwmUwA99okaDQrrMNJgiQ3ou4yzl7sN7xJN0MR5uFOPhiKIsqawhajTIx1OMVsymE8oiQxtDY3md2IuItaV/sE8Q+vRHI2pt0QIiAwf7+6xzgVZiyLM53ZUOjgBTVThBTKkMjgFTaVS1IA1ntsaORqjZjEGW0/Q+5XsCxgik7ywQWoWm9bVLlHf6lO/dIn5mHTPOKe8cY7OUII5pPXMeGQZkD+6RpRXR9iprzTZ7RxN6m6scHU9o+iHy/CZ5WhA2Ivw4pJjlXPnCZ/jwO6/R2uqRHc2Y9ccI4aBTie9JfH8BJ7GphUBgaoMdQi3rBQcw9yA/RVtpjUwdalMz/2AOHwjE6pBrH3wAVmOw5EWN1SWusEzGKdY6+I6HNYayLNGnUA/hWIRjGA3GbKxugBbkWY6uakQrZn91iaNpyn/1z/4hF577LEVn45SlL2jECZ1Wm7jZJFcFUewxdmvqbsH74336O7uMx+sY41PqY0TokCRNEnfG+tomlSkRtUunI7j09CX+1Z9/l5Y3pn+yyzTNiScN0llBkRUgHRrtNs0lGI4m5POU0XCAKwWOFOhS4yUtPOkx7/chcNi6rLBGMBoNePjgAZsb67i+w6wcI1Dk8xmm0kxHUzzHxymfIHB76MDF8WuOH7YYHgiu3TtmMj+k0+kQxTHzPGc+nWBVjYMkjNsoW4KbkbRbHA/6LCUNfvXcBWpr+CfffRnPc/m151/EkT7/+9vXENZnNp5grKG9sozwPDprS5TzlCyd0mg1kb5LqxFDWfKVvX1Urbkbd7BW4uUGpSX7ewOu2Ts44T5GFTi6Ipul+IFPhSVptbCFosgztKrALlKASniMrUviOURRiOstMGc1AuG4VFpT1IuQ2lK3gyMsGMV8OsFxGgSuA65eEJodQ5SA69cURUleTpDdmGsNn/PF/GfW36eiCfheyPL6Go98D51WzP/4AJXmtFpTttyYe/fu0et0eLQ/AWtIX37/E2SSHmQoU3P5G09yaO6i0oIgCDB5TXN1hcc+exbpSZCCnfdu4fgB288+zubTFzm69Yg7b1zDcWN0FeJQEPoFCEEYBuRFgdKnNNnYwVqBVyefwDeLoiCMIgx/AfYsyor9/QNcl4VmSgtcaUgCn6pS+GGAEi5WWmTofSJPFVJRFlPquqJSJQ6SIHJxGiEq9HBcFzeIWDt3Gen66LrG9TyshCxL8YBsNEMUGllbbGUoszmPskNiv0lVGlSeMT4q0KqLUnMuby+Rz2ZUocQpM8q0Yr+fMUkr0skuVV5QlIppNqUZR/iJpBaGaTlkuN/HWkutSrSu8YSDFNCMEpSTkucl0q8pbc3O/nUCL0TVFVFToeUEXYNnXaK4hS4UInKRNBBaUqsEgc/K0gZ3d67h+6tU5YBqckStR+TzmiwFpQ1KVxir8ByP2bygrg0Yy3yisdKlFhJhXKoipd1oUlQFAonvBLiBg3Jyeo0QVdX4cUllcopSo0yFdEvm+RxTCIZ9g6gtjw8nCCQnRwf4YYSYHTCejclNRX9Q4cYBnnVxlQBt0MKSlyWzyRQHhyQKT2O/CxJwMRiiFNRhQO65NJOYsiyorMFKgW8s0tHs7j7ApHNsVaIKl7rImZUF+9fex4sWLIXID1C6IC9bpNOSRpWDkszKjNmn/YjQWii1pnH1s+iTFbY3/lOqkSBO/gEvffVFXvrGX2U2L5mmc27cuM6Vi+eYZRmyhPNnt/ne69/j7Nmz/OZv/iZLS0u8/voPmUhLejJhdXuDH/6rb7P92csknSbD/WMm4wHuo5Dx8YRzP/dVllefRfefJqhu88yVEVbU5POMveMjlOczczXTZwdIE7F5chWdC6w2HBwcsLq+ToXFiBrX9XCFhxWgjEVbfUrzFWRFwSyfs9JoYvQccaqX/qkfwNjFzYIrwDXUukQKwTyvUSYgL3xCI9m88Djvffg2k/MbOH6A2NkjUBXp7iF1dZs4bvCFJ/8K++/fIEvfZK8uMHs5Ched1Xw8FTgy4OSb7/PdV338vMI+0YOdGVVeMrg9Ye5oZEdRDSbYdsj87gjvTAsKRfjFLbI3H2JKg9MJke0Ab73B2d1LuNJDzDV67hBIH/ISxwM1lZRqMfffbWzjZnJxTGYk81GJYxsI4ZLgI4RF+8vUlWC9c5W33/yYC1uP0RchjgloezWiWkBEtFIL7qEHdVGBlTRdD5ya2iwU5l7uIKsmvnWoZwmejHBNA1uG1GmD2s3RxhJ5DerZgr6czgI8IgQGrWtKXeMGFkGJqjSurmn2T4iiBu7MoxwZ3LhDWHQoixI/ktRVjiskWV5Q6RojJVa6DPP5ghAlFrRjXdaLE6J5jpAwEIuhJOTCC11iID4AACAASURBVOEbi9CL1+7BcEY2z/BDl49v3ODgYIStNZ5VaCtwfA/rWnrtVXwdsNxcoapKnm70SIbHwOgvrb9PRxMQBq1qADxf0ezN8Boh2XTRLZ1/QzvtuA5vv/cOv/Hrv86rL7/K+e1tEFDmBXVVk03nzKcpe/t9/Djko++9ha4qbr/9EUJLylmK0zScHB7jVjHtM08RBU0mtabRalHrAf3+CWc2zxFX4Cxtc2Z7m1fS3ycyDroWWGqEMBTlDGM7BI6D43oYs3DKegjqqkagkLaiVIpM1dT5nPGgxhQW5zSLr3SNUgrfD1C1oSxyxnahpXKlg6wcSqHIT6ZQC862z3EQdElFgDGSJSei5TY4dOcsN7q4vs+rP/wh1kvwfAfH+ngvLGM6ISqrcAYFUvrIKx30g5TSSOi6WJlQOxHZ9QOC7WWcMy5yJSL8ymNUrzzCPdum/MkBwROrmGGFu5YgWz6m0DCq2Fh6HAcf48wwRhK6LYRyUUqgRY3WFWWukMZH6gAhDKUcEIWWoipZoIJB1D67J+9RFCl//Ec32dt/xMnuAcXcIEclCH0q6lg04p9KQhZE6UXIq9t7jKWli0gp8SUEbpt0XtJpn2MyGxB7LSKvyWbrKapTRqHveWitFzDY4BQfaxcQUwCkRZiStueS6Bm/kErcosbW4Lg95m6X5eQCRZUjrcbKxf0cudBwTwnJxmKk+cRIZ7QBTy8w5XYhG1Fa4zkOda3QxixOLozBqyQuNY2gJPaadOJl8kTg4ePWUBlzypd0GB5o8vQYtbsDSmEFjD/tLkLpOCTxEnGxsNscjV9BFopOUfP+967xyOwyKWoGuSWOPK5sn+XatTtUE8n7379L6vv8cPcWPSchv73DcC4IVj7H+XObtFdi9LJl3CiRY8n+T64RfXmOdCIuzb6A1AKZV5hsTGcj4AsvfpbXvv99hoMTSiUopprHnBblvMIzlnyQgq1wHEk7TMgGE+I4pqgXO8FKK2bTGRaLYyIc1cAYSxzH+E4Tmzm41sMREk8IXM9BOgIhFH5TIFt/YeCREkRjTq0K3vu9f8FEwN+zf7j4Ox8usN2DaYU0liIvuHX3TRACpRV5aWBFElxcQr97jLvWwKQGZ1YRRDFKFIjbE5x2gLUlDAvUkk+tMsRwTDmpECsh9f0T9HSCqwJkR1C+tYNAo+7OcFYbqP0ZzkoT1XqIS4IoQzzhUtVjlFps+upSYupTdr+usdJilMXqBtYBz0Y4rkC6BhvOmWY3UaXh7u05FkXtTDGmRNsJkb9EbeYIKyjrMaG3jLWavBoReSsYW2ODI9qbmwgh8KXAb1WsNVs00322n7zA0lqMLjWdNU1e16euCI0+1XgZqT752vVcjDYIlWDLFv3eJsNidio2qRFuAUj6skYFx4Sxi1AhViWfYNbtqQHlE8fEqX8CwAjzidNB6wX01nVclHP6vxizWPoKg++nFJWLdASrS2fIpxJdCMIoXIBgjMYIweigojaKaV1zNfC4GPh8Z5r+zPr7VDQBoy3pqKIqanxZUYtbBIHiK6tf56nHnuY75bfJwjY/3JnT6TXRNuPoeM6vvfgfExcdvrX0LsHVgLVZgJwp9g5OeONH7xC6NZvLbQ5sn8BZFF07dLGOJQwckqnG1IYiHZGnmvv3JlxbdkAKpFE8ejAmWl0hqB3ULKNWHtlhgUMACIRpLaCfuYdLB6ENvpR0Eh9rLUHo4oULE5DrLp5mhAARnmBFhRRi0QAkIOoFRPT0U+Kngk5tXFQ2x+QZj119nI3z58imM/woJPB8Dt67yeaVi/R391m/uM3utVtEzQZOEPCTP/0edqIRWpO+u4/wmqBKMi/EvrXDxPMWU4N1Dt4i3VZXBeWsxhqN+XCGH/iEQYP89kJ2UX8wwfzUG2j7pyHtMfWLX0e4Lapi4SiwQuF6EscFYRajubUqkK7B8yrcyBI0FJ4vEY6hVjnKlFR6hghzmsEm3cYVPCemE18hLR4yzm7SCM8xye7QbTzJeH6TONhACo/R/GO6yeO4MmImX2Uu7mAtxI5PBVy6cJlnizZb25vEecVE5Zh4H0u6ULmdYtuFlQjl4fEXEhpPShxZUBaKB72KoqzJyxROYa1SSLS2+GYCCJRSnPpR/l/6L/tvSFoWNwOgBa7rUZYlnXaHdqfN/t4+pipRWqGVwnEcjLFURjGvTlCixeHBEdNBTSPuUml1qj83p86GxRNrLRxK4WCExMhPO15MK8r5BEG9UIGIFGVLgsAnn+U82rnLfi2wncfJ0xNKf8LqSpu87uNkNaKTcnI8ZHJc0vMTDqZ7nDnfYzCY4/ljRk5BWVrkvqBONbPhCUttqNMxVJbQX6azvEJvpcdEjhiqCUng0VtOWN28wM7HN2i1fELts7TcQMgaY/Tpm2OQsgZ/Qhi5zLM5jnRAgJGLNB9AxakdRwg8EyCwOK5EnlpBJS6U8tSJIBaoaEDpCl3W+JliJWkzf7DP4z/3As1eh6N7D1HbG5TZnPlkQtSISTotmis97r17ja/99l9HOg6Dh7v/D3Nv9mtbdp33/Wa3mt2c9p7b1G3qVtW91ZBFsRFFskhFYSRKsQQYjh+i5EFGnATwS/IQIA8x8hc4LwH8kgcBQRAnRmzDimBHESSTkhWTIimJVFWRxepu39/Tn312t5o558jDXHufU8UiLUiCUItgnXPXPrtZa885mm98Y3wcHMGUS2QqostNpu/9Huc//Wvo9gjxc5TJ8MoxkxXCwW1ivsns3p9xZnCGC5s/i9Flmn6sTJqAzomgiEjEVzlBeYwTXA+UEbIiJpXdbIyoGkxD46d4mYMOxByajk+hDeQacgxZoTAecrdC7Q84mr/LrNlm7ncJ85oqHFD7c7RxhhDwsaaNI0bz9ymzs+SFo+wMsRZBDDx98pjnVlZQR2MahFYaFAZpegCEGDuhk4gybZJ/F5bCHSE0+JgiQG0VuQkoNDE0CIn4FWJIRt76NNy38+JL/aeFrJQkLKhtPSbLWFnr0StX2dvb49H2Ll48OhdMjFiV9CuMKJzPuXDhEpnrk9uCPLP4EFGuU1XSklS5osJqzZvzmnfmNUZB9VfRIvwbOaIntvvUITBrIud6VwhNoGpKjuYVF8MVBjiqcJnVtiJvjiilRwB0iDT7cya9QNHvMfFCtXkGZzOK65qZ1mR6hdxpitowlzHt8CkuMwz6OcEJvf4mUrzAlH3ePx7x/PVP8+jmm0zMLpu920yOblOsjlCtoh7eJc6blMMtGo8E4txzXGuaOrHErHVJSCNmS2myRetnWXYqejpJXMUYkKjAd5rzS7ktIStrGt8gMY2/fvZTL0EURk/3OHy8w+TgGGcd1XiO1parn/kUx7sHPP/ZTzEZTVjZ2kLnPbRKyDIyw+erKAngZ3Dp5/H3/gi39gImQna8z6RtsMMeYInegWRonSUDbYUytxhrQAk2gyBzgjpCGY/tVaACkYBzSRJOGY+oBsFDqFCxQSlF7s4gMSnmVrM66RGaita31NUTZvXvM292ls1dJ8rHwmh+G4D96Q+6c0ANaqp4/vzLGJUTYsBlGW/s7WHMiDzLyZ1FBU+QgCuFzPmlMWuahhgCbd3i206+S2uctbisJMYiaZ7EpL+EKIJP37fSHmuSrGsIGVYVKRrsIsCELyRxVO/TWPULWxtJESpG7tx8kC5DKbTOk+JTt27S5WvOrT/H40ePuPfwAdevbaJMQMQSsZ3yVeotSDqVkf7K5U4bMdKXyKQefeT2+1gYgbb27N0/pFkfoMgwnAENRX+DVRny1bVfoQqWY+mzpjUDC1X0ECNiWjbsKtN6l0w1aCusrimUaQgqdX0tQB7bbyljoD/oEz0UKz1CExjPK+7uHFIOWn7ul77G5Y0Bdx7dYPf2XfTDpxSrGcqWZLrH6solyg0hsxk+BqwziBbapqau5ogkJRtjDBGPV3Xq9vIGJRajM2y0xJh6A3zbEKUFBJul9EAInaJQ4MndinqmqKbCwZMjnt7eYfvOPbTRGKVp66Sko5ThW//8D/CNT1Jk/pimbrFZga+nhBBxxRkY9JncfZ2eFSb3vot58gbia9rd9zDKcLy3zXg2odh7Hz85xA4cxepjNs5soowwmh0xr+dU7ZwgDaGuMZmgTEDFSK8Z0uv1ybMM5xwhRKp5w2yaGpSMtmS2wDjNtDnuPKUh+JhERGPLJ197NYGsytL6q3ifwLIQ0phzrU2nV5lUjRaaAzFGtEC/LIiNx/uWdl4T+z16/YJxO2NyeEwzn6NV7LQJI22bhqs0bYXWmjzPsDbJoRmTJvt4mREJoEynIGWRqHDaERG8RKIEAh6hoW1nyet3076VUjRNZDAYgI1cu36Ne3fvMRkfoI2FPOEENldE36Z+AA3OZMTW8YmXf5bHN6ZUU4M1Jds721i9RuFKWt/JsklIonsq0CsUZfk8KqZ0O/rA9t67H7n/PhZGoMhKXnjmk2xnNV4iL15+mfu3b7Ly+YJ3338XpQKPD2qezDLWRVjREVc6xCQSz97kgDhtqWg7LcJOiVencot0WrtKgbF9qu1NTNTcOppSFiXTac3hwR4/+4lrrKyvsDs5ZlQdceG5IapXEXJPoyJGIlEaZk1kVtVoa4ghpupG2y5kDlMOFhVZ3qcoNpZ5v+ABwU8lTYbtDRIBSWmKPE8LyluqCUibEYOhfNZTzVpUcwE5LDBBcfHsy13fgTrJz6NCxwyTa7QR6nacdPKixktg3GzTG5SYbJPNM4HNcwXnrpyhKFcosiHoQF853r//Bn/2ja9jmwlKN+jmMU/v7vPkjqQxX75FaU3V1hijsdZSFAW6E5RVPDnxYCrJwaEVknIIFJLOAUHiqSgpLWSlIqrTB6QTLD337IW0IfVCsLXtJMNdp4aokpjHygprwyEmCvP5HN3Je0+PDhkd7qaQX4QQPE3T4NuA6XpLrNW4rlzrqxMv3DQJOBSjUTZDaYUPLTG2KMDq9LcxRAIaj8N2UnWQgD3nMmbTOc9dvQYIx8fHvP3DHyExaTjGKPioiRpCW6NjIAsZGsVK7wxrK89y980JO7tHtBLxjadYyzEUNHWNcyalZzoZScGDCOITES8pXf41y5D9dR/aevK1HXRIgp0Xr2laSh6ZpxxsTbhx8x0qvcK2GdCvSso6Q6ZtGg+GYPQ6SpJuu9Id2IZa6trFGFI9WSkwgenEoUTzdLwGpBtl/TH52pCq9Tw62qYZ7bCyWeKlRXydFG9iTQg12uTowoMN5BTk9PBZhdICovFeOs/m0LFAQjIKEjVKFHGcI8ERG4e0lrZWJLpPmsrb1G2SQ1OaQPKgF86dx+gutfCO6DVCwFjT4SiSQnwdUTokAC4zZHmFKeHOvffIMs3Ws9fJ+w0vPHeF888/iyvXEW8JcUYZDLw75Eff/g6XVte4+/guj/cOcJmjE0cm6KQsLDFJq3ugYsLV8xc4HI85mkygw7sVnQjsQjy0Ew0FlgDZsNfjS6++yu9997vppCweVHz2pZd4/eZ7uH6fYlAmqW5J5TxrHf2eYzDoY4xlPB7T+ob9g310FNq27UakCU3b0PgUbSml0J2svTYaoiIQiT6F0HTheexGeMXuNZIqddpKCSNI0Zrv5lkQBaM1lk44Vac7Zozh8qXLKKU4PDxkPB7jvceoFGk4GRBUAFPhxWODQ0uODsLPvPxF9h5X3Hr7Ps4WGDtHYkNZWHQUrEqlwfm8QTrJ8uToSOsAUEahdDhxFh9x/EVkyC4D/wQ41307vyki/1gptQH8c+AqSYrs10XkUCVd7n8M/BowA/6+iPz5T3sPYzQrg4Ky9vjG8+2b71JVFXce7jEeH8OqJYQ5wx5sCKzrDjhTKRw0LiIypg31Se09eIgOQSVhTInpOVZTbz1CBcPKDkm8FDDVNhvPfo1oDNCwmfUYlCWNRFpJmvPO5mysbWGzPpJVNO2cODa0E8t0vAFYtEohv9YWa3J8sFTTQDMHXxuCh2iOyFyGlhLxGToWqS1UR7QjyVzrFlTA1iuEEEEnzoTSAVe0FDm4PCHrURqinqOKA2yuyHKDtiDRE3zNvBZ0cUSRDxlsTPmFL7/Cxa0rzNQK9w890/EBk6N91leGjGeeflnytS9+njdvrvCjWzd59fo1nu7sUDUNz168iABv3rzB9cuXGZY93ntwH+lYll998UXqtuWNGzeompoXLz/LufV17j19yktXrnB4fMwPbt3ilatXWRsMeLCzw+pwhU88/zyzqubC5ib9suDWw0f8J7/wVVCa3uVLDDfXqeuaaj4nz3Nm8xmzyTGHh/uptJbnScLcB3xdJ9HObgP7ELDOYqztUpRA27aENqAiSWxUkeS8QiANSWAZCYh0eocd0OecW5K8GqWQkFIhIykGbUJCMIwxnDlzhvu3HzAaHZGXLhmADlAOIaJD0qAQOwGtCHEFI4bnr17hye1j7ryX2s4bc4iXgA8VEiJN1ZCVkDlDxBBi4pvE6AlBCK0nxrZTdk574i9tBEiagv+9iPy5UmoIfF8p9XXg7wN/ICL/SCn1D4F/CPwPwK+ShEivA18kyZh/8ae+gQ8cHY6ISuPQHG5vo4zCWHAEtNFoG1HMyKmBI+oABIWIJldp3n6/sPTKEpRDacH2EgLfNoFqVhFCQ8wDs60dbMx47sxlVFQYMWTTnM1zfY6rQDafUx3AcGUdpx3OGTKZY0Ofdv8S41FkGkq8X8c0OVmbIyoJRMZOelEkEkOSlVbaJsvcAWnETWgXOvaCqApbgsmT8GhTe5BU8mH4BOcCw5WSwUqBsYL3U1o/xYeaIDWiQid62uCN0DQBmkiWZaysDxnqnNnhiNHuHr3DHntP11nN+uzNKh7v1YzHBxw+ecro7DrT6YymrXm0s82TvV2uXbrE4fiYZ7a2Up+DcxRZxvmNDa6cPcf97W2unD2H7iTC1wZDfnD7Fj4GQHH90mUm8xnTecX24SGvffKTzOqaC2fO8Nbt27TBc/ncOeZ1ze0nj3jumWd4erDPtUuXGM2mHM2mPLO2StVJtvf6vaQLYIesDApiDDRNQ11XVHWNAop8mNqnu7AjxgAqjXaLMZIpRSFCDHHpIBLqDzEEVKdELUBd16lWH0L6f4xIjIQQaLyn8h7ftqmMiKKpavr9AVVVEULgeJo8v4iQ125pXJRO1GGtIs5p/DyioiGikRh5+0f3qceWegqRGuVaAoZBr8C5Pi4rqXxDlheE2qexZ5lCJMmyifdIdCQVeI9W/i9vBDr14Sfd72Ol1DvAReDvkIRKAf534I86I/B3gH8iCXL9rlJq7UMqxj/+HnhqfcSKsYgyqW6LRXuTchnfdgisUJkxc+OwJsOqDKcLBoMMJBJCTRsF34RkwUcKo00KwzFkrsRaiw5DdMxoRkNCqxKYdOYs7TyS0TC99wDlN5nvbjGvFE0MjFSGqRyDOzlZbAiySdMWmOjS5F41RdmIqICoFpuBdUBI8tJGOXwLbRtoQ4XNoBwYir4i6ymyIoCpibFNZBgTE/rr5jR+xjxWTH1L9B4Xc/puhd6wIC9yQmhpfSD41NcQYiRGj69b9o6eEG3N0Wyb0WTGsLL8L//Tv0JjEZXTRo33NYSIsoa2rZnuP+WbsaWqa+49eNCVKj3WWC5euczdO3eQKNy4dZu8LNlYW2dtbZUbt2/zmVde5rPXX+RgfMzRZEIbPLceP+Lc5gafuX6dZ7bOcmZtjePplEe7O6wOBqwPhjShJXcZz144T+Nbbjx4wGQ249H2Nuf2d1ndWMUoaJo5Tdsyn8+I0SOceOZ+v8QYk/CHDy1zH9I520m+J3zCkNlUnYFUjXHWEnzK5RfVAaM1xrmuupeYic5ZlDbUvqWua3plycsvv8x4MmG0f8DseIx0JcYFPTzISVl1UQGa+xobDa5Z4+d+5ss8fLDH3XuPCK3QHxqyIqDNgIhHmwGKiLNQ120SPqkrrM5StyMJtEQJ1uSgpetzCylV/MsagdOHUuoq8FngT4Bzpzb2U1K6AMlAPDj1tIfduZ9iBFKNVZReDg81aJw1lEWZyjIotFJkMclw0xqM5DiVIZVCGYWVgkz30ekFCVXKx6VVxGioRNM4R+36RJ8xu7OF9wav5gwG55lJiZ/u8qNvf59h/jJHe0OMF6ybUNCiGbP/9HtAZH3rM0BGqyqwFXrewwRLVHOC8mgN6IB2lv7QUg40oht8rIjuONFKdYMtBB/nzJiDNIQ2UlUeZ0tK2yPPMnqDVYxZT40lbYMWwYoQYkNVtTRNkzrPgseHkIAuo9EKQpMjvoA4wqga6x1rq5t8+lM/w2TasnX2PHv7O9RVxdmzF7h7/xafvP63aauERdy9d5cL587zb77+dZSC3/iNv8cbr7/OO++8zZe+9CXev3ETqzUvXHuBg4N9rl+6jDUGJMmFtm3blUaFlV6fw+NjHu3u8rmXXuI/+8Wv8ebNG7x5830kQuEc9548oV8UzOuKqqn5widewfuWyfGIuq5SpcBZDKCsBZXwhygpXG+769cLwFGkAxzlA3V6pQAteCKymCqCoCQiShEVoBQmzxIHQCK+28BKKeZ1TfSeCxsbnLv6LOPxmO1HD9nf28NkjpY0Jozu/aOKtCp1fRqlkJhKf1pZ1vrn+ZlLP8fTWyO2bzeU+gLeCJEGlwUkasQ72sbgZYZIi3aOpgqID5gsYWMhekL0QOiASU5KjOavARhUSg2A3wL+OxE5VurkRUVElFI/GXn46Nf7B8A/AMh7JWv982iTU/aGKGXxfkbbTPCtp5o3+EbQKqPUL2Alw6mCzKRNXh156kYILfhaUNjUlqzSLLdFaQ7R1FlNUynEQz3NCd5AP6eKQ0Z393j7xuvM7YBPvfASe3ceghoxmt/jePw+MmspqxVWVi+ycqZhVo8RHcnzmrp+AkScE3orjpW1fmokUWOqZsrh8Q6NnxFoyGUVqzKKIkNnmlDNCb7BiNDvDzh/dhVnC7Isp24rqqpiMjqmWVBcY6CJYZnzGmM6DwXOOVAqdaEp0OgOP08eIsRAVVX0B33On9+gbhKo+DOf+gQ3bj5kdXUVEeHb3/0uV65cYTKdsXX+PGjNdD5jdDxiMByyvrnJyuoaL774Ij96+22qpuHB9jb/1ze+fvK5tObbb71FjJHtg33uPn2C1oa2bbj75HG3eODGgwdLD/m9d99GYqoO3Hr4EBHhuU9f58zZMxRlmfL+mPCRSJeEk7xd7ML0BSlr8ZpGGzJtU3olXaVCLQh7abOkMF+gy/W7dd1VCUhkHW3x3rOyuppSn9UV1lf7vP766zjnqKpUYmyq1EbedOCioUsJ0UQqRPlEDvM5Fzee41PXfo4/+YMfUo8MIkPq2idMR6e5E6CRmNSmnXUENUvpn074RdumfF8bhTEW7yNtx19YYBenmYsfPv5CRkAp5UgG4J+KyP/dnd5ehPlKqQvATnf+EXD51NMvdec+cIjIbwK/CbB+5pyUXCK0MNnxNF5oZwU0Q6zOMDpH1REwTIJJVrRr1lECLeA5Ae9CSGFYVIbMOZQ2eAEI+MYSvSVGQxs9qlBc+eRzlGc2uPXdP2Ecjvj0V79Gc3/K0fYb1PVjarNH5IBykPHcK2sonXH+Bc3+aEzdjjFqRlTHKKtwmSFI4NBDcxBofUKRjVWsrq6wsjJkMBwyrypm03nKOYNglEMjtHVgd76L1olOqtE44+gXBSv9Af1+r8u/O480nzObzZhMpjRNS9vMMc4RjCJaS2EFI5JIO1oRdWBWz/nWt7/DxYvXuHz5Krfv3eP1N99gc/MKR8d73H6v4uhgHxHP0fExs39Xo40iL3L+7be+yXQyYTafs/eH38D7ltlsxv74iPPXn2fr4nmuXL7Mmc1Njg4OePjwIW3TUPZKlEr4j0hEQiQzKf9t2xTNTKdTIKkEmSzDI4jWrG9tkHWbvw0BoxcFr7SwtdaLdboE3ZRSS/5/CIHptCFz7oSNKSSw1aew3JCauoyzND7S+oDt6Log5DZnPp3xwvMvcOniRb7//e9zUO3y5PH91NINZEXS+9MKmrYFlV4zeo9vWkQUolsGw5w4N3zlC79MPdL88e/9ObMxaDIEg80cTZhD7Brnok7z1KIkdqnOUVEwKiIm4gxdmTUQJWBdgcs1MfiOBSn49q8ADHZo//8KvCMi//Oph/418F8A/6j7+a9Onf9vlVL/jAQIjn4aHgDQzg2P3xwSRAOaKIkMYpQmaIOIRkmH4OZzdNdJJniM0Ym9FQ1RQSseUQFlNSb0iEEnbr5OQJV1Gm0gUNMWx5RrJeW5hsc7PyDnMf1c8ezVC9y69118fArmEFNWmFJhbIGpe7jMcmv7TRpJjT/DQlP0SpQ2OJeR50W32JMnkSjMq4rYRva2R2zvJhacViZ5aFGJ0iRp4RrbEVR8Q2yhVs2S9LS7u9NVOsxy0WutmYzHjPYPePbCRc5sbtIomCshzwwxeEZ5QVvUDNdX+fLf/RXqmUaFT3DpM/8xNxpPb77L1ed/nUn1hMHutynrEXd2nuIGlgsvXeZzr76EBw6dZSMIrswQrRgOhxR5gQ+B+WyWhqVUFU/3d1EibF04B5K6/XxXVmuahrap8XUaAZ8VGXk/Z31rHdOV4ryCFkllyBgw8VQ/hUhXDz/Jr097uoUhMF0pUKEQ7SBCQKjqKhGsiHR/0vEcBF83hC6V8a2nbRq2zp7l+vPP09YNDx895DvfuZ02HUJQKcVIXIHO6ChQJm3+qkk9IsZoCIJvDGXY5DOffo23/uQeT27vktk+Wmdd41hAokerjjVKR0EnIF3qQ5orglYOTCDiWahFxZiYjFp3XOwU3JCZv1rvwFeAvwf8UCn1Rnfuf+w2/79QSv3XwD3g17vHfpdUHrxJKhH+l/++NxACYueJly4JxENMAgm1RySgtUo3IeZdDT0kFFQEokHH9CUiESQgyqNcjc0NRc9R9Bx54Qh5xfhMQ2xg41LOc9df4enoIdPpL0jsoAAAIABJREFU+ww2asxUOLz/DnefvsF+fR9nKlbXhwzPrlPYDVbKyxTW0WjFrA2J3BE8edZHlCZ4z8zXTKZTQmiwjmU4pjqSDNHSpYcpn40hNYB03WWh9hiTegdEpbh1UbdW1qIk1YMX9WqlFJmzmOB5/83XmW6dJR8OoMxpBiVRGdraEwIIGptZiIHpaE6WWYo8w7g+SEuv6NMfrrM6zHhwPMHOGjbKHutZH52XlIMBx4cjtE2lNYdiOhoxGo2Yz+fkRYGzCV1XShFaT9s21E3FfD5PNFatUUpwRgGGNrRok/gdKJ3ktWQRjid8K6oEckWRJXKfFs9JHT/988f/HSXSdi3H1lqUMVjSPVg8v5WkNBxDSP0cAhsbGzz//PNJt/Bglzu3b2OdJRDSRkQI3YaTGJfvHTrsQRmDSfA8iJA54TMvf4VmVPKDP37E3pMJfm5oTYMu0ug7K6nFWLrWYvGJz2C17liJi4vvmKUxgum6EiWpbojEjtKeuAoiHfnqJxx/kerAtziheHz4+KWP+HsB/pt/3+uePhQp3xJliTHNsAteiAGsdfg2Ek0ic2gD2mmMUdhMYa3CxzFBTRECNhP6w4K1zQGuL0SZU/sDZvNjjuZjmlAzk/tAn3NXN8kLx957D9lYq4h2ynBliJ4fsbpSMO47nn/+Mtc+/wrvnLtJrHPauePg8IDa12nyi8nIlKEZHSaBidj1BSgSQBZsoswsyEpdI4l0i9oYlYRTYtKUU0qhXZYivyjLhiK0JpK8nlGCURpj7ZJt17Qte/s76MmM3fk8gVi9gvPXXyDvryw99PH4mKhKlPdU9R7724/QEZCGx3ffI+v3aGcTKhlx/9FTCuOwrZDlhtDVyrfObuGMMJ9Omc5m6BjpuQzlPd7XjKfHKBTzKqU7RhsGgyFnzmzhnFvWs2Oolx57Mpmwe7CPtY68KNPC0OkapbtGEfkAAUl1RiE1caXuzxR5xQ9EB8YarFE0bUvt64ShkIyDIkUeMQTQml7ZY2t1jSLL6ff7fOePv0W/38cUlmiEWTNHKZVYkqKQpqOvh4g2ieGIgqg8xiQv7Cvh4rkrfOLyqxw9Udx6/TGIJS9KbF7SRmHezqnmM5xKc2VclkRKgg/4tmM6arAuI8sK2o4enpwgGJV4EUpASaqILVKBdB/MR+y8dHwsGIMShVgFlHEpD1OCDxNC9Eg0ZLljuJazdmaIHkS0FepmRlXPCNGjZEyeVSgdQXtaWrZnESYDACKeECoaXxF0IMZAkVsaP+JgNOWFZzNcLGmV4smTI3aezGiO55w98wwbmxe59/CQp3KI8Tl6dx9MxGU2RSOxTUKQXc6mFl5IukESpPqs6gZfLIA8UF39OW18lFmi3DF2r9GFmcByQScqLj9m2ctej5W1VcRaaFqkbgizKUdPt2n1Lm0VsFowSBKp0AZlGu4/vINvI9a1KA7ZWrtMP79IdTzDWEVmHffuPqC8KLRasTcdJQCSZLybtqFtUpksxERQUTp5wcGwz9rGKkRNaOOyLp65HOt6DPo5wNKTohSt9xweHXFwcMBsMiHLMnq9Hu181hmPSF4U9Hs9hPT3KtP4DiyULlJYvq5IGvCiFZm2S8Zf07ZJ7ksnULWqazY3N/n5r3yFJw/u8eDBA+4/vMdwdUiMkbppaXxi3oXgqRuPs5Zc2y4t08QoSS5cebRJXP7MlFw4d5nPvfwa7337AY/uHyOhTINWdMCjEKXJ84JekVSIvK9pY4P3aa36jqMQ8Kg6GSBrsmXkqEQRpMYolzpYUQR0VzIMHWPzJx8fCyOgbItde5IQfYm4DDLjQQWMUaAjOlPMtaaqZomL3gkxKq2JrUPN8+QxUeTFgEHZw+VFCjN1yql8aAhRcRgP2VpbZ/L2LW7feItzZ0t8E9k53iZIznrvIujAqJlyHFtCosVjEQql8MqAJI16jSHhGB3ZtbuGFPqfBFDq1IZeINeLc0vs4C9+x5Y168WhlcJqS1xbw2rN6P5DVpSjOjgiW12hrmpm0wqZV7heSRMDwWg2zp/n6NG7aGfJNo4pen22ymvcH73P1rlVmsNAf7CWSpBKqFRFXU2pZ2034iu1z2ZZTpY7yqKXSFNIKqs1DUoSkFvPK0xtlgZxNLLL5q5FFCRd6lOUBVknpBFjxBnDsN+n7PUo8hxjLFEUTevTQI0OBENFYkyU4YXRAIid5wTQIhiTqOO+9jz33HNsbZ1lPD7mO//uW9RtkhAzXTv34rM557rvNeEaUWA2ny+/U2vTGPks1YdRvuQrn/4VqsOMP/jtt2imDrCIahOZKpZoDUECEhLdWKtuEK1qseYkhYwxULcV8/mMyXEDVAgRxOOMYIxFa5WuCw3ilirTSuk0L+EnHB8LI1D2DavPTNnf36dppkioib4D8nQGYtA4YlS0OpDlOXmeMxwMGQyGtNHjCUgUrHUUeU6eWap2wmQyZTqd4kOb6stZjgwbdncecMFe4txwneOnT/GZ4ewz5yl6qxzszJnVx1x88Vmi0zSxBhE0glN0zSt6qXuoOiMApLCUkzKT/ghP/lHlmgW9/gPnUjixNA7L0pVmaVA49ZhCYfs9Vs+c4ehoRH04Bt9Q7zc0bergm49HQKBYXSEvS7aeucDNJwrftsRsStWOQRdEMfjQLIG4o6MRFIaj6RSjBW1zcpd1LdMKrVVXkaHDOk4ag6Qjy2hlCDGiSXl03TQfKGHFbkSW0voDEVAIHi3C4dERe/v7wGIKT0GvP0jTf7TGZRnOGVyed58pvXbwnlj7BPb5wGyWRtNfv/YiwQcGwwE3b95kf/8AYw1NbFHG0HYUX1Hdt9x9dyLgbJ68sLFLY9OGkPCMeaTnhnzuk19hvuf43jffQ3yfNhi0bQnSECWVrrWSzltrRFI3JGLQtrv+bmEpLE4bTC8HIkrHxK2JNb4ZJ4l5LfhOGYqY+miMsT+1MgAfEyPgG8PlzS9z9Szs7T7g7oN3MZmQlxbdXeygv8pwsEobIjt7u9TTOduHOzxoHqAzi84cWebIshytTYognMdYjbUpL9RKEVWLtolYcRgPWbt8jkM/Yv2ZDdq8Zswcdy5j48Im8zDDuAxvPFHHLo+U1K6tpavDKwy683wsiU3qQ956UcZaHKEjtSyOLoP4qYdebA4JP2ZIRGBta4vd4yO8D1y5fp3H798kjkdk1lA3NZPjGb3JkPWNdSaHR5RbkRhS+y2tx0jDwfwm5zev4FvN0cGY5nhG0J7hxiYuz1kziYgTjSN0OekiLEWnKGjZ2EgHbAIxJmqrsSZFcR3wFTq8JD3/BDNZhPbL7sQ8I89cd62Cbz2z4yOadsbK2hpBInWjl1HFwqike6wosgKtdJopMOjzq7/6q7z99o+4cfvGcnBINKkjlAW2oxNIubzH8cPGNwGY2lpUx4uIUXjmzPP8R1/6Nf6f3/p9jnYrVFMgMqM14JRBicKIoFXomIAJSNQoVEx4RZAEfybAT5CkzIlRGkicBqc0yvTIiz7OzqnbKVUzJUqDqBnRh+U6+7DTOH18LIxAXQW++80baIRez7A2uJbmDhZ9ti72Wd0y3HnwNm/88E9RAuvraxR9Rd5LQxRDNDRtor82zRwh8fSjBmMcRdHD2QyjNTiNiMXnDbfOvoPyYH5WcWyOicYnqy+GFJynsD4iROsJbUYgtcKm8l5MI8M7Yg6dpwghTR1KW7xbRCr9Z9GMsvBSJ8cHMO8PPKZOTnavqFIoePrZCorBgMsrK2mTmMjFT77C9OF9tu/dJctLzvSGhBC4c/sW585fINYtTike3r5DTx4RY0OrNS8MB5Su5NrGBdSwpjccEGKkbRooLRIFLx6MXpbp0hpLhnD5caED3+hAs4Sqq67igST+fnq+OgGyPvD8NJK9JfEcIAHiWM3q2ioaSROBm4YmeLwP9AdD8jxPY766jTmdVbz22pdZWVnh/fff51//zv/L8WSEaL80FtolbEHCSXVhgc8kwG3xsdUy5VFaJ26+Ae+FL/7sz3N28BK/89vfYnwI1vSRTEB5aplTNRZpUp9B5hRiEuirlCL6k8hP1CKUT+8jwrJMjKTSH9KloZJEe/IiJ+8NEVqizGnbOqUtMfzVqgN/U4eIglgwH2n8NNW299QxTx7s49Ux2gWe2/oi5y+eQ5tI7accj/eZzI+YhynWeQqbaqpaW9BCKy2h9TTVmCY6JBgaVeGLBsmEQJ26+YzGWEFpl9RjxGDR1FqIXeusUpA1SYHnVKaYQl+VZrvR4QLLFIDOG9KNr0qMVVyXRpxcu6ROtAXF83TNO71LF1skdD4owXdPl8UCtoZ5CMTg0yRenTrZNi9dptfv8fYP3iE0U1589UXqqmLv6TarekQJ9H1kK8s4kkBWNkymM2x/hZqAb9PEHFtkVHXF4f5xEskoC0zX77/I61EKj2AFTOfBolrcqdPWoavvn/Lai9dY3oNTf6u6MtvCmenYDSDRqps7YMjKDBM7z4dhNplR1zVlWfLal15jbXWd9957n7fefDPNGjAmsRfTIDFEFN6nqoOREw+8+D4Ej1VATPyARgutUjhvMLalyDJ+8ct/l4Pbjq//zveIUWHqtVSxpgXbok1AFQZcApG9RKSJhNiilKCMoDviD9GltbUgBihZri86gxijJ3a05zR1WaNUSp+NFFgLmQpLoHqPH37k3vtYGAERRYxdiUN5RBq0C3g/5XhvTmZ7lG6Nw6OSvUcz2jDj0jPnuHLlFdy68P79t5CsoexlFL2M2XzMdD6mmRzgrKYsFsCIUHuhv7OJl0gbPKGz9A6NUQaDxmpH7hwrgx5Rp6ETxiym2CTPDyQb0IEupqvdplw0kdEX1YD0kFq+V7pmWVJgT4dqpzEDgW6zK5AUdRiVvK9eYgxdROE9JqYFHH3qrGvalqqpaesKV5ZMRns8uveAZ69eZbB+BtXrgRMOj3Y4+3yPc9mAOXB3Z4dPfvpVHr77TerZlDkrlM5hXMnAKCaTCWE2oz/o48qCAIngE2NiM5IWpSwwkw4bWHjcD4emHwZMT5/rrn6JGyzu26IeH7sbpRWgLVZbMuNYX9vg4oULTI5GtJM5v////TF5WaBtEkkJwSMq3XujT2jXy/foqjOL72pRmpQuBtMxJYGFjZxZeZZPX/8ST2/UvPWn7zGe1GRFf8lvUTokmb1QIDGxXK1KXBExYE3shoomwFAIaJPoz1qpTtb8FLGk+1XphFP4DqRGGYgQoyV6Oemf+CmzBOBjYgSSn9BpRJX1BGqm1YTQNhTFkJ5bJzQZSuXEYCAanj6esf3oPazWmLyH2IKJFrSNnD3/LK9evcBw4Lj/6BYPHt+k8iPy0rA+2KINLdN6Tu4isRszlTWWUDfs7e2gnaXo9wiTcZox13WpZVmGzRy6+7cxBqVi5z00SkVUVEDsWGIGkYT6og1t1yTVAQcfILUs6+CnqgioxBxPAUc650WwpAaidKT0I/hAbBrm8znVfL5MSSS3qCyj6A9Y24gEH5hNZgyHK7hC07RHMHC8df8eLz5zkcGa45Wrz/KFz3+OP/n2v2QyGiPaEDu3ZLKclVVL3VSMx2N0VdFfGSbwzhgS3U4vI6CTMdsnm/zDG/3H8Y0fX7SL5y6MSIgxCXqgiD4Z8zLPGPYGrA5X+eVf/CX+6BvfYG97j6cPH5M5y/bONi7PGK6tpTQyeFxm0wh373HWgTYd4UaWHIaUqqRR7ilA0Eij6Wd9Lm4M+eXX/nN+5599j4OnU0QZsjJP4byOpP81iRPie2jlUSZNojLGoq2h9QFnLFZZYhpxgnJ++bmm0wkikgyccxhjQbqmO2JXjlQJXAwKfERZ8NGfih5+8vGxMAIKwegAuib4imo+QWtLb7CJURmttFB4RM/TYrSpF18iiaLZaHRddJ17kbujMffeO8ZYT1EaysEVVlc0vYElK3P6g4LxbMTO/mP29rfRLjWY1I1nkA3obQ4JRQJ7dEwb1HtPU1VMJ5MUAneb3FqbjINzGGtw1iYegFIQNA5D0BBi0p0PKixqTunau58LkPA0401BGn0dJY2hCpHYqe40dU1d18xmsxNSjEp1/V5Zdp/D0tjUEVe7CXlRcu6Zs+w83WHuH/Mb/9V/SttUvPDCFY7HlvGoYTR9jKmHPHvhEoOi4EBD6tJI2IjoVAEpcosuHLPZjL29PcqyZDgYgiJNANLJaynocJMf3/iL8t1HV0tOzsVT+expoDWIQpTCt4HVfp+v/gf/IVnmuHHjXf6Pf/q/JRqvAjKFKMeZi+dpvWdSzWjqGmsMKrhk5JWGkDT9FtjOsrrRRXMRnQRrG0WpBvytn/81VKP47f/z3zI5KPCSI1rAKCScjLUTdMITujbxECedanUGZBinCR6UShRwow2+m3FgtCVzqRIhMRB8S9PUCUjUOmlTSMRoSze2GuMgaJ9G2NN1WP4US/CxMAIgaDVnNh0hMTAshuisoBZNG7rpQVYBAStdXR5NQFNHjZFIplpi1GgxaJUaRFrf4icwGgUgYEwg6wVW11MpsecucnXjLGfODFG25u6td+kN+tROqHTbjW5WaGuxzqK1ppAOvOkWdgiBuqqYjZPgyMI4GGMobE5hHTrLEOcQZ5esNji94SH4BN7Y7rmL8NlFITQNdd3QVDV1k6YnaQ3GWHKTpuW4PIOF8ekWbSA12UlMBKQgAs5x/eVX+PwnX+WZlQGZO8PhJ17iz944QFbXmEz3efTwFtPDPXw9TwSjBSGly/mDCCp6jDX0V1Yoyx6z0YjjvT36Kyuo3KW/AewS3V4ApN3n+4iNv7gnp3//sHFML6E7hrgwHA75/Gs/Tz2Z8uD2XR4/fsikGiVPrxQNqTU4oNKmR5H3C/IiQ1pPU82ZjSdYmwbSWKPxy/c6laaQAFkvgUvnL/PVz36NR+/u8NafPmFaRcQ2tKrrbIwsVYZEFBJddw+mYCcYPcW3FcezFsFiTIHVOZnpYU1JiJCo8d37k7gExiSG6WkDFYNHQqDxbUo/jMLZhH8pSSpXVv9ktiB8TIxAlMB4NkKjGQzW0TFL9OHgsdbRoVwoZVJHldKIaJA0JCL1SbTQIfldsp5Q5KjQukijraOiHQvHdYvXNdpEJAZuvr1N7Z9w/twzfPpzn0ec4fHeE/aPH1L0Ff1BSYw1+we7NO0cpwxZ5tBGsC6hw3VtQDQ+eJqmTt2D3jOdzRClOy9i0dZS9hIAZLXDGkcUxexoQj2b0l/JKHqOpo34FuZtNxRTkkqtdo7B6hBrT3rmFyW1gO5KjQtqLSR+QyKM+BiZzWty26Ci4p0fvEHrf4QdQDOaUjczlO0RbORf/u6/IKqapvGpm08SgJbGZwqZy/BNQ+jaVQdr64lGfHBE2e+RFyXKmmQ0UjCTPi+LIEgth38ssn8BTFclWbxXLQFnLTYGggdE09SB69de4MzakJdfepE/+/73uHXnNnGBpkdJvzuNjgofU2tvG2PqviNFTThDlg0polBNp+wfHLAyGKBjIOocin7afLGmpkWbks8+9wU+/9JX+N4fvcXtd5/gwwqiFXWYo2yiuivp1icdLqIXSH9G02ZEH/Fe432LUoG2nSEywdkjekWJ0haRsis+2+6nAB6UoNCpXIlGa4syqUmuDQ3eV7R1g4oGYzoyVgin7vKPH+qn9Rn/TR1ZviZXn/tb5K6Pihakw9/1yWCE5BXSRlvkzcvcuZsq/MEZB4lgoU5Zc6UUJqSfrUnTWZWK1JMDqtlTNjYvY+x66tvW4F2FckJZWs6eW+X6i1eZzo+4ff9dfGy4cvUiohqe7jxmd+8gDZfsyB9RAt63KUwT1YVzHRe8mXRTZjt4QDTNeM78+Iiyn1EOe4jNMHlBXliUMkRjidrh6TRLl57mdB37gwzE04/vPXrCeP8ohZAoBllBXhRUTUMbPE3bIprU09DdvxgC2hrOPHcFV+QfAO6MhEUr//J9jNaYec3seExV1/TWVnH9klaS6TjNAxAEdRqw6j6v6wxXUNDGSLAG3zbkEXpln+CFL/zca1x7/hp/+s0/ZGf7EeO6ojWalmQM7YeAsNTZJ51vOAnxQ0dkMpLSLi2C+CQlN580hADF6hBVWqIKfO1Lv8xz/U/wb37rjzk4aKmDJirThf1pyKtIgJjGkUcJKB1SB6soCHlaH6kLhBgDzngUDVFqQpjTtFPqpqGqBaMd1hQUWQ/nCgSbiGmhKxZKB1aqxVxz0oLSEaQhhBbVpWcxBB48+oPvi8jnP7z/PhZGoCzPyAvX/jZKUvcgUaeOQXWSR6qOtQXmx41A9wWfDh+VSiDJBwk5qRMxvY9Fqxb0iN39Owz66wwG54kx6wwNRJ8j0WB0ssJZprF5RBc16xtD1jdW0C5FA1nZ0MYZO3uPOTzapWpmmMygbeJvKyNdHqgwPk8objffrvWe+fiQ8c4eTg84+8xlpJ/TZCGVI2O6vrhQK9KkDXUqRJauuLxgyi0FTLp7NB9PqGfVSX6dqmFIx/NP8VNY5o4xhlT5MJpybSVRaE+h81rCiQdfGB0RVIxYUvfg/t4eymg2N9aw1tLEQNQJzwkk0lUiFLH4ZrvUQ5YTgdvgMWiunH+Gz3zmM4zHx7z9ztsc7O+jFVRtgxj9gSjF8hGAo2aZkpwwFLv6hXRU4u5WT0WzYgJ9aRmNa2o94Ktf+CXyqeXt128zmWqmWBqlsK3tDDyLIm73vdBteJ8MBIB0k5AkkiZEJ4KQjml9KZUmAkUClZ8TuhmIIQgSVNKssG5JpVc6DRzxoSsii0k2QKcoA5UMEzrNhb5963c/0gh8LNIBUGjJCDGkta3iB4CzJbdeTmrFcPIlp8foFnYqm/ABJ3OCSgcVk8cKgoktR+MdlInk/Q1CtIAhSKqxayNo7YnQ1cQh1hqakkdHFQ9uTVBG6PUKLpzboNfbovR9tH2GbKDZvLCC6gX2DrbZ3n1M3UyIhBTgGU3QKa92ORhXUs2gmUwJUoPT1LolhgyjDFYlT5WapE54CKeNwKIc92EQTilFb2VI3g3pFKVSaKwVoVNLCjF0fuaD5bjF+yAnzVEfDiwXfxc7Ka+AYDPHxtkt5uMJh3v79Ps9sl4PRaqzW6UX/jNtkRixp4aDgCK2npeuXePFF64zPhpz9/YdfvT2D7FOI3habfFGL3P29BlZOoQPfL7F9Ui3tEQ6dYoTwlMkpSz9aGhUoLWWl179FF++/gv82R++we2bj2i9Zh6FUOaYvEDaJnnnKKgUT6QWd9UJiUrqB+jQguXnSbMDBJTp5OsdWhxKhKgCziz0C9LnruuaNhwzrqeI8qAT01BhMNJLKYOyWJuhbZ4MgtBhAqpLTz76+HgYAUkz+a02RPHdzdEsvscTj89Jrsupx2RhhZOnlK7BKIlzfLAOn4aVBLSaUzUj6nrGytYWQZVIx8TyognKYE0DKmCVJYWxST9ARYtSOUZlSIxUU7h7Y4zRU9BdiysNN955RG/dce36db72hV9hPBvx4MFd9kb3UCYyWC3wsWJ37wmNdyjTA47x7RElBofB8P9T92axuiXXfd9vVdUevuFMd2g22d1ik2xqsBJZ1DxAhhVFthIksOS8RAGchwRxHhIEAfIUPwUw/JbYyENiQEEGGIhhC7EUyI4cy7JiWxZlUaJNmaKaEimS3ezuO98zfdPeu6pWHlbtbzj3douCk+BmE5d9zvmGvXftqlVr/dd//VcFWnLBxZ0dCSz7/Hgbnr28dvGUUtrTmtuOgxqqjBpYpvmg0HT83lGZRwpINi4m9p7HeL79DIWKsI6RKnimJ8e0s5aLywuG1cLYfNMJpExFMIquJupQE6I145hMpxwfHfHJNz7JS3fv8vP/+88ZuJcjEorb74RNTiRnmn2S8zYdObr8+3NHjBFUjMWYajesqQznVgeA3NP4OR//+LfzA9/yI/zq3/o1Ht5bM4Q7aJUJsadfrOguFvjaskPOW1VpcdkQcQRvgjIjqJgLVmOVoOb+ZCntzlTII7Mqg2qNSGkoQjThFTchdAObTaSPptNg0oErxDmSwmYdqeoGcTOqaoJXj6SGkF/whqRg8ewWJpI9PjqHxJGDz2yt/W4HERFSNL60ZeJ2Dx4Byabpn1hwdX2fpp3RVLdZReNlu3EnATSbemsSj2pRPs5Yj3lL3tuEU8BHomZLNY0eiZ+zvnB84bMP+Pxv3cN7oaoC8zsv4atIFWd8/KMf5ru/fcL504f85qf/AV9699foJlcc33qZRiesV2uatiGLJ2Lor1PTvLPbNyBNuImJKCnZTiJFjgxst5ZS/OQAyal0p8kkrFhmS0gBS0+OpBMdwzC23H5gq3GoauPS50wStkIbBM/07JRus+Hi6pJp33FydIJHGKLpAoa2RoeB1157jZ/40z/B59/8HX73d7/Ap6+uWG7W1JPa0o9GwbM03phpGfeFkpHQYvgFdot+zzlUCkhZxjCXccwFtwjTGX/mx36KyeaY/+Ov/TKXC9hIw6CJoFCHhtNZoHKO67yg6zdWSp0yJycnNM3EsJ9oTUuNTelJ6krT0oJPoKgzxWTUWeFUMgDbSgpLp2EsLSvDnJYJbWstz4Y4kOI15EuymvhOTB3r5ZLEE9BAkCltfYsmzN937b0YmEB7Vz/xsT978DfnZNs1aDe5Bd3DBGC0+rvimi0PXEyWTH1nHkIyS+0cONmwWL5Lv9lw+/jjCLeIIVn6jr0y30LalZJt2EqpCjeuC7LfFOS2QnREdG15bUtly/WK6xi5/yJWHz6bNmj9iIvF53j11pQ33vgeHnSBy9U7LJZXXK2WrOnIIdK6gI9Wtde21iQzG/xeJlS5SMbJXy5cFTC9uk6zqRYLeC0qu+oMVd96FIDmMdLdHubym9wVypbTjyo+l97SDjQnKsVozlrCjaysLq5YLzecHN/Gtw0SHN/zqe/kY9/0GvfvvcubX/wi18uFKQd7TxyVl1RLodbz52zO2TrzjGlFKO3PFHIyHKJcq0dwRbaO7VlXAAAgAElEQVQukog546vAx157gx/9tn+Dz376Tb76lUcsNonIQEqK01Bu04yNdw5Na5CdytMwDAzRALm2bU0n0jlSFrqhtILHgGPBdAL93viqjv9XMjwUlmLOBWy095kmhSJEvPSk3JOlpxuWrNdXW8MgFpvgQ8W9B3/wAmMCAqPyzjY+y1Jm8Bjjml1X2Q3Yvnu7i43H/9qEMF02j2pFFqEJkc16wWbdcXJ8F8KUITqLd8viKTDL9qfyhTs3mJ3LvXPFK8ayYi0AZ0ZB9zIc43XHZmtsEKFPjn7R0cuGxxc9D3//Psunt/nIN38/HzqdMw0XHE3WHJ1OqGew2lzw4ME7PHx0H4aBUBm3QPLE3E6N1hJNMhrrAhgVYg4WLpl9K95XxpRxQiqxq4FMOdm4OznEYlAtRtrGOccxNBGcZivqUWOBxsLNx3lSFpx4jk5eommtZdgbJ6/xvd/9KebHc37lH/9DHj56SFWF4hXrlqVHCWuyjrTtEgphBV1jC/AD2vWIVZR/Lik+ZqSq6EqasgHr2lvX/Mkf+glO2o/wa7/yOb74u28zn98x8U4ouglhN4aqxDiYwSlZHu+DofmaGeJA33Ws1xvTvBShbuclw4VlRhTQipjHypARt8g4KVWmJeMgLpeMgBY1ZoNBvQRimqDU4AYq3+Jmc4Z4ZN2KtCcNKzbd5n2X34thBGAbK43+mwFdo0Uve9ONtNe+NwBs4/+cDfwzkMu6smh2qINNd8715UOqMKGqThmoic5RUVqN2zeW8x6s+4Pz7pNYrODDJKWNcjqaEctSiOw+r6rkPcGRXa87Jeca4YxNd8n99x5zfv0Vos4JzhP8jHeGa6ZTxyf+1Y/z4z/wryEefud3f5t33/safb+hqgLtpCbpwGpzTUodKfeAEGqrf+iHzhimCEOyWgRBCHUo5b1sPaBy0YWfP/rUWw6cpTlLySuqaFKScToJCkk8qcRWokrsLF69decuVaj46T/37/HFz/wmv/izP8vxS3foJhWurrasPeM+2M+CeTum2Q/khG7LsfOWgzDOg4O5pZYFcOKpMWZzEgPs8pB5+UMv8wPf9cPI8oxf+pu/weVlQuSI9TqRdVRxGgFE2ZsYjrSnDDX2VxD1eITQBlQSfVyTNbJaPsJLYDKZ4dVCzUETKt5CtrIxOARJBc9iJ6iKmLakaWuWClc1KnrWUfcQXJjgZEZdJZxsIC3YrC94jug38AIZAVtThXFerPRuT7Zjm4KhIKzbh+12oNle6JDKDmbufMLLhqvlE/o4cPf4FUQnZJFtHtfm3qGbP54Ldq/dLPgBS/fJ6LyojkhUueJDY2Vx4O5IJJyzttcuTMgB1vGSOndImJv7naGqZvT9hi/81n0+9xsPrOFoG2jbT3L3qKGdd5zeOuLu3Vv4Sri4POfx5Vt89etf5PrqCnGJUHtCVZET+GBU06yptEcfVZIsz1xg9B2esp3/znQJMeBrLMBBlMEnvBpuoSkjLhQsxaCxH/7BH+ATH/8En/vcP+eX/s+/S3dxwdHdW9x/8pDc1pzduW26kiltlaJKn12rjlTdgo+x69n0PSGEMoesvmNcNCNoKiX+zwJDuYcqKXkY+Pg3fQv/9r/5Z/mNf/R5Pvurv472U7KaqKfLphfgpUh55dHToLSDN0NgqcadJNyIPoxRS+VrVALTpiXGTN8N9P3aPldDaAIeb+XWMaFZcNKCYn0oR9uzP+/KCVSU7HtUTcod0fL8GoQAuQWU2bQFfue5a+8FMQLGqspjU4gyuM+KOAhjBd8hLrBTpxnTS4pV4HmR0sC6ox+esFydc3LyIarqCNXKYt6Q0WixE27P7DzHCxjPPf5tq4yTLVK2c9vOYYDaTd0ADKsY3b/RTc+C6oTgbiGupuutIQlVT3aVNVZRh7gWjRBcjQ4wJMewhOsnS6Je0E6uadunpTeBo5nNOZV/hddemXH3pTNC7enjiqvlI56cP+J6dc56WKCS6CJUdSgpqIQSy65bFpmMntkuv77dGTET3julykqVPZUKeVBOjk74/u/9Xo7PjvjSl9/kF37hb7JcLCCBeqGfVJy+8jIXTx5z/+2vc/v2HSbTaWm+IfunAAyYdAhV09CEwHptgqZ936MC9WTCdDoFb52dBStt7gWWYgbgdmj4Uz/2p6ibu/z8X/+HvP3lBamfl+5DyURkylzLyUJFLWGrbRaWPRFvC283B8xnYBQxLYlIyYJqgDwQfEU9F8QpfVyxWi3oknWYnrTWKg/tzSOLQPYFKDTp9n2pMMvsuC24KYiFKRJxMnqmYxev5x8vhhHQAmypbK39mO7Z5waMO7Ud+25ZccFVKRxN2w1chGjNOggXrC4eUtUNoTkhaUtONVJ1iBtwrkHTDntgP4YfJaXZxZz7mMCBMUC3E2/fihzgByq716W0yRZIVFTuGC9Tuu6cfthQNaHo4NfkVKE5Ia5HQ29jkneeRmbK0AlX69KpCMHfF7zWvDNc8bvyhFALr37Th3j949/K65/8bu4/+jqPnrxH0p6XPnwLdYmn54949OQey/WViWZOrPVX1tK1F2WtDlektbz3lpHxrpQSC8Nm4JOvvcFHX32ds9tnLNYLfv7nfrZwQErYhhAdDHicJm7fNV7BxdMn9JsNs/kRoW6MBORKLFywG6ewIaPBUR0fUcsx3WZDt1yQVyu6bqCpG6oQcM4Tk1KfTFls1nzs1W/mJ77rT9A/Gfj7f/vXuTpv6VctVJ6etW0aIttMSnlogB6U5e5F8jfCRpuX4otCcwltNRZSlvco0RYrE24fHTFEqwBdX/a4qif5FXXVUldTXAhF68AqUFXdNlzeysuU8DRTNtIRWyvpx7EX4/OOF8MIFAAQMEOwXTw7t2oHGrrtS+P0z9uFUFz68pUeh2RHpmfZPWG5WXFy6zWCmzIMiojt2AZlmzdiY1keuO6gwRGd3iL9JT6G0SvZy9ffCCee+X0/GNjHNbLgXcWkPea6e8wQL6kYcFKZcIkMZIk28eJhUYhi7qKmsmXJ7vsFJTQ1iDHWvv72U77+tSfWeMNlnDdy1uN37vPSy2e88cZ38SPf9SGqxvM7v/fbvPnVz/PgwX3Obp8wqazTzSpZX8DgAzlnQmWs/1ZmxGHg+37wh/jhH/ghfunv/j0+/Zu/TnaQnTeQNmMYiEaTNyvXmlRp5jNuNzWXF5dc3bvPrVu3qCYtIVhI4Ut+3fgFO5DOo1R1TeNP8HVD1w/EoWO9uialTAg1IXV86o/9cf70n/xJ3vzMV/hnv/r7rJcTYhayRDJrxA8Q64LSA2J4zY6PMS4mwQXZllgf0LS3eMHeRlZUqMylGOdJQLNjiKAaaNoZ7XRO1o4+K+v1msViRdu0tG2LYLhO6WNvoKxaXYQoRdot4rxYD87iHeTiab/f8WIYgT/CMSLDsFtc5h65LU4gYt2LdPC4sKGPl5xfnNO2M+rqDFIFrkcC5OyQXKPs3KztTl+qr/bJNwcLXcbqMrblsge5egrKcTOU2M9hb98cyMnhQk0VZngC/XDONHW43FoySHokKMQKjTcenWhhhpUrKkY1siG5cWfDCrAIVhUYRwBU8d4Rhp63vrjiK29+DhFlNp8ynbecHn0br7z+KY5PZ0ymNfOjFnVLlstL/uCrv8/9B++x2ix49dWP8K//6I+Bg8+/+S/473/mvyOmjuiUIeVyTeYib72hgoaberTSo2QvzG/fYjodOH/4mKauuH3nlNDU9GqMSZWMG/LO4VbL/TscVC1OYNCeKI7NekCW1/zYd34vP/SpP8Ev/+w/4GtvLdF0RpcFFyLODUBC8w3jWp5dSpndlrB7bZ/Porv1feAZjNwKcb3t5hjxTLNVN5ocnpHdUorGENUjjqdzQNl0Ky7OL0l0TNopbTOzjaHQ250Uj1Ct/8CzpduH4ejN44UzArsFs4sBDvT4nmPSdJtR2N14TuYyalhwsXqPlJX59KWyoCrEDcYnT8WtksPadmPb2Q65DzABRuLYMwhIKT55jhHQLdBZ/ibjK1tTBrAVK1URnMyp/YQcr4jxkkaOLR6tonEicBB2NQDbb8mj87pHDsLKelMqvIfsUEn4ajCAK5t3lTWhsYZcUfY31guhWylPHyzJ+QIXlGZScXw05+RMcC4xk1f4lo+8wksv3+ETn3idusn809/6Nd7++jtGdWUgNIEcjaacUy7S2IHUGwdBtPBCpNR2AJKFyWRC+6EPcfX0KU/eu2dly8dHaBVKWFBicCmeHKA4khMIgenRMSnBa6/c5Tte/3Yu71/wP//Vv8HiOqByhPpIaMWyNblG4gQdAuo3jHTd0fDnUuQgo6coI2q/h01tH8fhXBiNBZKwfGIphDMAyhrMONmGEYhYJWK0SVxXU+qqJbIipoH1ZkW/ibTNtAjeWKZAiuvvnUdDqabMactOfL/jG+lF+Brw17DW4wr8jKr+tyLyXwH/EfCovPUvqOovls/8l8B/iCFl/5mq/r0/7DzjYO2OXCR59lI+z0Hub35uXLBOHLX3LPNjrjb3ODt6nSbcQaUyN01rYlLLw7qheBBu+x3753tmYZcJtx0jbLHfVBS+ieg+c93sdoycMnghSqbxMxp/RJ/ukdI5LryC4Bk0k7Nxwp3Eg3vfC1y2/xv/7jBhTBOxNJKQpDHVN0ppqZXqyt73qGzz0RTXdbUUVosVj+73uFKUE+NATA9p6t/jW7/tI3zyWz7FH//WP8mX3voiX/7alyAkpi81JB1YLC+5vH5KSgO9Glmp9p6k1nOw7JM4deRhMHHTDHGTOd9csF70HN++hWtM9FXF2obbCnIkYFDL2U+rhtfufpSf+NGf5OtvPuazX/wVzlfW8CRvzunjNa6DJnyI2t/BiUVMurect/NP3S6FLFYAZOO78xbHsHQcwn06tT00tp6PlJjV7U0CSw+W0fe5UIntHIojyJQQMlJDU0W6bsNitaCqbCOrqwZxgRgHFNOWMBFcZ2nX9zm+EU8gAv+Fqv4zETkCPisif7+89ldU9b/ef7OI/DHg3wW+HfgI8Msi8s2qhTXz3EPLLrg3qXUsZjnwqw7i8L1zMkbaKlJoo6CsuFo+pG090/aInGtTExZQtRjWSQaXrOEpHHgdph/oDsIAu1otD3l072EvStm+V8vie97wb1GP0d0kb7UJnZ8QwpRNl+n7S6JsEN+Ytc/B0Ppx4ozZBcFAt3Jt29FRUzQSMM9HLdWl0W0NhRbQS1wujMEyVxGUSGbAplkoFZiOOIQisZ0BK3JKg/LlL5zz1d+7QCXiKwVXI2EgHXm+6fVX+cHv/xjHp1PeefA2n/nCp7n/9XdYDz2z45Z2EsjDQO57NpsVsR9YXF2xul7hXctsPiNUNfffe8jx6QnN6dTSaoVZ2MVIEiEHq7n43u/8Yb7vW36I/+tv/zpf+f0nrDczqCpC2xPCJW23YtVv0NijzUCuL618vRTkmHuO1bWU80jhdIx8FN0DCk3rs2wJewZgG6LlPY9BRi/I6OiazTibTTBPo7yxGCC2+I7t7ko7aWglIAwMXeTq+gIvgdnsCO89QxzKfE7bTMfzjm+kF+E94F75+VpE3gRe+YCP/Bngb6hqB3xVRL4MfB/w6+97DiCSyGNpKWM9VkmviO0UOUNwWtJfO+spmJWNxbUMIuTUcdF9hX654u7ZK7TVnC6N7qOAWDMKUZBUutfe9DT2jNJ4rnGR7a583DndjffZ8zssmT/0Cva/O6sg2cpgVRpyNWPYQOqumDULRGbm0meDesZj533ozuvQfcMjhWY77mIgTtk299a9e9DdXYzGxYngnOn9W5WgWTvxsu2niGbLVyusB48bIPiWzTriRPGupr+AJ2+9y2f/0Vv4oDSzhtntV/jo6RscH0156cMzXLVgWJ/z4P7XeevrX+K9Jw/oNz2hamlObzM5mtFOajiuubq84OreBSenp9TTKUPO5MrTp8jp8Qn/zo//NEfDXf63/+VXefTOJeq8lYUzI6ee5AK+Fmq9Yr1asurW0GRC6xA9I7gjPC1eKrrUE9M1VUg4sYa4OY3I9G5s7VmMOMFhp+TiK+5+3eb/reHKrtBNxjhynBl7UyyRsxXbqbXaRjXjpaWpoannDH3PZr1mGK7x3tM0Dc65LZX6eccfCRMQkdeBTwG/gXUr/k9F5N8HfgvzFs4xA/FP9z72Dh9sNBAFn9129we/dVFt0bkyKDbwz+TdrdjXPukVT6ZfX3B9fY9JdURT3SXTon7M3I5svzKh9xD6fRKSiYSUc2x3d9tJx+c51ioYRXj8voJL7C3GbUfig3mx53aq0WRHXEBCA9IydGv64YpJdQdHVbJEevg94zmKC7Cln27P/RxAM+92qQNk+8Zhw16Mp9vRc0fHR2ErFkJJ+4mOgKsJkXRxNIg1KgOkzLoXzh8H4mYB+RFHRzCbR45OlqR0hSynvDT5Zl755Ce4decWp6/NiWng8vIx7977Ok/EsblacHX/MfV0wtHZEVSeb33tE/z4j/wUD97a8I8//Wvce3COVorLieh80aYsrdKzo6pPOG4CSSPXmyesl5dU+QJfH+OqY1xoaSqljz2rVYdzFW17hJfWumaP8f44Tu8T/u2P4zZoE0oiR254m7twc/9vJmtX5rtaUZEiWy9USbgQaLzQqGPoB9abXdPX9zu+YSMgInPgbwH/uapeichfBf5iub+/CPw3wH/wR/i+Pw/8eYDgp0hc4V0FGIXSRsoIwzZfd5LfN5H6ceI7AZEBdMVqcw/nEifzVyGfkMQZUphHt3m8kOIKj0SY/UzAc5/nuGBG45G3IUtmDKnFDMhBum4vLtjbmG9+bxaIiJUVywwdHtENT2h5Fclz8ujyP+e6rMz62XBp/H2b9bjxyect/l1YpCUvXYQ+dLdR5fGytzuikkJCU0al2tKKkzgSYpQICeScICUaGZjMMjmtWazPefL0HMlLyErVnNC0Z7z1e4m3vvyU/Jl3eeWVl3njjW/j27/nR6kr4fLiXd784m/z5u99geHxmu/4zm/l3/rRn+S3/8nb/MZnvsKjSyVPazq/ZuI8Qz9gqtbgw4Somc0QyWnAOaWuJ3gfafI1Q/eQ5eYJUtXgTdDDixCzsN50NM0Zoi0qYR8RLDbgOc9HbY5u5+32/a7Yzz38q6SrD0PQ8h1q3audWNsyI5nZeS0VKNtK1rrxhLomZ1OZfr/jGzICIlJhBuB/VdWfKxPnwd7r/wPwd8qv7wKv7X38VZ5DWlbVnwF+BqCuZnq9epuqmuJDS5DWXFCpEAnkFMk6Sj/vvIEth1+snRUoogPr9RPWm8ecnN3F+TMiAXUdQWv2RSQoC3ZkfJXr2ltAe4CNex4PwEIV4MBgqKq1uh7DmWIA9OBbRwR/LCQqakpOSBlCmOLDEWm4T0rXoD0kT5JkYidjF5rxnOPuv1dgNV73eIwup/J8CbID0tN+mqkoB6eUt9fr9rwN5wydV6P/QADV3joUiYM4GABWrtR7jKAlT+niJav+MV13TVao5ITp9A6hPkPCDJwBuDke8/ZXM+989SvU/i3qIDTzjLgJt46/A9U1f/A7j/kr//x/wsU54o9p2inrqFRM0BxNW1BtAeUEVXVCkoQOS+KwRHuHc1OiwCA9USNxs0BcpHIBJ55Qtzjv0dwjrt2N9xg67k2EETfYGmB24ajszeNRvXoXjh56ceXhoBjL0AwzkEr78RKSqHokm6dokmNqG5R4Qv0voScgdhX/I/Cmqv7lvb9/uOAFAD/Fjpj8C8BfF5G/jAGDnwQ+80HnUEls0n26VCFSU1UTquoI74/woQVtiiV02+EZ8YKcMy74woxKxGHJxeV9ZrOKyewjpH5G9okQeqquJiMkd6PABPZc+dHLKOFCeQijOAd7xT+qpZx0zBcfWHTdUzjapex2J7wZk1ua0onF8C40+HpG2AhxuCLGBeQ7SHBAMk/kxl2M4M++sdrnTowXPea293sdjJ97Roxj9FmhAK7O2qjtRbhOLf3n8DB4UwySzCCZJJkKqPe8oBQjOW7ounMW/VM6XSChZjq9ja/v4uozlIZ1AtWB0FinIJfBJyElZbVKuGGGUqNpRfAe8KyXl5wvHlI355wdv8SEU9KyJXql8h7VCEkQrYkqJBJVHWh8Te5bhETfCNVEqdKa2F/Q9+fEYUFgTdQNEhKTegY64PwYxytJEyntKiq3zyUbViBiY7i/PYzGe99g2KslK7PFcqREXQ4llfSfGX9CJCcBDThM7iyxtuyN7ubq+x3fiCfww8CfAz4vIp8rf/sLwE+LyHeWK/0a8B+XifQFEflZ4HexzMJ/8sGZAfCuZj57lWHYkIc1sbtC44IQHhF9iwvHCMd4N0d9hc8tIdaoh1hviOqRlGmbKxbX76Cpo528RtYJ4joDwWKD4siyA2w028PKJabaMv9KCDIykcfj0EMwi23h+WjBDbTZT9HZ2wvq62y31GwCqKMBsMVqKLDPtkuqCPhjnB6T0lM0PaSSVxnEM+rRbePMkjWR0p1oPz2oWTFyTlH9SUX4ZDu39j2HXdnz+F8d6zmQUumGkSx11CXMxSAUIxoDEhIuDEg2ZmNSIYjD5wx5TYqP6ftHbIYLBs1UYc5kcoe6uYXKDMk1qOkcOBcgK0F3cTBFKEV1Q9aMD56YAs7NaaYtd5tjLi4f8ujBu5zMrzianSL5NkNMZD9YWXNqCtAseCqC92jjyQwIAS+Cd1Mm9QQNRwzxgk1/RYwDw2rD0L9H7S+Y1FPzBp0jk0k6EFAkChJanExJhexVhWS9GrOzTUxMSkxFiTkjVGhyiAy4MBiTdXT3HYa5ZAEtVHNfUojqyzMCSNsk2vicb6pr3Ty+kezAP+E5ESzwix/wmb8E/KU/7LvHQ6RmWr+Ghg20a+KwpBuW1mC0u0JlRfDX1NUMrw2TMKNpjuzyVYgZvBvYLJ9wff6E0+OP0LgPM6SaTLJ6+uQLb310neRwl7Pr3ovXpNSh7zACZFTzuVFfb3exjfu2YONoRUaDXrANi99l62VYc4iiZ+AM21AghBnZH5HSQ7ruKXWzQpgzos9lrPcMjn3weQ+8QCxY73qemzceQ4F9F9YyoHa+bRWnFqS7NP9ICikKyYG4aOcZApITDYBsyNLRDVek/pJ+fU7OHdI2zKbHtM0ZIkc4N0V1lPwq11coAP4AzB1vakA0b434rjnnnFtnNXG44vLqPtfrcybHl0zblyA1pEFwvsNVQo6mphRVgIAKeDFyk2boh4EYN4hkqqqhbhpSinT9hpTWrFdPDR9RC0kzmVBajREmiJ/TNi/hqxmopVV1vA9nqWw/FpRpwXsUcvQIAWMYRpuJeWQnjvNxNNRKFayTkpSwZOev7ras9zteCMagZkHjFOdqkClNfYwLPYOuCWnFMCzJeUW3ucalQKo82s5o3Akhn1KFhi5fsrg+x8uMtroLaUYhw9kEkUwkb/V+Rvwmjy7/FmgsVJEi5zzGeluXGbbuwQGJaA/ssdfKm/didylu47ZM4pmFWLrd5FKRpp4kDSlXDP2aVF/hXGt4415MeTCWN7ICey8UQOlQdOOA1TamQPe+6+Y9jv/CaEyz+QIxY8bYd/jU4FOglh7xKwbOWfePWPdP0DjgaGiqO1ST24Z9+BlQF8quFRjdvJf9UGUUEyHvl5OPhydmEFch4YiTWw2r1VMuV++wWl9xa/46kzC3ZqDOsXHWnn1noE0VSiSDV2Ls2eQlkhf4Ejo4lCYIQ4zk1LNtWZzAZW/iTUGsW1PwDJxb2zF3m+C9cfwlI5LwpZbCScaaIEXTKKC1BU1CxboRaU47j2+Lx5h3kHPetiHfPku3G7sPOl4IIwCQEXKJacTVuDClkSNaenKzBl0S44pu2DB0Sy76JUEvmHJJaCqWwwVDjNy69Rq+rskpUmlVWpWZy5xlWxO23dFzLhp8e8wvyxTsAJgDYhIHa/2Z+NveYSlL3d6ZmZ5Rqae07L0xAvsTXnAS8L7B10fkrmHoFsT2MZqPUaptHcsz6T+eXTzuOZ7Bzeu/eQ379/O8SST7fPecEfGIKM5nJEfQgZivGPoHbOJTVv0lWTrads60fZlKbqHVMYhnSGMolY0Cy6Fx2nklcmCsno2l7TDOhUekRsQzmb1Mmxsur+7z7pN/wfHkDiftK6a6FAakcmZwI6g6vETrF4BQNVOGPKPfdOSUTALdOwtHCBASOW1AYtFyLJwKEcRlYkqQe6rQoxpMJ8CZuKuxthJampCKU8QrVfCkASihq3O+EGjMN0VGfEEZcz03QeA9NOEPPV4MIyCKVEaDTWr36hAqaXC5RTgCGaiqjsZ3bIYlfboixSVdfsyw7hlSj6/n9LoixqdUPlKnOYg170gjoOfMCptG/x4bcHSr9ydTPgT7bh7P7rqH75NtU/sdhlD8gW34sf0u2CLG48JzrsI1c2TRktI1/fCUkF8pk3v/vIe79AcZBn3G+Ny8j8Nddwwvbu645rEXGrJTPNZA06VEzkt6vWbdP6RPj0kx49yUaXubKpwQ/F1EZnQo5FTAtYh4tXhZb3onO1LU/rWNS+DwHrN9XrWUhDoDzPQWt8+mrDZPubp4wnr5ZY5O7tBWM9MQIOBcTY6Cuo19PjscM2ZtTRsm9N0FKUdCKEo+YkB0HweqOqOScBrRbD0CY9+VsKlnGDa4Zk2WIyqOCa4lxcyQV8S4IaWBXMBA74WqqfAuILHCpRlOJ2QXLYM0Pi8pz0B3GM6Bt7RHWPqXwgT+vzkUZAAxxd+UtcSvSkoY6iweqPFuSlufUbEBecLQv8tmuSg6cD3D4gniVsyna0gdVTVBfFsKY+qiOVgUd8V2Mee8IakllnNboG7LwsAyE1oWLwWIGRfPWE1oNQvB16BiD9Upmk0uXEuKcx80LDAAo8Ly+EdVQVzAhynOT8jxKX28pEoD+N1iFtmBkPsPfbt45LBiMee8LYsePZ29eKX8PhZMQS4CoSOSbe/O9KYkccIAACAASURBVNhuWElG1Ba/6EDqVmziOV16Qh+vQZSmOaUJd2ibO4jMyNQMUBpmCpCKZ8H2mvbZmzdp2zbZRyk0CmBW8uuScTKO8m5nTDg0HlHLhLt3Tll07/L44mscdbc4Ob1tQqvZUr4qRWkqO4JUCBPrRxlasg6l5NyhSdl017iuJnGJSmdVgZqhKE1Zzi5CzgzdColLxG0QNwd1JJZEXaOYnmKM0cajj4h6gkxp/CmNPyYHh5Q+lQgFHC1zZdxnivewnRXjGH7A6nshjIAguBQMiJNxJ4NBk5X7EssbSwOHNEd8i7qe1VLo84xpe4I4R9/3pGHDVfeAtXtK1TSEZooyoapPEKY4qQBhiAnvSmedHAtoVrwEhSBqdG8tteGlJJcMIskQ28KlT8U/d7lwzBGy64lpbV2hpEb8FIsCrcY7CSV3bTp5kWQucSH1SobgZjTVKSm/R98/ZRqv8e6E7M0Vj6r4DC6LVc8VN3kL8sVoeotjuhCKsvBhehDGsmfjsttigpRLMYpa+fHYOjvizKWVgaAdadgwrBf06RGDXpEYqNycSXiZtjkF10Keo1IRXSJrT5MCFK297XWU2BieTWHCnncgIynGFr+DHdBacukH8tCpMvzHAdIwb1+jdkcsrh7w3jtLptMzjo7u4IIQ++OCFZVnQsLhcTrH+VK4lT2ahTq0iDT0cUqMSyRYdWPfL0lpaeHNeH2DkvoFa13R+wrnPIMkUhHZDSEwaTzeVQwbZYg9fe6I7orUTnHDXSo5RihsQbFgs1TZsDPmlhFSykYmz/cAx+OFMALjMZKBjJo6omd7rraOtQQZkYFNf8lms2ba3mY2/7Ap3KRE3/dsuhV9PmfTLZHhqYl1pDm1ewnnT3GhRaS2eEy8pWbKzpHHHXukw2a13RNbQE25rqyOpI6cA1mGIm4qiGZEO+LmKXF4SM49VXVM03wUL3fIrujyj56FjLLe5Xx7clWOQPATIo4hrVn1D5mGU5RZoa3mUc6wZCSeHVO44eLvHfs7bFZAi9rwiJwKRGsBbKkw8XiBkDKaBjRdEfMVfX/BEFfEvsNVjro+pWruUrm7+KoBpMTcyeS3xvSjjh5MQbvJZV0fejTPZ0Cm0XXZC3c42PZGDkeW4jmIlnURqP0JZ6cN3WbN4vqSi82S05PbVPk1o3DXHYOs0bpHU00e6u1aUxXrZKU1MIcMzrXF7iihPqGPC4a4JKYONDNWFiCRlIeie2jEJXGC5kT2Hg0Vk2ZO22T6Yc26W7LaDDjnaTThfU2QFnHBvKJRHCdLST/bppSzqT3hTHjk/Y4XxgiMKbgxhHbOtNpy2svBF/nx4BJDPGe5MPXWtrkDnALm1jeNEqqepEdWhdcv0Tiw6RdEidTVBb6eENojEp4QpgROyEVuW1GyG6G9nSq8YNfkZQwL3Pavo2BMchkvHal7xPXlV0n9A5COWB9TUTNpp3RWbkYqMlFZxiYVNk1yKam1VHKF9xOy1uDWbLqHNO2HEWkxlZ4Clkne/gyHirv7sbX9fAB92N+3u0jGqEC5NNQc570ZKqcJ8gD9CtU1fXzCJp6T0gpQfHVM2x7jm1Nwp2SZE7MRucaYV7DmKbINgQ5TrqMHMFZwjte9P1dudjTevsbODu4+o5aOK6+nODI9TYp+Op3QVBXr5VMuz9+hnlwymZ/i/BQXK3KalDFOSLYS3aymDWAZ/5a2bohsrFW4JHwQ2uaYmJeFX7BBtCflgUyPMtgzS57SkdDCmBQZYqZPxgwNtVDVnpgGhuGCYVjifUtVTanrKc7XqLN0ouaSVixzR8nmWbvnpbR3xwtjBFRLe+2SQhMt3dvGdmTZpo9KJGvH9fU9hm7B6fHLNNUxythI1JhV3jWozmjdLVK9JsWOfr1B5JohXbJenuO6CpxnMjmBsMH7FnEVSo1zAR1R6wIcgrW8jlhvuYxpwqvaY8wlE6FsuL5+h83mHrWsUB3oNz1L+RKZFXkzIbRnhHCCUpFNG8o6z9hgoFs1IMH5CeImaF6gg7ne3pf3jzl1Z4t3HMt9TGD/uAkaHiD/o/s83uvYniwbGcjlCKwZhgV5eEqMa5M2J9O0M6pqRgi3COEIcRb7ZwoDUvfy4KN92kq52YS9eTyP5PJsNmOPx7F37/v3NhqaEc/ZKkjhEAmkLPhqzvFJTTe95GLzVRZXD5i3H2FSvQy5pdceQi49HJSiRlNuwvo6uNCAU+Kwpu96QnBMmobKT+mjMiSHJGtlN6SR2ouFXmX4zfBhlOUU6VeWNXAeRDqUjiGtGPIVmxjw0lDVc6pgFY/O2dzNTtGUbEPJ1kbv/Y4XzgjsIpsS02khxoz1/iGyWj1hvX5C09TMJrdBW2K2fdz7UFxfxUuDuAoXJlRNpmozLl2g+YrNesm6WwAdq37NJlzZDlbN8WGG0ykqNWBpJi3AYFSsur54K4YNqKX/fEXOkZRXdN0TcEuymECGJ7Lp3qbX+9T6Ejp8hOlJhYZj4lgMUlBe7xxCsrgUoapMR17TOaqJnHoCIy3JUnPCbpe/MbDPOILvvyvowX+Dd8YEVCUNa/rhGvSS1fopMT8BgVBPaMMZbXsX747Jfo7TBlWPSkScKRanLCWkyHv9HUbxlj3EWw+N2POOERgLzjyC0Vgc4Bv7ntB2nChrwXZxVWf+TRZEWpJWuNBw+6Rhsbzk/OIRq+aCs7MTGj8nxxahLiXvozCYCX4ImUxPlg2EBWmzYLMYWC2grpVEJCqkbEQr1aqw/6IRnoriUI6GOfiqNvc+Yv0RUgZiKQNXEhuiQkyeoV/hrDqL4GvqqkbqQFW1OPGkoeeDOLsvhBFQdgy2rTyWjqQRZ25vEf/wecF68x7ilNnkZbLOKfAaY6trCzltqMx4VCiJ5CPqbuPkFkGWTJsFaVjRd5e4vGBYrUnugipMqeopqapxYUIIx4geoWmGiiNWGxMhUXv44pIVpagBMjFZJSNsDEDzhhB7AVJP9pn1ekPbHFG3x0SasktanzrnKHqAgjpFdEqoTtjEe+S0IvZXtPMeqCymBEZp63EBj+tBs6HlgmwXjxGhbKBMjMTccp+DubtZcUVxKdGBFsS/f0qKV6gOiBNCmNI2dwnuDpW/DdKQcrAwB/NmLPVaMi7sQrty9qJcNCZOKbjAs1mBsWDpoMjmhqE4SB3ueQZbUDSNW8xoNEeDI8RscwitkKFl1pwRTo9YLN/l6dN3OTqeU1cneD3BpwmaLAPUhQ3qIpITMa4Y4oKcr1CWpLAhpkQazOOIUtn9ifViGAbFSyzjBIm4xTA0KSIeHzyiDtFA2uIo5qF5J1bG7WzeqCopb1iuldw7QtUSpMFLu91En3e8EEYAKK2ab6QzsoNk1VuJDNpzvXpM1y2YT89o6jPQhixuO7msK8suXWQIaZHhcEJMFU4afDUlhFMIA229RNwlm/WCvt8wDCtYXaOVEtqGyeSUyp9RcQrSYppEAajRMoRJDSMQzWg/4FJEJDOgBcAClyc4f0TcVGz0gqZ7j9q/inct2ZXdCSXlCLmgvkWvvqqP8H1DTuf0wzkpXZtMOgGj9O5EDvY9Al+A41GvXrevF3DOkElcaSgio6qxrknpmjhckfsr1t0VQ+wQEaaTU9rmFO+nBHcMMiWKsf1UerY0TdXi0N2omGRc2FJKYm9qMx7+vjMbjCu3/LjrzrNf+OScI8b4DJ7g3F54V84EsRTmFK9TFNfYs5g0R8yaT7K6uuT84T1cc5/Tk8ikPsWnOSmZdLiI4EP5tpQZBsEqd2Wbu1cdCBXUdQNqlaJOavMcU2JkgOZCizYKsBkCN+JUI2xTvteXithUNg/vR46F0EclblYMeYlzAe/+H9AT+H/z2I/jdn8zooeUxhfeJzbDNVfLpzgRJpMTvJuSpC6I9gjpwVjbrmUHtF6ERU7EW445Z5AUqKTBhxlJjqimK3y9JMUlcVjQx3PSekOKKyp/wbQ5I/gjXJrhw8xonlRoDju+fc4mqpmzhQtlYqkGkDOa5qNEWgb5Iuv4hGl/iW9bBhnKPZfmFkVfDnzZrRs0txh57JoUr3HVCWjDGL/DKJ22i4FT1iLTNi56LRMnExilrSgFRgm0p9drY/vlS+LmEoaOHBNVaAnhmKY+Q+QWSkNSw1USEZUe5xKiAQrghY7pq8PnXZLY2xbof9T5sv159GlGHIASChYRjRFkHI8D4yJmBLYkG7WiHNVojgaenByTyR2qpuHJ4m0ePnmHyeQpt+bfhHdHVNSkZOMf/Aw/CTjfsFlPUN2g0pNTh+aBFCNdSgTvcc7jY3wGtd+SojJs6yQ85JyImgsMbU5y9qOQjivNUPutEawloC6TiIgMpuHwPscLYQS2ugB7R87F9VPbzTIrVqt7xNRxdnJGHU7IqbayYK9WscboBu/AJit9LTuGCEpv/exDQLwVINniO8b5lqqa42RDHFaontIPC4a0oh82dN19PE+p/JRmcmTosZ+j2uDq2vT7ASRZ7FfYLI5MVJBwSjP7KKGZULtEt7rHevMOszbgZcpQwoucFKcYCIWQnEKYIu4UjfeI6YphuKAKd0En1qlHFEqRqjWvpAiL2l8t0zmqApWxdQo5WhWgg5yviWnBZnhKH68YhiWSlNpNmc1mhOoY3DHeHYHMUMWaaYrl5g3g0hL7u4Ll6NYwHaT91MCvcQE+I9LKzcV+43dVxgrIwxoJihPyrOF5hlqrCcG8NL+VmwdJjVlFyWQ3oD4hqeZDtz7GanjE1fIp9x++xcn8JZrmDE9NznUp7a0JvmZ+NCfFHqUnphVZN8R+wbBZE+OAo7N0qBsBRjucs8qWtDXkpoJkTUUOiWEpjc+5iNiIlu7INgd3mFXGaXzOyrPjhTAC7E2QXaFOSQlgYFLXndMN59R1y9HsNh5rGpHcUFJXY0xc4kWxz5sFdIxltqXrm4UaZadStYWqABoQPyfUUzSfIWGDT9ekvCL2a2K/pouXbJYXCIG2OiHIDKczgp7gfIuvBKlqUnLbyYRkQjtF6xnZOya8jnMD1+t3YBWoZq8bEFkWkDHWKNmQHqShDmcMqSbpkjhck+veXEa1uN6SDGnnVUmRyi7HyHXQbDuxkhAGVDr6oWMYHtMPVwzDNTH21KGirk/x/hZVO8O5FueOyKkiucEWFYEirWfPQLFunxTOgpTQ5JlU386Nfz8gcBvjq1I5OTAiO2/Cjn3Rl5uimu9Hrd5DocvUkWK0ol13wWayCl4rdKho3V2a0yOulo85X7xL3T/leH6XqjolJk9KQsxqzU5Ci+aIcxOQAeojunBN112Q0xIpBI99L9jGA7yrLIwsonPlIbOjCI9jaBtNzuW5j0SrkrWCcQ78/wATMG9191Sd2C5IiPR5wdXiMaIDZyevUVcnpI21GkfyDg7bxpuFNumtFHMswRx3VzMAUnLzZRd10cIKhZRGoHGGd8eE+hjnB4Z6SRxWpHzNpr8gDkvWsUd4QsgTquGEqp4jDASBQV1xLQUhEEJDxtO7nkaniJ/R5Qvy8quchjmhfQlj55kRMFAtAQnnPJVviVrhvdD3C4ZmSdPeMa8jKU4CmnY7xtg3b1wtopb/FzwhCaQ1Q7wi53P64YrNcE5MHaKOpjqirW7R1reRMEd8VVBty5N7V7I2uYdshb6SSuiVKdTdEr8L5RncVG3aKwbiWSNgmoap3IfbTnLLhowL3t67DwruAMPipeTRG9mFIpq1KAePOJQUtlQGn7aoRVYj4KiaxoRLM4Sas2NH3cL1+j73nzzmaPoy8+lL+NAQeyFrZWNFUYZ2ls5rG1ONTjHQD1eodnu7+2iTpHQ79sUDkrLWbVMcMZOxwCvn3brZGhNRco4EH8xjeNGBQd37/3HC5izG7XdXXF6/TRcXnMzOaKpTYl+TNRhyjpSUk9sh32XiW4sr2xFt2ZeCIW+jrRqheAijcq7tbmPKSRE8qhb7SqgJ7oSQ7+KrC/r4lJivSbEj9h19fx8fhOAUGTb4bAo7Xis8U6bVDIcjkujp6LzQ45H+Eaur32cWAsHfIaYKK8wZymT3OKdIFVi7Gs1CTCs2/SWhXoPWgNsq0Uq5F4PqHGNHPVFz1Z0qPiXW3ROG9IQhPaRPF2QJSJjQ1ic04S6V3DEg1FlVpAmolIkYd57bKEay2+ONRXHjAduPo8fnCgDoxsW5e/+OQmz/nt3ltXgxu1ZbB3G/snuviImp6N6iVzMaWfPYCnLPGxET89jORi0p4ExS8FqbTLhUTKvbVDJhLWuuri7YLK84Pj1lUr9M6tvtdalzOCokgxdH7SMDjhgFYWmpxULMogC8XtoSNllWJadE5SJKb8CxKHlMrerzSVVO/DOb6/OOF8IIwA7MKskgnAaCTyz6h6yHe1TVhOn0JURnaK6xKb4TT9C97xmt/ViDMDZxHFNwo+23HStsdw9xNyaT703zDytDTjjUB7xM8GFC609wGq1JBh2bdE6v91ltnlLlTBjJMOoILkDqcPGKJq3IMqVubjGbvIIuv0S3eZewPiVMj3B5amQPPyB5K+KF+BpxE2sSQkfsLyBtrCKtjNvoGbmCdjvJpRagFPikjpiuGfJD1sMVfb8h5466mVBVd3B+Rt0e4fycTI3kQI62E1k/xIKgy1i88mwo936EpDG9l3MuJdw3n//hhN3l+ve8iO3rrhjyGyHC3jGe+0Dnb2/3HzX5b573eZRltcqy4mUENLVorknDXSbVQHPnKdfLdzi/eItJe8Vs+iGqcETOFUkdUcUaqqjDVXOcd9QuEGMDw5oc12SN+GB1Ad5VOPGIjN6s4HImDh2DblCNJO0M13gOBjJe9wi6fhDv4oUxAhY3F/deBO8TOV7SbR5Shch8eopyyjBYTZtzau6RKrLNe++OsZIKdpPvwFwoxqtW3e5CB9V9qjg3WltHVl8qxFz51+C1JYhAUHzoCNSs+ysW8RGQrL0VRXVGI5v1I6ohkmOPNCfU1W1mzSl9VzHkS/ruPm31ksWQpd+ehX5CwoNrcH6GJg/ak+M1mq9xbobk1kpZxRa+1eRrEZ0YUO3QuCQPK4bhCb0+YEgJHyZ4jqjqI5rwEs5NcTKxmggptYNqBlfFkTE5LC3S4x9UZv28hbX9PedSm3FoKG6Cf9vpcfhpe2Y3RD0P9QY4eO3mtQGFr3/4vpuZhO3fxHLyqhjgqsGSc82amCNBW87mbzDzL3O1vsfF8DZtfcxkdpvgpwyDMKQK8aAaEDfFBU+QmsoNxLCkjwtyXBPJSK1FFUvwXvDeU/maygVCCvTDCk2K0lOg32eOffr1Bx0vhBEYMRkRcxNzTiBLNpt3oF8xa46ZNR9iGOZkl3AyIBIt/5yldPnJB+DTdrdnDwSCndUcgRXJxboLN9NJKcPYM84p1DICfQOkABTD4JSBFTAgWQjZlzZhEVVDelXXrNdvs5H3SFrRMKOSayZZ6L15I/36MQv5GtPjCpFTcvZQtPWiZgI1zs9AaySvSXFBHi6pwgkqFUip7RdbZKqZlDuG/vr/bu9cQ2Xbsrv+G3POtapq1z7n7HNv33vTedB2m4Dkg3Ta0EQI+RDxkf7SCkoaQf0QCPgARfzQEtAIfomggigJkQSSIHZiRzEIAaMGgmASE+10Omna7sREu9Pd93ke+1FVa845/DDGXGtV7X12btv37nP07nE5t2qvqlpzrvkYc4z/eJF3jyn5ISU/puYLNCYW8R5dfx8Jd5C4JsYVQTqEDooSpdpzJM+lKOJwrYdaPUEKeJK779yzb84A2uscuJv/bpxLbWDvVAQFlT2GM297fv3wvaoaLnAFExMH2/b6HYNbWgbzN6huaA0XxqRLQmtHSGtOThacbb7E2dlDNptz7t05oUvHqNwxPMAihii1I8qC2FdCXVgp8xyoZUve7LwzGwY1Zr4LwQ4uMdxCVM2f7uAZ9sb5gLFdRc8EE2ikijuWVM7PX+Hi/Ev0krizeInIPXb0aDgdA26CWlksdXTcToi2qA6532wgxDCBdhIYwCWXF4RGd9oRFi3nvmYkZopUkI4alG0+4/HFbxPKOeHijFQioYOsBdWExR4PVLlApLKpS9i9QTc8JHGPTcmGQNcNm+3L9Po8SdZQjuwEF8MFCBHpllTt6MSCUHa7h6TFBsLaq/Ka7p/zlpI3lPqI3fCQYfuYmh8hbFgtjgm8ROpPCN1dNByTtSOHHUkhZCWJWAh0rKaaKDCGp8psc87nb9rEyXPe2Vzs+wOoS1/XZTxq32vrQsc4+bZxG/YznerT1M4Torjd3XEeBMsfSHO7vp7aRiqlelozT0oTKlogbe77phyoaUeRc6RE7qy/nr5fsTl7lYdv/B7LxTFHx++xMHYVqgrUgKSlJSqJijJAzcQq9FHIdUfWLUUHcslsa0GqjECz6byXN3h0htVyTVxXcwCeGSaghLqk1h6NG4ivk+sr1Kp0Ry+i4SWGmiBuSURE0yjY1+DRXU3c94kXAS3mJTamyp7FVre/FfvOmIAiiMUwqI4JOUTwqDHHDnS0w5D0gu3wv5DzzyJsx4wzpVT3E2i2enWkOXgWHjjlISKnoJXo1gmGc/L5l5BVAl5ApJA0EaRSY6YsejSt2W1PCTGzzY9Z5gtirFRN1AJ5d4bwOqqvUvOr6LBFS0I5InQvot0JId0jpCOi9Ij0hII7ZhXLvgTufxDHZCtQ6UILnproMFhHBErNVm13dqpaBiHf3C5WjxZdfEJVzaHLQUzAbOBq6s248SUYzhHFMkA1kdgdtAB3smobYOaW09yZW3BaAwQbYwj7QCVms/E8DI2xiBlxdGMMpXiGJE0WK0Egpfus7i7Q/iGnFw8ZHn+Wo+MTYrpHrHeJ5YgsAyHaIdDHYxb9gqJnUB8iPta5FPPIrMl8SAIeZ2PScBy3cYsWVAiZUqwEXIzdnqn4kJ4RJoDrmhcEMaegzfkj+nSXo6PnQawUtTLp+Y3TmdnIOJ95fbVw5ODmoTq2MA8qmYppuqqgVqpJ7Ud+qakYttDMkWP0USNFIQ8bLs5eg3JhnBzcJNu885qtuwFRvphEKFJokR0qlRAVYcPm4vfIZUA4hdQRZEWIa0QTfT1i2a3ZDKbK7PIjtttXWS5WlFqp9Zxdfh3NjyzOIA/EsGDR3yV2J4R4bC7TcYlI5zEQUx7CaSu7ZOavTZwuJc8wFvzZ2mdlTI1t19wN9gppNISWOHO6h+mvjUnMzWDKoe1fVQkxuBo5b0BHpnPVKd/uJ+0wwLz9Jt1fnSlMqs3YH2Qcp3ZQNHUyxjD+ZiwVFxKw4M7xCxwd3ePs8au8+voDUn/Gen3G4ugOqazQGsk5E1IgSA+dEpMgu1PIA8KWSMYK5FoUoxWCiWY9EnecarkHm6oExjRm9RKvomeCCSiChh2RDbW8Qd6+ThcSR6t3EeOKXH0xCVz1MHXcrKbPzfWhfScMbZqA5cNrJhRcnJS52/G0IaCdTO5pV32gdSAPj9lt3zCXW64GxC4h0wd6r4hQi6ICfRyouqXsBmo5Z0hCF9cs0n1SXZMI9AI5BER2lHLKZvdlJFjxkoHX2PEA1ULQFSme0HX36BbHhLRGwooQejvNGrrePPza4MznZibiN5H+qrp24/hes9jaM18HVO2N8zhuV+QOcGmizrCGw3ba2B7ShA1YMM4479Cm+xJ+YEvPGdKoTFz2QmzOPna4BNCOvCuIHHG0/lokPeCNR19g9/gB67rgOL6HqHdNfaJY6vPYk3NB4xqpG0I5R7RlneotJbqYKpslU2TwjtfxuQImLdve2AdRD+mZYAKgRNlQ8ms8fvh5StmwOnqJlJ6n6oIWJ+9OU+NiuIQCj/+7vHjBFl/RTAgRGYEm1xM1I1glowogTUWQvQk3eVOASi4XDMMjJFyA7oOKZofWiTnNTWVXjIBgp3KpFUkZZCDGyrack+sZ2+EBMXSWv1B2BPEiJ5KhPmS7KQy1kPWMkCoprOnTcwR5kdTdJXULRHpUo8VNuAON+du36MLLp+0hSDe32R9+b5TMZqbAQ+R//p0rf8/03WncbI0cUnXAbG8cDwDKS+O8Z0HQNv2j6/L80fZ+774Xo/ToDAG1A6X1N0YDjy2oy0DlGJKJ9EDfn/Di85HN7jXOzl5hk3+Xu+sX6Ps1xAXU6C7nkaIJxHJJ1LoFrGSZSiHGDolCIplb8Z6fRbDYDe8is3G9ip4JJiBArFvOPUIwdj0p3SOGNaXaoI7pt3xj7S3EGfrfaL4Y5xRDnHTB/V/Yf9p0R5lQV4WW8kh9IlJQRApVtwS2tNJge88l+6bLkSnNro2RfSWBGsJfi6BpyWrxHJ3eo9QNuW4YyinbOpDo0MFE0xgFdEMpSqmRKCt69+/v4gkhnRDikioBrQ4YIRYJKfMNeNm0dklaObC3Hz4XtACcq+9zKBX5KE9jpdMJC9PGvOpeDeS7zjfgKt+D/e82BjD1bzwY/O/WB+tGGfs3Lg3dH59SKiHZRrWkJXbgmFkbqIkk9+kWxyS5x3b4Mq+f/y6rcsLx0UuksDbTX4TAgsIalR152IAUVAsqkHWLFT7qSLoi18GeuRZKrURPdGPqy9VWkEZvphbhEvgFYOHf/7iq/l0ReS/wMeB54FeBv6CqOxFZAD8O/BHgNeC7VfV3rm1EYRjOOd29Tu2U1fJFUnyO/e3S1IHo+hnjZDFKOy3D6r6PwL55yF1qPY+hzER/4/IGZtniKL4AxP3tDZCyGgKeAqwUyGqOJIzS5Nh2aLqyg4yjzRnDASrB04IJQSs1WMlsSs9xf5dVvEspG4b6iO3uIbmcoxrQsEPrYOmsaqXGSkorlulriOE+mlZkWdLHY8SM09OI6SFzq+4xOfmmozoyjHGDeqZi/3i8BczVrkLLbzwywdmg7Nv+p/NpCgVmhimYp9xY/mxGTYLRFh2nM0bim7ptAGa4xHx+TF9u54pt4hgj6ierWTXsHi34quFSOj7LpG42KSl7GHlrtKglTw1qerwd2gs6uc9iHejiOQpkZgAAGJpJREFUkrOzC17dfJ7j9R365coS04aObrkm0sNuQRk2oJlKJpcLctmR6AhxRYwV8taepyiSlZIzISqVzHWVAN+MJLAFvlNVT8UqK/xnEflZ4G8C/1hVPyYiPwR8D/CD/vqGqn6jiHwE+AHgu69rQKg8PnuNQQr96g7LxYuIHFF0AAfUpso5eQTrgkQsV4CMCR6bzu2K/tiGzldtYFyo1r7dr9mNm2lFULe3+0aovmGAoJEQzMwV6SjNicbVCdtfpt/Gg6IQgWBOSLSUapVAAdmag5CsqCURwpKYThDJRO4S5TlK3lJkxy6+Tt5cUHXXQkxY9j2L7j5B7lO6nl31jEgtuHHeifYq1RdsdQzcvxsadmGmsCCTeRBVM5PtpSNzfqItnLmd/Iei/YQLtDyBl1QO7+sIOOYymr3ag1gB2toaMkwEqKWQQkfOAxVz+GqpuRtmOPksBI8rMICxgZLNnNjCb0d8wnruuAUGSJfL+E5z9TWWkcchMmlgCpgKUQjlHsfdMUcnGx6dv8Kjs1fpcuLo6DmOFifUApSOPr6LECqleH7Cbmc+ILkw7Cqpqyz6SC22Z7qFMMQtuezswAqHbHSiN1OLUIFT/7Pzfwp8J/Dn/fqPAd+PMYEP+3uAjwP/VEREr/FYqGwYhpdZdHc4WnwtklaWRCRPOlfXdZdEvytJXITbqx7c9CUZJYHG6WkL2787r8c3ynzMRUUD8GqFXAc7ZQ50kVEVsT+ueOBoYE1ssqQioRBD8SIzkU6OkLpkmxOqicCKIMfETtG4MfF995Cq51g47JY6VCtBHReWArP6KdY8K/fUm/a+Tkxz1n+YJCMJlaqWAq16pGCOVh8vAEmsflNAyKQ9UG185Bl49yTPvHoFU8C7qmNOPxkPBPvdbL4wl9uxHBfu0FOsjsC8fJf1ofqasNiAaXj2naBa3+eqzqgq6CQpFasfNpOWZhYOndzSG7haS6VWSwkGyvH6BWJacHHxgIsHX6L05xyt3kWIK9BILAs6WVB0h8aCpsKqh2E7MJTHaN6QvG5C5hxJlRSBHBmGrzKUWCw1668C3wj8M+C3gAeqY5Dy54Gv8/dfB/xvH4QsIg8xleHVJ92/1gGVgVV3l07uUKoQqCSxAheH4aY2uGH/aJOxr5O+yOUj0CZiCuE0UdajCg9Q/Hm2o3bvimUDTn7ySPBT8wpGAJcTfbqIYt9xNSZ4YVWhI0gixedJ3fNIXJBDQRGSBlNFVCjaUeqCopZeGvGClXlgGAxQBAucaTUG5gMxxkiYTDthKrPNNW2C9jwW2AIFRIglTU/jOJliX5mDsuP8zMZwb5MfgoUe/noJRJSWRcgcbUSg1HIFyDr5gLQPTerYnxu71nB+GdWJEQw8UF+qVovCnK1BkxrEy6dNNQCbRBk841XVymQqnplTESuGWqqbE5X16nlWiyXb81c4O9+w277Men2f5eIuMSSqx7vkElBJhJhYdMXM1TUyDOcM2S0GUqfn/mokAe94Ad4vIifAvwH+0Jv53XUkIt8LfK+/B1aslndtI7gX4Bz4mXubiVzedNUTVCg6cuzavAcRZM4wZsAO4LH4tnhaO6Yb7gecAIxpYZu+Vx2ssYbGPgZnEmMb7V6IhS037bQGYliS4l0W3TEpLqxISndCDU36UVTUEl8oXgilQyRRsoxVlSobdvmCvg5IVDsVCJMd3J9f1U7tSWR3xhQmCWAUgd1ryADTQou174s5oJhDjrDDmWEt43iNm12mjEf7DGDfxdfa1fH6HtP3nAUtPLqBem39jEyjTnMzmxKalWHP9NdWh5gEMcbkz+Zx7LMwYTvzfzqd/K0dsPGye3rVZJc49jwnUZACwcecSMlKCHdYrhZofMTm4hGPTl9mt33M8eoeKR65VGZuyoVgY5NWBKALCyRsGKqyyxf2TORrbANfoXVAVR+IyM8DfxQ4EZHk0sDXA1/wr30B+Abg8yKSgHsYQHh4rx8GfhggxoUerV8kRNM0AuZMNnc7bdRy0VuSEKNa63gCTeCO7i3C8RSkFddo95wvGmcQLi1cJbJCAyVNxCs1U7SCu9bOLRKHuq79yiceaLUGAktWixdZ9C8QQwepJ5OoREK1jIbUYt6MJZuZNERC7KhDy3YLSEbZoiEDhmiXMt9ILWBKzSnKe9EkIp2h/6OIrkA1EE6iUnUg552FEqsxJ1JHjT1IR6wy1QRwvbrVc5zKZnmfZuj/hB949qNWagtve5wnx12qkqLp9La54jT3FdP31YqFR/9sPhd7c+SZe6Qx+NnhsycZzk78UUVoUa+e19B1wD3JoK2spho2ScD+mNCDWs1aNGShsiJ1cLLoKbtTHj54jTeGR6zX91ks7/t8RVTUE4hUhASho1us6BHS7hSlUNSK8TyJ3ox14AVgcAawAv44Bvb9PPBnMQvBXwL+rf/kZ/zv/+Kf/6fr8AAw8abvn6dU8wkQGbBF3F0KCBlBlSCjPB1C8CSMBrtNnDePedzbRleNDg41/d9Ug4oBKio6Mhhz23SQx48eESGqQJURkBvjutkXda8SwFrbtiHEEWjouyUh3WGoyUBBAqliJy9+EkpFgpIIEFYgJxQeoHUHMVNq5nz3Cl15gcjakpcGtUQqYBWNWhqg2YyM48tlyStIcNdc63ytlSFvOdfXEDmnZ0fYLVn070HkeSquF/uoSmS0KuwxVsVj+ZsLsh3voZUQ07bpGxbPKObLKFmY7l9LK/9upcSD9OO84pvXNqptvhD9pJZWUbl5NxrTCDQ35aZaijH6tl6dcdVaKZrpuo5SiuUEQJBo4GFtz+vj1gUZE6DavLvXqnosRTC1J/SC6g7JgpQjeul56f4xD/IXef3iZeL2EUeL+6yW91CNFuqNUOlRsepDC7nLsjsa3dj7uOPi8RtX7r83Iwm8G/gxxwUC8FOq+u9E5DeBj4nI3wf+O/Aj/v0fAX5CRD4HvA585PdrwOKnF569NUCwAVIP2rjKS011cshg3HhN13bufY0epK7bGwPZVw8aNV133DHjy1QmLaWOIUdKHa59xn3Jo5EzIM1ULXTuFlqq2mkeRoF11OEn1+lIv1iz2fZQIiEUat1Ryyk5n5LCc9QiV4KbU9ahfeefqxxKmjrSVCCLpwgMwzl5eIOdXhBroiw77tzp3bnLet2mJbi5oJ3wMUZGv7sDfKD6qX+IJ6jPwz5moXsYpxCIKTLPqammRAPN1XZSd8pe8k3HcNwcPKp0czD1IN9ECGFKWCJTnsyxzZlKe4gtpZRGhlA989U41tns/Ma8hSIBDZE+vIu7sub09BFnu1cgP6Zb3iGku6b2lQB4/oGyAO0QzL06hK/CRKiqnwS+5Yrrvw188IrrG+DP/X733SeB0o0lnowzAq7rpq6d2P7d8WdNZNVRJNvTDw8WmfiuHvd1A5dkWrCz52BKZDnbxNIcimyxxpgQzFR55dF/DZlqUKkMlLpFKFYIA0s4imTQ/krRFCKxPyKkIwssqRtLPKXn5PwQTRskrK98rr3x2Luul5jG2FNRNzVFFv2KUpdcDAmtQmXHdvcKi2GJpHeDWISbuBRlGISZQ9Ps9Jv7/Le8h23vzAG0lJLHdeNVmRoTNlFc3CKUUqTkOjEIrS7F1EuYxFxtA1MvqmetTl7jsbXdTMZF63h6t9+2A2oYhmn9MeEHqjpKCjCpW/VA9YohUqqlPxeEXiNDxgrTBMuRKXpCF1ec3Fmy277GsHvMbjgn9DuO1seElAi6ogxYlKMWaqmoPjndODwzHoMTaGPTVx1hNbedXMzWrs4c2uk1Bn+EuLdRxvtesaDFN7G9txx2AUs6Op8g9QWrza++uiHELY/tHjEYE9ADEbu1P7c4zJ9Yq1c+lEouOy62D1ktLwhhDTUhWKFRk1bi3vM0ZKJogrgC6aB6jkHJlN0DandKTEu0TqbSSa2qvt/3T7ZDRL6Z0VwidjEZgnTcWb6bPix5fPpFcn6EsqWUx8TuhZFJ1ap4NM2UjahapqMQwyg9iYgV4PA+2Ma2vk5z3dRttWcNzmBqteIfYv4Eto5aPkKfN2cApRT6vr+U4rwU93lQD8MtOm5+cxZzV/GaR1ygYQwxJUrOLBYLcs6jBBq9hHhjZAZU74OO7T4N+Aw+3rVWCpbUpVYdI1ulBoSOmNYsFh3bzSPOz8/YnD+i1nMWqzV9UmJaYBUvKkSh1Hyw/vbpmWACCq5H2slPaJaAmS/5DBhqaHbwrLw4pwZGG/EhugwTUNVoFA+1jiL3nNNb6qZpIzD2RMc2Q7DEoE1cPXyudqrti714uirFLAvCLj8m6ykhLG3Bq/st6uVEGQ37UJJXV7acd1WDhRzXc4byGOoadMVe9ZlrJIMGXu2flrgDE3j2FvtM77HsjijryDC8Rt6dsd3u6NKWvk92H79f0JF3AragazZdvDqT3VPH5tKcKtSK1IYZhFFaFLEc0bbRhUAihp7qWEEpmaJ2mtdqG3sYzL22+Z2MEketY6hz1Wr5Rme1C6ysuYxrK0aL/BPMOjDkTIqRXDIl59Epc34PmY13q6A95l2YYVFVlUELEpJlhmrRpkE9mrVnO0RUFhwf36PbvcrF8IhHD09ZrbYcLZ+j1drA/TuuE1OfCSYAGHii5tnUEkG0CDEbeFtJWpuvt+mPMSZqKWMNwnZaiC+Utrra9YaAt0kYxUJt6LhJJkGamSccWCkUDeZuLEREexq+e5kO7eW+yAzKH9OiBamo7sh1R6rGZiyRl2e4bXdveJn/Hk30YcWAZQLOYJslDAz5lFgGRBaMdvB2nqogs4wAI7Ns4rl9xaUQgaIerBPGD3MOhLjgaPU8ZZHYnD+0ZJy5WiJXsASwY6ozhwrVC606cNdCukOz9ozAoW9QxR2/THrROuU3tNJ11dtwvV8HLGy8SRTt1FZynsyX42GBW5Tmp3uIlJLt9xoJKXrMCc4sIkPJhC6NEmvXGehHbAcD44HS/rVSau16SondsHUG25ZIA6Kb1JqJwdaBCGhort1WJr4WYd1/DYvumNPta2wuHpHzBV04YdGvCbLw6tfPOhNog+smrJqbs4VMkV3VFwFtX/spRfbF2VwjG9jlnNc5cOPgwc2HtZTRkafxSXXRs4sO2gSY627AxKBqoah6oQfv0xXjPBdvG18aAYl521oow46uc2RZLL8cLdV1aGoFrgOrw4OJKD3b7CcGCjUT8jl92RDjyqBEl5jmvGpubRl9L+anr4vv5m8wV3cUiSa1qUKMRxyte3bbHaoJGbM0qVs0GvhlNyguMrdnwHGdsU/1slqCTIi8qSfu6iuBXK1PVQsphhHnaVzT/D/29Xkz6Q2kaEFYtVbiyDCszybxGVaRa6FLtl2GnKnigGcLLhKI0VKF190wSqYhhBEEDNS98W4WgVqnpDgxREqe+i8yRS5Oa6dOKd0jFI108YSToyUX/RtcbF4nX7xGKBv6xR0rbc+TcYFngwkAlmiUUadqLp3T5mmnekHiTJ+ViqiJe41p4AwAONjAk87fqInXsel+WFacxgD2EGL/fvXN2AJVYogMl6NWvzLSgTycQbdDvMKs6mUVBdyU1YYjJGK3og6JVnAFlFq2bLePODq6O1asnbkLXYmhMGO2tgZ1T4SdvxaK69GRWgNBVqS+UksZD3Nb196W7m/qWkxX35PGDvvjlHN2fEZn2YmKi851zAvRpLZmFWqWCBP/0555zjwrw2wDsrc5JbiK4FgCtVJEGLI53lSBEJtp0nwZQhQP9bXU4m3ucs7eF5Noms9Bo5TS+NwNYDwEMA1XsHvMPytiLsQMx6R6l+O04Oh4yXbzMufnD9ntzkjLNcuje09ces8IE/CUUj6Bzb4aPHZfEC860XR/nX4XApoLAaumy96GZw/tnsd9z0E7MLBszCPnMvehLt8mrooiLcV368kVmADsuw1PbTUuP30mktF6jtQdSO+i8b5oMfWleMbtgIQEcYlK77nqBIsl2EE5R8sWiclLsYVL9xwZS20BQS3mYbYp9p5THSSs7uFr7reDfzdJZwxSMcaOiUpB0riY5+HBjcnOC4rOx3yMA3DkvjETUwftNIwhefKwVpPSvtOcxtp9WntjiPKoeeg4BnNPzxjjmOSkcwAwhuD5Jpqe78qa+AY+KI22z9QOmen0vJeA0Pm8zPrTTLvj7zytfdVKqYmaE5LWrI7uU+WU84sLdtszStnxJHpGmEDjvnNgjxGFDzOkVavpZ6ogqpTB9cZR1HK93aPeVCcwR8T0tr2FANgg2imRSx6vN31yzjDERermSw6MOt8hE5hHDzZqIn173+4bQiEPp+R8gSQX36rVyDsMrAnRFnxViBKRuABZQN34IikQt9RyTskb+riGACVnRgljZjFoCLjWvMdE2/smqhvAVk1FiMYwqqsrVtK4UItbS6q7UsVWJORyBqD5Qp9LGeOJ3tRB9+arpZBL9RO8UqUQJFGy+smd/bDoxrENIbDb7Yxx+ancmEPVOqtBOGcE9uzmieqegKos+t5UgVqp4mPngUdVK1EV8YI4bY01i0Gb97ZWmsTbxmG+8ef92Vcf9NL4xNpBDqhkchqc5XZIvk/s77KO52zPH5Cv8Ri8PiH5jZGZ7XIeMEReXe9zU1DzpsJqzO92hZoVNFBLE8s94g2rBgz7C2sO7h0GJM0Hv33WFuwc2NmTHFC3bU8n03VUSrm0CeYkQC1bdsPFWE+wobqHIrK4KqJeeSmGHpE0AoBmhy+UsmMYtlR1E1EDFGddaKfzpRmZ4QWNRrE2JRJKUiUpiFpNw+oltSxXfnImYiDdKEUdjOV8cV8C7Wbj3TZTCC3u3z4vbZ7KZdCvPVdyXb4xgDHiUPbTox8+b3Sm1/q921pp9sYMc870IrDLrFKiFyGWOmIAezkGvP+tb81qcJW6CoyMeX54HTrN1VphiHR5heqOEs/JcWBTlIuyYleOgDXr1Qnr5frKdWfr6Qod7KZJRF4Bzrgm0vAG6V08/X48C32A234c0v/r/XiPqr5wePGZYAIAIvIrqvqtt/14Nvpw2493Tj+eEXXglm7plp4W3TKBW7qldzg9S0zgh592B5yehX48C32A234c0v+X/XhmMIFbuqVbejr0LEkCt3RLt/QU6KkzARH5UyLyGRH5nIh89Ibb/h0R+XUR+YSI/Ipfe05Efk5EPuuv99+Gdn9URF4WkU/Nrl3Zrhj9Ex+fT4rIB97mfny/iHzBx+QTIvKh2Wd/2/vxGRH5k29hP75BRH5eRH5TRH5DRP66X7/RMbmmHzc6JiKyFJFfFpFf8378Pb/+XhH5JW/vJ0Wk9+sL//tz/vkf+IoanDuF3PQ/IGKZi98H9MCvAd98g+3/DvCug2v/APiov/8o8ANvQ7vfAXwA+NTv1y7wIeBnMRefbwN+6W3ux/cDf+uK736zz88CeK/PW3yL+vFu4AP+/g7wP7y9Gx2Ta/pxo2Piz3Xs7zvgl/w5fwr4iF//IeAv+/u/AvyQv/8I8JNfSXtPWxL4IPA5Vf1tVd1h+Qo//JT79GGsjgL++qff6gZU9Rew1Gtvpt0PAz+uRr+IJXh999vYjyfRh4GPqepWVf8n8DmuyCz1f9mPL6rqf/P3j4FPY6nrb3RMrunHk+htGRN/rifV+vi4Xz8cjzZOHwf+mDzJNfUKetpMYKxR4DSvX3ATpMC/F5FfFUuBDvCSqn7R338JeOmG+vKkdp/GGP01F7N/dKYO3Ug/XJT9Fuz0e2pjctAPuOExEZEoIp8AXgZ+jq+g1gfQan28KXraTOBp07er6geA7wL+qoh8x/xDNfnqxs0nT6tdpx8E/iDwfuCLwD+8qYZF5Bj4aeBvqOqj+Wc3OSZX9OPGx0RVi6q+H0vn/0HeglofT6KnzQRajYJG8/oFbzup6hf89WWsqMoHgS830dJfX76h7jyp3RsdI1X9si/ACvxzJvH2be2HWJ3Lnwb+har+a79842NyVT+e1ph42w+w9P5jrY8r2hr7IdfU+ngSPW0m8F+Bb3LUs8dAjZ+5iYZFZC0id9p74E8An2KqmwD79RTebnpSuz8D/EVHxL8NeDgTkd9yOtCt/ww2Jq0fH3Ek+r3ANwG//Ba1KViq+k+r6j+afXSjY/Kkftz0mIjIC2LVvpCp1senmWp9wNW1PuBN1vrYo7cCVf0qkdAPYSjsbwHfd4Ptvg9Ddn8N+I3WNqZL/Ufgs8B/AJ57G9r+l5hYOWC63fc8qV0MKW71H38d+Na3uR8/4e180hfXu2ff/z7vx2eA73oL+/HtmKj/SeAT/u9DNz0m1/TjRscE+MNYLY9PYgzn78zW7C9jAOS/AhZ+fel/f84/f99X0t6tx+At3dI7nJ62OnBLt3RLT5lumcAt3dI7nG6ZwC3d0jucbpnALd3SO5xumcAt3dI7nG6ZwC3d0jucbpnALd3SO5xumcAt3dI7nP4P6zJSGJWw7owAAAAASUVORK5CYII=\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"from detectron2.engine import DefaultTrainer\n",
"\n",
"# detectron2/configs/COCO-Detection/faster_rcnn_R_50_C4_3x.yaml\n",
"cfg = get_cfg()\n",
"cfg.merge_from_file(model_zoo.get_config_file(\"COCO-Detection/faster_rcnn_R_50_C4_3x.yaml\"))\n",
"cfg.DATASETS.TRAIN = ('coco128_train')\n",
"cfg.DATASETS.TEST = ()\n",
"# cfg.MODEL.DEVICE='cpu'\n",
"cfg.DATALOADER.NUM_WORKERS = 2\n",
"cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(\"COCO-Detection/faster_rcnn_R_50_C4_3x.yaml\") # Let training initialize from model zoo\n",
"cfg.SOLVER.IMS_PER_BATCH = 2 # This is the real \"batch size\" commonly known to deep learning people\n",
"cfg.SOLVER.BASE_LR = 0.00025 # pick a good LR\n",
"cfg.SOLVER.MAX_ITER = 6000 # 300 iterations seems good enough for this toy dataset; you will need to train longer for a practical dataset\n",
"cfg.SOLVER.STEPS = [] # do not decay learning rate\n",
"cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 32 # The \"RoIHead batch size\". 128 is faster, and good enough for this toy dataset (default: 512)\n",
"cfg.MODEL.ROI_HEADS.NUM_CLASSES = len(coco128_metadata.thing_classes) # only has one class (ballon). (see https://detectron2.readthedocs.io/tutorials/datasets.html#update-the-config-for-new-datasets)\n",
"# NOTE: this config means the number of classes, but a few popular unofficial tutorials incorrect uses num_classes+1 here.\n"
],
"metadata": {
"id": "oBZQgZlLNwYo"
},
"execution_count": 51,
"outputs": []
},
{
"cell_type": "code",
"source": [
"os.makedirs(cfg.OUTPUT_DIR, exist_ok=True)\n",
"trainer = DefaultTrainer(cfg) \n",
"trainer.resume_or_load(resume=True)\n",
"trainer.train()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "jXFZfgKnNzyW",
"outputId": "e5efb11c-ba78-45ab-8e02-de7e2a11a0f6"
},
"execution_count": 52,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\u001b[32m[10/26 17:34:47 d2.engine.defaults]: \u001b[0mModel:\n",
"GeneralizedRCNN(\n",
" (backbone): ResNet(\n",
" (stem): BasicStem(\n",
" (conv1): Conv2d(\n",
" 3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" )\n",
" (res2): Sequential(\n",
" (0): BottleneckBlock(\n",
" (shortcut): Conv2d(\n",
" 64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv1): Conv2d(\n",
" 64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" )\n",
" (1): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" )\n",
" (2): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=64, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" )\n",
" )\n",
" (res3): Sequential(\n",
" (0): BottleneckBlock(\n",
" (shortcut): Conv2d(\n",
" 256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv1): Conv2d(\n",
" 256, 128, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" )\n",
" (1): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" )\n",
" (2): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" )\n",
" (3): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=128, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" )\n",
" )\n",
" (res4): Sequential(\n",
" (0): BottleneckBlock(\n",
" (shortcut): Conv2d(\n",
" 512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" (conv1): Conv2d(\n",
" 512, 256, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" (1): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" (2): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" (3): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" (4): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" (5): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=256, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=1024, eps=1e-05)\n",
" )\n",
" )\n",
" )\n",
" )\n",
" (proposal_generator): RPN(\n",
" (rpn_head): StandardRPNHead(\n",
" (conv): Conv2d(\n",
" 1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)\n",
" (activation): ReLU()\n",
" )\n",
" (objectness_logits): Conv2d(1024, 15, kernel_size=(1, 1), stride=(1, 1))\n",
" (anchor_deltas): Conv2d(1024, 60, kernel_size=(1, 1), stride=(1, 1))\n",
" )\n",
" (anchor_generator): DefaultAnchorGenerator(\n",
" (cell_anchors): BufferList()\n",
" )\n",
" )\n",
" (roi_heads): Res5ROIHeads(\n",
" (pooler): ROIPooler(\n",
" (level_poolers): ModuleList(\n",
" (0): ROIAlign(output_size=(14, 14), spatial_scale=0.0625, sampling_ratio=0, aligned=True)\n",
" )\n",
" )\n",
" (res5): Sequential(\n",
" (0): BottleneckBlock(\n",
" (shortcut): Conv2d(\n",
" 1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=2048, eps=1e-05)\n",
" )\n",
" (conv1): Conv2d(\n",
" 1024, 512, kernel_size=(1, 1), stride=(2, 2), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=2048, eps=1e-05)\n",
" )\n",
" )\n",
" (1): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=2048, eps=1e-05)\n",
" )\n",
" )\n",
" (2): BottleneckBlock(\n",
" (conv1): Conv2d(\n",
" 2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv2): Conv2d(\n",
" 512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=512, eps=1e-05)\n",
" )\n",
" (conv3): Conv2d(\n",
" 512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False\n",
" (norm): FrozenBatchNorm2d(num_features=2048, eps=1e-05)\n",
" )\n",
" )\n",
" )\n",
" (box_predictor): FastRCNNOutputLayers(\n",
" (cls_score): Linear(in_features=2048, out_features=73, bias=True)\n",
" (bbox_pred): Linear(in_features=2048, out_features=288, bias=True)\n",
" )\n",
" )\n",
")\n",
"\u001b[32m[10/26 17:34:47 d2.data.datasets.coco]: \u001b[0mLoaded 127 images in COCO format from ./COCO 128/test/_annotations.coco.json\n",
"\u001b[32m[10/26 17:34:47 d2.data.build]: \u001b[0mRemoved 2 images with no usable annotations. 125 images left.\n",
"\u001b[32m[10/26 17:34:47 d2.data.dataset_mapper]: \u001b[0m[DatasetMapper] Augmentations used in training: [ResizeShortestEdge(short_edge_length=(640, 672, 704, 736, 768, 800), max_size=1333, sample_style='choice'), RandomFlip()]\n",
"\u001b[32m[10/26 17:34:47 d2.data.build]: \u001b[0mUsing training sampler TrainingSampler\n",
"\u001b[32m[10/26 17:34:47 d2.data.common]: \u001b[0mSerializing 125 elements to byte tensors and concatenating them all ...\n",
"\u001b[32m[10/26 17:34:47 d2.data.common]: \u001b[0mSerialized dataset takes 0.06 MiB\n",
"\u001b[32m[10/26 17:34:47 d2.checkpoint.c2_model_loading]: \u001b[0mFollowing weights matched with model:\n",
"| Names in Model | Names in Checkpoint | Shapes |\n",
"|:------------------------------------------------|:--------------------------------------------------------------------------------------------|:------------------------------------------------|\n",
"| backbone.res2.0.conv1.* | backbone.res2.0.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,64,1,1) |\n",
"| backbone.res2.0.conv2.* | backbone.res2.0.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,64,3,3) |\n",
"| backbone.res2.0.conv3.* | backbone.res2.0.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,64,1,1) |\n",
"| backbone.res2.0.shortcut.* | backbone.res2.0.shortcut.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,64,1,1) |\n",
"| backbone.res2.1.conv1.* | backbone.res2.1.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,256,1,1) |\n",
"| backbone.res2.1.conv2.* | backbone.res2.1.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,64,3,3) |\n",
"| backbone.res2.1.conv3.* | backbone.res2.1.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,64,1,1) |\n",
"| backbone.res2.2.conv1.* | backbone.res2.2.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,256,1,1) |\n",
"| backbone.res2.2.conv2.* | backbone.res2.2.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,64,3,3) |\n",
"| backbone.res2.2.conv3.* | backbone.res2.2.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,64,1,1) |\n",
"| backbone.res3.0.conv1.* | backbone.res3.0.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,256,1,1) |\n",
"| backbone.res3.0.conv2.* | backbone.res3.0.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,128,3,3) |\n",
"| backbone.res3.0.conv3.* | backbone.res3.0.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,128,1,1) |\n",
"| backbone.res3.0.shortcut.* | backbone.res3.0.shortcut.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,256,1,1) |\n",
"| backbone.res3.1.conv1.* | backbone.res3.1.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,512,1,1) |\n",
"| backbone.res3.1.conv2.* | backbone.res3.1.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,128,3,3) |\n",
"| backbone.res3.1.conv3.* | backbone.res3.1.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,128,1,1) |\n",
"| backbone.res3.2.conv1.* | backbone.res3.2.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,512,1,1) |\n",
"| backbone.res3.2.conv2.* | backbone.res3.2.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,128,3,3) |\n",
"| backbone.res3.2.conv3.* | backbone.res3.2.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,128,1,1) |\n",
"| backbone.res3.3.conv1.* | backbone.res3.3.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,512,1,1) |\n",
"| backbone.res3.3.conv2.* | backbone.res3.3.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (128,) (128,) (128,) (128,) (128,128,3,3) |\n",
"| backbone.res3.3.conv3.* | backbone.res3.3.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,128,1,1) |\n",
"| backbone.res4.0.conv1.* | backbone.res4.0.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,512,1,1) |\n",
"| backbone.res4.0.conv2.* | backbone.res4.0.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.0.conv3.* | backbone.res4.0.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.res4.0.shortcut.* | backbone.res4.0.shortcut.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,512,1,1) |\n",
"| backbone.res4.1.conv1.* | backbone.res4.1.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,1024,1,1) |\n",
"| backbone.res4.1.conv2.* | backbone.res4.1.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.1.conv3.* | backbone.res4.1.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.res4.2.conv1.* | backbone.res4.2.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,1024,1,1) |\n",
"| backbone.res4.2.conv2.* | backbone.res4.2.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.2.conv3.* | backbone.res4.2.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.res4.3.conv1.* | backbone.res4.3.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,1024,1,1) |\n",
"| backbone.res4.3.conv2.* | backbone.res4.3.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.3.conv3.* | backbone.res4.3.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.res4.4.conv1.* | backbone.res4.4.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,1024,1,1) |\n",
"| backbone.res4.4.conv2.* | backbone.res4.4.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.4.conv3.* | backbone.res4.4.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.res4.5.conv1.* | backbone.res4.5.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,1024,1,1) |\n",
"| backbone.res4.5.conv2.* | backbone.res4.5.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (256,) (256,) (256,) (256,) (256,256,3,3) |\n",
"| backbone.res4.5.conv3.* | backbone.res4.5.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (1024,) (1024,) (1024,) (1024,) (1024,256,1,1) |\n",
"| backbone.stem.conv1.* | backbone.stem.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (64,) (64,) (64,) (64,) (64,3,7,7) |\n",
"| proposal_generator.rpn_head.anchor_deltas.* | proposal_generator.rpn_head.anchor_deltas.{bias,weight} | (60,) (60,1024,1,1) |\n",
"| proposal_generator.rpn_head.conv.* | proposal_generator.rpn_head.conv.{bias,weight} | (1024,) (1024,1024,3,3) |\n",
"| proposal_generator.rpn_head.objectness_logits.* | proposal_generator.rpn_head.objectness_logits.{bias,weight} | (15,) (15,1024,1,1) |\n",
"| roi_heads.box_predictor.bbox_pred.* | roi_heads.box_predictor.bbox_pred.{bias,weight} | (288,) (288,2048) |\n",
"| roi_heads.box_predictor.cls_score.* | roi_heads.box_predictor.cls_score.{bias,weight} | (73,) (73,2048) |\n",
"| roi_heads.res5.0.conv1.* | roi_heads.res5.0.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,1024,1,1) |\n",
"| roi_heads.res5.0.conv2.* | roi_heads.res5.0.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,512,3,3) |\n",
"| roi_heads.res5.0.conv3.* | roi_heads.res5.0.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (2048,) (2048,) (2048,) (2048,) (2048,512,1,1) |\n",
"| roi_heads.res5.0.shortcut.* | roi_heads.res5.0.shortcut.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (2048,) (2048,) (2048,) (2048,) (2048,1024,1,1) |\n",
"| roi_heads.res5.1.conv1.* | roi_heads.res5.1.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,2048,1,1) |\n",
"| roi_heads.res5.1.conv2.* | roi_heads.res5.1.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,512,3,3) |\n",
"| roi_heads.res5.1.conv3.* | roi_heads.res5.1.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (2048,) (2048,) (2048,) (2048,) (2048,512,1,1) |\n",
"| roi_heads.res5.2.conv1.* | roi_heads.res5.2.conv1.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,2048,1,1) |\n",
"| roi_heads.res5.2.conv2.* | roi_heads.res5.2.conv2.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (512,) (512,) (512,) (512,) (512,512,3,3) |\n",
"| roi_heads.res5.2.conv3.* | roi_heads.res5.2.conv3.{norm.bias,norm.running_mean,norm.running_var,norm.weight,weight} | (2048,) (2048,) (2048,) (2048,) (2048,512,1,1) |\n",
"\u001b[32m[10/26 17:34:47 d2.engine.hooks]: \u001b[0mLoading scheduler from state_dict ...\n",
"\u001b[32m[10/26 17:34:47 d2.engine.train_loop]: \u001b[0mStarting training from iteration 3000\n",
"\u001b[32m[10/26 17:34:53 d2.utils.events]: \u001b[0m eta: 0:13:03 iter: 3019 total_loss: 0.4903 loss_cls: 0.09277 loss_box_reg: 0.3454 loss_rpn_cls: 0.02093 loss_rpn_loc: 0.04375 time: 0.2673 data_time: 0.0179 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:34:58 d2.utils.events]: \u001b[0m eta: 0:13:03 iter: 3039 total_loss: 0.5703 loss_cls: 0.1089 loss_box_reg: 0.3821 loss_rpn_cls: 0.02447 loss_rpn_loc: 0.06685 time: 0.2659 data_time: 0.0097 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:04 d2.utils.events]: \u001b[0m eta: 0:13:05 iter: 3059 total_loss: 0.6338 loss_cls: 0.1342 loss_box_reg: 0.3479 loss_rpn_cls: 0.02851 loss_rpn_loc: 0.0782 time: 0.2698 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:09 d2.utils.events]: \u001b[0m eta: 0:13:06 iter: 3079 total_loss: 0.4715 loss_cls: 0.05406 loss_box_reg: 0.3128 loss_rpn_cls: 0.01948 loss_rpn_loc: 0.03512 time: 0.2709 data_time: 0.0068 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:15 d2.utils.events]: \u001b[0m eta: 0:13:02 iter: 3099 total_loss: 0.5409 loss_cls: 0.08743 loss_box_reg: 0.3486 loss_rpn_cls: 0.02262 loss_rpn_loc: 0.07508 time: 0.2727 data_time: 0.0094 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:21 d2.utils.events]: \u001b[0m eta: 0:12:57 iter: 3119 total_loss: 0.5498 loss_cls: 0.1048 loss_box_reg: 0.3651 loss_rpn_cls: 0.02231 loss_rpn_loc: 0.06321 time: 0.2738 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:26 d2.utils.events]: \u001b[0m eta: 0:12:57 iter: 3139 total_loss: 0.5756 loss_cls: 0.1211 loss_box_reg: 0.3623 loss_rpn_cls: 0.02571 loss_rpn_loc: 0.05551 time: 0.2752 data_time: 0.0079 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:32 d2.utils.events]: \u001b[0m eta: 0:12:54 iter: 3159 total_loss: 0.4281 loss_cls: 0.04554 loss_box_reg: 0.3309 loss_rpn_cls: 0.01813 loss_rpn_loc: 0.05042 time: 0.2754 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:37 d2.utils.events]: \u001b[0m eta: 0:12:47 iter: 3179 total_loss: 0.5209 loss_cls: 0.07041 loss_box_reg: 0.3596 loss_rpn_cls: 0.0265 loss_rpn_loc: 0.05808 time: 0.2753 data_time: 0.0088 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:43 d2.utils.events]: \u001b[0m eta: 0:12:42 iter: 3199 total_loss: 0.4797 loss_cls: 0.0873 loss_box_reg: 0.3168 loss_rpn_cls: 0.01673 loss_rpn_loc: 0.07259 time: 0.2761 data_time: 0.0070 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:49 d2.utils.events]: \u001b[0m eta: 0:12:36 iter: 3219 total_loss: 0.5054 loss_cls: 0.0895 loss_box_reg: 0.3338 loss_rpn_cls: 0.01756 loss_rpn_loc: 0.06376 time: 0.2758 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:54 d2.utils.events]: \u001b[0m eta: 0:12:30 iter: 3239 total_loss: 0.5492 loss_cls: 0.09732 loss_box_reg: 0.376 loss_rpn_cls: 0.03422 loss_rpn_loc: 0.06513 time: 0.2756 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:35:59 d2.utils.events]: \u001b[0m eta: 0:12:22 iter: 3259 total_loss: 0.4629 loss_cls: 0.07259 loss_box_reg: 0.3189 loss_rpn_cls: 0.02724 loss_rpn_loc: 0.05072 time: 0.2746 data_time: 0.0074 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:05 d2.utils.events]: \u001b[0m eta: 0:12:16 iter: 3279 total_loss: 0.5505 loss_cls: 0.07305 loss_box_reg: 0.3612 loss_rpn_cls: 0.02339 loss_rpn_loc: 0.07791 time: 0.2744 data_time: 0.0099 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:10 d2.utils.events]: \u001b[0m eta: 0:12:10 iter: 3299 total_loss: 0.5367 loss_cls: 0.09089 loss_box_reg: 0.3495 loss_rpn_cls: 0.02318 loss_rpn_loc: 0.05924 time: 0.2742 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:16 d2.utils.events]: \u001b[0m eta: 0:12:04 iter: 3319 total_loss: 0.4652 loss_cls: 0.07461 loss_box_reg: 0.3131 loss_rpn_cls: 0.02059 loss_rpn_loc: 0.05838 time: 0.2740 data_time: 0.0075 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:21 d2.utils.events]: \u001b[0m eta: 0:11:58 iter: 3339 total_loss: 0.5061 loss_cls: 0.09015 loss_box_reg: 0.345 loss_rpn_cls: 0.01917 loss_rpn_loc: 0.04807 time: 0.2737 data_time: 0.0072 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:26 d2.utils.events]: \u001b[0m eta: 0:11:52 iter: 3359 total_loss: 0.5039 loss_cls: 0.09035 loss_box_reg: 0.3433 loss_rpn_cls: 0.02065 loss_rpn_loc: 0.06037 time: 0.2734 data_time: 0.0082 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:32 d2.utils.events]: \u001b[0m eta: 0:11:47 iter: 3379 total_loss: 0.477 loss_cls: 0.1072 loss_box_reg: 0.2735 loss_rpn_cls: 0.02109 loss_rpn_loc: 0.05881 time: 0.2734 data_time: 0.0105 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:37 d2.utils.events]: \u001b[0m eta: 0:11:42 iter: 3399 total_loss: 0.477 loss_cls: 0.08382 loss_box_reg: 0.3138 loss_rpn_cls: 0.02045 loss_rpn_loc: 0.0604 time: 0.2736 data_time: 0.0093 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:43 d2.utils.events]: \u001b[0m eta: 0:11:36 iter: 3419 total_loss: 0.5695 loss_cls: 0.0932 loss_box_reg: 0.3295 loss_rpn_cls: 0.01767 loss_rpn_loc: 0.07534 time: 0.2736 data_time: 0.0095 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:48 d2.utils.events]: \u001b[0m eta: 0:11:30 iter: 3439 total_loss: 0.4784 loss_cls: 0.08612 loss_box_reg: 0.3393 loss_rpn_cls: 0.02303 loss_rpn_loc: 0.05713 time: 0.2731 data_time: 0.0056 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:54 d2.utils.events]: \u001b[0m eta: 0:11:25 iter: 3459 total_loss: 0.5509 loss_cls: 0.07741 loss_box_reg: 0.3501 loss_rpn_cls: 0.01745 loss_rpn_loc: 0.07796 time: 0.2735 data_time: 0.0071 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:36:59 d2.utils.events]: \u001b[0m eta: 0:11:19 iter: 3479 total_loss: 0.5047 loss_cls: 0.08964 loss_box_reg: 0.3187 loss_rpn_cls: 0.02557 loss_rpn_loc: 0.06242 time: 0.2732 data_time: 0.0067 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:05 d2.utils.events]: \u001b[0m eta: 0:11:14 iter: 3499 total_loss: 0.4476 loss_cls: 0.04013 loss_box_reg: 0.3182 loss_rpn_cls: 0.02149 loss_rpn_loc: 0.05342 time: 0.2738 data_time: 0.0112 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:10 d2.utils.events]: \u001b[0m eta: 0:11:09 iter: 3519 total_loss: 0.4422 loss_cls: 0.06536 loss_box_reg: 0.2942 loss_rpn_cls: 0.01499 loss_rpn_loc: 0.04932 time: 0.2739 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:16 d2.utils.events]: \u001b[0m eta: 0:11:03 iter: 3539 total_loss: 0.5446 loss_cls: 0.1085 loss_box_reg: 0.3585 loss_rpn_cls: 0.02292 loss_rpn_loc: 0.06726 time: 0.2739 data_time: 0.0091 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:21 d2.utils.events]: \u001b[0m eta: 0:10:58 iter: 3559 total_loss: 0.4978 loss_cls: 0.05804 loss_box_reg: 0.3276 loss_rpn_cls: 0.02338 loss_rpn_loc: 0.06666 time: 0.2736 data_time: 0.0092 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:27 d2.utils.events]: \u001b[0m eta: 0:10:52 iter: 3579 total_loss: 0.4764 loss_cls: 0.08554 loss_box_reg: 0.3249 loss_rpn_cls: 0.01826 loss_rpn_loc: 0.05522 time: 0.2735 data_time: 0.0081 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:32 d2.utils.events]: \u001b[0m eta: 0:10:47 iter: 3599 total_loss: 0.5167 loss_cls: 0.09568 loss_box_reg: 0.3312 loss_rpn_cls: 0.02192 loss_rpn_loc: 0.04788 time: 0.2735 data_time: 0.0073 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:38 d2.utils.events]: \u001b[0m eta: 0:10:41 iter: 3619 total_loss: 0.4521 loss_cls: 0.08045 loss_box_reg: 0.3081 loss_rpn_cls: 0.0129 loss_rpn_loc: 0.05823 time: 0.2735 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:43 d2.utils.events]: \u001b[0m eta: 0:10:36 iter: 3639 total_loss: 0.5016 loss_cls: 0.07649 loss_box_reg: 0.3251 loss_rpn_cls: 0.0194 loss_rpn_loc: 0.05881 time: 0.2736 data_time: 0.0078 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:49 d2.utils.events]: \u001b[0m eta: 0:10:31 iter: 3659 total_loss: 0.4493 loss_cls: 0.06744 loss_box_reg: 0.3131 loss_rpn_cls: 0.01562 loss_rpn_loc: 0.05407 time: 0.2737 data_time: 0.0061 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:37:54 d2.utils.events]: \u001b[0m eta: 0:10:25 iter: 3679 total_loss: 0.4298 loss_cls: 0.07271 loss_box_reg: 0.2991 loss_rpn_cls: 0.01486 loss_rpn_loc: 0.05416 time: 0.2739 data_time: 0.0071 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:00 d2.utils.events]: \u001b[0m eta: 0:10:20 iter: 3699 total_loss: 0.4928 loss_cls: 0.08305 loss_box_reg: 0.3478 loss_rpn_cls: 0.02416 loss_rpn_loc: 0.05304 time: 0.2738 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:05 d2.utils.events]: \u001b[0m eta: 0:10:15 iter: 3719 total_loss: 0.4441 loss_cls: 0.07093 loss_box_reg: 0.2925 loss_rpn_cls: 0.02187 loss_rpn_loc: 0.05362 time: 0.2739 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:11 d2.utils.events]: \u001b[0m eta: 0:10:09 iter: 3739 total_loss: 0.4877 loss_cls: 0.09262 loss_box_reg: 0.3268 loss_rpn_cls: 0.02067 loss_rpn_loc: 0.056 time: 0.2737 data_time: 0.0067 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:16 d2.utils.events]: \u001b[0m eta: 0:10:04 iter: 3759 total_loss: 0.4211 loss_cls: 0.04724 loss_box_reg: 0.2948 loss_rpn_cls: 0.009575 loss_rpn_loc: 0.04344 time: 0.2738 data_time: 0.0079 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:22 d2.utils.events]: \u001b[0m eta: 0:09:58 iter: 3779 total_loss: 0.4693 loss_cls: 0.08507 loss_box_reg: 0.3135 loss_rpn_cls: 0.01149 loss_rpn_loc: 0.04851 time: 0.2738 data_time: 0.0070 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:27 d2.utils.events]: \u001b[0m eta: 0:09:53 iter: 3799 total_loss: 0.46 loss_cls: 0.07018 loss_box_reg: 0.3227 loss_rpn_cls: 0.02253 loss_rpn_loc: 0.05903 time: 0.2737 data_time: 0.0096 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:33 d2.utils.events]: \u001b[0m eta: 0:09:48 iter: 3819 total_loss: 0.4587 loss_cls: 0.06853 loss_box_reg: 0.3039 loss_rpn_cls: 0.01457 loss_rpn_loc: 0.05259 time: 0.2736 data_time: 0.0069 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:38 d2.utils.events]: \u001b[0m eta: 0:09:42 iter: 3839 total_loss: 0.4813 loss_cls: 0.07949 loss_box_reg: 0.3019 loss_rpn_cls: 0.01773 loss_rpn_loc: 0.05792 time: 0.2736 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:44 d2.utils.events]: \u001b[0m eta: 0:09:37 iter: 3859 total_loss: 0.4959 loss_cls: 0.05875 loss_box_reg: 0.3134 loss_rpn_cls: 0.01573 loss_rpn_loc: 0.06238 time: 0.2735 data_time: 0.0078 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:49 d2.utils.events]: \u001b[0m eta: 0:09:31 iter: 3879 total_loss: 0.4692 loss_cls: 0.0566 loss_box_reg: 0.3303 loss_rpn_cls: 0.0127 loss_rpn_loc: 0.0525 time: 0.2735 data_time: 0.0081 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:38:55 d2.utils.events]: \u001b[0m eta: 0:09:26 iter: 3899 total_loss: 0.4207 loss_cls: 0.06064 loss_box_reg: 0.2884 loss_rpn_cls: 0.02207 loss_rpn_loc: 0.06445 time: 0.2736 data_time: 0.0085 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:00 d2.utils.events]: \u001b[0m eta: 0:09:20 iter: 3919 total_loss: 0.4555 loss_cls: 0.08381 loss_box_reg: 0.3213 loss_rpn_cls: 0.01724 loss_rpn_loc: 0.05097 time: 0.2735 data_time: 0.0069 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:05 d2.utils.events]: \u001b[0m eta: 0:09:15 iter: 3939 total_loss: 0.5205 loss_cls: 0.09273 loss_box_reg: 0.3303 loss_rpn_cls: 0.02217 loss_rpn_loc: 0.07379 time: 0.2735 data_time: 0.0081 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:11 d2.utils.events]: \u001b[0m eta: 0:09:09 iter: 3959 total_loss: 0.4886 loss_cls: 0.07284 loss_box_reg: 0.3547 loss_rpn_cls: 0.02329 loss_rpn_loc: 0.06189 time: 0.2734 data_time: 0.0075 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:16 d2.utils.events]: \u001b[0m eta: 0:09:04 iter: 3979 total_loss: 0.3984 loss_cls: 0.07359 loss_box_reg: 0.2426 loss_rpn_cls: 0.01945 loss_rpn_loc: 0.05206 time: 0.2734 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:22 d2.utils.events]: \u001b[0m eta: 0:08:59 iter: 3999 total_loss: 0.4892 loss_cls: 0.1062 loss_box_reg: 0.272 loss_rpn_cls: 0.02002 loss_rpn_loc: 0.05404 time: 0.2734 data_time: 0.0087 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:27 d2.utils.events]: \u001b[0m eta: 0:08:53 iter: 4019 total_loss: 0.453 loss_cls: 0.09545 loss_box_reg: 0.2617 loss_rpn_cls: 0.01627 loss_rpn_loc: 0.05459 time: 0.2733 data_time: 0.0082 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:33 d2.utils.events]: \u001b[0m eta: 0:08:48 iter: 4039 total_loss: 0.4841 loss_cls: 0.07651 loss_box_reg: 0.3308 loss_rpn_cls: 0.02643 loss_rpn_loc: 0.05954 time: 0.2733 data_time: 0.0069 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:38 d2.utils.events]: \u001b[0m eta: 0:08:43 iter: 4059 total_loss: 0.4052 loss_cls: 0.06102 loss_box_reg: 0.3039 loss_rpn_cls: 0.01866 loss_rpn_loc: 0.05422 time: 0.2735 data_time: 0.0105 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:44 d2.utils.events]: \u001b[0m eta: 0:08:37 iter: 4079 total_loss: 0.436 loss_cls: 0.0763 loss_box_reg: 0.2926 loss_rpn_cls: 0.01742 loss_rpn_loc: 0.0502 time: 0.2735 data_time: 0.0065 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:49 d2.utils.events]: \u001b[0m eta: 0:08:32 iter: 4099 total_loss: 0.4431 loss_cls: 0.05964 loss_box_reg: 0.3049 loss_rpn_cls: 0.01748 loss_rpn_loc: 0.0825 time: 0.2736 data_time: 0.0102 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:39:55 d2.utils.events]: \u001b[0m eta: 0:08:26 iter: 4119 total_loss: 0.4157 loss_cls: 0.04961 loss_box_reg: 0.2911 loss_rpn_cls: 0.01559 loss_rpn_loc: 0.04741 time: 0.2736 data_time: 0.0074 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:00 d2.utils.events]: \u001b[0m eta: 0:08:21 iter: 4139 total_loss: 0.4625 loss_cls: 0.08531 loss_box_reg: 0.2957 loss_rpn_cls: 0.01289 loss_rpn_loc: 0.05823 time: 0.2736 data_time: 0.0108 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:06 d2.utils.events]: \u001b[0m eta: 0:08:15 iter: 4159 total_loss: 0.4939 loss_cls: 0.09107 loss_box_reg: 0.2955 loss_rpn_cls: 0.02159 loss_rpn_loc: 0.07324 time: 0.2736 data_time: 0.0068 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:11 d2.utils.events]: \u001b[0m eta: 0:08:10 iter: 4179 total_loss: 0.485 loss_cls: 0.0956 loss_box_reg: 0.3306 loss_rpn_cls: 0.01695 loss_rpn_loc: 0.0487 time: 0.2736 data_time: 0.0065 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:17 d2.utils.events]: \u001b[0m eta: 0:08:04 iter: 4199 total_loss: 0.4789 loss_cls: 0.07494 loss_box_reg: 0.2982 loss_rpn_cls: 0.01526 loss_rpn_loc: 0.05221 time: 0.2737 data_time: 0.0067 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:22 d2.utils.events]: \u001b[0m eta: 0:07:58 iter: 4219 total_loss: 0.4461 loss_cls: 0.08643 loss_box_reg: 0.2969 loss_rpn_cls: 0.01656 loss_rpn_loc: 0.04762 time: 0.2736 data_time: 0.0091 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:28 d2.utils.events]: \u001b[0m eta: 0:07:53 iter: 4239 total_loss: 0.4673 loss_cls: 0.07927 loss_box_reg: 0.2992 loss_rpn_cls: 0.01427 loss_rpn_loc: 0.06911 time: 0.2737 data_time: 0.0083 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:33 d2.utils.events]: \u001b[0m eta: 0:07:48 iter: 4259 total_loss: 0.433 loss_cls: 0.07281 loss_box_reg: 0.2806 loss_rpn_cls: 0.01502 loss_rpn_loc: 0.04464 time: 0.2738 data_time: 0.0087 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:39 d2.utils.events]: \u001b[0m eta: 0:07:42 iter: 4279 total_loss: 0.4497 loss_cls: 0.08601 loss_box_reg: 0.2954 loss_rpn_cls: 0.02058 loss_rpn_loc: 0.05233 time: 0.2738 data_time: 0.0092 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:45 d2.utils.events]: \u001b[0m eta: 0:07:37 iter: 4299 total_loss: 0.4176 loss_cls: 0.06235 loss_box_reg: 0.285 loss_rpn_cls: 0.01803 loss_rpn_loc: 0.05711 time: 0.2739 data_time: 0.0072 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:50 d2.utils.events]: \u001b[0m eta: 0:07:32 iter: 4319 total_loss: 0.3652 loss_cls: 0.03429 loss_box_reg: 0.2795 loss_rpn_cls: 0.01397 loss_rpn_loc: 0.03755 time: 0.2741 data_time: 0.0125 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:40:56 d2.utils.events]: \u001b[0m eta: 0:07:27 iter: 4339 total_loss: 0.4294 loss_cls: 0.07279 loss_box_reg: 0.2672 loss_rpn_cls: 0.01921 loss_rpn_loc: 0.05965 time: 0.2742 data_time: 0.0103 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:02 d2.utils.events]: \u001b[0m eta: 0:07:22 iter: 4359 total_loss: 0.4539 loss_cls: 0.06666 loss_box_reg: 0.2948 loss_rpn_cls: 0.01188 loss_rpn_loc: 0.04368 time: 0.2742 data_time: 0.0067 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:07 d2.utils.events]: \u001b[0m eta: 0:07:16 iter: 4379 total_loss: 0.3987 loss_cls: 0.06606 loss_box_reg: 0.2611 loss_rpn_cls: 0.01311 loss_rpn_loc: 0.04701 time: 0.2742 data_time: 0.0085 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:13 d2.utils.events]: \u001b[0m eta: 0:07:11 iter: 4399 total_loss: 0.481 loss_cls: 0.05882 loss_box_reg: 0.2992 loss_rpn_cls: 0.0175 loss_rpn_loc: 0.06997 time: 0.2744 data_time: 0.0079 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:18 d2.utils.events]: \u001b[0m eta: 0:07:06 iter: 4419 total_loss: 0.4351 loss_cls: 0.09245 loss_box_reg: 0.2824 loss_rpn_cls: 0.02016 loss_rpn_loc: 0.04817 time: 0.2744 data_time: 0.0106 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:24 d2.utils.events]: \u001b[0m eta: 0:07:01 iter: 4439 total_loss: 0.4496 loss_cls: 0.07476 loss_box_reg: 0.2909 loss_rpn_cls: 0.02146 loss_rpn_loc: 0.06435 time: 0.2745 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:29 d2.utils.events]: \u001b[0m eta: 0:06:55 iter: 4459 total_loss: 0.3861 loss_cls: 0.04806 loss_box_reg: 0.2917 loss_rpn_cls: 0.009052 loss_rpn_loc: 0.04202 time: 0.2745 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:35 d2.utils.events]: \u001b[0m eta: 0:06:50 iter: 4479 total_loss: 0.4948 loss_cls: 0.07406 loss_box_reg: 0.3288 loss_rpn_cls: 0.0161 loss_rpn_loc: 0.06046 time: 0.2745 data_time: 0.0088 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:41 d2.utils.events]: \u001b[0m eta: 0:06:44 iter: 4499 total_loss: 0.4427 loss_cls: 0.06304 loss_box_reg: 0.2957 loss_rpn_cls: 0.01921 loss_rpn_loc: 0.05985 time: 0.2746 data_time: 0.0078 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:46 d2.utils.events]: \u001b[0m eta: 0:06:39 iter: 4519 total_loss: 0.4456 loss_cls: 0.08708 loss_box_reg: 0.3019 loss_rpn_cls: 0.01268 loss_rpn_loc: 0.04631 time: 0.2746 data_time: 0.0098 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:52 d2.utils.events]: \u001b[0m eta: 0:06:34 iter: 4539 total_loss: 0.4203 loss_cls: 0.07548 loss_box_reg: 0.2787 loss_rpn_cls: 0.0196 loss_rpn_loc: 0.05874 time: 0.2746 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:41:57 d2.utils.events]: \u001b[0m eta: 0:06:29 iter: 4559 total_loss: 0.4157 loss_cls: 0.06088 loss_box_reg: 0.2766 loss_rpn_cls: 0.0134 loss_rpn_loc: 0.06251 time: 0.2746 data_time: 0.0074 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:03 d2.utils.events]: \u001b[0m eta: 0:06:23 iter: 4579 total_loss: 0.4727 loss_cls: 0.07677 loss_box_reg: 0.3305 loss_rpn_cls: 0.0232 loss_rpn_loc: 0.06665 time: 0.2747 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:08 d2.utils.events]: \u001b[0m eta: 0:06:18 iter: 4599 total_loss: 0.4295 loss_cls: 0.08355 loss_box_reg: 0.2684 loss_rpn_cls: 0.01593 loss_rpn_loc: 0.0566 time: 0.2746 data_time: 0.0102 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:14 d2.utils.events]: \u001b[0m eta: 0:06:13 iter: 4619 total_loss: 0.3763 loss_cls: 0.07897 loss_box_reg: 0.2605 loss_rpn_cls: 0.01024 loss_rpn_loc: 0.04371 time: 0.2746 data_time: 0.0077 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:19 d2.utils.events]: \u001b[0m eta: 0:06:07 iter: 4639 total_loss: 0.4218 loss_cls: 0.05407 loss_box_reg: 0.2675 loss_rpn_cls: 0.01683 loss_rpn_loc: 0.03822 time: 0.2746 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:24 d2.utils.events]: \u001b[0m eta: 0:06:01 iter: 4659 total_loss: 0.4343 loss_cls: 0.06322 loss_box_reg: 0.2998 loss_rpn_cls: 0.018 loss_rpn_loc: 0.05129 time: 0.2745 data_time: 0.0074 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:30 d2.utils.events]: \u001b[0m eta: 0:05:56 iter: 4679 total_loss: 0.4109 loss_cls: 0.06712 loss_box_reg: 0.262 loss_rpn_cls: 0.01876 loss_rpn_loc: 0.04907 time: 0.2745 data_time: 0.0099 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:35 d2.utils.events]: \u001b[0m eta: 0:05:51 iter: 4699 total_loss: 0.4176 loss_cls: 0.06613 loss_box_reg: 0.2639 loss_rpn_cls: 0.01157 loss_rpn_loc: 0.04757 time: 0.2744 data_time: 0.0077 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:41 d2.utils.events]: \u001b[0m eta: 0:05:45 iter: 4719 total_loss: 0.4441 loss_cls: 0.07148 loss_box_reg: 0.2674 loss_rpn_cls: 0.01786 loss_rpn_loc: 0.05247 time: 0.2744 data_time: 0.0093 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:46 d2.utils.events]: \u001b[0m eta: 0:05:40 iter: 4739 total_loss: 0.395 loss_cls: 0.04614 loss_box_reg: 0.2723 loss_rpn_cls: 0.01672 loss_rpn_loc: 0.0465 time: 0.2745 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:52 d2.utils.events]: \u001b[0m eta: 0:05:34 iter: 4759 total_loss: 0.44 loss_cls: 0.07299 loss_box_reg: 0.2859 loss_rpn_cls: 0.01445 loss_rpn_loc: 0.05501 time: 0.2745 data_time: 0.0087 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:42:57 d2.utils.events]: \u001b[0m eta: 0:05:29 iter: 4779 total_loss: 0.4814 loss_cls: 0.08843 loss_box_reg: 0.2946 loss_rpn_cls: 0.01842 loss_rpn_loc: 0.05888 time: 0.2745 data_time: 0.0099 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:03 d2.utils.events]: \u001b[0m eta: 0:05:24 iter: 4799 total_loss: 0.4346 loss_cls: 0.05714 loss_box_reg: 0.2582 loss_rpn_cls: 0.01788 loss_rpn_loc: 0.07045 time: 0.2746 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:09 d2.utils.events]: \u001b[0m eta: 0:05:18 iter: 4819 total_loss: 0.402 loss_cls: 0.0533 loss_box_reg: 0.2754 loss_rpn_cls: 0.01522 loss_rpn_loc: 0.04772 time: 0.2746 data_time: 0.0084 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:14 d2.utils.events]: \u001b[0m eta: 0:05:13 iter: 4839 total_loss: 0.3891 loss_cls: 0.04672 loss_box_reg: 0.2848 loss_rpn_cls: 0.01624 loss_rpn_loc: 0.04522 time: 0.2745 data_time: 0.0082 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:19 d2.utils.events]: \u001b[0m eta: 0:05:07 iter: 4859 total_loss: 0.3876 loss_cls: 0.05086 loss_box_reg: 0.2761 loss_rpn_cls: 0.01535 loss_rpn_loc: 0.05058 time: 0.2745 data_time: 0.0070 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:25 d2.utils.events]: \u001b[0m eta: 0:05:02 iter: 4879 total_loss: 0.4412 loss_cls: 0.07478 loss_box_reg: 0.2844 loss_rpn_cls: 0.01695 loss_rpn_loc: 0.05215 time: 0.2744 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:30 d2.utils.events]: \u001b[0m eta: 0:04:57 iter: 4899 total_loss: 0.3876 loss_cls: 0.05775 loss_box_reg: 0.2717 loss_rpn_cls: 0.01278 loss_rpn_loc: 0.0554 time: 0.2745 data_time: 0.0092 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:36 d2.utils.events]: \u001b[0m eta: 0:04:51 iter: 4919 total_loss: 0.437 loss_cls: 0.06676 loss_box_reg: 0.2663 loss_rpn_cls: 0.02123 loss_rpn_loc: 0.06581 time: 0.2746 data_time: 0.0082 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:42 d2.utils.events]: \u001b[0m eta: 0:04:46 iter: 4939 total_loss: 0.4333 loss_cls: 0.06099 loss_box_reg: 0.2894 loss_rpn_cls: 0.01352 loss_rpn_loc: 0.05645 time: 0.2746 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:47 d2.utils.events]: \u001b[0m eta: 0:04:41 iter: 4959 total_loss: 0.4364 loss_cls: 0.08543 loss_box_reg: 0.2974 loss_rpn_cls: 0.01946 loss_rpn_loc: 0.05615 time: 0.2746 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:53 d2.utils.events]: \u001b[0m eta: 0:04:35 iter: 4979 total_loss: 0.3825 loss_cls: 0.06526 loss_box_reg: 0.2486 loss_rpn_cls: 0.008138 loss_rpn_loc: 0.0453 time: 0.2746 data_time: 0.0098 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:43:59 d2.utils.events]: \u001b[0m eta: 0:04:30 iter: 4999 total_loss: 0.4215 loss_cls: 0.08592 loss_box_reg: 0.3017 loss_rpn_cls: 0.01648 loss_rpn_loc: 0.05022 time: 0.2746 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:05 d2.utils.events]: \u001b[0m eta: 0:04:24 iter: 5019 total_loss: 0.4548 loss_cls: 0.06725 loss_box_reg: 0.2667 loss_rpn_cls: 0.01336 loss_rpn_loc: 0.05461 time: 0.2745 data_time: 0.0107 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:10 d2.utils.events]: \u001b[0m eta: 0:04:19 iter: 5039 total_loss: 0.3658 loss_cls: 0.05946 loss_box_reg: 0.2505 loss_rpn_cls: 0.01288 loss_rpn_loc: 0.05657 time: 0.2745 data_time: 0.0072 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:15 d2.utils.events]: \u001b[0m eta: 0:04:13 iter: 5059 total_loss: 0.4134 loss_cls: 0.05636 loss_box_reg: 0.2604 loss_rpn_cls: 0.01299 loss_rpn_loc: 0.04262 time: 0.2744 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:21 d2.utils.events]: \u001b[0m eta: 0:04:08 iter: 5079 total_loss: 0.4422 loss_cls: 0.06066 loss_box_reg: 0.2937 loss_rpn_cls: 0.01297 loss_rpn_loc: 0.0636 time: 0.2743 data_time: 0.0060 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:26 d2.utils.events]: \u001b[0m eta: 0:04:02 iter: 5099 total_loss: 0.4172 loss_cls: 0.07661 loss_box_reg: 0.2781 loss_rpn_cls: 0.01372 loss_rpn_loc: 0.04348 time: 0.2743 data_time: 0.0068 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:32 d2.utils.events]: \u001b[0m eta: 0:03:57 iter: 5119 total_loss: 0.4677 loss_cls: 0.08113 loss_box_reg: 0.2773 loss_rpn_cls: 0.01437 loss_rpn_loc: 0.0533 time: 0.2744 data_time: 0.0113 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:38 d2.utils.events]: \u001b[0m eta: 0:03:52 iter: 5139 total_loss: 0.406 loss_cls: 0.06963 loss_box_reg: 0.2678 loss_rpn_cls: 0.01238 loss_rpn_loc: 0.04269 time: 0.2744 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:43 d2.utils.events]: \u001b[0m eta: 0:03:46 iter: 5159 total_loss: 0.3842 loss_cls: 0.05678 loss_box_reg: 0.2715 loss_rpn_cls: 0.008886 loss_rpn_loc: 0.03931 time: 0.2745 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:48 d2.utils.events]: \u001b[0m eta: 0:03:41 iter: 5179 total_loss: 0.4227 loss_cls: 0.05753 loss_box_reg: 0.2736 loss_rpn_cls: 0.01766 loss_rpn_loc: 0.0569 time: 0.2744 data_time: 0.0087 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:54 d2.utils.events]: \u001b[0m eta: 0:03:36 iter: 5199 total_loss: 0.3805 loss_cls: 0.06012 loss_box_reg: 0.2423 loss_rpn_cls: 0.01386 loss_rpn_loc: 0.05162 time: 0.2744 data_time: 0.0073 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:44:59 d2.utils.events]: \u001b[0m eta: 0:03:30 iter: 5219 total_loss: 0.4006 loss_cls: 0.06155 loss_box_reg: 0.2567 loss_rpn_cls: 0.01508 loss_rpn_loc: 0.05636 time: 0.2744 data_time: 0.0096 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:05 d2.utils.events]: \u001b[0m eta: 0:03:25 iter: 5239 total_loss: 0.4117 loss_cls: 0.06783 loss_box_reg: 0.2769 loss_rpn_cls: 0.01741 loss_rpn_loc: 0.04001 time: 0.2744 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:10 d2.utils.events]: \u001b[0m eta: 0:03:19 iter: 5259 total_loss: 0.4295 loss_cls: 0.05339 loss_box_reg: 0.2786 loss_rpn_cls: 0.009793 loss_rpn_loc: 0.04498 time: 0.2744 data_time: 0.0084 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:16 d2.utils.events]: \u001b[0m eta: 0:03:14 iter: 5279 total_loss: 0.4032 loss_cls: 0.06871 loss_box_reg: 0.2624 loss_rpn_cls: 0.01721 loss_rpn_loc: 0.05718 time: 0.2743 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:21 d2.utils.events]: \u001b[0m eta: 0:03:09 iter: 5299 total_loss: 0.426 loss_cls: 0.08763 loss_box_reg: 0.2671 loss_rpn_cls: 0.0148 loss_rpn_loc: 0.04896 time: 0.2743 data_time: 0.0083 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:27 d2.utils.events]: \u001b[0m eta: 0:03:03 iter: 5319 total_loss: 0.4187 loss_cls: 0.05536 loss_box_reg: 0.275 loss_rpn_cls: 0.01203 loss_rpn_loc: 0.05509 time: 0.2743 data_time: 0.0080 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:32 d2.utils.events]: \u001b[0m eta: 0:02:58 iter: 5339 total_loss: 0.3893 loss_cls: 0.04629 loss_box_reg: 0.2422 loss_rpn_cls: 0.01679 loss_rpn_loc: 0.04769 time: 0.2743 data_time: 0.0079 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:38 d2.utils.events]: \u001b[0m eta: 0:02:52 iter: 5359 total_loss: 0.3693 loss_cls: 0.03484 loss_box_reg: 0.259 loss_rpn_cls: 0.01278 loss_rpn_loc: 0.0507 time: 0.2742 data_time: 0.0069 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:43 d2.utils.events]: \u001b[0m eta: 0:02:47 iter: 5379 total_loss: 0.3995 loss_cls: 0.07587 loss_box_reg: 0.2784 loss_rpn_cls: 0.01439 loss_rpn_loc: 0.06179 time: 0.2743 data_time: 0.0081 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:49 d2.utils.events]: \u001b[0m eta: 0:02:41 iter: 5399 total_loss: 0.382 loss_cls: 0.06315 loss_box_reg: 0.2574 loss_rpn_cls: 0.01653 loss_rpn_loc: 0.04532 time: 0.2742 data_time: 0.0076 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:45:54 d2.utils.events]: \u001b[0m eta: 0:02:36 iter: 5419 total_loss: 0.3629 loss_cls: 0.08142 loss_box_reg: 0.2342 loss_rpn_cls: 0.01004 loss_rpn_loc: 0.04286 time: 0.2742 data_time: 0.0072 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:00 d2.utils.events]: \u001b[0m eta: 0:02:30 iter: 5439 total_loss: 0.4117 loss_cls: 0.07419 loss_box_reg: 0.2601 loss_rpn_cls: 0.0155 loss_rpn_loc: 0.04977 time: 0.2743 data_time: 0.0061 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:05 d2.utils.events]: \u001b[0m eta: 0:02:25 iter: 5459 total_loss: 0.374 loss_cls: 0.04102 loss_box_reg: 0.2583 loss_rpn_cls: 0.01506 loss_rpn_loc: 0.05287 time: 0.2743 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:10 d2.utils.events]: \u001b[0m eta: 0:02:19 iter: 5479 total_loss: 0.4139 loss_cls: 0.07672 loss_box_reg: 0.2681 loss_rpn_cls: 0.0148 loss_rpn_loc: 0.05025 time: 0.2742 data_time: 0.0070 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:16 d2.utils.events]: \u001b[0m eta: 0:02:14 iter: 5499 total_loss: 0.4177 loss_cls: 0.0549 loss_box_reg: 0.2508 loss_rpn_cls: 0.01492 loss_rpn_loc: 0.05371 time: 0.2743 data_time: 0.0082 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:22 d2.utils.events]: \u001b[0m eta: 0:02:09 iter: 5519 total_loss: 0.3977 loss_cls: 0.06805 loss_box_reg: 0.252 loss_rpn_cls: 0.0133 loss_rpn_loc: 0.0399 time: 0.2743 data_time: 0.0092 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:27 d2.utils.events]: \u001b[0m eta: 0:02:03 iter: 5539 total_loss: 0.3742 loss_cls: 0.07049 loss_box_reg: 0.2486 loss_rpn_cls: 0.01317 loss_rpn_loc: 0.05265 time: 0.2743 data_time: 0.0107 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:33 d2.utils.events]: \u001b[0m eta: 0:01:58 iter: 5559 total_loss: 0.4187 loss_cls: 0.05658 loss_box_reg: 0.2723 loss_rpn_cls: 0.01395 loss_rpn_loc: 0.06933 time: 0.2743 data_time: 0.0092 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:38 d2.utils.events]: \u001b[0m eta: 0:01:52 iter: 5579 total_loss: 0.423 loss_cls: 0.07679 loss_box_reg: 0.2797 loss_rpn_cls: 0.0145 loss_rpn_loc: 0.06116 time: 0.2743 data_time: 0.0085 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:44 d2.utils.events]: \u001b[0m eta: 0:01:47 iter: 5599 total_loss: 0.3545 loss_cls: 0.04154 loss_box_reg: 0.2487 loss_rpn_cls: 0.009384 loss_rpn_loc: 0.03514 time: 0.2743 data_time: 0.0100 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:49 d2.utils.events]: \u001b[0m eta: 0:01:42 iter: 5619 total_loss: 0.3591 loss_cls: 0.05821 loss_box_reg: 0.2288 loss_rpn_cls: 0.01086 loss_rpn_loc: 0.05352 time: 0.2743 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:46:55 d2.utils.events]: \u001b[0m eta: 0:01:36 iter: 5639 total_loss: 0.388 loss_cls: 0.06315 loss_box_reg: 0.2704 loss_rpn_cls: 0.009293 loss_rpn_loc: 0.04041 time: 0.2743 data_time: 0.0083 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:00 d2.utils.events]: \u001b[0m eta: 0:01:31 iter: 5659 total_loss: 0.3695 loss_cls: 0.03867 loss_box_reg: 0.2741 loss_rpn_cls: 0.01259 loss_rpn_loc: 0.03754 time: 0.2743 data_time: 0.0088 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:06 d2.utils.events]: \u001b[0m eta: 0:01:26 iter: 5679 total_loss: 0.4282 loss_cls: 0.06888 loss_box_reg: 0.2678 loss_rpn_cls: 0.01736 loss_rpn_loc: 0.06555 time: 0.2743 data_time: 0.0086 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:11 d2.utils.events]: \u001b[0m eta: 0:01:20 iter: 5699 total_loss: 0.3949 loss_cls: 0.04424 loss_box_reg: 0.2717 loss_rpn_cls: 0.01603 loss_rpn_loc: 0.04437 time: 0.2743 data_time: 0.0089 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:17 d2.utils.events]: \u001b[0m eta: 0:01:15 iter: 5719 total_loss: 0.3563 loss_cls: 0.05709 loss_box_reg: 0.2312 loss_rpn_cls: 0.009007 loss_rpn_loc: 0.0473 time: 0.2743 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:22 d2.utils.events]: \u001b[0m eta: 0:01:09 iter: 5739 total_loss: 0.395 loss_cls: 0.06657 loss_box_reg: 0.2728 loss_rpn_cls: 0.01321 loss_rpn_loc: 0.03845 time: 0.2742 data_time: 0.0067 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:27 d2.utils.events]: \u001b[0m eta: 0:01:04 iter: 5759 total_loss: 0.3789 loss_cls: 0.04759 loss_box_reg: 0.2509 loss_rpn_cls: 0.01295 loss_rpn_loc: 0.049 time: 0.2742 data_time: 0.0065 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:33 d2.utils.events]: \u001b[0m eta: 0:00:59 iter: 5779 total_loss: 0.4018 loss_cls: 0.07238 loss_box_reg: 0.2758 loss_rpn_cls: 0.01578 loss_rpn_loc: 0.05426 time: 0.2742 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:38 d2.utils.events]: \u001b[0m eta: 0:00:53 iter: 5799 total_loss: 0.4037 loss_cls: 0.06028 loss_box_reg: 0.2639 loss_rpn_cls: 0.01334 loss_rpn_loc: 0.04973 time: 0.2741 data_time: 0.0088 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:44 d2.utils.events]: \u001b[0m eta: 0:00:48 iter: 5819 total_loss: 0.4447 loss_cls: 0.07476 loss_box_reg: 0.2682 loss_rpn_cls: 0.01447 loss_rpn_loc: 0.03794 time: 0.2742 data_time: 0.0074 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:49 d2.utils.events]: \u001b[0m eta: 0:00:43 iter: 5839 total_loss: 0.3677 loss_cls: 0.04801 loss_box_reg: 0.2605 loss_rpn_cls: 0.009345 loss_rpn_loc: 0.03301 time: 0.2742 data_time: 0.0093 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:47:55 d2.utils.events]: \u001b[0m eta: 0:00:37 iter: 5859 total_loss: 0.3367 loss_cls: 0.05318 loss_box_reg: 0.2368 loss_rpn_cls: 0.01371 loss_rpn_loc: 0.0542 time: 0.2742 data_time: 0.0064 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:00 d2.utils.events]: \u001b[0m eta: 0:00:32 iter: 5879 total_loss: 0.4031 loss_cls: 0.07773 loss_box_reg: 0.2636 loss_rpn_cls: 0.01334 loss_rpn_loc: 0.05925 time: 0.2742 data_time: 0.0070 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:06 d2.utils.events]: \u001b[0m eta: 0:00:26 iter: 5899 total_loss: 0.3784 loss_cls: 0.04858 loss_box_reg: 0.2504 loss_rpn_cls: 0.008783 loss_rpn_loc: 0.04391 time: 0.2742 data_time: 0.0081 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:11 d2.utils.events]: \u001b[0m eta: 0:00:21 iter: 5919 total_loss: 0.3846 loss_cls: 0.0501 loss_box_reg: 0.2542 loss_rpn_cls: 0.01674 loss_rpn_loc: 0.05834 time: 0.2741 data_time: 0.0085 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:17 d2.utils.events]: \u001b[0m eta: 0:00:16 iter: 5939 total_loss: 0.3986 loss_cls: 0.05763 loss_box_reg: 0.262 loss_rpn_cls: 0.01816 loss_rpn_loc: 0.04592 time: 0.2742 data_time: 0.0099 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:22 d2.utils.events]: \u001b[0m eta: 0:00:10 iter: 5959 total_loss: 0.367 loss_cls: 0.05472 loss_box_reg: 0.2639 loss_rpn_cls: 0.0136 loss_rpn_loc: 0.03404 time: 0.2741 data_time: 0.0090 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:28 d2.utils.events]: \u001b[0m eta: 0:00:05 iter: 5979 total_loss: 0.3737 loss_cls: 0.04437 loss_box_reg: 0.2532 loss_rpn_cls: 0.0162 loss_rpn_loc: 0.04711 time: 0.2741 data_time: 0.0094 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:34 d2.utils.events]: \u001b[0m eta: 0:00:00 iter: 5999 total_loss: 0.4136 loss_cls: 0.068 loss_box_reg: 0.2712 loss_rpn_cls: 0.01308 loss_rpn_loc: 0.0581 time: 0.2741 data_time: 0.0085 lr: 0.00025 max_mem: 2556M\n",
"\u001b[32m[10/26 17:48:34 d2.engine.hooks]: \u001b[0mOverall training speed: 2998 iterations in 0:13:41 (0.2741 s / it)\n",
"\u001b[32m[10/26 17:48:34 d2.engine.hooks]: \u001b[0mTotal training time: 0:13:46 (0:00:04 on hooks)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# Look at training curves in tensorboard:\n",
"%load_ext tensorboard\n",
"%tensorboard --logdir output"
],
"metadata": {
"colab": {
"resources": {
"https://localhost:6006/?tensorboardColab=true": {
"data": "PCFkb2N0eXBlIGh0bWw+PG1ldGEgbmFtZT0idGItcmVsYXRpdmUtcm9vdCIgY29udGVudD0iLi8iPjwhZG9jdHlwZSBodG1sPjwhLS0KQGxpY2Vuc2UKQ29weXJpZ2h0IDIwMTkgVGhlIFRlbnNvckZsb3cgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KCkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwp5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQpkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLApXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZApsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLS0+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiPgo8dGl0bGU+VGVuc29yQm9hcmQ8L3RpdGxlPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTVFBQUFERUNBWUFBQURBcG81ckFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFCYWJnQUFXbTRCeFdzak9BQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmwwU1VSQlZIaWM3WjE1ZUZUVjNjYy92NXNGQ1ZSeHFWdHB0VlcyVmx4ZjYxcXRpcTBMOUdsOU5YVUJGRXBGUlRJaGhCQURDVGRBTUFFa0NZc0s3cUI5K2tENzJxZkJXaXZxVzdWYTY3NGlyZTlyYXhYMWJaVldaVEhML040LzVnNEdTR0R1ekwxejc1MDVuMzg0ek13NTU4dk0vWEsyM3prSERJR2ppemhQRjNGZTBEb01JRUVMeUdkMFBvT3dhQUF1Y1Y1YWgwVzVWUEI2a0xyeUdXT0lBRkNiL3ZTakVxZ0crdXp3S3dnZHdDMTBVQ2ZWL0RzWWhmbUxNVVFXVVJ1TEVrWUQ4eEVPMnY3R2pvWndQc3hIV014aElFdWxsSzVzNnN4bmpDR3loQzdnSkpSVzRDU2daeFAwbkg0Smk1aVU4N2pmR2czR0VMNmpUUXdFNWdHamtXN2ZkK3FHU0xLV0lzcGtNbS83SU5QZ1lBemhFMnBUUWgrcXNLZ0MrZ0x1VGJCcmVpdXdtSFlhWkRxZmVpcllBQmhEZUk0cVFpTVhBd3NRRHZQQUJEMmxOeUxVczRuYnhTYWV1V3BERW1NSUQ5RWJPUUZvUlRodCs0ditHQ0w1NTdOQXVjUjRLaTNCaGwwd2h2QUFiZUFRTEd4Z0FtRDVhb0x1NmNTZml2QUxsRXFKOFk1TDZZYWRNSWJJQUxVcHBvaHJFV1lqN0wzOWpld2FJcG5lakxLUXZXbVVjV3hMNlI5ZzJBVmppRFRSdVl6Q29nWDRCcEE5RTNSUDkveiszNEdaVXNiS1hxUWJkb014aEV1MGdhTVJtbEhPOXZBQi82T1RPdGtEUXlUU3lpTW81UkxqdFo3K0hZYWVzWUlXRUJYVVpqK2RTeXZ3UE1yWkhoVzdFV0VpbjNFYVV6a1ZvUlQ0bXljbEMrZGc4Ykl1WmFYZXdvR2VsSmtIbUJaaUQ2aE5JVVdNUjJrQUR2Q29WZGlLc0pqNHJ1c0p1cHdTUHFNS3FFS2M5WXZleWttOXprMUFFd2ZTTEtXMFkrZ1ZZNGpkb1BXY2cwVUx3bEhiWDh6Y0VHc1J5bVRhN2xlY3RZbUJGRGtyM095d3hwMk9JWkxwRFFoVDVUb2UyRjNkK1l3eFJBL29IQVpCdDdCc2IxcUZGeW1nWENyZHhTVHBJczRFV2hDTzNhWE05TFdzbzRDWVhNTWJiclRrQThZUTNWQ2IvZ2lWeUU1aDJaa1o0aU9FT1J5ZWZ0U3EybGdNWURUS2ZPQWdqM1Ixb054Q0lYVXkwWVNaSnpHR3dIbmdMT2VCNnlrc083MEhML0hBaVhmN0duUVovV252d2JEcGF3U2NNUFA5VEpnNUdFT2dzMU1JeTNiL3NLMGpUa3hxL09tU2FDdURVQnFRN1R2dHZPald2WWhRTHRma2Q1aDUzaHBDYlJkaDJhay9WQnRRS3FTRzMzZ3F0aGUwbFhPQUZ1QW9EOWRFMWxKQW1mdzBQOFBNODg0UWFsTUN6clJtcW1IWmUzNlFOaUUwOFRuTlltZDNXbE50Q3RtWDhZZ3pMZHk3UmpmcFJKaDVFUTN5ay93S004OGJReWdJZFZ5TXhRTFVaVmgyNys5M290eUpNRk5xK0lmWG10MmdpOWlQUW1ZQjF5RVVibjhqTTNPOGgxTERSRmFKb0o0S0RpbDVZUWl0NVFRa2c3RHNubDk3Rkl0eXFlWlZUOFZtaUM1aEtFb3o0aHhyNDAxWDZsbVVtRnpEMHg1S0RTVTViUWl0NFJDS3NORU13N0ozZk8wdGxCcVp5UnFQNVhxS0xtWVVRZ3ZpQkI5Q3B1WlE0RjQ2cUpKSmZPQ3AyQkNSazRaUW0ySTZQUXpMVHZ5WkNLL2VoeHVsak04OWx1d0xhbFBNL3M3M0FIdDcxRnBzUmxoSVlXNkdtZWVjSVhTRzUySFpjWVQ3RUtiSkRENzBWbTEyME9VY1FnYzI0clNVNE1YMzhoWkNqVXdJZDB2cGxwd3hoTjdBVUFwb0JzN3pjQXJ5R1pTWTFQR01oMUlEUTI5MnRyZ3FwM24ySFZrOFNwd3A4bE5lOFZCcVlFVGVFR3F6SHgzTVFyZ09uTm1Wekgvc2Q0RVoxT2JlN0lvcXdpM09JUWh3R09ERjk5V0pPTE50NDRPZGJjdVV5QnBDYlFycFlEeDRHcGE5QlZqQWwyaVNDclo2S0RkMDZISks2S1FLU1NITVBOVzB4U2JpTkxGM2RNUE1JMmtJclhGV2FMMEx5MWJnRnhRd1RXWjZ0RUVuSXVqaUZNTE0zYVlUWWVZVk1pNDdLL1plRWlsRDZFd0dFZmM4TFBzNUxNcWxqajk0cHpSNjZNMmM2VXhHN0JwbTdqYjl4V3ZyS0tSTXhyTGVPNlgrRWdsRHFPMUVlU3JWQ0gyMnY1R1pJVFlDOVdBTyswcWlOaFlITzRjeGR3OHpoMHpXYlJKUnZ4M1JDRE1QdFNIVXhtSXJvN0djSHdpOGFCWGFnVnNwWWFZNURySm5kQm45c2FqRWNzTE1JUk5ESkVtRW1mY05kNWg1YUEyaE4zUUx5L1p1R25VdFFreHMvdGREcVRtTDNzb2d4T21pWm02SVpQb0ZsSElaeHhOZWF2V0swQmxDcXhpSTFXMlFCMTYwQ2kraGxNc2NmdStwMkR4QlZ6RENpWTlLVEdKa1pvaGtlaTF4SnNzNC91cWwxa3dKalNIVXBvUXR6alFnOVBXb1ZVaHMzMXpQVWxrVDNtWTZDcWhOSVY5eFRoOFJKOHdjTWpFRUpLYTVsOUNYdVZMS1o5NHFUby9BRGFFZ1RPTml4RmtvY3YrbDlwUk9YRXZWVHAwMGhYOGdGeVgwZHZaRG1RVk1BZ295TkVReS9SNUNEYU9EWHdnTjFCQTZsUk93ZWduTFR0OFE2eERLWlk2NXVOQlA5RGFHQVl1UWJyZW5adjdiL1FtTG1JemVmcEpoMWduRUVGcnVoR1h2N3JSczkxL3FCdUpNbFhubXpLRnNvcmN6Q3B4Z1NtOWFkMFdjTVBOeDJROHp6Nm9obk83Uk5KUmFoUDQ5cW5EL3BYNE0xRlBFeldMVDZhMWlReXJvWGV4Rm5BcmdCcUMvUitPL1Q3Q1lReEdMc3hrR2t2VVdRaXM0emprTjc0d2VWYVJ1aUVSWWRoR1ZZdk4vZm1nMXVFT1hjd2lGUG9XWlg1R2RNUFBBeGhCYXlTaUVWdURycmcyaFBJb3dSZWJsUnNoeHJxRjNjd0pkenRqUXV6V2tSMUhLWmJTL1czYURIVlRiRkxPWmF4SG1BRi9hUVZIUFg4eGJXTlJJUTI1dFNzbEZWQkh1OWlITUhPNmtpSmxTNmsrWWVlRFRyZ0JheGFIQUxHQUMwbU5UbTlpMldFeWoyTG0zYlRHWDBlV1VVSnppYWVhcHB6ZWgxSE1veStRc2I4ZU5vVEJFRXEzaVA1eHUxS21Pc3NURzlpNnFaRUh1Ym16UEIvUTJCbExNUE5URE1ITjRFNHNLdVpRSHZkSVpLa09BTXhNMW5URUlGMk5oeXp4ZUNGcVR3VHYwTHI3cmhKa2ZzLzNGek0xeFAzRXE1WXJNWTlSQ1p3aEQ3cU0yRm9jN1llYVNRWmo1anVrT0xHNmhnMW9aelNmcGFqT0dNQVNHcnFZL1c3dWRaZzZadHhiQyt5ZzJGbmVrRTJadURHRUlITDJQUVhTbEVXYSt1elE4ajBXNWxQS2tHeTNHRUliUW9QZHdQc0lpaEtGQXBvYUF4S1gyRStUSDNKbXFCdGUza0dvNUU3U2NIN3JOWnpEc0NibVNCOW5LMGNCRTRKOWVGQWtjNmlhRCsydDVsU05SN3RjWTYvUjZ4OGtHZzBmSVJEcGtEQ3Zvd3hCZ01XUjNIMHM2aGloeVV1ZFF3Q3NhbzFXdjZ4YW9aekI0Z0pUeXNZd21ScHpod0crelZhOTdRMWpiRFFGUUJKUlJ4SHFOTWRZelZRYURnNHhsdll6bWZJUWZnUDk3NFROcElib3pFTGhIeTNqWWRLTU1maUNYMDBZUnc0QnlTSCtkWVUrNE53UTlHaUtCTUlJQ1h0WXBOS3JOWHVuTE1oaDJSVXBwbHl0b1JSZ0cvcHlsNWEwaEVoU2pUT2Rmdks0eFJxWWp5bURZSFhJWkc4R2Z2ZGQrR0NMSk54RGFkQXB0V3NuWDA2akhZTWc2WG8waGRzZEl1bmhkSzdCTk44b1FkaktkWlVxVnZpaXorSVRYdEpJTDA4aHZNR1NGYkxRUTNUbUNPR3UxZ2pZdDUvQU15akVZZk1IUE1jVHVHRWtCYjJpbDZVWVp3a1ZRaG9Ca04rcFRYdFZwWE9CUm1RWkRSZ1JwaUNSSG9qeWdVMm5UYXRPTk1nUkx0c2NRdlNPTXBKUFh0UXBiSjNlN0ZNVmd5Q0x1RFNFK0dTSkJDY29zK3ZDYVR1dDJacWpCa0NYQzBHWGFGZUZJNEVHdG9rMm5PbWY2R0F4WklKeUcrSUxFYkpUcFJobXlSTmdOQVZBQ3pLS0VWM1U2Mzg5eTNZWThJd3FHU0RJSStLMVcwNmJUK1ZwQUdndzVUcFFNa1VBWmliQmVxN0hWcGpoUUxZYWNJM3FHU0pEb1JtM2pWYTNtZTBHTE1lUU9VVFZFa3NFSUQra050T2tNdmhxMEdFUDBpYm9oa293a3pucXRNZDBvUTJia2lpRUErZ0d6YU9jVnJlSGNvTVVZb29rclEyamk0S2RDbjdSNHhSRGdkenJEZEtNTTduSFhRbHdkZWpOMFp5U3dYbWVhYmxSZUUzZDNHSUhiTGxOWXUwdTkwUTlsRmwyOHJETVpFYlFZUTFiWmpGTFBOaGE1eWVUT0VQdEd6aEFKbEtIQTczUW1LN1dHZzRLV1kvQVZCVmJSd1NDNURGdkd1YnVDelowaE9pTnFpQVFDaktHQURUcVRtTnFSNnY0WlVrSDVFeGFueWFXTWxURzhuMDRSN2d6UkZXbERKTmtIb1lVdW50TmFUZ3Rhak1FVDNrVzRra3M1V1VwNU9wT0MzQm5DcjgxQndYQU13aE5hWjdwUmtVWFpBdFJUd0dDNWxKVWltUjllNXM0UThad3lCQ1M3VVlXOHFYWEU5QklLZ2haa1NCRmhGVVVNbHN1d3BaU3QzaFhyQXIyZW9SU3czbFdwMFVxL2hEQkpiSjdDa0plNGF5R0tjcTZGMkpsamdTZlZacVhhSEJpMEdFUDJ5ZWN4Uk0rbzA0MkNEVnBQVEZlYmJsUStZUXpST3dOUVdsalBzenFiVTRJV1k4Z091YjVTN1FYSG9meEI2MW1wOC9oeTBHSU0vbUphaU5SSWRLTTYyYUJ6VERjcWwzRm5DTW43SUxsOVVWcll3SjkwTGljSExjYmdQYWJMbEE3SzhTaFA2UnpUamNvMVRKY3BmUkxkcUM3VGpjb2xUQXVST2ZzaXRQQVhudEhabkJTMEdFTm11RE5FZXJjSDVRZktDVmc4cFhOWnFUWUhCQzNIa0I2bWhmQVdDMkVNUld6UUJtSnFwN1ZuUFZSb013T0MxcEFKdXBxRDNYemU3USsyNXowRXJxS2pjcGI5Z0JhS2VWSWJPU1pvTWVtZ1N6aFVsN0tjWXVZRXJTVWRkQlZEOUdjOFFBZFQzZVJ6TzZoMk4rMXF6SEVLU2xuUUl0eWdOc1c2aEJnV2J5SmNUWG9uc3dTRzNzZStlaCtOV0x3QzdtK21jcmRyVENsSyt5SGZNZDltNERHZ2pTNmVvSWpIMEJ6ZGt4Q25QV2dKcWFMTEdJWFNDdEc3VjF4dExJNWdOTEFBMGcvTWRMdU5NcE14eE5zb0R3TnIyWWVIeFA3aVFkRktLb0Q3TWlnN3ZBZ2RRVXZZRTdxTVk0blRnbkptMEZyU1FlL2pMT0swSUJ5ZGFWbnVER0ZSNUdKUFVoZUovUVZyRWRya0pwN3Y3WU95a0o5cEpaZEREdDVoTGVGdElYUXArd04xeEprRTBWdEgwWlY4RFl1NUtHTzg2cDY3N3pMdG5zMkkweFVxNU5leWdBOWNLTG1lTHI1TDRnUyszRUhEMTBMb2NvcG81enJpMUNQc0U3UWV0K2hLK2lGTUE2YWo3T1hsV05XTEx0UGJDQThqdTNhRjNDQ04vRldyYUVDWmwzZ2huVkpDU01nTW9Zc1p3ZWUwQU44S1dvdGJWQkh1WlF4S0U3aWJUazJWZEF6eFJWY29UcHNzN3IwcjVKb1NGckNaVWhJNzEzSURLeHlHMEtVTXBvdEZLQmRHOFQ4YnZZc1RXVVVyK0xzM3haMGh1cmliSXVaTE14LzdJVVpzT3JXUzZ4Q2VwUHQwWDIvN29LTkJvR01JYldZQVFqVmRUSUhvUlN2clBYd0Z1QkVZVFJaK2ZWZUdrS1c4NlplUTdYVXM1R21keG5MZ1dyL3J5Z29CZFpuVXhtSkE1dE9RUWFHcjZjdFd5b0Fad0pleVZXODRGMTIyVVkzdzNoNC9GNFhXSW9CWkpyMkpzOWlIRjRCN2lLSVo3bUlVVzNnRHBaRXNtZ0ZDYWdoWndpZEFoYnRNL21qSm1DeTJFSG9UWDlWbVZtTHhLRVF2WkVUdjVIaTlpOGNSZmcwY0hvU0cwSjV2S2syczFtbU1SaGpsUHJNUGd0SWxDNGJRQmZURFlockNkR0F2dit2ekdyMkgvZW1pRGdsK1BTUzBoZ0RBNG5xVXM0RCthWmNSdkRsODZ6S3BJaXppWW9TRkVMMnJpblU1UlJSekhWM2hXUThKWlpjcGlUVHhEa0s5ZHdWNlZsTHErRFR0cWdzNWtVVThDYXdtaW1hNGt4RVU4UkpLQzRURERKQmxRNmhOb2JwOUxQdlNBcnpvdVpqc21HTVR5cXRlRnFoTkhLb0xXWTd3UitCVUw4dk9Cbm9IUS9SMkhuRGkycjRadEo2ZDhkMFFPcGsrT29VUldrRXJuL0F1VTdqS1RYNng2VVM1bXNTQ29ELzRZUTdsQXl6T2tocmU4S3pJaFZ4RUFYK0c2SVZsQStqdGpBZGVROXlIWldjTFg3NVVuVUpmbmNJb25jSktDdmtRZUJnb0F3NUNhTllxQnJvcFQrYnpISEN6SDFwM3JjeVRVdDZtZ085SU5TOTdVdG9YSEVPMFk3MkdFZkp4cTJmaXRKd0JLT2NpakVMNUVkQy9sNGRySDdxNEJWek9IaWt6RUg0RTdzeVVFZW1aNHpVSytiNU1aNlBIYWd4WklLTVdRaWV4djhZWXF6SGFVRDRrTWNBYnc1NW5oVVpxQlQ5MlU1Zk01MU1rOUx2UEhxZUEwNDBab290clEraGtCbW9aVjJ1TU5ncDVuOFJxNkVqY3hza0lTN1hTM1NxcU5ISS95cTljMWVNVmUyNHQxbExDZVZMTnY3T2d4dUFUN2k1dUwrY2lMTjVCV0U3Q0JKbnNvRHVBT00ydWN5bVRJT0NIYm1kektQZnlaUzZTQ3U5dXNqRUVnOXNydGZyaDVaeU1jTGxPNVlldXNzeG5JOG9zenpSa2lzVVN1cmhTSm9ZanpOdVFHY0ZQM1FrM2F6WDd1c3JUbHlYQUgvMFJsRElLMU1zTXlzUW1IckFXZzBjRWJ3ZzRoRTZhM0dRUW16Z1dFeUd3LzVXN1VLNlJXdXlBNmpmNFJCZ01BVEJCcC9FOU54bGtIcThBUzN6U3N6dmFFUzZUT2xZRVVMZkJaOEppQ0NIT2NyVmRCdkgxb1JaNDJ4OUpQYklaWVpUTVpFMFc2elJra2JBWUFvVEQyY3hjVjFsc3RqZ2h3OW5nWXl4R1NDMi95MUo5aGdBSWp5RVNUTmJwbk80bWc4empRZUFYUHVsSjhnN0NxVEl6OElHOHdXZkNaZ2lMT0xlcjdYS1RTeWVUZ1gvNUk0bjFGSEM2MUxMQnAvSU5JU0pzaGdBWXdtWnEzV1J3RGtTYjZZT1c1eWppVEpuSjM5TXRRQnM0eWt0QkJuOEpveUVBcXJTYUUxemxLT1lXNENrUE5UekdYcHd0TmZ3ajNRTDBScVlqVkhxb3llQXpZVFZFSVhIdTBLdFREdzBSbXpnRlhJTTNheE8vQWk2UTZYeWFiZ0hhd0d6bjFBaERoQWlySVFDT1lRQlZiakxJSEY1RjBvaVAycEc3Z1V2RVpsczZtVlVSYmFBRmNkZnRNNFNETUJzQ29GYW51enlEZEFzMjhEOXAxU1kwaWMwNHNlbE1KN3V1cG9CNTNBN0UwcXJmRURoaE4wUWY0QTY5SlBXalNhU1pyVTVFYk9vSWlsSXBOdFZ1QlNiUjFSVHdaKzRDeHFkYmhpRjR3bTRJVUU3aTYweDJrMFhtOFJEQ3oxUDhlQmN3UVdaemszdHhDZFNtbUQrekJtRk11bVVZd2tINERRRWdOR2cxUjdyS0U2Y2MyTFNIVDMxT1lyeHdaN3JTMUthRVF0cUFINlZiaGlFOFJNTVFVSUp5bTVzamJHUWVIOEp1dTBEL3dtS0V6T2IrZEVYcEF2bzVabkFWbUdnSUwxRXhCTUIzcWVhbnJuSTBjQnZ3WkEvdkpJNklzWHQ4THlYVVpnRGJXQWVjblc0Wmh2QVJKVU9Bc2tCbjhOVlVQeTZKVFR3VFNIU05raVNPaUxGNUtXMFpOZ2RTd0g4REo2ZGJoaUdjUk1zUXNEZGQzT29tZzh4bEE3RFErZXZyeFBtTzJMeVZyZ0MxT1pnQ0hpR0NwMnNiOWt6VURBRndnVlp6aGFzY2hjeEZ1WnNDVHBlR0ZPNmQ2QVdkeTJGWVBBRW1QaWxYQ2ZVcGFydWhWV3RZNXd5Yzk0aXo2and1a3dyVlpqQngxa0hxWFRaRDlJaGlDd0d3UDhyaWJGV21jeGlHeFdNWU0rUThVVFVFS0tWNkF4ZjVYbzNOOGNSNUhEalU3N29Nd1JOZFF5UllwamI3K1ZXNHp1WkVoSWVCQS95cXd4QXVvbTZJZzltV2ZzakY3dERabklueUNQaG5PRVA0aUxvaFFMaEtxem5QeXlLMW52T0o4eUJadmdIVEVEelJOd1NBc0Z5cnZIbDQxZVlIS1BjRGZiMG96eEF0Y3NNUThEVUt1VEhUUXJTT3k0QmZrZ2c3TitRaHVXSUlnR3QxQm1la20xbHRya2E0bCtpdXpSZzhJSmNNWWFIY3BsUGNkM1cwamtuQXJlVFc5MkZJZzF4N0FBWlQ0dTRBWXExak9zSlNOQVEzV2hzQ0o5Y01BY3BVcmVYRWxENDZpM293SjJQa01HK2cvTkpOQm5lRzZPSnhKUFJubXhZUTV3NjFlNy9pUzBGMEZxMG9kZGtVWnNnYW00QnFDamxPUnJzN2Z0VFZBRktXOFRmZyt6cUZFY1JwQVpjblltU1A0YlJ6QTFDLzh4dHFZOUhKQ3BTZkJLREw0Qzl4NEQ2S21DcWw2UjB3bDFhWFNacFp4MWFPUXlrbjZQdmVla09vMFZxR2QzOUpMNkdBVHU1RWpCbHlEdUZSTEk2VEt4aWJyaGtnZ3pHRXJLQkRGdE5LSjBjQWkwbWNYaEVtaW9semo5cUpWbEJ0aWhuS2FvUXJneFptOEpTM0VFcmxDczZSeTNrbDA4SXlIbFRMTWo2U1ZtSUl3NEdITWkzUFk0NmpnM0tkVEI4NldRUCtSOGNhc3NabW9KNU9oc3NWM2wxZzQ5a2lsTFN3SGpoUFkxeUNNQjg0M0t1eU0wS1l6VDVjQkp3U3RCU0RKeWh3TDUxVXlUZys4THB3ejZkZHBaVTFER0FJUWpud2lkZmxwMEZmakJseWhXZFJUcE94alBYRERPRFRPb1RZdEVzenJSUXhERmdCNXRwYVEwYThoM0lsWXpoSnJ1UnBQeXZ5ZFdGTzVyTlJtcGtJbkFUOHdjKzZERG5KVnFDSnZneVZxMWdwZ3ZwZFlWWUMyYVNaNXhTK1F3VVhBd3VBdzdKUnJ5SFNyRVdaTEZmeDEyeFdtclhRRFFHVlJhemhNNzZKVUUvQy9RYkR6cnlBY29aY3hTZ1psMTB6UUFDeFRMS0NMYklRbXdJR0E2dkEvMmJRRUFrK0FzcnB4N2RsSEU4RUpTS3c0RDZaejd0eUUyT0JVeEJ6M1cwZTB3RXNwcDBqWkJ5dFVocnNBbS9nMGE2eWtHZm94Mm5PQ25KS0I0OFpjb1oxd0xFeW5waE1ERWNJVU9DR2dNU0ZpYktBbFNoSE9PT0x6L2VZeVJCbE5tQnhvWXpuWEJuUEcwR0w2VTRvREpGRUZySlo1bU5Ud0ZHSWQ4dnhodER3TWNway9zNVJNbzdmQkMybUowSzVmMWdhZVFzbzFXck9kc0xNaCs4cGp5SDh5SVRNRDRMd20xQzFFRHNqalR4S0NjY2pUSVQwUTNvTmhsUUp0U0VBeEtaVEdsbUJNQVNsQ1dnUFdwTWhkd205SVpKSUk1dGtQdFhFT1JyQzJmODBSSi9JR0NLSnpHZUROSEloY0M2RWE0YkNFSDBpWjRnazBzZzZQdUpZSjh3OEZIUFlodWdUV1VPQXM0MTFIcTNBRWM0RkttSGJ4bXFJR0pFMlJCSzVrWS9rUm1MRU9SRjRQR2c5aHVpU0U0WklJbzI4S1BNNEUvZ0I4SGJRZWd6Ukk2Y01rVVFhYUdNTDMwS3BCajROV284aE91U2tJUUNrbWEweWp5WUtHWXFhYmF5RzFNaFpReVFSbTQzU3dFU1VreENlQ2xwUHhQZ3Y0dHN2dmM4TGN0NFFTYVNCNTVqTjZRaWx3RHRCNndrNWJ3TG55eVQrVXlibjExZ3Nid3dCempiVzJheWhnR0Vrem4zZEZyU21rUEV4U2puL1pMaE00cmRCaXdtQ3ZESkVFckhaSXJPeHNSZ0VyQ0lMcHptRW5FNWdCVVVNa2NtMGlrMW4wSUtDSWk4TmtVUnMzcFhaaktXTHM0Q1hndFlUQ01vanhEbE9Kak5SSnZMUG9PVUVUVjRiSW9uTTRmY0lKK1RaTnRhL0lKUktHU01reG10Qml3a0x4aEFPWWhNWG01WEFrWkRUMjFnL1E2a0hoc3Rrc3l0eFo0d2hka0pzUGhNYm13S0dRMDQ5TUhGZ0ZjcVJFc09Xc3B3MWZFYUVjZ3RwR0pCYS9nS1VhajNuQU0xRWV4dnJNeWd4S2VlWm9JV0VIZE5DN0FHWnhTTW94ME1rdDdHK0MxeEpqRk9NR1ZMREdDSUZ4S1pUNmxoQm5LRWtia3NLKzdUa0ZxQ2VPSU9sUER1SEJPY0t4aEF1RUp1UHBZNFlCUXhIZVRCb1BUMmd3QnE2K0taTXdaWUtjMzZ1Vzh3WUlnMmtoamVCQzNRT0kwaTBHTU1DbGdUQzgwQk1wcGhyQnpMQnRCQVpJTFdzNDhzY0UvQnRyTzhqVE9UZmZOdVlJWE9NSVRKRUp0SWh0YlJpY1FTUzFXMnM3Y0JpaWhncVUxZ2h0Z2x2OXdKakNJK1FHajZTR21MQXQ4SDM0OXpYWWpGTXBoS1RzbERjNDVjem1ER0V4OGdNWGdETzBMbU13cUxWNCtMZlJEaGJwdktZeCtVYURQNmpOaVhheUJsQjZ6Q2t6djhEUWQ3UXJNYkxSMUFBQUFBQVNVVk9SSzVDWUlJPSI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNUUFBQURFQ0FZQUFBREFwbzVyQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUJhYmdBQVdtNEJ4V3NqT0FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCbDBTVVJCVkhpYzdaMTVlRlRWM2NjL3Y1c0ZDVlJ4cVZ0cHRWVzJWbHhmNjFxdGlxMEw5R2w5TlhVQkZFcEZSVEloaEJBRENUZEFNQUVrQ1lzSzdxQjkra0Q3MnFmQldpdnFXN1ZhNjc0aXJlOXJheFgxYlpWV1pUSEwvTjQvNWc0R1NHRHV6TDF6NzUwNW4zODR6TXc1NTh2TS9YSzIzemtIRElHaml6aFBGM0ZlMERvTUlFRUx5R2QwUG9Pd2FBQXVjVjVhaDBXNVZQQjZrTHJ5R1dPSUFGQ2IvdlNqRXFnRyt1endLd2dkd0MxMFVDZlYvRHNZaGZtTE1VUVdVUnVMRWtZRDh4RU8ydjdHam9ad1BzeEhXTXhoSUV1bGxLNXM2c3huakNHeWhDN2dKSlJXNENTZ1p4UDBuSDRKaTVpVTg3amZHZzNHRUw2alRRd0U1Z0dqa1c3ZmQrcUdTTEtXSXNwa01tLzdJTlBnWUF6aEUycFRRaCtxc0tnQytnTHVUYkJyZWl1d21IWWFaRHFmZWlyWUFCaERlSTRxUWlNWEF3c1FEdlBBQkQybE55TFVzNG5ieFNhZXVXcERFbU1JRDlFYk9RRm9SVGh0KzR2K0dDTDU1N05BdWNSNEtpM0JobDB3aHZBQWJlQVFMR3hnQW1ENWFvTHU2Y1NmaXZBTGxFcUo4WTVMNllhZE1JYklBTFVwcG9ockVXWWo3TDM5amV3YUlwbmVqTEtRdldtVWNXeEw2UjlnMkFWamlEVFJ1WXpDb2dYNEJwQTlFM1JQOS96KzM0R1pVc2JLWHFRYmRvTXhoRXUwZ2FNUm1sSE85dkFCLzZPVE90a0RReVRTeWlNbzVSTGp0WjcrSFlhZXNZSVdFQlhVWmorZFN5dndQTXJaSGhXN0VXRWluM0VhVXprVm9SVDRteWNsQytkZzhiSXVaYVhld29HZWxKa0htQlppRDZoTklVV01SMmtBRHZDb1ZkaUtzSmo0cnVzSnVwd1NQcU1LcUVLYzlZdmV5a205emsxQUV3ZlNMS1cwWStnVlk0amRvUFdjZzBVTHdsSGJYOHpjRUdzUnltVGE3bGVjdFltQkZEa3IzT3l3eHAyT0laTHBEUWhUNVRvZTJGM2QrWXd4UkEvb0hBWkJ0N0JzYjFxRkZ5bWdYQ3JkeFNUcElzNEVXaENPM2FYTTlMV3NvNENZWE1NYmJyVGtBOFlRM1ZDYi9naVZ5RTVoMlprWjRpT0VPUnllZnRTcTJsZ01ZRFRLZk9BZ2ozUjFvTnhDSVhVeTBZU1pKekdHd0huZ0xPZUI2eWtzTzcwSEwvSEFpWGY3R25RWi9XbnZ3YkRwYXdTY01QUDlUSmc1R0VPZ3MxTUl5M2Ivc0swalRreHEvT21TYUN1RFVCcVE3VHZ0dk9qV3ZZaFFMdGZrZDVoNTNocENiUmRoMmFrL1ZCdFFLcVNHMzNncXRoZTBsWE9BRnVBb0Q5ZEUxbEpBbWZ3MFA4UE04ODRRYWxNQ3pyUm1xbUhaZTM2UU5pRTA4VG5OWW1kM1dsTnRDdG1YOFlnekxkeTdSamZwUkpoNUVRM3lrL3dLTTg4YlF5Z0lkVnlNeFFMVVpWaDI3Kzkzb3R5Sk1GTnErSWZYbXQyZ2k5aVBRbVlCMXlFVWJuOGpNM084aDFMRFJGYUpvSjRLRGlsNVlRaXQ1UVFrZzdEc25sOTdGSXR5cWVaVlQ4Vm1pQzVoS0VvejRoeHI0MDFYNmxtVW1GekQweDVLRFNVNWJRaXQ0UkNLc05FTXc3SjNmTzB0bEJxWnlScVA1WHFLTG1ZVVFndmlCQjlDcHVaUTRGNDZxSkpKZk9DcDJCQ1JrNFpRbTJJNlBRekxUdnlaQ0svZWh4dWxqTTg5bHV3TGFsUE0vczczQUh0NzFGcHNSbGhJWVc2R21lZWNJWFNHNTJIWmNZVDdFS2JKREQ3MFZtMTIwT1VjUWdjMjRyU1U0TVgzOGhaQ2pVd0lkMHZwbHB3eGhON0FVQXBvQnM3emNBcnlHWlNZMVBHTWgxSURRMjkydHJncXAzbjJIVms4U3B3cDhsTmU4VkJxWUVUZUVHcXpIeDNNUXJnT25ObVZ6SC9zZDRFWjFPYmU3SW9xd2kzT0lRaHdHT0RGOTlXSk9MTnQ0NE9kYmN1VXlCcENiUXJwWUR4NEdwYTlCVmpBbDJpU0NyWjZLRGQwNkhKSzZLUUtTU0hNUE5XMHhTYmlOTEYzZE1QTUkya0lyWEZXYUwwTHkxYmdGeFF3VFdaNnRFRW5JdWppRk1MTTNhWVRZZVlWTWk0N0svWmVFaWxENkV3R0VmYzhMUHM1TE1xbGpqOTRwelI2Nk0yYzZVeEc3QnBtN2piOXhXdnJLS1JNeHJMZU82WCtFZ2xEcU8xRWVTclZDSDIydjVHWklUWUM5V0FPKzBxaU5oWUhPNGN4ZHc4emgweldiUkpSdngzUkNETVB0U0hVeG1Jcm83R2NId2k4YUJYYWdWc3BZYVk1RHJKbmRCbjlzYWpFY3NMTUlSTkRKRW1FbWZjTmQ1aDVhQTJoTjNRTHkvWnVHblV0UWt4cy90ZERxVG1MM3NvZ3hPbWlabTZJWlBvRmxISVp4eE5lYXZXSzBCbENxeGlJMVcyUUIxNjBDaStobE1zY2Z1K3AyRHhCVnpEQ2lZOUtUR0prWm9oa2VpMXhKc3M0L3VxbDFrd0pqU0hVcG9RdHpqUWc5UFdvVlVoczMxelBVbGtUM21ZNkNxaE5JVjl4VGg4Uko4d2NNakVFSkthNWw5Q1h1VkxLWjk0cVRvL0FEYUVnVE9OaXhGa29jditsOXBST1hFdlZUcDAwaFg4Z0Z5WDBkdlpEbVFWTUFnb3lORVF5L1I1Q0RhT0RYd2dOMUJBNmxST3dlZ25MVHQ4UTZ4REtaWTY1dU5CUDlEYUdBWXVRYnJlblp2N2IvUW1MbUl6ZWZwSmgxZ25FRUZydWhHWHY3clJzOTEvcUJ1Sk1sWG5tektGc29yY3pDcHhnU205YWQwV2NNUE54MlE4eno2b2huTzdSTkpSYWhQNDlxbkQvcFg0TTFGUEV6V0xUNmExaVF5cm9YZXhGbkFyZ0JxQy9SK08vVDdDWVF4R0xzeGtHa3ZVV1FpczR6amtONzR3ZVZhUnVpRVJZZGhHVll2Ti9mbWcxdUVPWGN3aUZQb1daWDVHZE1QUEF4aEJheVNpRVZ1RHJyZzJoUElvd1JlYmxSc2h4cnFGM2N3SmR6dGpRdXpXa1IxSEtaYlMvVzNhREhWVGJGTE9aYXhIbUFGL2FRVkhQWDh4YldOUklRMjV0U3NsRlZCSHU5aUhNSE82a2lKbFM2aytZZWVEVHJnQmF4YUhBTEdBQzBtTlRtOWkyV0V5ajJMbTNiVEdYMGVXVVVKemlhZWFwcHplaDFITW95K1FzYjhlTm9UQkVFcTNpUDV4dTFLbU9zc1RHOWk2cVpFSHVibXpQQi9RMkJsTE1QTlRETUhONEU0c0t1WlFIdmRJWktrT0FNeE0xblRFSUYyTmh5enhlQ0ZxVHdUdjBMcjdyaEprZnMvM0Z6TTF4UDNFcTVZck1ZOVJDWndoRDdxTTJGb2M3WWVhU1FaajVqdWtPTEc2aGcxb1p6U2ZwYWpPR01BU0dycVkvVzd1ZFpnNlp0eGJDK3lnMkZuZWtFMlp1REdFSUhMMlBRWFNsRVdhK3V6UThqMFc1bFBLa0d5M0dFSWJRb1Bkd1BzSWloS0ZBcG9hQXhLWDJFK1RIM0ptcUJ0ZTNrR281RTdTY0g3ck5aekRzQ2JtU0I5bkswY0JFNEo5ZUZBa2M2aWFEKzJ0NWxTTlI3dGNZNi9SNng4a0dnMGZJUkRwa0RDdm93eEJnTVdSM0gwczZoaWh5VXVkUXdDc2FvMVd2Nnhhb1p6QjRnSlR5c1l3bVJwemh3Ryt6VmE5N1ExamJEUUZRQkpSUnhIcU5NZFl6VlFhRGc0eGx2WXptZklRZmdQOTc0VE5wSWJvekVMaEh5M2pZZEtNTWZpQ1gwMFlSdzRCeVNIK2RZVSs0TndROUdpS0JNSUlDWHRZcE5Lck5YdW5MTWhoMlJVcHBseXRvUlJnRy9weWw1YTBoRWhTalRPZGZ2SzR4UnFZanltRFlIWElaRzhHZnZkZCtHQ0xKTnhEYWRBcHRXc25YMDZqSFlNZzZYbzBoZHNkSXVuaGRLN0JOTjhvUWRqS2RaVXFWdmlpeitJVFh0SklMMDhodk1HU0ZiTFFRM1RtQ09HdTFnall0NS9BTXlqRVlmTUhQTWNUdUdFa0JiMmlsNlVZWndrVlFob0JrTitwVFh0VnBYT0JSbVFaRFJnUnBpQ1JIb2p5Z1UyblRhdE9OTWdSTHRzY1F2U09NcEpQWHRRcGJKM2U3Rk1WZ3lDTHVEU0UrR1NKQkNjb3MrdkNhVHV0MlpxakJrQ1hDMEdYYUZlRkk0RUd0b2sybk9tZjZHQXhaSUp5RytJTEViSlRwUmhteVJOZ05BVkFDektLRVYzVTYzODl5M1lZOEl3cUdTRElJK0sxVzA2YlQrVnBBR2d3NVRwUU1rVUFaaWJCZXE3SFZwamhRTFlhY0kzcUdTSkRvUm0zalZhM21lMEdMTWVRT1VUVkVrc0VJRCtrTnRPa012aHEwR0VQMGlib2hrb3drem5xdE1kMG9RMmJraWlFQStnR3phT2NWcmVIY29NVVlvb2tyUTJqaTRLZENuN1I0eFJEZ2R6ckRkS01NN25IWFFsd2Rlak4wWnlTd1htZWFibFJlRTNkM0dJSGJMbE5ZdTB1OTBROWxGbDI4ckRNWkViUVlRMWJaakZMUE5oYTV5ZVRPRVB0R3poQUpsS0hBNzNRbUs3V0dnNEtXWS9BVkJWYlJ3U0M1REZ2R3VidUN6WjBoT2lOcWlBUUNqS0dBRFRxVG1OcVI2djRaVWtINUV4YW55YVdNbFRHOG4wNFI3Z3pSRldsREpOa0hvWVV1bnROYVRndGFqTUVUM2tXNGtrczVXVXA1T3BPQzNCbkNyODFCd1hBTXdoTmFaN3BSa1VYWkF0UlR3R0M1bEpVaW1SOWU1czRROFp3eUJDUzdVWVc4cVhYRTlCSUtnaFprU0JGaEZVVU1sc3V3cFpTdDNoWHJBcjJlb1JTdzNsV3AwVXEvaERCSmJKN0NrSmU0YXlHS2NxNkYySmxqZ1NmVlpxWGFIQmkwR0VQMnllY3hSTStvMDQyQ0RWcFBURmViYmxRK1lRelJPd05RV2xqUHN6cWJVNElXWThnT3ViNVM3UVhIb2Z4QjYxbXA4L2h5MEdJTS9tSmFpTlJJZEtNNjJhQnpURGNxbDNGbkNNbjdJTGw5VVZyWXdKOTBMaWNITGNiZ1BhYkxsQTdLOFNoUDZSelRqY28xVEpjcGZSTGRxQzdUamNvbFRBdVJPZnNpdFBBWG50SFpuQlMwR0VObXVETkVlcmNINVFmS0NWZzhwWE5acVRZSEJDM0hrQjZtaGZBV0MyRU1SV3pRQm1KcXA3Vm5QVlJvTXdPQzFwQUp1cHFEM1h6ZTdRKzI1ejBFcnFLamNwYjlnQmFLZVZJYk9TWm9NZW1nU3poVWw3S2NZdVlFclNVZGRCVkQ5R2M4UUFkVDNlUnpPNmgyTisxcXpIRUtTbG5RSXR5Z05zVzZoQmdXYnlKY1RYb25zd1NHM3NlK2VoK05XTHdDN20rbWNyZHJUQ2xLK3lIZk1kOW00REdnalM2ZW9JakgwQnpka3hDblBXZ0pxYUxMR0lYU0N0RzdWMXh0TEk1Z05MQUEwZy9NZEx1Tk1wTXh4TnNvRHdOcjJZZUh4UDdpUWRGS0tvRDdNaWc3dkFnZFFVdllFN3FNWTRuVGduSm0wRnJTUWUvakxPSzBJQnlkYVZudURHRlI1R0pQVWhlSi9RVnJFZHJrSnA3djdZT3lrSjlwSlpkRER0NWhMZUZ0SVhRcCt3TjF4SmtFMFZ0SDBaVjhEWXU1S0dPODZwNjc3ekx0bnMySTB4VXE1TmV5Z0E5Y0tMbWVMcjVMNGdTKzNFSEQxMExvY29wbzV6cmkxQ1BzRTdRZXQraEsraUZNQTZhajdPWGxXTldMTHRQYkNBOGp1M2FGM0NDTi9GV3JhRUNabDNnaG5WSkNTTWdNb1lzWndlZTBBTjhLV290YlZCSHVaUXhLRTdpYlRrMlZkQXp4UlZjb1Rwc3M3cjByNUpvU0ZyQ1pVaEk3MTNJREt4eUcwS1VNcG90RktCZEc4VDhidllzVFdVVXIrTHMzeFowaHVyaWJJdVpMTXgvN0lVWnNPcldTNnhDZXBQdDBYMi83b0tOQm9HTUliV1lBUWpWZFRJSG9SU3ZyUFh3RnVCRVlUUlorZlZlR2tLVzg2WmVRN1hVczVHbWR4bkxnV3Ivcnlnb0JkWm5VeG1KQTV0T1FRYUdyNmN0V3lvQVp3SmV5Vlc4NEYxMjJVWTN3M2g0L0Y0WFdJb0JaSnIySnM5aUhGNEI3aUtJWjdtSVVXM2dEcFpFc21nRkNhZ2had2lkQWhidE0vbWpKbUN5MkVIb1RYOVZtVm1MeEtFUXZaRVR2NUhpOWk4Y1JmZzBjSG9TRzBKNXZLazJzMW1tTVJoamxQck1QZ3RJbEM0YlFCZlREWWhyQ2RHQXZ2K3Z6R3IySC9lbWlEZ2wrUFNTMGhnREE0bnFVczREK2FaY1J2RGw4NnpLcElpemlZb1NGRUwycmluVTVSUlJ6SFYzaFdROEpaWmNwaVRUeERrSzlkd1Y2VmxMcStEVHRxZ3M1a1VVOENhd21pbWE0a3hFVThSSktDNFREREpCbFE2aE5vYnA5TFB2U0Fyem91WmpzbUdNVHlxdGVGcWhOSEtvTFdZN3dSK0JVTDh2T0Jub0hRL1IySG5EaTJyNFp0SjZkOGQwUU9waytPb1VSV2tFcm4vQXVVN2pLVFg2eDZVUzVtc1NDb0QvNFlRN2xBeXpPa2hyZThLekloVnhFQVgrRzZJVmxBK2p0akFkZVE5eUhaV2NMWDc1VW5VSmZuY0lvbmNKS0N2a1FlQmdvQXc1Q2FOWXFCcm9wVCtiekhIQ3pIMXAzcmN5VFV0Nm1nTzlJTlM5N1V0b1hIRU8wWTcyR0VmSnhxMmZpdEp3QktPY2lqRUw1RWRDL2w0ZHJIN3E0QlZ6T0hpa3pFSDRFN3N5VUVlbVo0elVLK2I1TVo2UEhhZ3haSUtNV1FpZXh2OFlZcXpIYVVENGtNY0FidzU1bmhVWnFCVDkyVTVmTTUxTWs5THZQSHFlQTA0MFpvb3RyUStoa0Jtb1pWMnVNTmdwNW44UnE2RWpjeHNrSVM3WFMzU3FxTkhJL3lxOWMxZU1WZTI0dDFsTENlVkxOdjdPZ3h1QVQ3aTV1TCtjaUxONUJXRTdDQkpuc29EdUFPTTJ1Y3ltVElPQ0hibWR6S1BmeVpTNlNDdTl1c2pFRWc5c3J0ZnJoNVp5TWNMbE81WWV1c3N4bkk4b3N6elJraXNVU3VyaFNKb1lqek51UUdjRlAzUWszYXpYN3VzclRseVhBSC8wUmxESUsxTXNNeXNRbUhyQVdnMGNFYndnNGhFNmEzR1FRbXpnV0V5R3cvNVc3VUs2Uld1eUE2amY0UkJnTUFUQkJwL0U5Tnhsa0hxOEFTM3pTc3p2YUVTNlRPbFlFVUxmQlo4SmlDQ0hPY3JWZEJ2SDFvUlo0Mng5SlBiSVpZWlRNWkUwVzZ6UmtrYkFZQW9URDJjeGNWMWxzdGpnaHc5bmdZeXhHU0MyL3kxSjloZ0FJanlFU1ROYnBuTzRtZzh6alFlQVhQdWxKOGc3Q3FUSXo4SUc4d1dmQ1pnaUxPTGVyN1hLVFN5ZVRnWC81STRuMUZIQzYxTExCcC9JTklTSnNoZ0FZd21acTNXUndEa1NiNllPVzV5amlUSm5KMzlNdFFCczR5a3RCQm44Sm95RUFxclNhRTF6bEtPWVc0Q2tQTlR6R1hwd3ROZndqM1FMMFJxWWpWSHFveWVBellUVkVJWEh1MEt0VER3MFJtemdGWElNM2F4Ty9BaTZRNlh5YWJnSGF3R3puMUFoRGhBaXJJUUNPWVFCVmJqTElIRjVGMG9pUDJwRzdnVXZFWmxzNm1WVVJiYUFGY2RmdE00U0RNQnNDb0ZhbnV6eURkQXMyOEQ5cDFTWTBpYzA0c2VsTUo3dXVwb0I1M0E3RTBxcmZFRGhoTjBRZjRBNjlKUFdqU2FTWnJVNUViT29JaWxJcE50VnVCU2JSMVJUd1orNEN4cWRiaGlGNHdtNElVRTdpNjB4MmswWG04UkRDejFQOGVCY3dRV1p6azN0eENkU21tRCt6Qm1GTXVtVVl3a0g0RFFFZ05HZzFSN3JLRTZjYzJMU0hUMzFPWXJ4d1o3clMxS2FFUXRxQUg2VmJoaUU4Uk1NUVVJSnltNXNqYkdRZUg4SnV1MEQvd21LRXpPYitkRVhwQXZvNVpuQVZtR2dJTDFFeEJNQjNxZWFucm5JMGNCdndaQS92Skk2SXNYdDhMeVhVWmdEYldBZWNuVzRaaHZBUkpVT0Fza0JuOE5WVVB5NkpUVHdUU0hTTmtpU09pTEY1S1cwWk5nZFN3SDhESjZkYmhpR2NSTXNRc0RkZDNPb21nOHhsQTdEUStldnJ4UG1PMkx5VnJnQzFPWmdDSGlHQ3Ayc2I5a3pVREFGd2dWWnpoYXNjaGN4RnVac0NUcGVHRk82ZDZBV2R5MkZZUEFFbVBpbFhDZlVwYXJ1aFZXdFk1d3ljOTRpejZqd3Vrd3JWWmpCeDFrSHFYVFpEOUloaUN3R3dQOHJpYkZXbWN4aUd4V01ZTStROFVUVUVLS1Y2QXhmNVhvM044Y1I1SERqVTc3b013Uk5kUXlSWXBqYjcrVlc0enVaRWhJZUJBL3lxd3hBdW9tNklnOW1XZnNqRjd0RFpuSW55Q1Bobk9FUDRpTG9oUUxoS3F6blB5eUsxbnZPSjh5Qlp2Z0hURUR6Uk53U0FzRnlydkhsNDFlWUhLUGNEZmIwb3p4QXRjc01ROERVS3VUSFRRclNPeTRCZmtnZzdOK1FodVdJSWdHdDFCbWVrbTFsdHJrYTRsK2l1elJnOElKY01ZYUhjcGxQY2QzVzBqa25BcmVUVzkyRklnMXg3QUFaVDR1NEFZcTFqT3NKU05BUTNXaHNDSjljTUFjcFVyZVhFbEQ0Nmkzb3dKMlBrTUcrZy9OSk5CbmVHNk9KeEpQUm5teFlRNXc2MWU3L2lTMEYwRnEwb2Rka1Vac2dhbTRCcUNqbE9ScnM3ZnRUVkFGS1c4VGZnK3pxRkVjUnBBWmNuWW1TUDRiUnpBMUMvOHh0cVk5SEpDcFNmQktETDRDOXg0RDZLbUNxbDZSMHdsMWFYU1pwWngxYU9ReWtuNlB2ZWVrT28wVnFHZDM5Skw2R0FUdTVFakJseUR1RlJMSTZUS3hpYnJoa2dnekdFcktCREZ0TktKMGNBaTBtY1hoRW1pb2x6ajlxSlZsQnRpaG5LYW9Rcmd4Wm04SlMzRUVybENzNlJ5M2tsMDhJeUhsVExNajZTVm1JSXc0R0hNaTNQWTQ2amczS2RUQjg2V1FQK1I4Y2Fzc1ptb0o1T2hzc1YzbDFnNDlraWxMU3dIamhQWTF5Q01CODQzS3V5TTBLWXpUNWNCSndTdEJTREp5aHdMNTFVeVRnKzhMcHd6NmRkcFpVMURHQUlRam53aWRmbHAwRmZqQmx5aFdkUlRwT3hqUFhERE9EVE9vVFl0RXN6clJReERGZ0I1dHBhUTBhOGgzSWxZemhKcnVScFB5dnlkV0ZPNXJOUm1wa0luQVQ4d2MrNkREbkpWcUNKdmd5VnExZ3BndnBkWVZZQzJhU1o1eFMrUXdVWEF3dUF3N0pScnlIU3JFV1pMRmZ4MTJ4V21yWFFEUUdWUmF6aE03NkpVRS9DL1FiRHpyeUFjb1pjeFNnWmwxMHpRQUN4VExLQ0xiSVFtd0lHQTZ2QS8yYlFFQWsrQXNycHg3ZGxIRThFSlNLdzRENlp6N3R5RTJPQlV4QnozVzBlMHdFc3BwMGpaQnl0VWhyc0FtL2cwYTZ5a0dmb3gybk9DbkpLQjQ4WmNvWjF3TEV5bnBoTURFY0lVT0NHZ01TRmliS0FsU2hIT09PTHovZVl5UkJsTm1CeG9Zem5YQm5QRzBHTDZVNG9ESkZFRnJKWjVtTlR3RkdJZDh2eGh0RHdNY3BrL3M1Uk1vN2ZCQzJtSjBLNWYxZ2FlUXNvMVdyT2RzTE1oKzhwanlIOHlJVE1ENEx3bTFDMUVEc2pqVHhLQ2NjalRJVDBRM29OaGxRSnRTRUF4S1pUR2xtQk1BU2xDV2dQV3BNaGR3bTlJWkpJSTV0a1B0WEVPUnJDMmY4MFJKL0lHQ0tKekdlRE5ISWhjQzZFYTRiQ0VIMGlaNGdrMHNnNlB1SllKOHc4RkhQWWh1Z1RXVU9BczQxMUhxM0FFYzRGS21IYnhtcUlHSkUyUkJLNWtZL2tSbUxFT1JGNFBHZzlodWlTRTRaSUlvMjhLUE00RS9nQjhIYlFlZ3pSSTZjTWtVUWFhR01MMzBLcEJqNE5XbzhoT3VTa0lRQ2ttYTB5anlZS0dZcWFiYXlHMU1oWlF5UVJtNDNTd0VTVWt4Q2VDbHBQeFBndjR0c3Z2YzhMY3Q0UVNhU0I1NWpONlFpbHdEdEI2d2s1YndMbnl5VCtVeWJuMTFnc2J3d0J6amJXMmF5aGdHRWt6bjNkRnJTbWtQRXhTam4vWkxoTTRyZEJpd21DdkRKRUVySFpJck94c1JnRXJDSUxwem1FbkU1Z0JVVU1rY20waWsxbjBJS0NJaThOa1VSczNwWFpqS1dMczRDWGd0WVRDTW9qeERsT0pqTlJKdkxQb09VRVRWNGJJb25NNGZjSUorVFpOdGEvSUpSS0dTTWt4bXRCaXdrTHhoQU9ZaE1YbTVYQWtaRFQyMWcvUTZrSGhzdGtzeXR4WjR3aGRrSnNQaE1ibXdLR1EwNDlNSEZnRmNxUkVzT1dzcHcxZkVhRWNndHBHSkJhL2dLVWFqM25BTTFFZXh2ck15Z3hLZWVab0lXRUhkTkM3QUdaeFNNb3gwTWt0N0crQzF4SmpGT01HVkxER0NJRnhLWlQ2bGhCbktFa2Jrc0srN1RrRnFDZU9JT2xQRHVIQk9jS3hoQXVFSnVQcFk0WUJReEhlVEJvUFQyZ3dCcTYrS1pNd1pZS2MzNnVXOHdZSWcya2hqZUJDM1FPSTBpMEdNTUNsZ1RDODBCTXBwaHJCekxCdEJBWklMV3M0OHNjRS9CdHJPOGpUT1RmZk51WUlYT01JVEpFSnRJaHRiUmljUVNTMVcyczdjQmlpaGdxVTFnaHRnbHY5d0pqQ0krUUdqNlNHbUxBdDhIMzQ5elhZakZNcGhLVHNsRGM0NWN6bURHRXg4Z01YZ0RPMExtTXdxTFY0K0xmUkRoYnB2S1l4K1VhRFA2ak5pWGF5QmxCNnpDa3p2OERRZDdRck1iTFIxQUFBQUFBU1VWT1JLNUNZSUk9Ij4KCjxzdHlsZT4KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90bycpLCBsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by91WUVDTUtvSGNPOXgxd2RtYnlISW0zLV9rZjZCeVlPNkNMWWRCNEhRRS1ZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vc1RkYUE2ajBQc2I5MjBWanYtbXJ6SC1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL19WWUZ4LXM4MjRrWHFfVWwyQkhxWUgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL3RuajRTQjZETmJkYVFuc004Q0ZxQlgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL29NTWdmWk1RdGhPcnlRbzluMjJkY3V2dkRpbjFwSzhhS3RlTHBlWjVjMEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL0tzX2NWeGlDaXdVV1ZzRldGQTNCam4tX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vTko0dnhsZ1d3V2JFc3YxOGRBaHFubi1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9pc1otd2JDWE5LQWJuam82X1R3SFRvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by83N0ZYRmpSYkd6TjRhQ3JTRmhsaDNvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9qU04yQ0dWRGJjVnlDbmZKZmpTZGZJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1VYNmk0SnhRRG0zZlZUYzFDUHV3cW9YMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vZC02SVlwbE9Gb2NDYWNLenh3WFNPSkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by85N3VhaHhpcVpSb25jQmFDRUkzYVc0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vUHdaYy1ZYklMNDE0d0I5ckIxSUFQWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdDZOZDRjZlBSaFpQNDRRNVFBamNDMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQ19acmFSMlRnOHcybHptN2tMTkwwLXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0N3dF9SbTY5MUxUZWJLZlkyWmtLU21JLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0MxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M0Z3A5UThnYllyaHFHbFJhdl9JWGZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M2RThrTTR4V1IxXzFiWVVSUm9qUkdjLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQzlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09wWFVxVG8wVWdRUWhHal9TRmRMV0JrQXo0clluNDdaeTJydmlnV1FmNncud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9XeHJYSmEwQzNLZHRDN2xNYWZHNGRSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vY0RLaFJhWG5RVE9WYmFveHdkT3I5eGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vMWhaZjAyUE9BTmgzMmsyVmtnRW9VQmtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlBjeW5TTDBxSHFfNmRYN2xLVkJ5WFloamJTcHZjNDdlZTZ4Ul84MEhudy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlN6dWxmS1NLMExMampmZWF4Y1JFaGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9LMjNjeFdWVHJJRkQ2REpzRVZpMDdSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vRmw0eTBRZE94eXlUSEVHTVhYOGtjWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8wZUM2ZmwwNmx1WEVZV3BCU0p2WENJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL0kzUzF3c2dTZzlZQ3VyVjZQVWtUT1lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8tTDE0SmswNm02cFVIQi01bVhRUW5ZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vSGdvMTNrLXRmU3BuMHFpMVNGZFVmWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1BydTMzcWpTaHBaU21HM3o2Vll3bllYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL05ZRFdCZEQ0Z0lxMjZHNVhZYkhzRklYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0MTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0X1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0d3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTGlnaHRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by83bThsN1RsRk8tUzNWa2hIdVIwYXQxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0NkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoL2ZvbnQtcm9ib3RvL29IaTMwa3dRV3ZwQ1dxQWh6SGNDU0lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9aTHFLZWVsWWJBVEc2MEVwWkJTRHk0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vbXg5VWNrNnVCNjNWSUtGWW5FTVhyWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vckd2SGRKbnIybDc1cWIwWU5EOU55SVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vUnhaSmRuemVvM1I1elNleGdlOFVVWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vb09lRndaTmxyVGVmekxZbWxWVjFVSVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9tYm1ocHJNSDY5Wmk2ZUVQQllWRmhZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwVjRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBmWnJhUjJUZzh3Mmx6bTdrTE5MMC13LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMFF0X1JtNjkxTFRlYktmWTJaa0tTbUkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBWQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwWWdwOVE4Z2JZcmhxR2xSYXZfSVhmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGFFOGtNNHhXUjFfMWJZVVJSb2pSR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGREaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZX1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZd3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vJyksIGxvY2FsKCdSb2JvdG9Nb25vLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by9oTXFQTkxzdV9keXdNYTRDX0RFcFkxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZNkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnoxeC1NMUkxdzVPTWlxblZGOHhCTGhVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGendYYUFYdXA1bVpsZks2eFJMcmhzY28ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6d242V3F4by14d3hpbERYUFU4Y2hWVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGejFUN2FKTEs2bktwbjM2SU13VGNNTWMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnpfNzlfWnVVeENpZ00yRGVzcFRuRmF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6NGdkOU9FUFVDTjNBZFlXMGU4dGF0NC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6OGJJUVNZWm5XTGFXQzlRTkNwVEtfVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Cjwvc3R5bGU+CgoKCjxzdHlsZT4ubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDEsLm1hdC1oZWFkbGluZSwubWF0LXR5cG9ncmFwaHkgaDF7Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDIsLm1hdC10aXRsZSwubWF0LXR5cG9ncmFwaHkgaDJ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDMsLm1hdC1zdWJoZWFkaW5nLTIsLm1hdC10eXBvZ3JhcGh5IGgze2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0LC5tYXQtc3ViaGVhZGluZy0xLC5tYXQtdHlwb2dyYXBoeSBoNHtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNSwubWF0LXR5cG9ncmFwaHkgaDV7Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDYsLm1hdC10eXBvZ3JhcGh5IGg2e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nLC5tYXQtYm9keS0ye2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keSwubWF0LWJvZHktMSwubWF0LXR5cG9ncmFwaHl7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5IHAsLm1hdC1ib2R5LTEgcCwubWF0LXR5cG9ncmFwaHkgcHttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbCwubWF0LWNhcHRpb257Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktMywubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTN7Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMiwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTJ7Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b24sLm1hdC1yYWlzZWQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24sLm1hdC1zdHJva2VkLWJ1dHRvbiwubWF0LWZsYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtbWluaS1mYWJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGUsLm1hdC1jYXJkLWNvbnRlbnR7Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbHtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29ue2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGx7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGV7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGR7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCByZ2JhKDAsMCwwLDApfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcnt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcnttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlciwubWF0LWdyaWQtdGlsZS1mb290ZXJ7Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZSwubWF0LWdyaWQtdGlsZS1mb290ZXIgLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpLC5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnR7bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0e2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2Vye2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWwsLm1hdC1zdGVwcGVyLWhvcml6b250YWx7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcntmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9ye2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXB7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWxpbmt7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXIsLm1hdC10b29sYmFyIGgxLC5tYXQtdG9vbGJhciBoMiwubWF0LXRvb2xiYXIgaDMsLm1hdC10b29sYmFyIGg0LC5tYXQtdG9vbGJhciBoNSwubWF0LXRvb2xiYXIgaDZ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwe2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0e2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb257Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVte2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1vcHRpb257Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtc3ViaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWx7Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGUsLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGU6bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWR7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1yaXBwbGUtZWxlbWVudHtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW57Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyLC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcntwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcntkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5le3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2Nre3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmd7cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveHtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHsvKiEqL31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHsvKiEqL30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3J7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubWF0LW9wdGlvbntjb2xvcjojMjEyMTIxfS5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksLm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KX0ubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1hY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCk7Y29sb3I6IzIxMjEyMX0ubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXByaW1hcnkgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2Y1N2MwMH0ubWF0LWFjY2VudCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZmY5ODAwfS5tYXQtd2FybiAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZjQ0MzM2fS5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6IzYxNjE2MX0ubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHNldWRvLWNoZWNrYm94e2NvbG9yOiM2MTYxNjF9Lm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye2NvbG9yOiNmZmZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7Y29sb3I6I2IwYjBiMH0ubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNTdjMDB9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmZjk4MDB9Lm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCwubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7YmFja2dyb3VuZDojYjBiMGIwfS5tYXQtYXBwLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1lbGV2YXRpb24tejB7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxe2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejJ7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16M3tib3gtc2hhZG93OjBweCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo0e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo1e2JveC1zaGFkb3c6MHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDVweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo2e2JveC1zaGFkb3c6MHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16N3tib3gtc2hhZG93OjBweCA0cHggNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA3cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMnB4IDE2cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejh7Ym94LXNoYWRvdzowcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo5e2JveC1zaGFkb3c6MHB4IDVweCA2cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDlweCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTZweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTB7Ym94LXNoYWRvdzowcHggNnB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTBweCAxNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA0cHggMThweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTF7Ym94LXNoYWRvdzowcHggNnB4IDdweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTFweCAxNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA0cHggMjBweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTJ7Ym94LXNoYWRvdzowcHggN3B4IDhweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTJweCAxN3B4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTN7Ym94LXNoYWRvdzowcHggN3B4IDhweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTNweCAxOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA1cHggMjRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTR7Ym94LXNoYWRvdzowcHggN3B4IDlweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTRweCAyMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA1cHggMjZweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTV7Ym94LXNoYWRvdzowcHggOHB4IDlweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTVweCAyMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMjhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTZ7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejE3e2JveC1zaGFkb3c6MHB4IDhweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxN3B4IDI2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxOHtib3gtc2hhZG93OjBweCA5cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMThweCAyOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA3cHggMzRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTl7Ym94LXNoYWRvdzowcHggOXB4IDEycHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE5cHggMjlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggN3B4IDM2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejIwe2JveC1zaGFkb3c6MHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjBweCAzMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggMzhweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjF7Ym94LXNoYWRvdzowcHggMTBweCAxM3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMXB4IDMzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCA0MHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoyMntib3gtc2hhZG93OjBweCAxMHB4IDE0cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIycHggMzVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDQycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejIze2JveC1zaGFkb3c6MHB4IDExcHggMTRweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjNweCAzNnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjR7Ym94LXNoYWRvdzowcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlcntkaXNwbGF5Om5vbmV9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcil7YmFja2dyb3VuZDojZmZmfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6IzIxMjEyMX0ubWF0LWJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYmFkZ2UtaGlkZGVuIC5tYXQtYmFkZ2UtY29udGVudHtkaXNwbGF5Om5vbmV9Lm1hdC1iYWRnZS1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6NTAlO3RyYW5zaXRpb246dHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O3RyYW5zZm9ybTpzY2FsZSgwLjYpO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztwb2ludGVyLWV2ZW50czpub25lfS5uZy1hbmltYXRlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudCwubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGV7dHJhbnNpdGlvbjpub25lfS5tYXQtYmFkZ2UtY29udGVudC5tYXQtYmFkZ2UtYWN0aXZle3RyYW5zZm9ybTpub25lfS5tYXQtYmFkZ2Utc21hbGwgLm1hdC1iYWRnZS1jb250ZW50e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6MTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotOHB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotMTZweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi0xNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotOHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotOHB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotOHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi04cHh9Lm1hdC1iYWRnZS1tZWRpdW0gLm1hdC1iYWRnZS1jb250ZW50e3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWJvdmUgLm1hdC1iYWRnZS1jb250ZW50e3RvcDotMTFweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTFweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTIycHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjJweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTIycHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTExcHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi0xMXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6MjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlbG93IC5tYXQtYmFkZ2UtY29udGVudHtib3R0b206LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0yOHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTI4cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE0cHh9Lm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZjU3YzAwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1iYWRnZS1jb250ZW50e291dGxpbmU6c29saWQgMXB4O2JvcmRlci1yYWRpdXM6MH0ubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn0ubWF0LWJhZGdlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiNiZGJkYmQ7Y29sb3I6Izc1NzU3NX0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9ue2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApfS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojZjU3YzAwfS5tYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0ubWF0LWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtaWNvbi1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7b3BhY2l0eTouMTtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQ6IzAwMH0ubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCl7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZsYXQtYnV0dG9uLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LWZhYiwubWF0LW1pbmktZmFie2NvbG9yOiMyMTIxMjE7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnl7Y29sb3I6I2ZmZn0ubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1mYWIubWF0LWFjY2VudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnR7Y29sb3I6I2ZmZn0ubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiwubWF0LWZhYi5tYXQtd2FybiwubWF0LW1pbmktZmFiLm1hdC13YXJue2NvbG9yOiNmZmZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1mYWIubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiwubWF0LWZhYi5tYXQtd2FybiwubWF0LW1pbmktZmFiLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1taW5pLWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXJhaXNlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cHtib3gtc2hhZG93OjBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym94LXNoYWRvdzpub25lfS5tYXQtYnV0dG9uLXRvZ2dsZXtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1idXR0b24tdG9nZ2xlIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2NvbG9yOiMyMTIxMjE7YmFja2dyb3VuZDojZmZmfS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9W2Rpcj1ydGxdIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6I2UwZTBlMDtjb2xvcjojNjE2MTYxfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6IzIxMjEyMX0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMjYpO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjojYmRiZGJkfS5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym9yZGVyOnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7bGluZS1oZWlnaHQ6NDhweH0ubWF0LWNhcmR7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1jYXJkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1jYXJkLm1hdC1jYXJkLWZsYXQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtY2FyZC1zdWJ0aXRsZXtjb2xvcjojNjE2MTYxfS5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOiM2MTYxNjF9Lm1hdC1jaGVja2JveC1jaGVja21hcmt7ZmlsbDojZmZmfS5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlOiNmZmYgIWltcG9ydGFudH0ubWF0LWNoZWNrYm94LW1peGVkbWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtY2hlY2tib3gtZGlzYWJsZWQubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtZGlzYWJsZWQubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2IwYjBiMH0ubWF0LWNoZWNrYm94LWRpc2FibGVkOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIC5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOiNiMGIwYjB9Lm1hdC1jaGVja2JveC1kaXNhYmxlZCAubWF0LWNoZWNrYm94LWxhYmVse2NvbG9yOiM2MTYxNjF9Lm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjU3YzAwfS5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZmY5ODAwfS5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwe2JhY2tncm91bmQtY29sb3I6I2UwZTBlMDtjb2xvcjojMjEyMTIxfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiMyMTIxMjE7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXA6bm90KC5tYXQtY2hpcC1kaXNhYmxlZCk6YWN0aXZle2JveC1zaGFkb3c6MHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXJ7b3BhY2l0eTouNTR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVke29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcntiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm4gLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDA7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC10YWJsZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10YWJsZSB0aGVhZCwubWF0LXRhYmxlIHRib2R5LC5tYXQtdGFibGUgdGZvb3QsbWF0LWhlYWRlci1yb3csbWF0LXJvdyxtYXQtZm9vdGVyLXJvdyxbbWF0LWhlYWRlci1yb3ddLFttYXQtcm93XSxbbWF0LWZvb3Rlci1yb3ddLC5tYXQtdGFibGUtc3RpY2t5e2JhY2tncm91bmQ6aW5oZXJpdH1tYXQtcm93LG1hdC1oZWFkZXItcm93LG1hdC1mb290ZXItcm93LHRoLm1hdC1oZWFkZXItY2VsbCx0ZC5tYXQtY2VsbCx0ZC5tYXQtZm9vdGVyLWNlbGx7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1oZWFkZXItY2VsbHtjb2xvcjojNjE2MTYxfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2NvbG9yOiMyMTIxMjF9Lm1hdC1jYWxlbmRhci1hcnJvd3tmaWxsOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b257Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVye2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWx7Y29sb3I6IzYxNjE2MX0ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3J7Y29sb3I6IzIxMjEyMTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKX0ubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtjb2xvcjojNzU3NTc1fS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9ye2NvbG9yOiM3NTc1NzV9Lm1hdC1jYWxlbmRhci1ib2R5LWluLXByZXZpZXd7Y29sb3I6cmdiYSgwLDAsMCwuMjQpfS5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjE4KX0ubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ1LDEyNCwwLC4yKX0ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX0ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NSwgMTI0LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDUsIDEyNCwgMCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX0ubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NSwxMjQsMCwuNCl9Lm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ1LDEyNCwwLC4zKX0ubWF0LWRhdGVwaWNrZXItY29udGVudHtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNTUsMTUyLDAsLjIpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDE1MiwgMCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI1NSwgMTUyLCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZDojNDZhMzVlfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMDtjb2xvcjojZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDE1MiwwLC40KX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNTIsMCwuMyl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI0NCw2Nyw1NCwuMil9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI0OSwxNzEsMCwuMil9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjQ0LCA2NywgNTQsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXJ7YmFja2dyb3VuZDojYThkYWI1fS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZDojNDZhMzVlfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuMyl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2h7Ym94LXNoYWRvdzowcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZle2NvbG9yOiNmNTdjMDB9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1kYXRlLXJhbmdlLWlucHV0LWlubmVyW2Rpc2FibGVkXXtjb2xvcjojNzU3NTc1fS5tYXQtZGlhbG9nLWNvbnRhaW5lcntib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1kaXZpZGVye2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZGl2aWRlci12ZXJ0aWNhbHtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZXhwYW5zaW9uLXBhbmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjEyMTIxfS5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1hY3Rpb24tcm93e2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLC5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2ZmZn19Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2NvbG9yOiMyMTIxMjF9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLC5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXJ7Y29sb3I6IzYxNjE2MX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVdIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbntjb2xvcjppbmhlcml0fS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntoZWlnaHQ6NDhweH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIubWF0LWV4cGFuZGVke2hlaWdodDo2NHB4fS5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDk3LDk3LDk3LC42KX0ubWF0LWhpbnR7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjU3YzAwfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlcntjb2xvcjojZmY5ODAwfS5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y1N2MwMH0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZmY5ODAwfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50LC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtZXJyb3J7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiM2MTYxNjF9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtaGludHtjb2xvcjojNjE2MTYxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNDIpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNDIpIDMzJSwgdHJhbnNwYXJlbnQgMCUpO2JhY2tncm91bmQtc2l6ZTo0cHggMTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMCUsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjAyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojNzU3NTc1fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6Izc1NzU3NX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjA2KX0ubWF0LWljb24ubWF0LXByaW1hcnl7Y29sb3I6I2Y1N2MwMH0ubWF0LWljb24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtaWNvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6IzYxNjE2MX0ubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojNzU3NTc1fS5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjU3YzAwfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDk3LDk3LDk3LC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWZvcm0tZmllbGQubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2ZmOTgwMH0ubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOiMyMTIxMjF9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntjb2xvcjojMjEyMTIxfS5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2NvbG9yOiM2MTYxNjF9Lm1hdC1saXN0LWl0ZW0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtbGlzdC1vcHRpb246aG92ZXIsLm1hdC1saXN0LW9wdGlvbjpmb2N1cywubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlciwubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmhvdmVyLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtbWVudS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1tZW51LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtbWVudS1pdGVte2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtjb2xvcjojMjEyMTIxfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSwubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1tZW51LXN1Ym1lbnUtaWNvbiwubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1pY29uLW5vLWNvbG9ye2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsLm1hdC1tZW51LXN1Ym1lbnUtaWNvbntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZDpub3QoW2Rpc2FibGVkXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1wYWdpbmF0b3J7YmFja2dyb3VuZDojZmZmfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2NvbG9yOiM2MTYxNjF9Lm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudHtib3JkZXItdG9wOjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCk7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCl9Lm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItdG9wOjJweCBzb2xpZCByZ2JhKDAsMCwwLC41NCl9Lm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1maXJzdCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1sYXN0e2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wYWdpbmF0b3ItY29udGFpbmVye21pbi1oZWlnaHQ6NTZweH0ubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZkZGViZn0ubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojZmRkZWJmfS5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojZmZlNWJmfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZmZTViZn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZjZDBjZH0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojZmNkMGNkfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xlLC5tYXQtc3Bpbm5lciBjaXJjbGV7c3Ryb2tlOiNmNTdjMDB9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1hY2NlbnQgY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZXtzdHJva2U6I2ZmOTgwMH0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXdhcm4gY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtd2FybiBjaXJjbGV7c3Ryb2tlOiNmNDQzMzZ9Lm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiM2MTYxNjF9Lm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmNTdjMDB9Lm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeTphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2ZmOTgwMH0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQ6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZjQ0MzM2fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm46YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1zZWxlY3QtdmFsdWV7Y29sb3I6IzIxMjEyMX0ubWF0LXNlbGVjdC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDk3LDk3LDk3LC40Mil9Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWV7Y29sb3I6Izc1NzU3NX0ubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojNjE2MTYxfS5tYXQtc2VsZWN0LXBhbmVse2JhY2tncm91bmQ6I2ZmZn0ubWF0LXNlbGVjdC1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXByaW1hcnkgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y1N2MwMH0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZmY5ODAwfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojNzU3NTc1fS5tYXQtZHJhd2VyLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWRyYXdlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWRyYXdlci5tYXQtZHJhd2VyLXB1c2h7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZHJhd2VyOm5vdCgubWF0LWRyYXdlci1zaWRlKXtib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWRyYXdlci1zaWRle2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1yaWdodDpub25lfVtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93bntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNTIsMCwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NSwxMjQsMCwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNTQpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYiwubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NSwxMjQsMCwuMil9Lm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYiwubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNTIsMCwuMil9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LXdhcm4gLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4yKX0ubWF0LXNsaWRlcjpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1ie2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWRpc2FibGVkOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3N7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNyksIHJnYmEoMCwgMCwgMCwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwLjAwMDFkZWcsIHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpIDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpIDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpfS5tYXQtc3RlcC1oZWFkZXIuY2RrLWtleWJvYXJkLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkLC5tYXQtc3RlcC1oZWFkZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkXSksLm1hdC1zdGVwLWhlYWRlcjpob3ZlclthcmlhLWRpc2FibGVkPWZhbHNlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KX0ubWF0LXN0ZXAtaGVhZGVyOmhvdmVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOmRlZmF1bHR9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LXN0ZXAtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6bm9uZX19Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtbGFiZWwsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtb3B0aW9uYWx7Y29sb3I6IzYxNjE2MX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29ue2JhY2tncm91bmQtY29sb3I6IzYxNjE2MTtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDA7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb257Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtjb2xvcjojZjQ0MzM2fS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZXtjb2xvcjojMjEyMTIxfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwcGVyLWhvcml6b250YWwsLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSwubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVye2hlaWdodDo3MnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXJ7cGFkZGluZzoyNHB4IDI0cHh9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXt0b3A6LTE2cHg7Ym90dG9tOi0xNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlciwubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3Jle3RvcDozNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZXt0b3A6MzZweH0ubWF0LXNvcnQtaGVhZGVyLWFycm93e2NvbG9yOiM2MTYxNjF9Lm1hdC10YWItbmF2LWJhciwubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpfS5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1uYXYtYmFyLC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1ib3R0b206bm9uZX0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2NvbG9yOiMyMTIxMjF9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6Izc1NzU3NX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojMjEyMTIxfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiM3NTc1NzV9Lm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV17Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3A6bm9uZX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMjQsMTc4LC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIyNCwxNzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjU3YzAwO2NvbG9yOiMyMTIxMjF9Lm1hdC10b29sYmFyLm1hdC1wcmltYXJ5e2JhY2tncm91bmQ6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtYWNjZW50e2JhY2tncm91bmQ6I2ZmOTgwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtd2FybntiYWNrZ3JvdW5kOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtdmFsdWUsLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6aW5oZXJpdH0ubWF0LXRvb2xiYXIgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3ttaW4taGVpZ2h0OjY0cHh9Lm1hdC10b29sYmFyLXJvdywubWF0LXRvb2xiYXItc2luZ2xlLXJvd3toZWlnaHQ6NjRweH1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10b29sYmFyLW11bHRpcGxlLXJvd3N7bWluLWhlaWdodDo1NnB4fS5tYXQtdG9vbGJhci1yb3csLm1hdC10b29sYmFyLXNpbmdsZS1yb3d7aGVpZ2h0OjU2cHh9fS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10cmVlLW5vZGUsLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2NvbG9yOiMyMTIxMjF9Lm1hdC10cmVlLW5vZGV7bWluLWhlaWdodDo0OHB4fS5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtiYWNrZ3JvdW5kOiMzMjMyMzI7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY5ODAwfWJvZHl7b3ZlcmZsb3c6aGlkZGVufS5jZGstb3ZlcmxheS1jb250YWluZXJ7Y29udGFpbjpzdHJpY3R9YTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbil7Y29sb3I6IzE5NzZkMn1hOm5vdCgubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uKTp2aXNpdGVke2NvbG9yOiM3YjFmYTJ9Ym9keS5kYXJrLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlIGE6bm90KC5tYXQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24pe2NvbG9yOiM0MmE1ZjV9Ym9keS5kYXJrLW1vZGUgYTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbik6dmlzaXRlZHtjb2xvcjojYmE2OGM4fWJvZHkuZGFyay1tb2RlIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA0KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye2NvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7Y29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLGJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7YmFja2dyb3VuZDojNjg2ODY4fWJvZHkuZGFyay1tb2RlIC5tYXQtYXBwLWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUubWF0LWFwcC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXowe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoye2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggM3B4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NHtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA1cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejd7Ym94LXNoYWRvdzowcHggNHB4IDVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggN3B4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXo4e2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16OXtib3gtc2hhZG93OjBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA5cHggMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggM3B4IDE2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEwe2JveC1zaGFkb3c6MHB4IDZweCA2cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEwcHggMTRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejExe2JveC1zaGFkb3c6MHB4IDZweCA3cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDExcHggMTVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDIwcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEye2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEze2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEzcHggMTlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE0e2JveC1zaGFkb3c6MHB4IDdweCA5cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE0cHggMjFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE1e2JveC1zaGFkb3c6MHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE1cHggMjJweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDI4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE2e2JveC1zaGFkb3c6MHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoxN3tib3gtc2hhZG93OjBweCA4cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTdweCAyNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MTh7Ym94LXNoYWRvdzowcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE4cHggMjhweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggN3B4IDM0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE5e2JveC1zaGFkb3c6MHB4IDlweCAxMnB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxOXB4IDI5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDdweCAzNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyMHtib3gtc2hhZG93OjBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIwcHggMzFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDM4cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejIxe2JveC1zaGFkb3c6MHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjFweCAzM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggNDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MjJ7Ym94LXNoYWRvdzowcHggMTBweCAxNHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMnB4IDM1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCA0MnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyM3tib3gtc2hhZG93OjBweCAxMXB4IDE0cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIzcHggMzZweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejI0e2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpe2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZWY2YzAwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgYm9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e291dGxpbmU6c29saWQgMXB4O2JvcmRlci1yYWRpdXM6MH1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiM2ZTZlNmU7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9ue2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1hY2NlbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtvcGFjaXR5Oi4xO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZDojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXdhcm57Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mYWI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXB7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJke2JveC1zaGFkb3c6bm9uZX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGV7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2NvbG9yOiNmZmY7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgW2Rpcj1ydGxdIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6IzIxMjEyMTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JhY2tncm91bmQtY29sb3I6IzAwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsYm9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym9yZGVyOnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYXJke2JhY2tncm91bmQ6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FyZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja21hcmt7ZmlsbDojMzAzMDMwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlOiMzMDMwMzAgIWltcG9ydGFudH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LW1peGVkbWFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWRpc2FibGVkOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIC5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOiM2ODY4Njh9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1kaXNhYmxlZCAubWF0LWNoZWNrYm94LWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcHtiYWNrZ3JvdW5kLWNvbG9yOiM2MTYxNjE7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpOmFjdGl2ZXtib3gtc2hhZG93OjBweCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSAubWF0LWNoaXAtcmVtb3ZlOmhvdmVye29wYWNpdHk6LjU0fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1kaXNhYmxlZHtvcGFjaXR5Oi40fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7YmFja2dyb3VuZDojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6I2ZmZjtvcGFjaXR5Oi40fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGV7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGUgdGhlYWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWJsZSB0Ym9keSxib2R5LmRhcmstbW9kZSAubWF0LXRhYmxlIHRmb290LGJvZHkuZGFyay1tb2RlIG1hdC1oZWFkZXItcm93LGJvZHkuZGFyay1tb2RlIG1hdC1yb3csYm9keS5kYXJrLW1vZGUgbWF0LWZvb3Rlci1yb3csYm9keS5kYXJrLW1vZGUgW21hdC1oZWFkZXItcm93XSxib2R5LmRhcmstbW9kZSBbbWF0LXJvd10sYm9keS5kYXJrLW1vZGUgW21hdC1mb290ZXItcm93XSxib2R5LmRhcmstbW9kZSAubWF0LXRhYmxlLXN0aWNreXtiYWNrZ3JvdW5kOmluaGVyaXR9Ym9keS5kYXJrLW1vZGUgbWF0LXJvdyxib2R5LmRhcmstbW9kZSBtYXQtaGVhZGVyLXJvdyxib2R5LmRhcmstbW9kZSBtYXQtZm9vdGVyLXJvdyxib2R5LmRhcmstbW9kZSB0aC5tYXQtaGVhZGVyLWNlbGwsYm9keS5kYXJrLW1vZGUgdGQubWF0LWNlbGwsYm9keS5kYXJrLW1vZGUgdGQubWF0LWZvb3Rlci1jZWxse2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtaGVhZGVyLWNlbGx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jZWxsLGJvZHkuZGFyay1tb2RlIC5tYXQtZm9vdGVyLWNlbGx7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWFycm93e2ZpbGw6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCxib2R5LmRhcmstbW9kZSAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9ye2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvcntjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI0KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyMzksMTA4LDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQ6IzQ2YTM1ZX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC40KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksYm9keS5kYXJrLW1vZGUgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ0LDY3LDU0LC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmV7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiM0MjQyNDI7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSxib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9QG1lZGlhKGhvdmVyOiBub25lKXtib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojNDI0MjQyfX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOmluaGVyaXR9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtaGludHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZXJyb3J7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWhpbnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE1KX1ib2R5LmRhcmstbW9kZSAubWF0LWljb24ubWF0LXByaW1hcnl7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWljb24ubWF0LWFjY2VudHtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQ6OnBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQgb3B0aW9ue2NvbG9yOnJnYmEoMCwwLDAsLjg3KX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQgb3B0aW9uOmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjM4KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1pdGVtLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6IzAwMH1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtb3B0aW9uOmhvdmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1vcHRpb246Zm9jdXMsYm9keS5kYXJrLW1vZGUgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpob3Zlcixib2R5LmRhcmstbW9kZSAubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3VzLGJvZHkuZGFyay1tb2RlIC5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06aG92ZXIsYm9keS5kYXJrLW1vZGUgLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1c3tiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA0KX1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtc2luZ2xlLXNlbGVjdGVkLW9wdGlvbixib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtc2luZ2xlLXNlbGVjdGVkLW9wdGlvbjpob3Zlcixib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtc2luZ2xlLXNlbGVjdGVkLW9wdGlvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sYm9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtbWVudS1zdWJtZW51LWljb24sYm9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtaWNvbi1uby1jb2xvcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsYm9keS5kYXJrLW1vZGUgLm1hdC1tZW51LXN1Ym1lbnUtaWNvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksYm9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQ6bm90KFtkaXNhYmxlZF0pe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9ye2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LXBhZ2luYXRvcixib2R5LmRhcmstbW9kZSAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50e2JvcmRlci10b3A6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCAjZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLWZpcnN0LGJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLXRvcDoycHggc29saWQgI2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWZpcnN0LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojNjAzZjI0fWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojNjAzZjI0fWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojNjEzNTMyfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2MTM1MzJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1zcGlubmVyIGNpcmNsZXtzdHJva2U6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1zcGlubmVyLm1hdC1hY2NlbnQgY2lyY2xle3N0cm9rZTojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtd2FybiBjaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1zcGlubmVyLm1hdC13YXJuIGNpcmNsZXtzdHJva2U6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnkubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeTphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQ6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm46YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zZWxlY3QtdmFsdWV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXByaW1hcnkgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRyYXdlcntiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDI7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRyYXdlci5tYXQtZHJhd2VyLXB1c2h7YmFja2dyb3VuZC1jb2xvcjojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyOm5vdCgubWF0LWRyYXdlci1zaWRlKXtib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWRyYXdlci1zaWRle2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1ib2R5LmRhcmstbW9kZSBbZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpO2JvcmRlci1yaWdodDpub25lfWJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93bntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTg5LDE4OSwxODksLjYpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuNTQpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuNTQpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNTQpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZC1jb2xvcjojYmRiZGJkfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsYm9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWFjY2VudCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxsLGJvZHkuZGFyay1tb2RlIC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXI6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCxib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCxib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1maWxsLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1ie2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItZGlzYWJsZWQ6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKSAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXI6aG92ZXJbYXJpYS1kaXNhYmxlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlclthcmlhLWRpc2FibGVkPXRydWVde2N1cnNvcjpkZWZhdWx0fUBtZWRpYShob3Zlcjogbm9uZSl7Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOm5vbmV9fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLW9wdGlvbmFse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zb3J0LWhlYWRlci1hcnJvd3tjb2xvcjojYzZjNmM2fWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItbmF2LWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItaGVhZGVye2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEyKTtib3JkZXItYm90dG9tOm5vbmV9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwW2NsYXNzKj1tYXQtYmFja2dyb3VuZC1dIC5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyW2NsYXNzKj1tYXQtYmFja2dyb3VuZC1de2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wOm5vbmV9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTEsMTQwLDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1MSwxNDAsMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMDUsMjEwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTEsMTQwLDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjUxLDE0MCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMDUsMjEwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZXtib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFye2JhY2tncm91bmQ6I2VmNmMwMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhci5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIubWF0LWFjY2VudHtiYWNrZ3JvdW5kOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIubWF0LXdhcm57YmFja2dyb3VuZDojZjQ0MzM2O2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LXZhbHVlLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC1hcnJvdyxib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOmluaGVyaXR9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjpjdXJyZW50Q29sb3J9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sdGlwe2JhY2tncm91bmQ6cmdiYSg5Nyw5Nyw5NywuOSl9Ym9keS5kYXJrLW1vZGUgLm1hdC10cmVle2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LXRyZWUtbm9kZSxib2R5LmRhcmstbW9kZSAubWF0LW5lc3RlZC10cmVlLW5vZGV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Y29sb3I6cmdiYSgwLDAsMCwuODcpO2JhY2tncm91bmQ6I2ZhZmFmYTtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2NvbG9yOmluaGVyaXR9Cjwvc3R5bGU+Cgo8c3R5bGU+CiAgaHRtbCwKICBib2R5IHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgY29sb3I6IHZhcigtLXByaW1hcnktdGV4dC1jb2xvcik7CgogICAgLyogTGVnYWN5IG1lY2hhbmlzbSB0byBhdm9pZCBpc3N1ZXMgd2l0aCBzdWJwaXhlbCBhbnRpLWFsaWFzaW5nIG9uIG1hY09TLgogICAgICoKICAgICAqIEluIHRoZSBwYXN0IFsxXSwgbWFjT1Mgc3VicGl4ZWwgQUEgY2F1c2VkIGV4Y2Vzc2l2ZSBib2xkaW5nIGZvciBsaWdodC1vbi1kYXJrIHRleHQ7IHRoaXMgcnVsZQogICAgICogYXZvaWRzIHRoYXQgYnkgcmVxdWVzdGluZyBub24tc3VicGl4ZWwgQUEgYWx3YXlzLCByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBiZWhhdmlvciwgd2hpY2ggaXMKICAgICAqIHRvIHVzZSBzdWJwaXhlbCBBQSB3aGVuIGF2YWlsYWJsZS4gVGhlIG9yaWdpbmFsIGlzc3VlIHdhcyAiZml4ZWQiIGJ5IHJlbW92aW5nIHN1YnBpeGVsIEFBIGluCiAgICAgKiBtYWNPUyAxNCAoTW9qYXZlKSwgYnV0IGZvciBsZWdhY3kgcmVhc29ucyB0aGV5IHByZXNlcnZlZCB0aGUgYm9sZGluZyBlZmZlY3QgYXMgYW4gb3B0aW9uLgogICAgICogQ2hyb21lIHRoZW4gaW4gdHVybiB1cGRhdGVkIGl0cyBmb250IHJlbmRlcmluZyB0byBhcHBseSB0aGF0IGJvbGRpbmcgZWZmZWN0IFsyXSwgd2hpY2ggbWVhbnMKICAgICAqIHRoYXQgZXZlbiB0aG91Z2ggdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBkb2NzIFszXSBzdWdnZXN0IHRoYXQgc2V0dGluZyBgYW50aWFsaWFzZWRgCiAgICAgKiB3b3VsZCBoYXZlIG5vIGVmZmVjdCBmb3IgcmVjZW50IHZlcnNpb25zIG9mIG1hY09TLCBpdCBzdGlsbCBpcyBuZWVkZWQgdG8gYXZvaWQgdGhlIGJvbGRpbmcuCiAgICAgKgogICAgICogWzFdOiBodHRwOi8vd3d3LmxpZ2h0ZXJyYS5jb20vYXJ0aWNsZXMvbWFjb3N4dGV4dGFhYnVnLwogICAgICogWzJdOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD04NTg4NjEKICAgICAqIFszXTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ZvbnQtc21vb3RoCiAgICAgKgogICAgICovCgogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgfQogIG5vc2NyaXB0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgcGFkZGluZzogMTBweDsKICB9Cjwvc3R5bGU+Cgo8L2hlYWQ+PGJvZHk+PG5vc2NyaXB0PgogICAgPGgxPlRlbnNvckJvYXJkIHJlcXVpcmVzIEphdmFTY3JpcHQ8L2gxPgogICAgPHA+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IGFuZCByZWxvYWQgdGhpcyBwYWdlLjwvcD4KICA8L25vc2NyaXB0Pjx0Yi13ZWJhcHA+PC90Yi13ZWJhcHA+PHNjcmlwdCBzcmM9ImluZGV4LmpzP19maWxlX2hhc2g9YjJlY2FiODciPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+",
"ok": true,
"headers": [
[
"content-type",
"text/html; charset=utf-8"
]
],
"status": 200,
"status_text": ""
},
"https://localhost:6006/font-roboto/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2": {
"data": "d09GMgABAAAAACn8AA4AAAAAUjgAACmjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmUAcg0oGYACGTBEMCu1810YLg14AATYCJAOHNgQgBYJ0ByAbL0RFB2LYOGCA7DduwB2DjQOQz3hJ9n+ZwI0hWB/YxYSYMBRSFENBsWqrAkWbJBHpUKamYBECLd7YUy2OVYvlKX1dMf05+T/7LtU4wMKUW3v6cz1MLF0FGyHJLEG01r/VMHufgpZJIoGKBHQMKsYkFpgU4tsDmtv9xsaIGoiNiIJRtJKSElLSIdGjQuiRIypl0JtBlKISJSqZZnH/Oq0ZWaYZyYoPCFpukb7+N+xuwk6iBRZMI8WdlLQH1F3R7l157zoCyXjA9AD36nWBrP07PZhwgBLSeMnLEQ4VqJsqlv8siGuabsED3LeKFnxrugO3hMah9NJJ/ipRkvNo0bWSH6xvN8TX2qedvrqte1s1/yDEW6dCUB4tkIxQEeoDTSYMiiaAuBEGJLK/dSEgoaIi0Ua4CGXj/7vX2aa3YewLW7L1Fw6EC+fgxB/7NWWpMKZaUyFMhaxEyArLmA7J/62Zdje5MjlgYyvcOTf7ZycwswkX9oD2CklKoSNIzN4VWFXVET5/gKgKaO9USZgKCaxcreurQxDS1KS6SqUxAJqz+B+OtbQOoul9mcsgjITAKKN32318dn4Bhdn5t38EFHq8pCEUmUMECIAIFw4RKRIiRgxEnDiIBEkQpSqgdDmAQKCAVcCaECAgAiDACvyk0ex3gJounDg3gOACJy4k2DnDicusvN3gBBrAILTCpecT3AAH9C0NYpDo+7rNUJuyf/BUQ/cM42KIV0v11FyNhkyiUDj0XDKjjuX1lEnr9K7FjMnEPpZVifqZhCWKr4SbqzTQwLYaKjSBrueqpWpPjRbN9WixjymuFFH/CwqFBhYDRux4XXDRJZfdwE+IMBGibhEnQYq021SoUqPpHm069BkyZsKMhXQZsmTrQkH1yGNPPNWtR68+/Z4b8cJLr0x66515C1atWbdh05Z9BxC3mkNDHAcJeFI4TeKEYI8bP9Y44ePEm77r41+ewEGxRUrtUWZUuIsOetH6bTJql3HbzKjlpPZkximHvICSPiqPeMwTngZTLZpmhlleMxe8ac9b3jHPAmuss8EmW8F2u3bYZS/Yb9vBNIRJvask5+7FELPwimHcaoZ46yTaJ9WCSTY0DsjmwGD82Y7DoWmOfu1MGuY6fi64i8JTF1OyuErRYMJBFtuDaaussAMsMLJnmS0vuQHreu+JDYwyxjgTDXPAYsWQxpkTT6ltykCFu+glcU3S4tKxymCyyA7etO0t75hnoWEGSu1TRoW76JHEG97yjnkWzo2mioUhQSbYYOmYZg2ss8EmWw1jsBYFTyY55CV9Yp999tlnP46GGajhpolWtE5hDEphgsHaYdbBBptsWWTntaOdq59hH5i0BI2pTbJ9tW44FNXel24XIjwwjRl9q3SNYW6MMqPqdvrNMVySVP2Trj0U3CvhlYipV1w9cpuCyIgMoYoJ6uAoNADzvug45Zj7yoBXfrjWup4FNpUP90w83Gjmo+puO/m8JAbcN3D4dUpCw6N96EFl/RgLIB76ETisxR/w6aPfR7D+NjfOfbeHOYYeHrwM6cPqaG0C4EDa+qeN8E9UN/umlSM27Cex9S8bW/9cmENaN4plychcK2z/rnfLbrbSThvtiLBzSrZHuO7Wmpvu9U1ldbZfCTb4hlrtIxcAHO5g65ppXrrnhMPC1kvnK5fWHKkuAKxYS2ygcV0rlvjEtGOxglUm6USA2od7bZ7ZA0zgcMNXu6Vq96DjVnaFuUnt8GvYm+2/bLjrmx9odH8OHtYJcBgN/b8kxzn07RsPkp7oNsv+PxY7vLXhbI0B2O6kbBr78YIaGQ9mNpD/ZDn01If3Bh8OOu7XP4HYqD7kLYGVOfcyTk47aKYl0X7mMjiMDjPg7M42er6j3/abnabFTbZeexnmm/4ZPQMO37lXsuKw1GmniQNWEawkgpUo+P+g8bqExlXC6NwiDU+RkuNUiKeoeU+7RxcXffIw9p5jytx58d4L0uW4KO/t67osuGHVFr1lzLkJFBG7OIqjOKlO+kwUPh53gWwuEnGJGNdJ7wYZ8JOTEBHC5HCLTMRIT5wnSPAYSbKSIiNpslAk1h3SUiqP+NULp2hOtdHQAdF0S1ofe7ErOh/EMyMdczKLF9olnjsqE3JyqeeOygFPyuNJXV4ExVMo3X9j06MfxnOvIEZNoDdJXkZT5mC98R7x1gKc1fs01mxBk9dJBzawOQ5sKDkp7MUhWOFQrjBRrvMoIaKIEOVmyUxYL3rQ4QjYwQIGsIZUnapA3GVBSAIaNA5ND0QYkJFRiSHMgAOcYxIJoiQSJek+IlUaTgrBBg6wgcNx6IRwArCCIg8o0IFB0e4sQGgD2sfstj0Yi/vtsrpEq52XqxUx7wXavU9R5AbVfbV1p6EDtGWnJA/XVOMRsvo8RlPdHad9NxBpoVtpYHLL0QrVHnveFe6uwPf/7jyBq5c52luBaALJx8pX+LgSQAvlHBSU/jQISHSdPDXyK0T8EDNBpjzkeaygcCLzJqgiKV9QtldXCkW9eOkpVFBLmWjZoyokvMYGYuM3q7LDGjTAj7sPXGsYBaVQYdkTHmY1/zyKJHrVqlSqUatOvQaNHgpOvOwmgbx4I2vWolWbdigIDqeB6phIgQHjoSEEYoO3GfWG+xmO9H2b14EtgH09CwceqakEMmDjtbHwH1ywyEvghjwO6F0GGbeagAYru65f6TdFf8NxEZpQA3bCjcYxgDMmoUrc/1DdhozZ9MEhMsFlbnKRv254PFwOt8PD8DLMhvlhdVifRh0CAEy4lSj1fMkew8Zt+fiWtyg/Gs6H67an546+N+CsD3294PDnwOcHM058+/z/7Vt/15TJ8MUb+x/6/XXxtmRzAC4jjHlHw5q/XvcP1+XZL9e/HyHSqDHjJkyKEm3KtBmzXpsTI/YX7U0Txdm2Y9eeffEOMAIAZPHeNcAFkH5MT6DhJhQar4QOSmnAxmukk4d0404Pg1C8IcIZ7jem0m8c6GKCWZ7xmjkieMMCoyyyRBTLbDDlbRLDFh94430klk98Z5Uf/ITIL/6x7f0n3jtUBxqZCCT4yEItBRI1aiOQrFEfAiSN+hJI8bmP1LFAqs99ri4F0n3ua3UrkKW5HwRyNfeLQJ7PPVUzgXzNPRco1NwrgSLNvRYo1jyHQ6BkqJuBg+pwqVfwfijyRYUwvQnHv6TWp0PyKigaNh96H4GBhmyOegPVB40f59xGEvqhc+sAD9WxCKjVXrZAVDdIs68AhHKCotyajCaMMM33GHhE96JFqxBPQEEEoqpC8iJOGGL05OS/t6P7dswwoetDgYYOgzlyg98MT+zFf0ajcoEikxZ3w24atFBdBAG0lP/g72LZuroeHO2D0lGazKLkzmMauyiDCdhr2a5txrOVjSChgd2ova0t77MhhbcusVxATqdNzYG/FtlUbXRQPRO4OeZ3jE2LIpfa374QSXm/jXcJ1RlLGxZ+dBY1t4Brn0S4YIb5A885pd4Nm4nTxHTsncPU/uJFsrvfCo55+xh0RpRwlNVFmRZ5JT0a8vqz7YKjXITu0NETuTeLgWx0wlG1ZKwnE8zEIEPVAl29KW8grf5KvdJSAaHPwFwMFyKZcNGCzUM5o39uRYwWpCG2syOpPpQYJcOaFn+YiakAyoJBWW1PdQ3gky5Lyrv1Qu08YS8gSdFMp6Xw8V//1cwtjV/OeuogqHw10Ysw1TOlp8shZnahTTWfy4ZZH3Bv01/rq0FPiwuORTUH3Rr39SnJaRmeqQkMhbRqn4TlQFNuBzh2XJgnuDqHspyu0HjUXsMzfPUKBo4oQFl/59ra8oQdbCz13uBAOQ+7IIF6czUJA1lU66Bw5NYfWV31oNN7ypngGeWsuTqsEsrhFQEqG1WQZkIcz5vH8rsZjFklUsoKdqUiEv68IaVRHWA1ltQdWoR4IBbvBaMNWXDw7xohT2WjEINN7BucggQF7qiNneY8xhDhaJpbjN+TprJdqRJ68eUpZ5QTOoqiy71R/rGSuGKW/zv5f6bK+V+XqNf9bxu3tMVwufyHCz+PSnKjrh9+fWXoqLsUjumye4LFDWIi7dtumjw+brjklOBI+ScdTjXMTJQ4+jRhyjVAOkeCkt30cx/S2Z8qaXHhEDOrpWN7sCJd6FjeIVEmfARcWahxPLsI1sVRRvQyvF1z0BOqq/mw7dXZ5YiDWzSTRl1gQmV52yFfjGnz20KQxu571VcjSo6/lSSUtDza2mZJtR3ssJefgx5bpVWyM8HDYK/wkP5JPnL6UqVarauNUmfRkTOho3FTlGoP6PIFDRtZeBq6BcMRkGuIiNY4MYmDV0ujHNQz+aSb3NheHTbPCEeU8Mg3wvEIObtW60VLwLt7tL9LwT6HZUmRTfWEN7twFXImIwjFDI64QVhZ3NhBFt8eBbxHMZ8CaIe7H1C8xvXMdyxLPb6VIsSjjQ5Tu6SCqgAr05exOiWSIOmZeqYl2yAKsJ4IfFNStZo5LrDOMVUi2QHIrmqZ8dR/Sd8CWKfN1Wr8Mskb5eGEuUnILSj6pq4YSmagxspkGt6pTX8GqCojM8mUjwKb6kdQiWqQsEttHrQP39bBMb/jp+WMbYfEKRvFj3/DjHhrj/gV5E+5wKkhbQbvSCZBg9oF+S042qt+KCNAGgjS24pSDB1vg0HdlcYmpwORmpccTd0pV+zgEtazSNPfQ0pIHnElz5rKRywGsg04LtCsfnVCrglVCXW2UwSoJrdok1FMXuGCi+3BkEsTB73xIylxRo9pfLYQYxLuUC1A6WAXzk0miNkeiw1OG6sUC1JVAcxx+9QSh5gpb4ljMlXlQ8qQQ3dgkoicYMp93+rZewvB1cgE6qFuCI/w2OaxiJkb+/Jx6REGfgqeugr5MzGoCXlAhbvvgpRRatUGSqa0aT40UTVEIniStK2KkQNSWnadTS44MC0ZcShqn/tNbjSpzhJPWqmVtdIahqMy4JIurfISwFqdDknlN/ZkJWaJOfPmu0hCIViLEiCXeDo1fx31S8zs39RXB2funyM/h/4qJvzk1FE1AlLSBoRckNzDUC2Vie0A3dVydpP2+nlQlXWLmsM6kpxf2qNAnzxXE9I8zbaSdNBbUmBp9qN4v7SdxKEPSQw7OPKYqmGDHU1G25UrXOzQT8UESQ8gg7ZI7KplJNU1l8Ei8eqUd9TGu/Hq7MDh3qFLtVYpmTYB1RVu8jGGn+HIKixbp7pl08klbTB60qEpikY9sjLo9EaglvU96Bz3EvfEcLRjtkf+1rba2RopIJY4orU7uObY3Y9SlGnOR8UZRdWYYRWrEpkS6FgkfdvN4lxqew4RQe5mP6W+wnEkhvXYbXxIZd2qOGV+DxkBE9TT6D3p7Zq2VzJUAseOmluQLiocOOkAKDVWaXR015dYYhhgYrCcD6ml8QGDF/GOWXf4pN3DFIOvh2olo92vyup7stXa0MvaZcUB90LXMpfiqT0HdGwvKlR7KYetkJMa2zJ/eArTc+pPLwuQVoRD7jxII8nWDhElbFkfTa6MUhEyZ1g5yvyhBBlM5pzxUDZLT/37WD/EMrpTwTbt4IhlG7ZotGO0+OI4aZ8Go5MwWJcz21FJpnoSIFY/ccFOPVCPGOEsSkbF/PQIj5jGOrVbVnfwRTqNq6nNasQEQSYH7oLXLiW31UgXpk8J44vqKc0GKe+BUadt3wUGAkJHB7zFtQeGQxccdSieReslSPWf21E+PxPTi3gAyczhLgUOemFaBT28Nb0szb2eFfH0QV74/FTUWTUSxGVUnmvtGSxEF+eUJztVfeYpr5KlNEbYbqQ/w8UBwJAH0HamgKFli1D0/cDgt1aKRsyIiBkajPOqYfpIH2OmzjUXl2DjQBcnYNPzP23nDgeJTLHZjvA3F6eZS+qL+hBHp2CFSjh9r5hEHI5LWf8yYeu+fiXuj2dEpxTy4BSscCAS7mcaFpIjOC3TN15a8XSiiv1d5nw1J3XvVVdSdCXBLyTQ7X6UP791na9WoVPtyKsOfHdGN4V1cnOIkpCaGROZGQLYjJzIqtrI6Io6olJUVVV4RG1VQhxWw8BWVUnfSk9FQ88uQ89O+1zrjciqGmx1dYKSoDTFEzCaH0DKetZ6qpr6NipKhta6Pz/vyl71JjjIgm2Mo3dThbeljyxJqar/UU1W/8NoQ8MMt3tOGvIR8uHF1YdJ9djPRUuCiuyQgv0MsjKrmh7gbl1DWxUY4ZuThDq3YelD8tGWvyGgLy1vY6imbeEGLDOpHO7hsJgJURqr/sUfdMIUeQNS3akvcKdANyLxpG6ttwWvR5SKf+OeDogqLHnnfDSKVObzyPWhfkSuc08aOBScttLk84hUfq/nmw8c5a+vGV3LuuaOM8ilM73oei1b0HiQOciMcqb1WLAxXFpjymrKekl9Wf4AqqVC9FkHJbMIdHx1e6qd9XNg5NrO3gaSJT+J0MR/vZGQBOTgYj7stSKQKXNVXJDY31kSRgv+kF24ebC3cBUl1sW4FzlLSg6fQRYu7hOXE+KiplBr8IY64U2sYRs6DULU6B833EN1i/QIcale8TkFiZTnqB9vXuxNN79muxhd9Q6O2QgmRCCZ0QQ4jJKJnpTGv+v9oztv+iwCmx2v+PFGND0YOBw/gIUOqldmXGhMUkLkg/zYNCQBblntjGSPaFO1s10v9n8avPBleHDEAF69UZnZrVe/kugkTRzewS6vfEa97f0yw/q4iTWYFOobntaUn1ZEjgpQEKYF4W/NhTyv0Yd/jpcJkcNPVxmmV74yjU6gZf4ppenXaNNMkCyKPbn0FNpK3wWEJHdmZqV0gZyeMm+7ch9v5jGOnDmQHhB2JdRa3fDkj3rk9+T/0vjk3+XHvmFPPPktb7jXunTtve7t2X9N52URmJf7Oyv7Z1pSZER6MpvtCdeYGG/3KOJiemfEJYDQapiYQomOZSg1yG6ZmOa28yKIOPdT7qhorWaMNs35ggvr6G+bbL/MCjzP6ah2FK4FBKZTczOTe4A20vPvgNDZoDTV5MABkCq/LlcqJyNXIgcCLfEZqKciVoFpdFmDesA2F/EViFPTiYjRMXd1dPV1vB/kbEJBSleHOp5MjjQ3lda6OCtr5fRIdt1PHpfS7wyfXh9tfyRcLaIbr62anLqFf8lc4Y96mu5478FlTWmhS/jNdM+EJUwrPupOtsbzm0OtfvTfGH6QXPh6JozbrrScJ8y+FHD8bb/cUsVwggG/0BH0/sMvm6XGSpkVD6YkrWxDSTe7c+a4a9+DZXxyDkByItiaGDTEM0iu4ZkhD7Yc//CjBmoBQ54/eN/fc9+rwOayDzexK2zg39L2rRpGqZi8+EBartu5PKFZIS7+CS6kU6AePnpik+v3e5Sop2jiixQhuoqm7aMozvXeY41V+Vld4yx/kg4Gj7aU1KWcbDU7WvOfnqsuEoFnZqNFInyV/QiTCN5nZPE7+yH+3MbPICCNKvWjWSgsBAw5vWhq2g8k+yJtInsAQ44pGvpsA+o93SqOOAdyC3tVlhAy8kBF0JFz/cg210yPCDdP7xAzQPhtibvbpfSGstK9AlbQCoPe0sXS0v49hEVCL/h99hL428m9tBO/9ybefFp41hNCTIjwS8uEGDhR0dy1v7/a8ZixbckIvvJrm+BY0FLoZabrhRNHyKcHKnr6S5R8k83m9Hp++unpHLzlzRK4Kve1aWvrXsVreu2rvX03aKXVzpKkaavJDXQ1abeQV46TqbL0dQ1N9DUkmZmnCHqM41HHOAfqm/OfSS4K9QUz6i84iIkjPTGOf2D+8nwat/5Dv8AorzwlLqI8PxllC1r42qlofn899IsIf8EvSmxaRteT6WtFppluQF5yPm0H5ff4GW+Z9FRNX92p9/Tqd9zSLDHteYSAniPjaOrOBVJNenBsCSkb+ECP+P3O8mhOA355PmvXK+xFQG9UdVZuclGwu1FWoJPdy0Drcvdm9umtLDQhcfhBb1RfTnlOadBspjeo+OCnAYPvBgx+qug+qFaSF+EVYN6xnP1wEkFWlp++LWp8WFre0Fj0DuL/n6Bpnjw7SK47206egNWRk90XG/Don2Vs6T8vNHH1M59b7+U8Qm7CD/ByunG6sXvzNnHWWfcvykeYXlt9MTG7sG530/7m2uuFlxMrYDsd9PbtGZvUMz1npmGdh1sFsoXnUwTWI9iKfiQBd/t2N2CJ3TkBQNsVAKhoMpkPe40M8E5YoCEH5vQGfmL1womKR09WGi7PPrg0Ww9iYdkZ2RlwuuJtMcK7BBcPd0eHRbeWvGxLqAXqTpuelRfB0ybaRol6j5A1YOD7aIqKLv+cyWvA+jXRIN+IR2kxVXfYwMsK5FBsP9eu9rxyT8EF1wEWKFLu8fHLl9BdNE9SX8V1atZO69a2Rae/AqkIm3Q/WqMmGlOf6gEbtwUaPjhT5PVtLjaj4+Mb2sYmWofkGMekvJGec49yn4M576+9691P3cKFKYCFOpyXW+zQ432hn13YruyxGLJW4SftnAZi9gSosc+zc3/mKQ38O58cPrVzBK2+gC5uGYi3jtUUlPUwiB3He414ZJexpXEx0ybG5sFWfT2p3v0h5UmdzDJd5raIsZWDNWGLtFUPFrz/di73Drkl4PxquSd/fvrZZ8lGXN/CzTetITYrO97M7UHP010ByufOzPHYpntF73Xz6mKzJ4BDpzMwa9AAFfGC8hK8HdzdjWMteNXRFMACBfQo4pRhrmuuLiHGQS7OwNEm3nnrpJRAxg9haRk5nUd4rqtuIqKZvwlQvnr5B2uUXmrtq2WzUtE/4/MG9JI3MrBXiNP4+SaMrN1rFFFvsPC1xfjPUEa8HQkh9rGB9Paj1MH9rQ65PE6KOLC3iWNig/KfOSOIf67GfMXB/xbjSAusAv+Zivx/LyekzbMK/KXg2qreJCZVzg+31MwnxlW/AdlVth8r13oHPYLpKIB5W4vz80h43r/Ki+1Cd+ZPEWt0MjDa6fXRBZNgznu4PjDY4xZG61IHmLcUGnc/6sA2/98uWmrBVHSlfireILkspnAaLnllZAl0yOQBRbwNFWycUi36BPjPnrnroX1MokJHw0srermzqWv9SQZVLczV2s7TQEneUZ5Dql5P298gdeshJWLYxKPCkkJjGu9CcAzVhWM+MtgR0kixrIiMLHdQljK7YnBIZnzxIGkQC4Jhzs6hE41tz2Cgh/Lo+7NpxUJ2ijgZPv5e6b/95JiCeNKxKPEnoFBy6JYEhb1NPIvVS5gVLZzFXiHexaRzmaX/ciZ8f/ghfs6K04Vn9lfGr4zXLjxWnLNwwMzSf2XopPCKLdM8jwJjFru5w92zthddj52/PgJiWQHZJkReneNqucKR4OdKFmhZfzz8ZTp1+vM40vFwuUWQlzAud2JkrcqwymhjFIV/JQvyTJmAfZoJ+N8jMli6+a02nbZ7Oy9OjMvxEsgCzcvQNflhOnX6y8jjtpWHAqDxha6IOhen/EC4Jl3l3GUNHSfzEqSk81WCWsLtppJfvWrmXhZQW18D0xx9jJlqUfd4qETYpvvTGjZhQgafkY7vUHZbzg6fnD83/fwUmXuVspTJ2T2FyWx/XN5I63GlfZcnZbwABbhCdX+BCMQCRztfWViCQw9/PXj2dGGquds5NMjdMTw3BIe+XQgKHz2KIifGisKjY8Nj4hPt80dG3cvSssJj0zIL/foHivwzsiOJWbmuZS8G7IqSSZGx4qigIMJUf8Bqf6DHZNCww4C/h2e/370LcLb1uFDWjNsYJkShUiFYQa5XTjpYulI6hJZG+RykMR2lHn1G/U4FpdSmJxRdBX6lWNsa9NC6x7ObirfiPV5RkIjWrAJipbelUZLDuFT7jW430zx3aruBLP+dWNsq+uHFbfTKK0pIdV5CcgnBWvGmZowMl2aNkoelWBhXndFR1ROaeFVbxTsimlGyJ++R1dl1bBUN410Aq2cyj4Fgrmu8HNb/FBQ/6+U2lBQVPp7scCM/ncwvqS/PTLMx1zUxd44L8vR3jjM3NdWx+x/ZUHweXynDVll8vqGu8Cy+qrSEvaLoHKF2hGqkOhSmMkQ1GhlsNVAdHxpUHW03AMeeZr27emF+4UH27lV+DS7CscGKGiJCJQz29eFx0bnJMZJWx7VMAq8YXKAme2iDobSQOUis+FFx0aW3wWgO0UEYcqC8klL2moKzDfUF3Ozpp1v3V+2kexy5NREhQQ9kAgQgV0ofw5o6ReFmsSCgmx4UKCEGsqIq6pK28SC4wVlCKgHc+R6HjHwnh7Q8R6e0TAfHzMz/R0RV7oiJq6iK3lTVcFFVgYvp+i7ZLkXVReHZ4YXVHBxf5HPkoS7PwOXKcRc7RYG/knfv3BUrJFSl43JD3RycnHQ0mlJIwJpxX1dVSZL/2s4dMVXBS4XWZYHBcfn+DjcVjWWPZVwkOdUGE6MqQ5yLrmlIyN9RlhDyzEcMgX0Ilhl4M+GIsHgAlN3P9x6WyuamilfjCKYxdelayjMUwLyFGJzuJu7f7Azd/00mwJAhbe73yGi98ZCQDKdbc06kWRV7kLBOmvpCN67+ssKdiYb3eYVGr2+FWXvjgbbCpuhRX17+o54q1WJqr/CT3soyjK2lp66OOcFOw8bSU+eehStiCXerwfFiqIVPZw+9NYerF8HVNtjDhIKULL/oHJh51tpY/NDFQ1Y9rUcyfuzXrqbD6OMBXsyWwi8tV29iyJ05reyzGtnKR/C9emz+z7jmwVBZRVNJwzdQWUN5mq+koaJpVdXq8iy6yqyPuGeZl0zafNLtoDNDavVsevD9iqSi/0QqwislY/PVKvGcPNHOrWoRVqaAFlPHzQgeHU/j2wGzsc9NTgyZ92j6Owff3tA+2s01vBgVMGTKY54jycVZ/kHFWbEAz1AMxkd3qW0DLcUhD0YUhVTNH5H0YtWKR5o77rVdMbmcxxJzRcTZw0xbWMXicZp+3D2j+FFdc3snw7e8oLHMgYltldFbMUuqftSQXbjauLCk5+wa6OCY4HqvE0/61PbIq0lbQFtao1HfcXILdrzmsE2NTzMz/O++vx1b6H/bI0u5UOXIwbo3kuCqo+5oKoIW9sqoY40/cSYqOg2EFI/8pM01K/L++5oUE/suzH8pJt19ezQ8vNzf80ZfYuKbdGXr7ohI4w7+W0XvRR7GPw5TtsFGMh1ljFc2TS19Wp1Y1R8WkrPSBXKThptdmxZiMZHcSEhC/WAVfhwwcr7SgX+X40luZpeU04PtXvblyhQF/Vsipjjo8ahkBNuMvMzoEu2zdNNvX1KOr35j19ah76bT5CCXUPWWAnKE0fTiaUsooh6RfbKHelRxKnikgFYzB6HsX2YCM9SJNMSz/ssqC65lv/Nj4Uuu0I9mQUnmpKcdU7ILs0tj7zoyKjbVtwuWfCX+/94Sk+OeeUvayNj1EzzGdv7teY9ia8sHYh77OauEECO/xb50l7aRsh7yiJmnvfG/C9dZ/Dohrnh2tKNkLj62dEZufNYms+xIHPOJEGIm8Nu+p8/NrM2ozWX8xuIBPD5hBkHeJqaBPg2BAV2BAap6N+TkBfjlZa3lFAQEZRVBaGPeJTDa9FKrpVTDqUtFAkFYZ/8Es3NeFmJnz1y5JX8NWDfZHZVMQ1FpxC7v+5bDQJfB6aBkGo4ipXRGgI3lECSecFA2DkWl+lJs7ayfQ+JVByVjIiqHQqlwsZ6cv50bQmqFs+U44MppDNzcTU08Xcx4DVxdzc3c3AzhNC+SmMQXyc4XlQTMXu2zkGVMRpKQZChztf9XC2d/bUXwp8PQfa0Tld52Z9mL/U77/zx1HsPQEtwS1xLSQoc5xfXFKYaLvdSFx62CPIJ59CAkLC4MpFsS5LPlYWTu2FLT9tHnTzzqJLnygwU8/RycnM0XSAv1Ko2WUQhjE8Su9mzSeT5JKQc+HL7Q0N3ZbHdZEjBzlLlngRRjHMHL0cV8kbT46iml1KdRxEuEMJrPJpQ6HKgfYi0ferUX0wUKZdmNSQn59VCcXJ7XmJCUXY8UFGB74qPRra19CVHoNsCNDMfvAs3LzhHOtYW1fhg7f0xp0M7SWQZwjxBIXYwyO7JVVStzSjUsmRgQXJwSE1AVgrF9mM76elklVQVpdTVVlTrguZFrzMYI54dKhxF8Y1L8vItyoxKqKrOFflz46uUOuVPolSssPMdp696WUtcIvnMXKp40pVaZpg1GBBC/j6+vaLz42KnYn7Uv2klOxfL31Tv42mf5hISqKoiDwupi0rdVxYRF7oqF4k2b8OHmOv/1LY/vTvvDtz33k7HzTYwLDSgrDo/Lr0Cl7/5RIvvag6xIq8BC80t3JHU0NCUl7urIy6qow/BDX2R/8eCH/sKLD/7dvqB0/Tw9bdbyF/8BbA7/B8ACfv5RXi4s/FISFuuq3TPy/xld+aEw/7/MKFgNXAXhBB65quZ3mSNchXEMzjWjNmffEVy77YdFatbn0cri6o3s6doSBL/VEMh8d5R8AGqv7OXj7Ca4f4GMTaYvg+n0kAfMWAUnGXGbq5WubLETFC6/WIYgF1AL8uFFVasHdK2u0/W6QTfiIbHA5gvygmuF4A/RnOkT3Way54spBkO81cmv3dOk0ApZXJgOiMn5By5dK/gTcmD6RLyZLGPEyQCumQpztelDxEyeZUacZg8r6CL+WCHfqB23tFDzijCT7c2n2ArJAFtxcrcVQzi4EqKJ6RNUM9nAiJOvVkoJxLqiODYDRAJrtvBsknxFNpJyCU2M1VykPk3yDYNVohi3tQoHgVZp6OZCZDnjOkFDskq4nijcegh9PuvE5JKvQ50g+jd1bdeqZ1sdixjTOjCv6diLvkJ1nJdYR4410sawNoJ+zUjOShINpFgzFZyEmXM6HtqB8mpjAeduDMj/r/PZkuf+D7hl/haureDS0u+otzR8X3bZVuu5csq/2umBcedopEW8gHvF349HyjOhk4pHKvnj+bNyaIF8NLGTbM6MmQDumb/1qAmimZ+PBplWJmXh6LqSU9bIxFQDfVc/Ooi7qETTFD9xKpmamfyj8OaZZEJ1OAXGegvRs0KesdMf8OOk8lvar+fGgFrQByzkYE7awz8Q118VeWAeDX/e4QBmRp+xoE2+m7GMlofvvD/oaG9B4fka2H8Se6HrFqJLTH+wgH5KKNfdqN0JIDb2+w0mUSZMl/ar/dZgRnxZN8SfnmUeAnHhOHQfyB3h9xrb8lTF+40BiaA+G/tMsBstPAFki2qMQUS/5tcNCQScSy8XOQVfxRiEALnJ2ldCUowtWCR/bx1fBoCnf+puD8A7of3bP+v8X7X5l3kBy6EAAiwuW1oFsPzgUpZe2gHEfVPfVyJbQ+Pfi3eaa0BJkhD7gF+HchvzHPsXu7Bjn49F5zN8RXCq42hEmtMpgjdPSik1+KfGC9Rhhjki5BGFOh7P2jY+iolml5qNctvK6etiatjdxQ1O45ZT/UftEOE3bqvtRDIu1wZeAkdbRF7T2U5EBo1LadSY/qpN8LQwvoPx7dm69oGa7qbVQwQGv8Rx1KnFcVKDBsR6FEuP0M8z0krZRXo2dGVIpgrQZACxNubaIRKbn2lHsmgpZjlM0jyXZTtIjE+SYmfuBjMu9EnBAg0J7SSxU5jouEQW2Q64r7UQXTsi1rKzExqu1A+X6jlOatkw28nEF02OfXiKPKIS2pJjVzEZbbh3ISyxJ723GZchu0mFSaVLr173282DSdX1rOok5z8RfYdVfiCXH0hnhKAmyqsd8skpPf7wplGBVT7cT4/7Y57eJEJrEuNezyksAufPrcCIunfeVFXdJ2HqpdFkoZ1KqYlMukBm/Ja/KOWwUGBVA2qzUUANCRoyyqbbUiKXJc7FH9nO5zSHfEcye4+oFvHDWEbe54KHMapyEvmBaIey6DQ17eZMJ5Ccps8yPphAoIU0opigjziaqITS2h0IHAZOJg0ztFwK+wTcwrzSCwDrvIzxyBPmHfMMp0JDJH6JwCfgTFgBHAL+5BPz43dD42VNaMz8iDuhIZIjIvBGKEtHgB+QcNKFyZXG6iChNoVd1bfMfWhI0wE4A1wvQzAyX4bCzEmN3qWmgWUYfPyXYZ1S1F1muqjkufMQgMCRPQfeuAniJ9At5KbEXeAZLuxWVeHGxnWjrMG7WLQ1mFfOaLe47BD4atnWdUN2Z13y3lDgbc+HC6sgr7+IwIsjc7PHX98u5CYJ6wVv6hZ2bQUWvb15EHej0/q5rrPikXjbcGDnOhsJmr8hO7LRvBu4V/sNalTIU6RBh6Jrts38i4GTzfts3QMAAAA=",
"ok": true,
"headers": [
[
"content-type",
"font/woff2"
]
],
"status": 200,
"status_text": ""
},
"https://localhost:6006/index.js?_file_hash=b2ecab87": {
"data": "dmFyIENMT1NVUkVfTk9fREVQUyA9IHRydWU7CndpbmRvdy5wb2x5bWVyU2tpcExvYWRpbmdGb250Um9ib3RvID0gdHJ1ZTsKLyoqIHZpbTogZXQ6dHM9NDpzdz00OnN0cz00CiAqIEBsaWNlbnNlIFJlcXVpcmVKUyAyLjMuNiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycy4KICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UKICovCi8vTm90IHVzaW5nIHN0cmljdDogdW5ldmVuIHN0cmljdCBzdXBwb3J0IGluIGJyb3dzZXJzLCAjMzkyLCBhbmQgY2F1c2VzCi8vcHJvYmxlbXMgd2l0aCByZXF1aXJlanMuZXhlYygpL3RyYW5zcGlsZXIgcGx1Z2lucyB0aGF0IG1heSBub3QgYmUgc3RyaWN0LgovKmpzbGludCByZWdleHA6IHRydWUsIG5vbWVuOiB0cnVlLCBzbG9wcHk6IHRydWUgKi8KLypnbG9iYWwgd2luZG93LCBuYXZpZ2F0b3IsIGRvY3VtZW50LCBpbXBvcnRTY3JpcHRzLCBzZXRUaW1lb3V0LCBvcGVyYSAqLwoKdmFyIHJlcXVpcmVqcywgcmVxdWlyZSwgZGVmaW5lOwooZnVuY3Rpb24gKGdsb2JhbCwgc2V0VGltZW91dCkgewogICAgdmFyIHJlcSwgcywgaGVhZCwgYmFzZUVsZW1lbnQsIGRhdGFNYWluLCBzcmMsCiAgICAgICAgaW50ZXJhY3RpdmVTY3JpcHQsIGN1cnJlbnRseUFkZGluZ1NjcmlwdCwgbWFpblNjcmlwdCwgc3ViUGF0aCwKICAgICAgICB2ZXJzaW9uID0gJzIuMy42JywKICAgICAgICBjb21tZW50UmVnRXhwID0gL1wvXCpbXHNcU10qP1wqXC98KFteOiInPV18XilcL1wvLiokL21nLAogICAgICAgIGNqc1JlcXVpcmVSZWdFeHAgPSAvW14uXVxzKnJlcXVpcmVccypcKFxzKlsiJ10oW14nIlxzXSspWyInXVxzKlwpL2csCiAgICAgICAganNTdWZmaXhSZWdFeHAgPSAvXC5qcyQvLAogICAgICAgIGN1cnJEaXJSZWdFeHAgPSAvXlwuXC8vLAogICAgICAgIG9wID0gT2JqZWN0LnByb3RvdHlwZSwKICAgICAgICBvc3RyaW5nID0gb3AudG9TdHJpbmcsCiAgICAgICAgaGFzT3duID0gb3AuaGFzT3duUHJvcGVydHksCiAgICAgICAgaXNCcm93c2VyID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50KSwKICAgICAgICBpc1dlYldvcmtlciA9ICFpc0Jyb3dzZXIgJiYgdHlwZW9mIGltcG9ydFNjcmlwdHMgIT09ICd1bmRlZmluZWQnLAogICAgICAgIC8vUFMzIGluZGljYXRlcyBsb2FkZWQgYW5kIGNvbXBsZXRlLCBidXQgbmVlZCB0byB3YWl0IGZvciBjb21wbGV0ZQogICAgICAgIC8vc3BlY2lmaWNhbGx5LiBTZXF1ZW5jZSBpcyAnbG9hZGluZycsICdsb2FkZWQnLCBleGVjdXRpb24sCiAgICAgICAgLy8gdGhlbiAnY29tcGxldGUnLiBUaGUgVUEgY2hlY2sgaXMgdW5mb3J0dW5hdGUsIGJ1dCBub3Qgc3VyZSBob3cKICAgICAgICAvL3RvIGZlYXR1cmUgdGVzdCB3L28gY2F1c2luZyBwZXJmIGlzc3Vlcy4KICAgICAgICByZWFkeVJlZ0V4cCA9IGlzQnJvd3NlciAmJiBuYXZpZ2F0b3IucGxhdGZvcm0gPT09ICdQTEFZU1RBVElPTiAzJyA/CiAgICAgICAgICAgICAgICAgICAgICAvXmNvbXBsZXRlJC8gOiAvXihjb21wbGV0ZXxsb2FkZWQpJC8sCiAgICAgICAgZGVmQ29udGV4dE5hbWUgPSAnXycsCiAgICAgICAgLy9PaCB0aGUgdHJhZ2VkeSwgZGV0ZWN0aW5nIG9wZXJhLiBTZWUgdGhlIHVzYWdlIG9mIGlzT3BlcmEgZm9yIHJlYXNvbi4KICAgICAgICBpc09wZXJhID0gdHlwZW9mIG9wZXJhICE9PSAndW5kZWZpbmVkJyAmJiBvcGVyYS50b1N0cmluZygpID09PSAnW29iamVjdCBPcGVyYV0nLAogICAgICAgIGNvbnRleHRzID0ge30sCiAgICAgICAgY2ZnID0ge30sCiAgICAgICAgZ2xvYmFsRGVmUXVldWUgPSBbXSwKICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IGZhbHNlOwoKICAgIC8vQ291bGQgbWF0Y2ggc29tZXRoaW5nIGxpa2UgJykvL2NvbW1lbnQnLCBkbyBub3QgbG9zZSB0aGUgcHJlZml4IHRvIGNvbW1lbnQuCiAgICBmdW5jdGlvbiBjb21tZW50UmVwbGFjZShtYXRjaCwgc2luZ2xlUHJlZml4KSB7CiAgICAgICAgcmV0dXJuIHNpbmdsZVByZWZpeCB8fCAnJzsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKGl0KSB7CiAgICAgICAgcmV0dXJuIG9zdHJpbmcuY2FsbChpdCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNBcnJheShpdCkgewogICAgICAgIHJldHVybiBvc3RyaW5nLmNhbGwoaXQpID09PSAnW29iamVjdCBBcnJheV0nOwogICAgfQoKICAgIC8qKgogICAgICogSGVscGVyIGZ1bmN0aW9uIGZvciBpdGVyYXRpbmcgb3ZlciBhbiBhcnJheS4gSWYgdGhlIGZ1bmMgcmV0dXJucwogICAgICogYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaChhcnksIGZ1bmMpIHsKICAgICAgICBpZiAoYXJ5KSB7CiAgICAgICAgICAgIHZhciBpOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJ5Lmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGl0ZXJhdGluZyBvdmVyIGFuIGFycmF5IGJhY2t3YXJkcy4gSWYgdGhlIGZ1bmMKICAgICAqIHJldHVybnMgYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaFJldmVyc2UoYXJ5LCBmdW5jKSB7CiAgICAgICAgaWYgKGFyeSkgewogICAgICAgICAgICB2YXIgaTsKICAgICAgICAgICAgZm9yIChpID0gYXJ5Lmxlbmd0aCAtIDE7IGkgPiAtMTsgaSAtPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaGFzUHJvcChvYmosIHByb3ApIHsKICAgICAgICByZXR1cm4gaGFzT3duLmNhbGwob2JqLCBwcm9wKTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRPd24ob2JqLCBwcm9wKSB7CiAgICAgICAgcmV0dXJuIGhhc1Byb3Aob2JqLCBwcm9wKSAmJiBvYmpbcHJvcF07CiAgICB9CgogICAgLyoqCiAgICAgKiBDeWNsZXMgb3ZlciBwcm9wZXJ0aWVzIGluIGFuIG9iamVjdCBhbmQgY2FsbHMgYSBmdW5jdGlvbiBmb3IgZWFjaAogICAgICogcHJvcGVydHkgdmFsdWUuIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdHJ1dGh5IHZhbHVlLCB0aGVuIHRoZQogICAgICogaXRlcmF0aW9uIGlzIHN0b3BwZWQuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGVhY2hQcm9wKG9iaiwgZnVuYykgewogICAgICAgIHZhciBwcm9wOwogICAgICAgIGZvciAocHJvcCBpbiBvYmopIHsKICAgICAgICAgICAgaWYgKGhhc1Byb3Aob2JqLCBwcm9wKSkgewogICAgICAgICAgICAgICAgaWYgKGZ1bmMob2JqW3Byb3BdLCBwcm9wKSkgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2ltcGxlIGZ1bmN0aW9uIHRvIG1peCBpbiBwcm9wZXJ0aWVzIGZyb20gc291cmNlIGludG8gdGFyZ2V0LAogICAgICogYnV0IG9ubHkgaWYgdGFyZ2V0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBhIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUuCiAgICAgKi8KICAgIGZ1bmN0aW9uIG1peGluKHRhcmdldCwgc291cmNlLCBmb3JjZSwgZGVlcFN0cmluZ01peGluKSB7CiAgICAgICAgaWYgKHNvdXJjZSkgewogICAgICAgICAgICBlYWNoUHJvcChzb3VyY2UsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgaWYgKGZvcmNlIHx8ICFoYXNQcm9wKHRhcmdldCwgcHJvcCkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZGVlcFN0cmluZ01peGluICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIWlzQXJyYXkodmFsdWUpICYmICFpc0Z1bmN0aW9uKHZhbHVlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAhKHZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSkgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRbcHJvcF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG1peGluKHRhcmdldFtwcm9wXSwgdmFsdWUsIGZvcmNlLCBkZWVwU3RyaW5nTWl4aW4pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0YXJnZXQ7CiAgICB9CgogICAgLy9TaW1pbGFyIHRvIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBidXQgdGhlICd0aGlzJyBvYmplY3QgaXMgc3BlY2lmaWVkCiAgICAvL2ZpcnN0LCBzaW5jZSBpdCBpcyBlYXNpZXIgdG8gcmVhZC9maWd1cmUgb3V0IHdoYXQgJ3RoaXMnIHdpbGwgYmUuCiAgICBmdW5jdGlvbiBiaW5kKG9iaiwgZm4pIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkob2JqLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gc2NyaXB0cygpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGRlZmF1bHRPbkVycm9yKGVycikgewogICAgICAgIHRocm93IGVycjsKICAgIH0KCiAgICAvL0FsbG93IGdldHRpbmcgYSBnbG9iYWwgdGhhdCBpcyBleHByZXNzZWQgaW4KICAgIC8vZG90IG5vdGF0aW9uLCBsaWtlICdhLmIuYycuCiAgICBmdW5jdGlvbiBnZXRHbG9iYWwodmFsdWUpIHsKICAgICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGcgPSBnbG9iYWw7CiAgICAgICAgZWFjaCh2YWx1ZS5zcGxpdCgnLicpLCBmdW5jdGlvbiAocGFydCkgewogICAgICAgICAgICBnID0gZ1twYXJ0XTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gZzsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYW4gZXJyb3Igd2l0aCBhIHBvaW50ZXIgdG8gYW4gVVJMIHdpdGggbW9yZSBpbmZvcm1hdGlvbi4KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZXJyb3IgSUQgdGhhdCBtYXBzIHRvIGFuIElEIG9uIGEgd2ViIHBhZ2UuCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZSBodW1hbiByZWFkYWJsZSBlcnJvci4KICAgICAqIEBwYXJhbSB7RXJyb3J9IFtlcnJdIHRoZSBvcmlnaW5hbCBlcnJvciwgaWYgdGhlcmUgaXMgb25lLgogICAgICoKICAgICAqIEByZXR1cm5zIHtFcnJvcn0KICAgICAqLwogICAgZnVuY3Rpb24gbWFrZUVycm9yKGlkLCBtc2csIGVyciwgcmVxdWlyZU1vZHVsZXMpIHsKICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtc2cgKyAnXG5odHRwczovL3JlcXVpcmVqcy5vcmcvZG9jcy9lcnJvcnMuaHRtbCMnICsgaWQpOwogICAgICAgIGUucmVxdWlyZVR5cGUgPSBpZDsKICAgICAgICBlLnJlcXVpcmVNb2R1bGVzID0gcmVxdWlyZU1vZHVsZXM7CiAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICBlLm9yaWdpbmFsRXJyb3IgPSBlcnI7CiAgICAgICAgfQogICAgICAgIHJldHVybiBlOwogICAgfQoKICAgIGlmICh0eXBlb2YgZGVmaW5lICE9PSAndW5kZWZpbmVkJykgewogICAgICAgIC8vSWYgYSBkZWZpbmUgaXMgYWxyZWFkeSBpbiBwbGF5IHZpYSBhbm90aGVyIEFNRCBsb2FkZXIsCiAgICAgICAgLy9kbyBub3Qgb3ZlcndyaXRlLgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAodHlwZW9mIHJlcXVpcmVqcyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICBpZiAoaXNGdW5jdGlvbihyZXF1aXJlanMpKSB7CiAgICAgICAgICAgIC8vRG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyByZXF1aXJlanMgaW5zdGFuY2UuCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgY2ZnID0gcmVxdWlyZWpzOwogICAgICAgIHJlcXVpcmVqcyA9IHVuZGVmaW5lZDsKICAgIH0KCiAgICAvL0FsbG93IGZvciBhIHJlcXVpcmUgY29uZmlnIG9iamVjdAogICAgaWYgKHR5cGVvZiByZXF1aXJlICE9PSAndW5kZWZpbmVkJyAmJiAhaXNGdW5jdGlvbihyZXF1aXJlKSkgewogICAgICAgIC8vYXNzdW1lIGl0IGlzIGEgY29uZmlnIG9iamVjdC4KICAgICAgICBjZmcgPSByZXF1aXJlOwogICAgICAgIHJlcXVpcmUgPSB1bmRlZmluZWQ7CiAgICB9CgogICAgZnVuY3Rpb24gbmV3Q29udGV4dChjb250ZXh0TmFtZSkgewogICAgICAgIHZhciBpbkNoZWNrTG9hZGVkLCBNb2R1bGUsIGNvbnRleHQsIGhhbmRsZXJzLAogICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCwKICAgICAgICAgICAgY29uZmlnID0gewogICAgICAgICAgICAgICAgLy9EZWZhdWx0cy4gRG8gbm90IHNldCBhIGRlZmF1bHQgZm9yIG1hcAogICAgICAgICAgICAgICAgLy9jb25maWcgdG8gc3BlZWQgdXAgbm9ybWFsaXplKCksIHdoaWNoCiAgICAgICAgICAgICAgICAvL3dpbGwgcnVuIGZhc3RlciBpZiB0aGVyZSBpcyBubyBkZWZhdWx0LgogICAgICAgICAgICAgICAgd2FpdFNlY29uZHM6IDcsCiAgICAgICAgICAgICAgICBiYXNlVXJsOiAnLi8nLAogICAgICAgICAgICAgICAgcGF0aHM6IHt9LAogICAgICAgICAgICAgICAgYnVuZGxlczoge30sCiAgICAgICAgICAgICAgICBwa2dzOiB7fSwKICAgICAgICAgICAgICAgIHNoaW06IHt9LAogICAgICAgICAgICAgICAgY29uZmlnOiB7fQogICAgICAgICAgICB9LAogICAgICAgICAgICByZWdpc3RyeSA9IHt9LAogICAgICAgICAgICAvL3JlZ2lzdHJ5IG9mIGp1c3QgZW5hYmxlZCBtb2R1bGVzLCB0byBzcGVlZAogICAgICAgICAgICAvL2N5Y2xlIGJyZWFraW5nIGNvZGUgd2hlbiBsb3RzIG9mIG1vZHVsZXMKICAgICAgICAgICAgLy9hcmUgcmVnaXN0ZXJlZCwgYnV0IG5vdCBhY3RpdmF0ZWQuCiAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeSA9IHt9LAogICAgICAgICAgICB1bmRlZkV2ZW50cyA9IHt9LAogICAgICAgICAgICBkZWZRdWV1ZSA9IFtdLAogICAgICAgICAgICBkZWZpbmVkID0ge30sCiAgICAgICAgICAgIHVybEZldGNoZWQgPSB7fSwKICAgICAgICAgICAgYnVuZGxlc01hcCA9IHt9LAogICAgICAgICAgICByZXF1aXJlQ291bnRlciA9IDEsCiAgICAgICAgICAgIHVubm9ybWFsaXplZENvdW50ZXIgPSAxOwoKICAgICAgICAvKioKICAgICAgICAgKiBUcmltcyB0aGUgLiBhbmQgLi4gZnJvbSBhbiBhcnJheSBvZiBwYXRoIHNlZ21lbnRzLgogICAgICAgICAqIEl0IHdpbGwga2VlcCBhIGxlYWRpbmcgcGF0aCBzZWdtZW50IGlmIGEgLi4gd2lsbCBiZWNvbWUKICAgICAgICAgKiB0aGUgZmlyc3QgcGF0aCBzZWdtZW50LCB0byBoZWxwIHdpdGggbW9kdWxlIG5hbWUgbG9va3VwcywKICAgICAgICAgKiB3aGljaCBhY3QgbGlrZSBwYXRocywgYnV0IGNhbiBiZSByZW1hcHBlZC4gQnV0IHRoZSBlbmQgcmVzdWx0LAogICAgICAgICAqIGFsbCBwYXRocyB0aGF0IHVzZSB0aGlzIGZ1bmN0aW9uIHNob3VsZCBsb29rIG5vcm1hbGl6ZWQuCiAgICAgICAgICogTk9URTogdGhpcyBtZXRob2QgTU9ESUZJRVMgdGhlIGlucHV0IGFycmF5LgogICAgICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyeSB0aGUgYXJyYXkgb2YgcGF0aCBzZWdtZW50cy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0cmltRG90cyhhcnkpIHsKICAgICAgICAgICAgdmFyIGksIHBhcnQ7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcnkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHBhcnQgPSBhcnlbaV07CiAgICAgICAgICAgICAgICBpZiAocGFydCA9PT0gJy4nKSB7CiAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICAgICAgICBpIC09IDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZiBhdCB0aGUgc3RhcnQsIG9yIHByZXZpb3VzIHZhbHVlIGlzIHN0aWxsIC4uLAogICAgICAgICAgICAgICAgICAgIC8vIGtlZXAgdGhlbSBzbyB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCBpdCBtYXkKICAgICAgICAgICAgICAgICAgICAvLyBzdGlsbCB3b3JrIHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCwgZXZlbiB0aG91Z2gKICAgICAgICAgICAgICAgICAgICAvLyBhcyBhbiBJRCBpdCBpcyBsZXNzIHRoYW4gaWRlYWwuIEluIGxhcmdlciBwb2ludAogICAgICAgICAgICAgICAgICAgIC8vIHJlbGVhc2VzLCBtYXkgYmUgYmV0dGVyIHRvIGp1c3Qga2ljayBvdXQgYW4gZXJyb3IuCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDAgfHwgKGkgPT09IDEgJiYgYXJ5WzJdID09PSAnLi4nKSB8fCBhcnlbaSAtIDFdID09PSAnLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpIC0gMSwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgLT0gMjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdpdmVuIGEgcmVsYXRpdmUgbW9kdWxlIG5hbWUsIGxpa2UgLi9zb21ldGhpbmcsIG5vcm1hbGl6ZSBpdCB0bwogICAgICAgICAqIGEgcmVhbCBuYW1lIHRoYXQgY2FuIGJlIG1hcHBlZCB0byBhIHBhdGguCiAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgdGhlIHJlbGF0aXZlIG5hbWUKICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYmFzZU5hbWUgYSByZWFsIG5hbWUgdGhhdCB0aGUgbmFtZSBhcmcgaXMgcmVsYXRpdmUKICAgICAgICAgKiB0by4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGFwcGx5TWFwIGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSB2YWx1ZS4gU2hvdWxkCiAgICAgICAgICogb25seSBiZSBkb25lIGlmIHRoaXMgbm9ybWFsaXphdGlvbiBpcyBmb3IgYSBkZXBlbmRlbmN5IElELgogICAgICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IG5vcm1hbGl6ZWQgbmFtZQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZShuYW1lLCBiYXNlTmFtZSwgYXBwbHlNYXApIHsKICAgICAgICAgICAgdmFyIHBrZ01haW4sIG1hcFZhbHVlLCBuYW1lUGFydHMsIGksIGosIG5hbWVTZWdtZW50LCBsYXN0SW5kZXgsCiAgICAgICAgICAgICAgICBmb3VuZE1hcCwgZm91bmRJLCBmb3VuZFN0YXJNYXAsIHN0YXJJLCBub3JtYWxpemVkQmFzZVBhcnRzLAogICAgICAgICAgICAgICAgYmFzZVBhcnRzID0gKGJhc2VOYW1lICYmIGJhc2VOYW1lLnNwbGl0KCcvJykpLAogICAgICAgICAgICAgICAgbWFwID0gY29uZmlnLm1hcCwKICAgICAgICAgICAgICAgIHN0YXJNYXAgPSBtYXAgJiYgbWFwWycqJ107CgogICAgICAgICAgICAvL0FkanVzdCBhbnkgcmVsYXRpdmUgcGF0aHMuCiAgICAgICAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zcGxpdCgnLycpOwogICAgICAgICAgICAgICAgbGFzdEluZGV4ID0gbmFtZS5sZW5ndGggLSAxOwoKICAgICAgICAgICAgICAgIC8vIElmIHdhbnRpbmcgbm9kZSBJRCBjb21wYXRpYmlsaXR5LCBzdHJpcCAuanMgZnJvbSBlbmQKICAgICAgICAgICAgICAgIC8vIG9mIElEcy4gSGF2ZSB0byBkbyB0aGlzIGhlcmUsIGFuZCBub3QgaW4gbmFtZVRvVXJsCiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG5vZGUgYWxsb3dzIGVpdGhlciAuanMgb3Igbm9uIC5qcyB0byBtYXAKICAgICAgICAgICAgICAgIC8vIHRvIHNhbWUgZmlsZS4KICAgICAgICAgICAgICAgIGlmIChjb25maWcubm9kZUlkQ29tcGF0ICYmIGpzU3VmZml4UmVnRXhwLnRlc3QobmFtZVtsYXN0SW5kZXhdKSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVbbGFzdEluZGV4XSA9IG5hbWVbbGFzdEluZGV4XS5yZXBsYWNlKGpzU3VmZml4UmVnRXhwLCAnJyk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3RhcnRzIHdpdGggYSAnLicgc28gbmVlZCB0aGUgYmFzZU5hbWUKICAgICAgICAgICAgICAgIGlmIChuYW1lWzBdLmNoYXJBdCgwKSA9PT0gJy4nICYmIGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgIC8vQ29udmVydCBiYXNlTmFtZSB0byBhcnJheSwgYW5kIGxvcCBvZmYgdGhlIGxhc3QgcGFydCwKICAgICAgICAgICAgICAgICAgICAvL3NvIHRoYXQgLiBtYXRjaGVzIHRoYXQgJ2RpcmVjdG9yeScgYW5kIG5vdCBuYW1lIG9mIHRoZSBiYXNlTmFtZSdzCiAgICAgICAgICAgICAgICAgICAgLy9tb2R1bGUuIEZvciBpbnN0YW5jZSwgYmFzZU5hbWUgb2YgJ29uZS90d28vdGhyZWUnLCBtYXBzIHRvCiAgICAgICAgICAgICAgICAgICAgLy8nb25lL3R3by90aHJlZS5qcycsIGJ1dCB3ZSB3YW50IHRoZSBkaXJlY3RvcnksICdvbmUvdHdvJyBmb3IKICAgICAgICAgICAgICAgICAgICAvL3RoaXMgbm9ybWFsaXphdGlvbi4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkQmFzZVBhcnRzID0gYmFzZVBhcnRzLnNsaWNlKDAsIGJhc2VQYXJ0cy5sZW5ndGggLSAxKTsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9ybWFsaXplZEJhc2VQYXJ0cy5jb25jYXQobmFtZSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdHJpbURvdHMobmFtZSk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5qb2luKCcvJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vQXBwbHkgbWFwIGNvbmZpZyBpZiBhdmFpbGFibGUuCiAgICAgICAgICAgIGlmIChhcHBseU1hcCAmJiBtYXAgJiYgKGJhc2VQYXJ0cyB8fCBzdGFyTWFwKSkgewogICAgICAgICAgICAgICAgbmFtZVBhcnRzID0gbmFtZS5zcGxpdCgnLycpOwoKICAgICAgICAgICAgICAgIG91dGVyTG9vcDogZm9yIChpID0gbmFtZVBhcnRzLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVTZWdtZW50ID0gbmFtZVBhcnRzLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgICAgICAvL0ZpbmQgdGhlIGxvbmdlc3QgYmFzZU5hbWUgc2VnbWVudCBtYXRjaCBpbiB0aGUgY29uZmlnLgogICAgICAgICAgICAgICAgICAgICAgICAvL1NvLCBkbyBqb2lucyBvbiB0aGUgYmlnZ2VzdCB0byBzbWFsbGVzdCBsZW5ndGhzIG9mIGJhc2VQYXJ0cy4KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gYmFzZVBhcnRzLmxlbmd0aDsgaiA+IDA7IGogLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVmFsdWUgPSBnZXRPd24obWFwLCBiYXNlUGFydHMuc2xpY2UoMCwgaikuam9pbignLycpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Jhc2VOYW1lIHNlZ21lbnQgaGFzIGNvbmZpZywgZmluZCBpZiBpdCBoYXMgb25lIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWFwVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBWYWx1ZSA9IGdldE93bihtYXBWYWx1ZSwgbmFtZVNlZ21lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXBWYWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL01hdGNoLCB1cGRhdGUgbmFtZSB0byB0aGUgbmV3IHZhbHVlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZE1hcCA9IG1hcFZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEkgPSBpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBvdXRlckxvb3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0NoZWNrIGZvciBhIHN0YXIgbWFwIG1hdGNoLCBidXQganVzdCBob2xkIG9uIHRvIGl0LAogICAgICAgICAgICAgICAgICAgIC8vaWYgdGhlcmUgaXMgYSBzaG9ydGVyIHNlZ21lbnQgbWF0Y2ggbGF0ZXIgaW4gYSBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgIC8vY29uZmlnLCB0aGVuIGZhdm9yIG92ZXIgdGhpcyBzdGFyIG1hcC4KICAgICAgICAgICAgICAgICAgICBpZiAoIWZvdW5kU3Rhck1hcCAmJiBzdGFyTWFwICYmIGdldE93bihzdGFyTWFwLCBuYW1lU2VnbWVudCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRTdGFyTWFwID0gZ2V0T3duKHN0YXJNYXAsIG5hbWVTZWdtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgc3RhckkgPSBpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kTWFwICYmIGZvdW5kU3Rhck1hcCkgewogICAgICAgICAgICAgICAgICAgIGZvdW5kTWFwID0gZm91bmRTdGFyTWFwOwogICAgICAgICAgICAgICAgICAgIGZvdW5kSSA9IHN0YXJJOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChmb3VuZE1hcCkgewogICAgICAgICAgICAgICAgICAgIG5hbWVQYXJ0cy5zcGxpY2UoMCwgZm91bmRJLCBmb3VuZE1hcCk7CiAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0cy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHRoZSBuYW1lIHBvaW50cyB0byBhIHBhY2thZ2UncyBuYW1lLCB1c2UKICAgICAgICAgICAgLy8gdGhlIHBhY2thZ2UgbWFpbiBpbnN0ZWFkLgogICAgICAgICAgICBwa2dNYWluID0gZ2V0T3duKGNvbmZpZy5wa2dzLCBuYW1lKTsKCiAgICAgICAgICAgIHJldHVybiBwa2dNYWluID8gcGtnTWFpbiA6IG5hbWU7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByZW1vdmVTY3JpcHQobmFtZSkgewogICAgICAgICAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgICAgICAgICBlYWNoKHNjcmlwdHMoKSwgZnVuY3Rpb24gKHNjcmlwdE5vZGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc2NyaXB0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpID09PSBuYW1lICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHROb2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcpID09PSBjb250ZXh0LmNvbnRleHROYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdE5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHROb2RlKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhc1BhdGhGYWxsYmFjayhpZCkgewogICAgICAgICAgICB2YXIgcGF0aENvbmZpZyA9IGdldE93bihjb25maWcucGF0aHMsIGlkKTsKICAgICAgICAgICAgaWYgKHBhdGhDb25maWcgJiYgaXNBcnJheShwYXRoQ29uZmlnKSAmJiBwYXRoQ29uZmlnLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgIC8vUG9wIG9mZiB0aGUgZmlyc3QgYXJyYXkgdmFsdWUsIHNpbmNlIGl0IGZhaWxlZCwgYW5kCiAgICAgICAgICAgICAgICAvL3JldHJ5CiAgICAgICAgICAgICAgICBwYXRoQ29uZmlnLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUudW5kZWYoaWQpOwoKICAgICAgICAgICAgICAgIC8vQ3VzdG9tIHJlcXVpcmUgdGhhdCBkb2VzIG5vdCBkbyBtYXAgdHJhbnNsYXRpb24sIHNpbmNlCiAgICAgICAgICAgICAgICAvL0lEIGlzICJhYnNvbHV0ZSIsIGFscmVhZHkgbWFwcGVkL3Jlc29sdmVkLgogICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZShudWxsLCB7CiAgICAgICAgICAgICAgICAgICAgc2tpcE1hcDogdHJ1ZQogICAgICAgICAgICAgICAgfSkoW2lkXSk7CgogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vVHVybnMgYSBwbHVnaW4hcmVzb3VyY2UgdG8gW3BsdWdpbiwgcmVzb3VyY2VdCiAgICAgICAgLy93aXRoIHRoZSBwbHVnaW4gYmVpbmcgdW5kZWZpbmVkIGlmIHRoZSBuYW1lCiAgICAgICAgLy9kaWQgbm90IGhhdmUgYSBwbHVnaW4gcHJlZml4LgogICAgICAgIGZ1bmN0aW9uIHNwbGl0UHJlZml4KG5hbWUpIHsKICAgICAgICAgICAgdmFyIHByZWZpeCwKICAgICAgICAgICAgICAgIGluZGV4ID0gbmFtZSA/IG5hbWUuaW5kZXhPZignIScpIDogLTE7CiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgICAgICAgICBwcmVmaXggPSBuYW1lLnN1YnN0cmluZygwLCBpbmRleCk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxLCBuYW1lLmxlbmd0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXgsIG5hbWVdOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ3JlYXRlcyBhIG1vZHVsZSBtYXBwaW5nIHRoYXQgaW5jbHVkZXMgcGx1Z2luIHByZWZpeCwgbW9kdWxlCiAgICAgICAgICogbmFtZSwgYW5kIHBhdGguIElmIHBhcmVudE1vZHVsZU1hcCBpcyBwcm92aWRlZCBpdCB3aWxsCiAgICAgICAgICogYWxzbyBub3JtYWxpemUgdGhlIG5hbWUgdmlhIHJlcXVpcmUubm9ybWFsaXplKCkKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIHRoZSBtb2R1bGUgbmFtZQogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyZW50TW9kdWxlTWFwXSBwYXJlbnQgbW9kdWxlIG1hcAogICAgICAgICAqIGZvciB0aGUgbW9kdWxlIG5hbWUsIHVzZWQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBuYW1lcy4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGlzTm9ybWFsaXplZDogaXMgdGhlIElEIGFscmVhZHkgbm9ybWFsaXplZC4KICAgICAgICAgKiBUaGlzIGlzIHRydWUgaWYgdGhpcyBjYWxsIGlzIGRvbmUgZm9yIGEgZGVmaW5lKCkgbW9kdWxlIElELgogICAgICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gYXBwbHlNYXA6IGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSBJRC4KICAgICAgICAgKiBTaG91bGQgb25seSBiZSB0cnVlIGlmIHRoaXMgbWFwIGlzIGZvciBhIGRlcGVuZGVuY3kuCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG1ha2VNb2R1bGVNYXAobmFtZSwgcGFyZW50TW9kdWxlTWFwLCBpc05vcm1hbGl6ZWQsIGFwcGx5TWFwKSB7CiAgICAgICAgICAgIHZhciB1cmwsIHBsdWdpbk1vZHVsZSwgc3VmZml4LCBuYW1lUGFydHMsCiAgICAgICAgICAgICAgICBwcmVmaXggPSBudWxsLAogICAgICAgICAgICAgICAgcGFyZW50TmFtZSA9IHBhcmVudE1vZHVsZU1hcCA/IHBhcmVudE1vZHVsZU1hcC5uYW1lIDogbnVsbCwKICAgICAgICAgICAgICAgIG9yaWdpbmFsTmFtZSA9IG5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZSA9IHRydWUsCiAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9ICcnOwoKICAgICAgICAgICAgLy9JZiBubyBuYW1lLCB0aGVuIGl0IG1lYW5zIGl0IGlzIGEgcmVxdWlyZSBjYWxsLCBnZW5lcmF0ZSBhbgogICAgICAgICAgICAvL2ludGVybmFsIG5hbWUuCiAgICAgICAgICAgIGlmICghbmFtZSkgewogICAgICAgICAgICAgICAgaXNEZWZpbmUgPSBmYWxzZTsKICAgICAgICAgICAgICAgIG5hbWUgPSAnX0ByJyArIChyZXF1aXJlQ291bnRlciArPSAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbmFtZVBhcnRzID0gc3BsaXRQcmVmaXgobmFtZSk7CiAgICAgICAgICAgIHByZWZpeCA9IG5hbWVQYXJ0c1swXTsKICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0c1sxXTsKCiAgICAgICAgICAgIGlmIChwcmVmaXgpIHsKICAgICAgICAgICAgICAgIHByZWZpeCA9IG5vcm1hbGl6ZShwcmVmaXgsIHBhcmVudE5hbWUsIGFwcGx5TWFwKTsKICAgICAgICAgICAgICAgIHBsdWdpbk1vZHVsZSA9IGdldE93bihkZWZpbmVkLCBwcmVmaXgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0FjY291bnQgZm9yIHJlbGF0aXZlIHBhdGhzIGlmIHRoZXJlIGlzIGEgYmFzZSBuYW1lLgogICAgICAgICAgICBpZiAobmFtZSkgewogICAgICAgICAgICAgICAgaWYgKHByZWZpeCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpc05vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUgPSBuYW1lOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGx1Z2luTW9kdWxlICYmIHBsdWdpbk1vZHVsZS5ub3JtYWxpemUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9QbHVnaW4gaXMgbG9hZGVkLCB1c2UgaXRzIG5vcm1hbGl6ZSBtZXRob2QuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gcGx1Z2luTW9kdWxlLm5vcm1hbGl6ZShuYW1lLCBmdW5jdGlvbiAobmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5lc3RlZCBwbHVnaW4gcmVmZXJlbmNlcywgdGhlbiBkbyBub3QgdHJ5IHRvCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSwgYXMgaXQgd2lsbCBub3Qgbm9ybWFsaXplIGNvcnJlY3RseS4gVGhpcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGFjZXMgYSByZXN0cmljdGlvbiBvbiByZXNvdXJjZUlkcywgYW5kIHRoZSBsb25nZXIKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGVybSBzb2x1dGlvbiBpcyBub3QgdG8gbm9ybWFsaXplIHVudGlsIHBsdWdpbnMgYXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvYWRlZCBhbmQgYWxsIG5vcm1hbGl6YXRpb25zIHRvIGFsbG93IGZvciBhc3luYwogICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2FkaW5nIG9mIGEgbG9hZGVyIHBsdWdpbi4gQnV0IGZvciBub3csIGZpeGVzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21tb24gdXNlcy4gRGV0YWlscyBpbiAjMTEzMQogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5hbWUuaW5kZXhPZignIScpID09PSAtMSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIGFwcGx5TWFwKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vQSByZWd1bGFyIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CgogICAgICAgICAgICAgICAgICAgIC8vTm9ybWFsaXplZCBuYW1lIG1heSBiZSBhIHBsdWdpbiBJRCBkdWUgdG8gbWFwIGNvbmZpZwogICAgICAgICAgICAgICAgICAgIC8vYXBwbGljYXRpb24gaW4gbm9ybWFsaXplLiBUaGUgbWFwIGNvbmZpZyB2YWx1ZXMgbXVzdAogICAgICAgICAgICAgICAgICAgIC8vYWxyZWFkeSBiZSBub3JtYWxpemVkLCBzbyBkbyBub3QgbmVlZCB0byByZWRvIHRoYXQgcGFydC4KICAgICAgICAgICAgICAgICAgICBuYW1lUGFydHMgPSBzcGxpdFByZWZpeChub3JtYWxpemVkTmFtZSk7CiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gbmFtZVBhcnRzWzBdOwogICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gbmFtZVBhcnRzWzFdOwogICAgICAgICAgICAgICAgICAgIGlzTm9ybWFsaXplZCA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIHVybCA9IGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZWROYW1lKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiB0aGUgaWQgaXMgYSBwbHVnaW4gaWQgdGhhdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBpZiBpdCBuZWVkcwogICAgICAgICAgICAvL25vcm1hbGl6YXRpb24sIHN0YW1wIGl0IHdpdGggYSB1bmlxdWUgSUQgc28gdHdvIG1hdGNoaW5nIHJlbGF0aXZlCiAgICAgICAgICAgIC8vaWRzIHRoYXQgbWF5IGNvbmZsaWN0IGNhbiBiZSBzZXBhcmF0ZS4KICAgICAgICAgICAgc3VmZml4ID0gcHJlZml4ICYmICFwbHVnaW5Nb2R1bGUgJiYgIWlzTm9ybWFsaXplZCA/CiAgICAgICAgICAgICAgICAgICAgICdfdW5ub3JtYWxpemVkJyArICh1bm5vcm1hbGl6ZWRDb3VudGVyICs9IDEpIDoKICAgICAgICAgICAgICAgICAgICAgJyc7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsCiAgICAgICAgICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSwKICAgICAgICAgICAgICAgIHBhcmVudE1hcDogcGFyZW50TW9kdWxlTWFwLAogICAgICAgICAgICAgICAgdW5ub3JtYWxpemVkOiAhIXN1ZmZpeCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgICAgICAgb3JpZ2luYWxOYW1lOiBvcmlnaW5hbE5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZTogaXNEZWZpbmUsCiAgICAgICAgICAgICAgICBpZDogKHByZWZpeCA/CiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCArICchJyArIG5vcm1hbGl6ZWROYW1lIDoKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUpICsgc3VmZml4CiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBnZXRNb2R1bGUoZGVwTWFwKSB7CiAgICAgICAgICAgIHZhciBpZCA9IGRlcE1hcC5pZCwKICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwoKICAgICAgICAgICAgaWYgKCFtb2QpIHsKICAgICAgICAgICAgICAgIG1vZCA9IHJlZ2lzdHJ5W2lkXSA9IG5ldyBjb250ZXh0Lk1vZHVsZShkZXBNYXApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gbW9kOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gb24oZGVwTWFwLCBuYW1lLCBmbikgewogICAgICAgICAgICB2YXIgaWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgIGlmIChoYXNQcm9wKGRlZmluZWQsIGlkKSAmJgogICAgICAgICAgICAgICAgICAgICghbW9kIHx8IG1vZC5kZWZpbmVFbWl0Q29tcGxldGUpKSB7CiAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2RlZmluZWQnKSB7CiAgICAgICAgICAgICAgICAgICAgZm4oZGVmaW5lZFtpZF0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbW9kID0gZ2V0TW9kdWxlKGRlcE1hcCk7CiAgICAgICAgICAgICAgICBpZiAobW9kLmVycm9yICYmIG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICBmbihtb2QuZXJyb3IpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtb2Qub24obmFtZSwgZm4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvbkVycm9yKGVyciwgZXJyYmFjaykgewogICAgICAgICAgICB2YXIgaWRzID0gZXJyLnJlcXVpcmVNb2R1bGVzLAogICAgICAgICAgICAgICAgbm90aWZpZWQgPSBmYWxzZTsKCiAgICAgICAgICAgIGlmIChlcnJiYWNrKSB7CiAgICAgICAgICAgICAgICBlcnJiYWNrKGVycik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlYWNoKGlkcywgZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwogICAgICAgICAgICAgICAgICAgIGlmIChtb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9TZXQgZXJyb3Igb24gbW9kdWxlLCBzbyBpdCBza2lwcyB0aW1lb3V0IGNoZWNrcy4KICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIGlmICghbm90aWZpZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXEub25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gdHJhbnNmZXIgZ2xvYmFsUXVldWUgaXRlbXMgdG8gdGhpcyBjb250ZXh0J3MKICAgICAgICAgKiBkZWZRdWV1ZS4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0YWtlR2xvYmFsUXVldWUoKSB7CiAgICAgICAgICAgIC8vUHVzaCBhbGwgdGhlIGdsb2JhbERlZlF1ZXVlIGl0ZW1zIGludG8gdGhlIGNvbnRleHQncyBkZWZRdWV1ZQogICAgICAgICAgICBpZiAoZ2xvYmFsRGVmUXVldWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBlYWNoKGdsb2JhbERlZlF1ZXVlLCBmdW5jdGlvbihxdWV1ZUl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSBxdWV1ZUl0ZW1bMF07CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5wdXNoKHF1ZXVlSXRlbSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGhhbmRsZXJzID0gewogICAgICAgICAgICAncmVxdWlyZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QucmVxdWlyZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2QucmVxdWlyZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChtb2QucmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobW9kLm1hcCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAnZXhwb3J0cyc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIG1vZC51c2luZ0V4cG9ydHMgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKG1vZC5tYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV4cG9ydHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWZpbmVkW21vZC5tYXAuaWRdID0gbW9kLmV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLmV4cG9ydHMgPSBkZWZpbmVkW21vZC5tYXAuaWRdID0ge30pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ21vZHVsZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QubW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZC5tb2R1bGU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLm1vZHVsZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG1vZC5tYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIHVyaTogbW9kLm1hcC51cmwsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldE93bihjb25maWcuY29uZmlnLCBtb2QubWFwLmlkKSB8fCB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0czogbW9kLmV4cG9ydHMgfHwgKG1vZC5leHBvcnRzID0ge30pCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBmdW5jdGlvbiBjbGVhblJlZ2lzdHJ5KGlkKSB7CiAgICAgICAgICAgIC8vQ2xlYW4gdXAgbWFjaGluZXJ5IHVzZWQgZm9yIHdhaXRpbmcgbW9kdWxlcy4KICAgICAgICAgICAgZGVsZXRlIHJlZ2lzdHJ5W2lkXTsKICAgICAgICAgICAgZGVsZXRlIGVuYWJsZWRSZWdpc3RyeVtpZF07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBicmVha0N5Y2xlKG1vZCwgdHJhY2VkLCBwcm9jZXNzZWQpIHsKICAgICAgICAgICAgdmFyIGlkID0gbW9kLm1hcC5pZDsKCiAgICAgICAgICAgIGlmIChtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgIG1vZC5lbWl0KCdlcnJvcicsIG1vZC5lcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0cmFjZWRbaWRdID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGVhY2gobW9kLmRlcE1hcHMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGVwSWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcCA9IGdldE93bihyZWdpc3RyeSwgZGVwSWQpOwoKICAgICAgICAgICAgICAgICAgICAvL09ubHkgZm9yY2UgdGhpbmdzIHRoYXQgaGF2ZSBub3QgY29tcGxldGVkCiAgICAgICAgICAgICAgICAgICAgLy9iZWluZyBkZWZpbmVkLCBzbyBzdGlsbCBpbiB0aGUgcmVnaXN0cnksCiAgICAgICAgICAgICAgICAgICAgLy9hbmQgb25seSBpZiBpdCBoYXMgbm90IGJlZW4gbWF0Y2hlZCB1cAogICAgICAgICAgICAgICAgICAgIC8vaW4gdGhlIG1vZHVsZSBhbHJlYWR5LgogICAgICAgICAgICAgICAgICAgIGlmIChkZXAgJiYgIW1vZC5kZXBNYXRjaGVkW2ldICYmICFwcm9jZXNzZWRbZGVwSWRdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRPd24odHJhY2VkLCBkZXBJZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5kZWZpbmVEZXAoaSwgZGVmaW5lZFtkZXBJZF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmNoZWNrKCk7IC8vcGFzcyBmYWxzZT8KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrQ3ljbGUoZGVwLCB0cmFjZWQsIHByb2Nlc3NlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHByb2Nlc3NlZFtpZF0gPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjaGVja0xvYWRlZCgpIHsKICAgICAgICAgICAgdmFyIGVyciwgdXNpbmdQYXRoRmFsbGJhY2ssCiAgICAgICAgICAgICAgICB3YWl0SW50ZXJ2YWwgPSBjb25maWcud2FpdFNlY29uZHMgKiAxMDAwLAogICAgICAgICAgICAgICAgLy9JdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSB3YWl0IGludGVydmFsIGJ5IHVzaW5nIHdhaXRTZWNvbmRzIG9mIDAuCiAgICAgICAgICAgICAgICBleHBpcmVkID0gd2FpdEludGVydmFsICYmIChjb250ZXh0LnN0YXJ0VGltZSArIHdhaXRJbnRlcnZhbCkgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAgICAgICAgIG5vTG9hZHMgPSBbXSwKICAgICAgICAgICAgICAgIHJlcUNhbGxzID0gW10sCiAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgIG5lZWRDeWNsZUNoZWNrID0gdHJ1ZTsKCiAgICAgICAgICAgIC8vRG8gbm90IGJvdGhlciBpZiB0aGlzIGNhbGwgd2FzIGEgcmVzdWx0IG9mIGEgY3ljbGUgYnJlYWsuCiAgICAgICAgICAgIGlmIChpbkNoZWNrTG9hZGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGluQ2hlY2tMb2FkZWQgPSB0cnVlOwoKICAgICAgICAgICAgLy9GaWd1cmUgb3V0IHRoZSBzdGF0ZSBvZiBhbGwgdGhlIG1vZHVsZXMuCiAgICAgICAgICAgIGVhY2hQcm9wKGVuYWJsZWRSZWdpc3RyeSwgZnVuY3Rpb24gKG1vZCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1vZC5tYXAsCiAgICAgICAgICAgICAgICAgICAgbW9kSWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgLy9Ta2lwIHRoaW5ncyB0aGF0IGFyZSBub3QgZW5hYmxlZCBvciBpbiBlcnJvciBzdGF0ZS4KICAgICAgICAgICAgICAgIGlmICghbW9kLmVuYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICByZXFDYWxscy5wdXNoKG1vZCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZSBtb2R1bGUgc2hvdWxkIGJlIGV4ZWN1dGVkLCBhbmQgaXQgaGFzIG5vdAogICAgICAgICAgICAgICAgICAgIC8vYmVlbiBpbml0ZWQgYW5kIHRpbWUgaXMgdXAsIHJlbWVtYmVyIGl0LgogICAgICAgICAgICAgICAgICAgIGlmICghbW9kLmluaXRlZCAmJiBleHBpcmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQYXRoRmFsbGJhY2sobW9kSWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZ1BhdGhGYWxsYmFjayA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9Mb2Fkcy5wdXNoKG1vZElkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVNjcmlwdChtb2RJZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtb2QuaW5pdGVkICYmIG1vZC5mZXRjaGVkICYmIG1hcC5pc0RlZmluZSkgewogICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcC5wcmVmaXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTm8gcmVhc29uIHRvIGtlZXAgbG9va2luZyBmb3IgdW5maW5pc2hlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2FkaW5nLiBJZiB0aGUgb25seSBzdGlsbExvYWRpbmcgaXMgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wbHVnaW4gcmVzb3VyY2UgdGhvdWdoLCBrZWVwIGdvaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9iZWNhdXNlIGl0IG1heSBiZSB0aGF0IGEgcGx1Z2luIHJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2lzIHdhaXRpbmcgb24gYSBub24tcGx1Z2luIGN5Y2xlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChuZWVkQ3ljbGVDaGVjayA9IGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBpZiAoZXhwaXJlZCAmJiBub0xvYWRzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgLy9JZiB3YWl0IHRpbWUgZXhwaXJlZCwgdGhyb3cgZXJyb3Igb2YgdW5sb2FkZWQgbW9kdWxlcy4KICAgICAgICAgICAgICAgIGVyciA9IG1ha2VFcnJvcigndGltZW91dCcsICdMb2FkIHRpbWVvdXQgZm9yIG1vZHVsZXM6ICcgKyBub0xvYWRzLCBudWxsLCBub0xvYWRzKTsKICAgICAgICAgICAgICAgIGVyci5jb250ZXh0TmFtZSA9IGNvbnRleHQuY29udGV4dE5hbWU7CiAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihlcnIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL05vdCBleHBpcmVkLCBjaGVjayBmb3IgYSBjeWNsZS4KICAgICAgICAgICAgaWYgKG5lZWRDeWNsZUNoZWNrKSB7CiAgICAgICAgICAgICAgICBlYWNoKHJlcUNhbGxzLCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWtDeWNsZShtb2QsIHt9LCB7fSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiBzdGlsbCB3YWl0aW5nIG9uIGxvYWRzLCBhbmQgdGhlIHdhaXRpbmcgbG9hZCBpcyBzb21ldGhpbmcKICAgICAgICAgICAgLy9vdGhlciB0aGFuIGEgcGx1Z2luIHJlc291cmNlLCBvciB0aGVyZSBhcmUgc3RpbGwgb3V0c3RhbmRpbmcKICAgICAgICAgICAgLy9zY3JpcHRzLCB0aGVuIGp1c3QgdHJ5IGJhY2sgbGF0ZXIuCiAgICAgICAgICAgIGlmICgoIWV4cGlyZWQgfHwgdXNpbmdQYXRoRmFsbGJhY2spICYmIHN0aWxsTG9hZGluZykgewogICAgICAgICAgICAgICAgLy9Tb21ldGhpbmcgaXMgc3RpbGwgd2FpdGluZyB0byBsb2FkLiBXYWl0IGZvciBpdCwgYnV0IG9ubHkKICAgICAgICAgICAgICAgIC8vaWYgYSB0aW1lb3V0IGlzIG5vdCBhbHJlYWR5IGluIGVmZmVjdC4KICAgICAgICAgICAgICAgIGlmICgoaXNCcm93c2VyIHx8IGlzV2ViV29ya2VyKSAmJiAhY2hlY2tMb2FkZWRUaW1lb3V0SWQpIHsKICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgICAgICAgICAgfSwgNTApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpbkNoZWNrTG9hZGVkID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBNb2R1bGUgPSBmdW5jdGlvbiAobWFwKSB7CiAgICAgICAgICAgIHRoaXMuZXZlbnRzID0gZ2V0T3duKHVuZGVmRXZlbnRzLCBtYXAuaWQpIHx8IHt9OwogICAgICAgICAgICB0aGlzLm1hcCA9IG1hcDsKICAgICAgICAgICAgdGhpcy5zaGltID0gZ2V0T3duKGNvbmZpZy5zaGltLCBtYXAuaWQpOwogICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHMgPSBbXTsKICAgICAgICAgICAgdGhpcy5kZXBNYXBzID0gW107CiAgICAgICAgICAgIHRoaXMuZGVwTWF0Y2hlZCA9IFtdOwogICAgICAgICAgICB0aGlzLnBsdWdpbk1hcHMgPSB7fTsKICAgICAgICAgICAgdGhpcy5kZXBDb3VudCA9IDA7CgogICAgICAgICAgICAvKiB0aGlzLmV4cG9ydHMgdGhpcy5mYWN0b3J5CiAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcyA9IFtdLAogICAgICAgICAgICAgICB0aGlzLmVuYWJsZWQsIHRoaXMuZmV0Y2hlZAogICAgICAgICAgICAqLwogICAgICAgIH07CgogICAgICAgIE1vZHVsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uIChkZXBNYXBzLCBmYWN0b3J5LCBlcnJiYWNrLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCiAgICAgICAgICAgICAgICAvL0RvIG5vdCBkbyBtb3JlIGluaXRzIGlmIGFscmVhZHkgZG9uZS4gQ2FuIGhhcHBlbiBpZiB0aGVyZQogICAgICAgICAgICAgICAgLy9hcmUgbXVsdGlwbGUgZGVmaW5lIGNhbGxzIGZvciB0aGUgc2FtZSBtb2R1bGUuIFRoYXQgaXMgbm90CiAgICAgICAgICAgICAgICAvL2Egbm9ybWFsLCBjb21tb24gY2FzZSwgYnV0IGl0IGlzIGFsc28gbm90IHVuZXhwZWN0ZWQuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdGhpcy5mYWN0b3J5ID0gZmFjdG9yeTsKCiAgICAgICAgICAgICAgICBpZiAoZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIC8vUmVnaXN0ZXIgZm9yIGVycm9ycyBvbiB0aGlzIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICB0aGlzLm9uKCdlcnJvcicsIGVycmJhY2spOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbm8gZXJyYmFjayBhbHJlYWR5LCBidXQgdGhlcmUgYXJlIGVycm9yIGxpc3RlbmVycwogICAgICAgICAgICAgICAgICAgIC8vb24gdGhpcyBtb2R1bGUsIHNldCB1cCBhbiBlcnJiYWNrIHRvIHBhc3MgdG8gdGhlIGRlcHMuCiAgICAgICAgICAgICAgICAgICAgZXJyYmFjayA9IGJpbmQodGhpcywgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0RvIGEgY29weSBvZiB0aGUgZGVwZW5kZW5jeSBhcnJheSwgc28gdGhhdAogICAgICAgICAgICAgICAgLy9zb3VyY2UgaW5wdXRzIGFyZSBub3QgbW9kaWZpZWQuIEZvciBleGFtcGxlCiAgICAgICAgICAgICAgICAvLyJzaGltIiBkZXBzIGFyZSBwYXNzZWQgaW4gaGVyZSBkaXJlY3RseSwgYW5kCiAgICAgICAgICAgICAgICAvL2RvaW5nIGEgZGlyZWN0IG1vZGlmaWNhdGlvbiBvZiB0aGUgZGVwTWFwcyBhcnJheQogICAgICAgICAgICAgICAgLy93b3VsZCBhZmZlY3QgdGhhdCBjb25maWcuCiAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMgPSBkZXBNYXBzICYmIGRlcE1hcHMuc2xpY2UoMCk7CgogICAgICAgICAgICAgICAgdGhpcy5lcnJiYWNrID0gZXJyYmFjazsKCiAgICAgICAgICAgICAgICAvL0luZGljYXRlIHRoaXMgbW9kdWxlIGhhcyBiZSBpbml0aWFsaXplZAogICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIHRoaXMuaWdub3JlID0gb3B0aW9ucy5pZ25vcmU7CgogICAgICAgICAgICAgICAgLy9Db3VsZCBoYXZlIG9wdGlvbiB0byBpbml0IHRoaXMgbW9kdWxlIGluIGVuYWJsZWQgbW9kZSwKICAgICAgICAgICAgICAgIC8vb3IgY291bGQgaGF2ZSBiZWVuIHByZXZpb3VzbHkgbWFya2VkIGFzIGVuYWJsZWQuIEhvd2V2ZXIsCiAgICAgICAgICAgICAgICAvL3RoZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB1bnRpbCBpbml0IGlzIGNhbGxlZC4gU28KICAgICAgICAgICAgICAgIC8vaWYgZW5hYmxlZCBwcmV2aW91c2x5LCBub3cgdHJpZ2dlciBkZXBlbmRlbmNpZXMgYXMgZW5hYmxlZC4KICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmVuYWJsZWQgfHwgdGhpcy5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgLy9FbmFibGUgdGhpcyBtb2R1bGUgYW5kIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICAgICAvL1dpbGwgY2FsbCB0aGlzLmNoZWNrKCkKICAgICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBkZWZpbmVEZXA6IGZ1bmN0aW9uIChpLCBkZXBFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAvL0JlY2F1c2Ugb2YgY3ljbGVzLCBkZWZpbmVkIGNhbGxiYWNrIGZvciBhIGdpdmVuCiAgICAgICAgICAgICAgICAvL2V4cG9ydCBjYW4gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgogICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRlcE1hdGNoZWRbaV0pIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hdGNoZWRbaV0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwQ291bnQgLT0gMTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBkZXBFeHBvcnRzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZmV0Y2g6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmZldGNoZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLmZldGNoZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIGNvbnRleHQuc3RhcnRUaW1lID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCiAgICAgICAgICAgICAgICB2YXIgbWFwID0gdGhpcy5tYXA7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgbWFuYWdlciBpcyBmb3IgYSBwbHVnaW4gbWFuYWdlZCByZXNvdXJjZSwKICAgICAgICAgICAgICAgIC8vYXNrIHRoZSBwbHVnaW4gdG8gbG9hZCBpdCBub3cuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5zaGltKSB7CiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZSh0aGlzLm1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVCdWlsZENhbGxiYWNrOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgfSkodGhpcy5zaGltLmRlcHMgfHwgW10sIGJpbmQodGhpcywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL1JlZ3VsYXIgZGVwZW5kZW5jeS4KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgdXJsID0gdGhpcy5tYXAudXJsOwoKICAgICAgICAgICAgICAgIC8vUmVndWxhciBkZXBlbmRlbmN5LgogICAgICAgICAgICAgICAgaWYgKCF1cmxGZXRjaGVkW3VybF0pIHsKICAgICAgICAgICAgICAgICAgICB1cmxGZXRjaGVkW3VybF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9hZCh0aGlzLm1hcC5pZCwgdXJsKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDaGVja3MgaWYgdGhlIG1vZHVsZSBpcyByZWFkeSB0byBkZWZpbmUgaXRzZWxmLCBhbmQgaWYgc28sCiAgICAgICAgICAgICAqIGRlZmluZSBpdC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNoZWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCB8fCB0aGlzLmVuYWJsaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBlcnIsIGNqc01vZHVsZSwKICAgICAgICAgICAgICAgICAgICBpZCA9IHRoaXMubWFwLmlkLAogICAgICAgICAgICAgICAgICAgIGRlcEV4cG9ydHMgPSB0aGlzLmRlcEV4cG9ydHMsCiAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0cywKICAgICAgICAgICAgICAgICAgICBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5OwoKICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGZldGNoIGlmIG5vdCBhbHJlYWR5IGluIHRoZSBkZWZRdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoY29udGV4dC5kZWZRdWV1ZU1hcCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2goKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgdGhpcy5lcnJvcik7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRlZmluaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgLy9UaGUgZmFjdG9yeSBjb3VsZCB0cmlnZ2VyIGFub3RoZXIgcmVxdWlyZSBjYWxsCiAgICAgICAgICAgICAgICAgICAgLy90aGF0IHdvdWxkIHJlc3VsdCBpbiBjaGVja2luZyB0aGlzIG1vZHVsZSB0bwogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lIGl0c2VsZiBhZ2Fpbi4gSWYgYWxyZWFkeSBpbiB0aGUgcHJvY2VzcwogICAgICAgICAgICAgICAgICAgIC8vb2YgZG9pbmcgdGhhdCwgc2tpcCB0aGlzIHdvcmsuCiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZpbmluZyA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlcENvdW50IDwgMSAmJiAhdGhpcy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGZhY3RvcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZXJlIGlzIGFuIGVycm9yIGxpc3RlbmVyLCBmYXZvciBwYXNzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3RvIHRoYXQgaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvci4gSG93ZXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vb25seSBkbyBpdCBmb3IgZGVmaW5lKCknZCAgbW9kdWxlcy4gcmVxdWlyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9lcnJiYWNrcyBzaG91bGQgbm90IGJlIGNhbGxlZCBmb3IgZmFpbHVyZXMgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdGhlaXIgY2FsbGJhY2tzICgjNjk5KS4gSG93ZXZlciBpZiBhIGdsb2JhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9vbkVycm9yIGlzIHNldCwgdXNlIHRoYXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMuZXZlbnRzLmVycm9yICYmIHRoaXMubWFwLmlzRGVmaW5lKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbkVycm9yICE9PSBkZWZhdWx0T25FcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjb250ZXh0LmV4ZWNDYihpZCwgZmFjdG9yeSwgZGVwRXhwb3J0cywgZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGNvbnRleHQuZXhlY0NiKGlkLCBmYWN0b3J5LCBkZXBFeHBvcnRzLCBleHBvcnRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGYXZvciByZXR1cm4gdmFsdWUgb3ZlciBleHBvcnRzLiBJZiBub2RlL2NqcyBpbiBwbGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB3aWxsIG5vdCBoYXZlIGEgcmV0dXJuIHZhbHVlIGFueXdheS4gRmF2b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vZHVsZS5leHBvcnRzIGFzc2lnbm1lbnQgb3ZlciBleHBvcnRzIG9iamVjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC5pc0RlZmluZSAmJiBleHBvcnRzID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjanNNb2R1bGUgPSB0aGlzLm1vZHVsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2pzTW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjanNNb2R1bGUuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNpbmdFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZXhwb3J0cyBhbHJlYWR5IHNldCB0aGUgZGVmaW5lZCB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci5yZXF1aXJlTWFwID0gdGhpcy5tYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLnJlcXVpcmVNb2R1bGVzID0gdGhpcy5tYXAuaXNEZWZpbmUgPyBbdGhpcy5tYXAuaWRdIDogbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZVR5cGUgPSB0aGlzLm1hcC5pc0RlZmluZSA/ICdkZWZpbmUnIDogJ3JlcXVpcmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKCh0aGlzLmVycm9yID0gZXJyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgbGl0ZXJhbCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGZhY3Rvcnk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0cyA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXAuaXNEZWZpbmUgJiYgIXRoaXMuaWdub3JlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkW2lkXSA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5vblJlc291cmNlTG9hZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNMb2FkTWFwcyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0xvYWRNYXBzLnB1c2goZGVwTWFwLm5vcm1hbGl6ZWRNYXAgfHwgZGVwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25SZXNvdXJjZUxvYWQoY29udGV4dCwgdGhpcy5tYXAsIHJlc0xvYWRNYXBzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9DbGVhbiB1cAogICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0ZpbmlzaGVkIHRoZSBkZWZpbmUgc3RhZ2UuIEFsbG93IGNhbGxpbmcgY2hlY2sgYWdhaW4KICAgICAgICAgICAgICAgICAgICAvL3RvIGFsbG93IGRlZmluZSBub3RpZmljYXRpb25zIGJlbG93IGluIHRoZSBjYXNlIG9mIGEKICAgICAgICAgICAgICAgICAgICAvL2N5Y2xlLgogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5pbmcgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmaW5lZCAmJiAhdGhpcy5kZWZpbmVFbWl0dGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdHRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZGVmaW5lZCcsIHRoaXMuZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdENvbXBsZXRlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY2FsbFBsdWdpbjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IHRoaXMubWFwLAogICAgICAgICAgICAgICAgICAgIGlkID0gbWFwLmlkLAogICAgICAgICAgICAgICAgICAgIC8vTWFwIGFscmVhZHkgbm9ybWFsaXplZCB0aGUgcHJlZml4LgogICAgICAgICAgICAgICAgICAgIHBsdWdpbk1hcCA9IG1ha2VNb2R1bGVNYXAobWFwLnByZWZpeCk7CgogICAgICAgICAgICAgICAgLy9NYXJrIHRoaXMgYXMgYSBkZXBlbmRlbmN5IGZvciB0aGlzIHBsdWdpbiwgc28gaXQKICAgICAgICAgICAgICAgIC8vY2FuIGJlIHRyYWNlZCBmb3IgY3ljbGVzLgogICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzLnB1c2gocGx1Z2luTWFwKTsKCiAgICAgICAgICAgICAgICBvbihwbHVnaW5NYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxvYWQsIG5vcm1hbGl6ZWRNYXAsIG5vcm1hbGl6ZWRNb2QsCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1bmRsZUlkID0gZ2V0T3duKGJ1bmRsZXNNYXAsIHRoaXMubWFwLmlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHRoaXMubWFwLm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5hbWUgPSB0aGlzLm1hcC5wYXJlbnRNYXAgPyB0aGlzLm1hcC5wYXJlbnRNYXAubmFtZSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobWFwLnBhcmVudE1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlQnVpbGRDYWxsYmFjazogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgLy9JZiBjdXJyZW50IG1hcCBpcyBub3Qgbm9ybWFsaXplZCwgd2FpdCBmb3IgdGhhdAogICAgICAgICAgICAgICAgICAgIC8vbm9ybWFsaXplZCBuYW1lIHRvIGxvYWQgaW5zdGVhZCBvZiBjb250aW51aW5nLgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC51bm5vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgdGhlIElEIGlmIHRoZSBwbHVnaW4gYWxsb3dzIGl0LgogICAgICAgICAgICAgICAgICAgICAgICBpZiAocGx1Z2luLm5vcm1hbGl6ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHBsdWdpbi5ub3JtYWxpemUobmFtZSwgZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcHJlZml4IGFuZCBuYW1lIHNob3VsZCBhbHJlYWR5IGJlIG5vcm1hbGl6ZWQsIG5vIG5lZWQKICAgICAgICAgICAgICAgICAgICAgICAgLy9mb3IgYXBwbHlpbmcgbWFwIGNvbmZpZyBhZ2FpbiBlaXRoZXIuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNYXAgPSBtYWtlTW9kdWxlTWFwKG1hcC5wcmVmaXggKyAnIScgKyBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcC5wYXJlbnRNYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICBvbihub3JtYWxpemVkTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlZmluZWQnLCBiaW5kKHRoaXMsIGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwLm5vcm1hbGl6ZWRNYXAgPSBub3JtYWxpemVkTWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBub3JtYWxpemVkTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWRNb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTWFyayB0aGlzIGFzIGEgZGVwZW5kZW5jeSBmb3IgdGhpcyBwbHVnaW4sIHNvIGl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NhbiBiZSB0cmFjZWQgZm9yIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcy5wdXNoKG5vcm1hbGl6ZWRNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2Qub24oJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2QuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vSWYgYSBwYXRocyBjb25maWcsIHRoZW4ganVzdCBsb2FkIHRoYXQgZmlsZSBpbnN0ZWFkIHRvCiAgICAgICAgICAgICAgICAgICAgLy9yZXNvbHZlIHRoZSBwbHVnaW4sIGFzIGl0IGlzIGJ1aWx0IGludG8gdGhhdCBwYXRocyBsYXllci4KICAgICAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudXJsID0gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQpOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgbG9hZCA9IGJpbmQodGhpcywgZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgIGxvYWQuZXJyb3IgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZU1vZHVsZXMgPSBbaWRdOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9SZW1vdmUgdGVtcCB1bm5vcm1hbGl6ZWQgbW9kdWxlcyBmb3IgdGhpcyBtb2R1bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc2luY2UgdGhleSB3aWxsIG5ldmVyIGJlIHJlc29sdmVkIG90aGVyd2lzZSBub3cuCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLm1hcC5pZC5pbmRleE9mKGlkICsgJ191bm5vcm1hbGl6ZWQnKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuUmVnaXN0cnkobW9kLm1hcC5pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL0FsbG93IHBsdWdpbnMgdG8gbG9hZCBvdGhlciBjb2RlIHdpdGhvdXQgaGF2aW5nIHRvIGtub3cgdGhlCiAgICAgICAgICAgICAgICAgICAgLy9jb250ZXh0IG9yIGhvdyB0byAnY29tcGxldGUnIHRoZSBsb2FkLgogICAgICAgICAgICAgICAgICAgIGxvYWQuZnJvbVRleHQgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uICh0ZXh0LCB0ZXh0QWx0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1vZHVsZU5hbWUgPSBtYXAubmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU1hcCA9IG1ha2VNb2R1bGVNYXAobW9kdWxlTmFtZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNJbnRlcmFjdGl2ZSA9IHVzZUludGVyYWN0aXZlOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9BcyBvZiAyLjEuMCwgc3VwcG9ydCBqdXN0IHBhc3NpbmcgdGhlIHRleHQsIHRvIHJlaW5mb3JjZQogICAgICAgICAgICAgICAgICAgICAgICAvL2Zyb21UZXh0IG9ubHkgYmVpbmcgY2FsbGVkIG9uY2UgcGVyIHJlc291cmNlLiBTdGlsbAogICAgICAgICAgICAgICAgICAgICAgICAvL3N1cHBvcnQgb2xkIHN0eWxlIG9mIHBhc3NpbmcgbW9kdWxlTmFtZSBidXQgZGlzY2FyZAogICAgICAgICAgICAgICAgICAgICAgICAvL3RoYXQgbW9kdWxlTmFtZSBpbiBmYXZvciBvZiB0aGUgaW50ZXJuYWwgcmVmLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dEFsdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHRBbHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vVHVybiBvZmYgaW50ZXJhY3RpdmUgc2NyaXB0IG1hdGNoaW5nIGZvciBJRSBmb3IgYW55IGRlZmluZQogICAgICAgICAgICAgICAgICAgICAgICAvL2NhbGxzIGluIHRoZSB0ZXh0LCB0aGVuIHR1cm4gaXQgYmFjayBvbiBhdCB0aGUgZW5kLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzSW50ZXJhY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUludGVyYWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUHJpbWUgdGhlIHN5c3RlbSBieSBjcmVhdGluZyBhIG1vZHVsZSBpbnN0YW5jZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgLy9pdC4KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1vZHVsZU1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1RyYW5zZmVyIGFueSBjb25maWcgdG8gdGhpcyBvdGhlciBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQcm9wKGNvbmZpZy5jb25maWcsIGlkKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbmZpZ1ttb2R1bGVOYW1lXSA9IGNvbmZpZy5jb25maWdbaWRdOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLmV4ZWModGV4dCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignZnJvbXRleHRldmFsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zyb21UZXh0IGV2YWwgZm9yICcgKyBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBmYWlsZWQ6ICcgKyBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlSW50ZXJhY3RpdmUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL01hcmsgdGhpcyBhcyBhIGRlcGVuZGVuY3kgZm9yIHRoZSBwbHVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMucHVzaChtb2R1bGVNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TdXBwb3J0IGFub255bW91cyBtb2R1bGVzLgogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCB0aGUgdmFsdWUgb2YgdGhhdCBtb2R1bGUgdG8gdGhlIHZhbHVlIGZvciB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVzb3VyY2UgSUQuCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZShbbW9kdWxlTmFtZV0sIGxvYWQpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL1VzZSBwYXJlbnROYW1lIGhlcmUgc2luY2UgdGhlIHBsdWdpbidzIG5hbWUgaXMgbm90IHJlbGlhYmxlLAogICAgICAgICAgICAgICAgICAgIC8vY291bGQgYmUgc29tZSB3ZWlyZCBzdHJpbmcgd2l0aCBubyBwYXRoIHRoYXQgYWN0dWFsbHkgd2FudHMgdG8KICAgICAgICAgICAgICAgICAgICAvL3JlZmVyZW5jZSB0aGUgcGFyZW50TmFtZSdzIHBhdGguCiAgICAgICAgICAgICAgICAgICAgcGx1Z2luLmxvYWQobWFwLm5hbWUsIGxvY2FsUmVxdWlyZSwgbG9hZCwgY29uZmlnKTsKICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgdGhpcy5wbHVnaW5NYXBzW3BsdWdpbk1hcC5pZF0gPSBwbHVnaW5NYXA7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBlbmFibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeVt0aGlzLm1hcC5pZF0gPSB0aGlzOwogICAgICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL1NldCBmbGFnIG1lbnRpb25pbmcgdGhhdCB0aGUgbW9kdWxlIGlzIGVuYWJsaW5nLAogICAgICAgICAgICAgICAgLy9zbyB0aGF0IGltbWVkaWF0ZSBjYWxscyB0byB0aGUgZGVmaW5lZCBjYWxsYmFja3MKICAgICAgICAgICAgICAgIC8vZm9yIGRlcGVuZGVuY2llcyBkbyBub3QgdHJpZ2dlciBpbmFkdmVydGVudCBsb2FkCiAgICAgICAgICAgICAgICAvL3dpdGggdGhlIGRlcENvdW50IHN0aWxsIGJlaW5nIHplcm8uCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL0VuYWJsZSBlYWNoIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBiaW5kKHRoaXMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQsIG1vZCwgaGFuZGxlcjsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBNYXAgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRGVwZW5kZW5jeSBuZWVkcyB0byBiZSBjb252ZXJ0ZWQgdG8gYSBkZXBNYXAKICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmQgd2lyZWQgdXAgdG8gdGhpcyBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcE1hcCA9IG1ha2VNb2R1bGVNYXAoZGVwTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm1hcC5pc0RlZmluZSA/IHRoaXMubWFwIDogdGhpcy5tYXAucGFyZW50TWFwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5za2lwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzW2ldID0gZGVwTWFwOwoKICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlciA9IGdldE93bihoYW5kbGVycywgZGVwTWFwLmlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBoYW5kbGVyKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcENvdW50ICs9IDE7CgogICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZGVwRXhwb3J0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudW5kZWZlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRGVwKGksIGRlcEV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lcnJiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdlcnJvcicsIGJpbmQodGhpcywgdGhpcy5lcnJiYWNrKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5ldmVudHMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vIGRpcmVjdCBlcnJiYWNrIG9uIHRoaXMgbW9kdWxlLCBidXQgc29tZXRoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIGlzIGxpc3RlbmluZyBmb3IgZXJyb3JzLCBzbyBiZSBzdXJlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcm9wYWdhdGUgdGhlIGVycm9yIGNvcnJlY3RseS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uKGRlcE1hcCwgJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbihlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWQgPSBkZXBNYXAuaWQ7CiAgICAgICAgICAgICAgICAgICAgbW9kID0gcmVnaXN0cnlbaWRdOwoKICAgICAgICAgICAgICAgICAgICAvL1NraXAgc3BlY2lhbCBtb2R1bGVzIGxpa2UgJ3JlcXVpcmUnLCAnZXhwb3J0cycsICdtb2R1bGUnCiAgICAgICAgICAgICAgICAgICAgLy9BbHNvLCBkb24ndCBjYWxsIGVuYWJsZSBpZiBpdCBpcyBhbHJlYWR5IGVuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgLy9pbXBvcnRhbnQgaW4gY2lyY3VsYXIgZGVwZW5kZW5jeSBjYXNlcy4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoaGFuZGxlcnMsIGlkKSAmJiBtb2QgJiYgIW1vZC5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZW5hYmxlKGRlcE1hcCwgdGhpcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgIC8vRW5hYmxlIGVhY2ggcGx1Z2luIHRoYXQgaXMgdXNlZCBpbgogICAgICAgICAgICAgICAgLy9hIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2hQcm9wKHRoaXMucGx1Z2luTWFwcywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgcGx1Z2luTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kICYmICFtb2QuZW5hYmxlZCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgb246IGZ1bmN0aW9uIChuYW1lLCBjYikgewogICAgICAgICAgICAgICAgdmFyIGNicyA9IHRoaXMuZXZlbnRzW25hbWVdOwogICAgICAgICAgICAgICAgaWYgKCFjYnMpIHsKICAgICAgICAgICAgICAgICAgICBjYnMgPSB0aGlzLmV2ZW50c1tuYW1lXSA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2JzLnB1c2goY2IpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZW1pdDogZnVuY3Rpb24gKG5hbWUsIGV2dCkgewogICAgICAgICAgICAgICAgZWFjaCh0aGlzLmV2ZW50c1tuYW1lXSwgZnVuY3Rpb24gKGNiKSB7CiAgICAgICAgICAgICAgICAgICAgY2IoZXZ0KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICAvL05vdyB0aGF0IHRoZSBlcnJvciBoYW5kbGVyIHdhcyB0cmlnZ2VyZWQsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgIC8vdGhlIGxpc3RlbmVycywgc2luY2UgdGhpcyBicm9rZW4gTW9kdWxlIGluc3RhbmNlCiAgICAgICAgICAgICAgICAgICAgLy9jYW4gc3RheSBhcm91bmQgZm9yIGEgd2hpbGUgaW4gdGhlIHJlZ2lzdHJ5LgogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmV2ZW50c1tuYW1lXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGZ1bmN0aW9uIGNhbGxHZXRNb2R1bGUoYXJncykgewogICAgICAgICAgICAvL1NraXAgbW9kdWxlcyBhbHJlYWR5IGRlZmluZWQuCiAgICAgICAgICAgIGlmICghaGFzUHJvcChkZWZpbmVkLCBhcmdzWzBdKSkgewogICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAoYXJnc1swXSwgbnVsbCwgdHJ1ZSkpLmluaXQoYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGZ1bmMsIG5hbWUsIGllTmFtZSkgewogICAgICAgICAgICAvL0Zhdm9yIGRldGFjaEV2ZW50IGJlY2F1c2Ugb2YgSUU5CiAgICAgICAgICAgIC8vaXNzdWUsIHNlZSBhdHRhY2hFdmVudC9hZGRFdmVudExpc3RlbmVyIGNvbW1lbnQgZWxzZXdoZXJlCiAgICAgICAgICAgIC8vaW4gdGhpcyBmaWxlLgogICAgICAgICAgICBpZiAobm9kZS5kZXRhY2hFdmVudCAmJiAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSWYgbm90IGl0IHdpbGwgdGhyb3cgYW4gZXJyb3IsIHdoaWNoIHdpbGwgYmUKICAgICAgICAgICAgICAgIC8vdXNlZnVsIHRvIGtub3cuCiAgICAgICAgICAgICAgICBpZiAoaWVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgbm9kZS5kZXRhY2hFdmVudChpZU5hbWUsIGZ1bmMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGZ1bmMsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogR2l2ZW4gYW4gZXZlbnQgZnJvbSBhIHNjcmlwdCBub2RlLCBnZXQgdGhlIHJlcXVpcmVqcyBpbmZvIGZyb20gaXQsCiAgICAgICAgICogYW5kIHRoZW4gcmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIG9uIHRoZSBub2RlLgogICAgICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dAogICAgICAgICAqIEByZXR1cm5zIHtPYmplY3R9CiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0U2NyaXB0RGF0YShldnQpIHsKICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAvL2FsbCBvbGQgYnJvd3NlcnMgd2lsbCBiZSBzdXBwb3J0ZWQsIGJ1dCB0aGlzIG9uZSB3YXMgZWFzeSBlbm91Z2gKICAgICAgICAgICAgLy90byBzdXBwb3J0IGFuZCBzdGlsbCBtYWtlcyBzZW5zZS4KICAgICAgICAgICAgdmFyIG5vZGUgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDsKCiAgICAgICAgICAgIC8vUmVtb3ZlIHRoZSBsaXN0ZW5lcnMgb25jZSBoZXJlLgogICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgJ2xvYWQnLCAnb25yZWFkeXN0YXRlY2hhbmdlJyk7CiAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGNvbnRleHQub25TY3JpcHRFcnJvciwgJ2Vycm9yJyk7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgbm9kZTogbm9kZSwKICAgICAgICAgICAgICAgIGlkOiBub2RlICYmIG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVtb2R1bGUnKQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaW50YWtlRGVmaW5lcygpIHsKICAgICAgICAgICAgdmFyIGFyZ3M7CgogICAgICAgICAgICAvL0FueSBkZWZpbmVkIG1vZHVsZXMgaW4gdGhlIGdsb2JhbCBxdWV1ZSwgaW50YWtlIHRoZW0gbm93LgogICAgICAgICAgICB0YWtlR2xvYmFsUXVldWUoKTsKCiAgICAgICAgICAgIC8vTWFrZSBzdXJlIGFueSByZW1haW5pbmcgZGVmUXVldWUgaXRlbXMgZ2V0IHByb3Blcmx5IHByb2Nlc3NlZC4KICAgICAgICAgICAgd2hpbGUgKGRlZlF1ZXVlLmxlbmd0aCkgewogICAgICAgICAgICAgICAgYXJncyA9IGRlZlF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignbWlzbWF0Y2gnLCAnTWlzbWF0Y2hlZCBhbm9ueW1vdXMgZGVmaW5lKCkgbW9kdWxlOiAnICsKICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1thcmdzLmxlbmd0aCAtIDFdKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vYXJncyBhcmUgaWQsIGRlcHMsIGZhY3RvcnkuIFNob3VsZCBiZSBub3JtYWxpemVkIGJ5IHRoZQogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lKCkgZnVuY3Rpb24uCiAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShhcmdzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlTWFwID0ge307CiAgICAgICAgfQoKICAgICAgICBjb250ZXh0ID0gewogICAgICAgICAgICBjb25maWc6IGNvbmZpZywKICAgICAgICAgICAgY29udGV4dE5hbWU6IGNvbnRleHROYW1lLAogICAgICAgICAgICByZWdpc3RyeTogcmVnaXN0cnksCiAgICAgICAgICAgIGRlZmluZWQ6IGRlZmluZWQsCiAgICAgICAgICAgIHVybEZldGNoZWQ6IHVybEZldGNoZWQsCiAgICAgICAgICAgIGRlZlF1ZXVlOiBkZWZRdWV1ZSwKICAgICAgICAgICAgZGVmUXVldWVNYXA6IHt9LAogICAgICAgICAgICBNb2R1bGU6IE1vZHVsZSwKICAgICAgICAgICAgbWFrZU1vZHVsZU1hcDogbWFrZU1vZHVsZU1hcCwKICAgICAgICAgICAgbmV4dFRpY2s6IHJlcS5uZXh0VGljaywKICAgICAgICAgICAgb25FcnJvcjogb25FcnJvciwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBTZXQgYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY29udGV4dC4KICAgICAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNmZyBjb25maWcgb2JqZWN0IHRvIGludGVncmF0ZS4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNvbmZpZ3VyZTogZnVuY3Rpb24gKGNmZykgewogICAgICAgICAgICAgICAgLy9NYWtlIHN1cmUgdGhlIGJhc2VVcmwgZW5kcyBpbiBhIHNsYXNoLgogICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsLmNoYXJBdChjZmcuYmFzZVVybC5sZW5ndGggLSAxKSAhPT0gJy8nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNmZy5iYXNlVXJsICs9ICcvJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ29udmVydCBvbGQgc3R5bGUgdXJsQXJncyBzdHJpbmcgdG8gYSBmdW5jdGlvbi4KICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2ZnLnVybEFyZ3MgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHVybEFyZ3MgPSBjZmcudXJsQXJnczsKICAgICAgICAgICAgICAgICAgICBjZmcudXJsQXJncyA9IGZ1bmN0aW9uKGlkLCB1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyB1cmxBcmdzOwogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9TYXZlIG9mZiB0aGUgcGF0aHMgc2luY2UgdGhleSByZXF1aXJlIHNwZWNpYWwgcHJvY2Vzc2luZywKICAgICAgICAgICAgICAgIC8vdGhleSBhcmUgYWRkaXRpdmUuCiAgICAgICAgICAgICAgICB2YXIgc2hpbSA9IGNvbmZpZy5zaGltLAogICAgICAgICAgICAgICAgICAgIG9ianMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcDogdHJ1ZQogICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLCBmdW5jdGlvbiAodmFsdWUsIHByb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAob2Jqc1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZ1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgbWl4aW4oY29uZmlnW3Byb3BdLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy9SZXZlcnNlIG1hcCB0aGUgYnVuZGxlcwogICAgICAgICAgICAgICAgaWYgKGNmZy5idW5kbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLmJ1bmRsZXMsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgICAgICAgICBlYWNoKHZhbHVlLCBmdW5jdGlvbiAodikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT09IHByb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzTWFwW3ZdID0gcHJvcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9NZXJnZSBzaGltCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnNoaW0pIHsKICAgICAgICAgICAgICAgICAgICBlYWNoUHJvcChjZmcuc2hpbSwgZnVuY3Rpb24gKHZhbHVlLCBpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAvL05vcm1hbGl6ZSB0aGUgc3RydWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwczogdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh2YWx1ZS5leHBvcnRzIHx8IHZhbHVlLmluaXQpICYmICF2YWx1ZS5leHBvcnRzRm4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmV4cG9ydHNGbiA9IGNvbnRleHQubWFrZVNoaW1FeHBvcnRzKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBzaGltW2lkXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaGltID0gc2hpbTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0FkanVzdCBwYWNrYWdlcyBpZiBuZWNlc3NhcnkuCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnBhY2thZ2VzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaChjZmcucGFja2FnZXMsIGZ1bmN0aW9uIChwa2dPYmopIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvY2F0aW9uLCBuYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgcGtnT2JqID0gdHlwZW9mIHBrZ09iaiA9PT0gJ3N0cmluZycgPyB7bmFtZTogcGtnT2JqfSA6IHBrZ09iajsKCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBwa2dPYmoubmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSBwa2dPYmoubG9jYXRpb247CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnBhdGhzW25hbWVdID0gcGtnT2JqLmxvY2F0aW9uOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL1NhdmUgcG9pbnRlciB0byBtYWluIG1vZHVsZSBJRCBmb3IgcGtnIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUmVtb3ZlIGxlYWRpbmcgZG90IGluIG1haW4sIHNvIG1haW4gcGF0aHMgYXJlIG5vcm1hbGl6ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5kIHJlbW92ZSBhbnkgdHJhaWxpbmcgLmpzLCBzaW5jZSBkaWZmZXJlbnQgcGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAvL2VudnMgaGF2ZSBkaWZmZXJlbnQgY29udmVudGlvbnM6IHNvbWUgdXNlIGEgbW9kdWxlIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc29tZSB1c2UgYSBmaWxlIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wa2dzW25hbWVdID0gcGtnT2JqLm5hbWUgKyAnLycgKyAocGtnT2JqLm1haW4gfHwgJ21haW4nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoY3VyckRpclJlZ0V4cCwgJycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vSWYgdGhlcmUgYXJlIGFueSAid2FpdGluZyB0byBleGVjdXRlIiBtb2R1bGVzIGluIHRoZSByZWdpc3RyeSwKICAgICAgICAgICAgICAgIC8vdXBkYXRlIHRoZSBtYXBzIGZvciB0aGVtLCBzaW5jZSB0aGVpciBpbmZvLCBsaWtlIFVSTHMgdG8gbG9hZCwKICAgICAgICAgICAgICAgIC8vbWF5IGhhdmUgY2hhbmdlZC4KICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kLCBpZCkgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbW9kdWxlIGFscmVhZHkgaGFzIGluaXQgY2FsbGVkLCBzaW5jZSBpdCBpcyB0b28KICAgICAgICAgICAgICAgICAgICAvL2xhdGUgdG8gbW9kaWZ5IHRoZW0sIGFuZCBpZ25vcmUgdW5ub3JtYWxpemVkIG9uZXMKICAgICAgICAgICAgICAgICAgICAvL3NpbmNlIHRoZXkgYXJlIHRyYW5zaWVudC4KICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZC5pbml0ZWQgJiYgIW1vZC5tYXAudW5ub3JtYWxpemVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5tYXAgPSBtYWtlTW9kdWxlTWFwKGlkLCBudWxsLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL0lmIGEgZGVwcyBhcnJheSBvciBhIGNvbmZpZyBjYWxsYmFjayBpcyBzcGVjaWZpZWQsIHRoZW4gY2FsbAogICAgICAgICAgICAgICAgLy9yZXF1aXJlIHdpdGggdGhvc2UgYXJncy4gVGhpcyBpcyB1c2VmdWwgd2hlbiByZXF1aXJlIGlzIGRlZmluZWQgYXMgYQogICAgICAgICAgICAgICAgLy9jb25maWcgb2JqZWN0IGJlZm9yZSByZXF1aXJlLmpzIGlzIGxvYWRlZC4KICAgICAgICAgICAgICAgIGlmIChjZmcuZGVwcyB8fCBjZmcuY2FsbGJhY2spIHsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUoY2ZnLmRlcHMgfHwgW10sIGNmZy5jYWxsYmFjayk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBtYWtlU2hpbUV4cG9ydHM6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgZnVuY3Rpb24gZm4oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHJldDsKICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaW5pdCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB2YWx1ZS5pbml0LmFwcGx5KGdsb2JhbCwgYXJndW1lbnRzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldCB8fCAodmFsdWUuZXhwb3J0cyAmJiBnZXRHbG9iYWwodmFsdWUuZXhwb3J0cykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGZuOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgbWFrZVJlcXVpcmU6IGZ1bmN0aW9uIChyZWxNYXAsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGxvY2FsUmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIHZhciBpZCwgbWFwLCByZXF1aXJlTW9kOwoKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVCdWlsZENhbGxiYWNrICYmIGNhbGxiYWNrICYmIGlzRnVuY3Rpb24oY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLl9fcmVxdWlyZUpzQnVpbGQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBzID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihjYWxsYmFjaykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vSW52YWxpZCBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3JlcXVpcmVhcmdzJywgJ0ludmFsaWQgcmVxdWlyZSBjYWxsJyksIGVycmJhY2spOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHJlcXVpcmV8ZXhwb3J0c3xtb2R1bGUgYXJlIHJlcXVlc3RlZCwgZ2V0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlIGZvciB0aGVtIGZyb20gdGhlIHNwZWNpYWwgaGFuZGxlcnMuIENhdmVhdDoKICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG9ubHkgd29ya3Mgd2hpbGUgbW9kdWxlIGlzIGJlaW5nIGRlZmluZWQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxNYXAgJiYgaGFzUHJvcChoYW5kbGVycywgZGVwcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVyc1tkZXBzXShyZWdpc3RyeVtyZWxNYXAuaWRdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TeW5jaHJvbm91cyBhY2Nlc3MgdG8gb25lIG1vZHVsZS4gSWYgcmVxdWlyZS5nZXQgaXMKICAgICAgICAgICAgICAgICAgICAgICAgLy9hdmFpbGFibGUgKGFzIGluIHRoZSBOb2RlIGFkYXB0ZXIpLCBwcmVmZXIgdGhhdC4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5nZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXEuZ2V0KGNvbnRleHQsIGRlcHMsIHJlbE1hcCwgbG9jYWxSZXF1aXJlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgbW9kdWxlIG5hbWUsIGlmIGl0IGNvbnRhaW5zIC4gb3IgLi4KICAgICAgICAgICAgICAgICAgICAgICAgbWFwID0gbWFrZU1vZHVsZU1hcChkZXBzLCByZWxNYXAsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoZGVmaW5lZCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vdGxvYWRlZCcsICdNb2R1bGUgbmFtZSAiJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldCBmb3IgY29udGV4dDogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TmFtZSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsTWFwID8gJycgOiAnLiBVc2UgcmVxdWlyZShbXSknKSkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vR3JhYiBkZWZpbmVzIHdhaXRpbmcgaW4gdGhlIGdsb2JhbCBxdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgIC8vTWFyayBhbGwgdGhlIGRlcGVuZGVuY2llcyBhcyBuZWVkaW5nIHRvIGJlIGxvYWRlZC4KICAgICAgICAgICAgICAgICAgICBjb250ZXh0Lm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Tb21lIGRlZmluZXMgY291bGQgaGF2ZSBiZWVuIGFkZGVkIHNpbmNlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3JlcXVpcmUgY2FsbCwgY29sbGVjdCB0aGVtLgogICAgICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kID0gZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAobnVsbCwgcmVsTWFwKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1N0b3JlIGlmIG1hcCBjb25maWcgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhpcyByZXF1aXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vY2FsbCBmb3IgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLnNraXBNYXAgPSBvcHRpb25zLnNraXBNYXA7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLmluaXQoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZCgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxSZXF1aXJlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG1peGluKGxvY2FsUmVxdWlyZSwgewogICAgICAgICAgICAgICAgICAgIGlzQnJvd3NlcjogaXNCcm93c2VyLAoKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBDb252ZXJ0cyBhIG1vZHVsZSBuYW1lICsgLmV4dGVuc2lvbiBpbnRvIGFuIFVSTCBwYXRoLgogICAgICAgICAgICAgICAgICAgICAqICpSZXF1aXJlcyogdGhlIHVzZSBvZiBhIG1vZHVsZSBuYW1lLiBJdCBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nCiAgICAgICAgICAgICAgICAgICAgICogcGxhaW4gVVJMcyBsaWtlIG5hbWVUb1VybC4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICB0b1VybDogZnVuY3Rpb24gKG1vZHVsZU5hbWVQbHVzRXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IG1vZHVsZU5hbWVQbHVzRXh0Lmxhc3RJbmRleE9mKCcuJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3BsaXQoJy8nKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVsYXRpdmUgPSBzZWdtZW50ID09PSAnLicgfHwgc2VnbWVudCA9PT0gJy4uJzsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vSGF2ZSBhIGZpbGUgZXh0ZW5zaW9uIGFsaWFzLCBhbmQgaXQgaXMgbm90IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL2RvdHMgZnJvbSBhIHJlbGF0aXZlIHBhdGguCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEgJiYgKCFpc1JlbGF0aXZlIHx8IGluZGV4ID4gMSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9IG1vZHVsZU5hbWVQbHVzRXh0LnN1YnN0cmluZyhpbmRleCwgbW9kdWxlTmFtZVBsdXNFeHQubGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU5hbWVQbHVzRXh0ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3Vic3RyaW5nKDAsIGluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZShtb2R1bGVOYW1lUGx1c0V4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsTWFwICYmIHJlbE1hcC5pZCwgdHJ1ZSksIGV4dCwgIHRydWUpOwogICAgICAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICAgICAgIGRlZmluZWQ6IGZ1bmN0aW9uIChpZCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzUHJvcChkZWZpbmVkLCBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZCk7CiAgICAgICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkOiBmdW5jdGlvbiAoaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3AoZGVmaW5lZCwgaWQpIHx8IGhhc1Byb3AocmVnaXN0cnksIGlkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL09ubHkgYWxsb3cgdW5kZWYgb24gdG9wIGxldmVsIHJlcXVpcmUgY2FsbHMKICAgICAgICAgICAgICAgIGlmICghcmVsTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgbG9jYWxSZXF1aXJlLnVuZGVmID0gZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCBhbnkgd2FpdGluZyBkZWZpbmUoKSBjYWxscyB0byB0aGlzIGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vZml4IGZvciAjNDA4CiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1ha2VNb2R1bGVNYXAoaWQsIHJlbE1hcCwgdHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC51bmRlZmVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlU2NyaXB0KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHVybEZldGNoZWRbbWFwLnVybF07CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB1bmRlZkV2ZW50c1tpZF07CgogICAgICAgICAgICAgICAgICAgICAgICAvL0NsZWFuIHF1ZXVlZCBkZWZpbmVzIHRvby4gR28gYmFja3dhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vaW4gYXJyYXkgc28gdGhhdCB0aGUgc3BsaWNlcyBkbyBub3QKICAgICAgICAgICAgICAgICAgICAgICAgLy9tZXNzIHVwIHRoZSBpdGVyYXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hSZXZlcnNlKGRlZlF1ZXVlLCBmdW5jdGlvbihhcmdzLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5zcGxpY2UoaSwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF07CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0hvbGQgb24gdG8gbGlzdGVuZXJzIGluIGNhc2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21vZHVsZSB3aWxsIGJlIGF0dGVtcHRlZCB0byBiZSByZWxvYWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91c2luZyBhIGRpZmZlcmVudCBjb25maWcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZFdmVudHNbaWRdID0gbW9kLmV2ZW50czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsUmVxdWlyZTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsZWQgdG8gZW5hYmxlIGEgbW9kdWxlIGlmIGl0IGlzIHN0aWxsIGluIHRoZSByZWdpc3RyeQogICAgICAgICAgICAgKiBhd2FpdGluZyBlbmFibGVtZW50LiBBIHNlY29uZCBhcmcsIHBhcmVudCwgdGhlIHBhcmVudCBtb2R1bGUsCiAgICAgICAgICAgICAqIGlzIHBhc3NlZCBpbiBmb3IgY29udGV4dCwgd2hlbiB0aGlzIG1ldGhvZCBpcyBvdmVycmlkZGVuIGJ5CiAgICAgICAgICAgICAqIHRoZSBvcHRpbWl6ZXIuIE5vdCBzaG93biBoZXJlIHRvIGtlZXAgY29kZSBjb21wYWN0LgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZW5hYmxlOiBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICB2YXIgbW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBkZXBNYXAuaWQpOwogICAgICAgICAgICAgICAgaWYgKG1vZCkgewogICAgICAgICAgICAgICAgICAgIGdldE1vZHVsZShkZXBNYXApLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIEludGVybmFsIG1ldGhvZCB1c2VkIGJ5IGVudmlyb25tZW50IGFkYXB0ZXJzIHRvIGNvbXBsZXRlIGEgbG9hZCBldmVudC4KICAgICAgICAgICAgICogQSBsb2FkIGV2ZW50IGNvdWxkIGJlIGEgc2NyaXB0IGxvYWQgb3IganVzdCBhIGxvYWQgcGFzcyBmcm9tIGEgc3luY2hyb25vdXMKICAgICAgICAgICAgICogbG9hZCBjYWxsLgogICAgICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIHBvdGVudGlhbGx5IGNvbXBsZXRlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgY29tcGxldGVMb2FkOiBmdW5jdGlvbiAobW9kdWxlTmFtZSkgewogICAgICAgICAgICAgICAgdmFyIGZvdW5kLCBhcmdzLCBtb2QsCiAgICAgICAgICAgICAgICAgICAgc2hpbSA9IGdldE93bihjb25maWcuc2hpbSwgbW9kdWxlTmFtZSkgfHwge30sCiAgICAgICAgICAgICAgICAgICAgc2hFeHBvcnRzID0gc2hpbS5leHBvcnRzOwoKICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgIHdoaWxlIChkZWZRdWV1ZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICBhcmdzID0gZGVmUXVldWUuc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzBdID0gbW9kdWxlTmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9JZiBhbHJlYWR5IGZvdW5kIGFuIGFub255bW91cyBtb2R1bGUgYW5kIGJvdW5kIGl0CiAgICAgICAgICAgICAgICAgICAgICAgIC8vdG8gdGhpcyBuYW1lLCB0aGVuIHRoaXMgaXMgc29tZSBvdGhlciBhbm9uIG1vZHVsZQogICAgICAgICAgICAgICAgICAgICAgICAvL3dhaXRpbmcgZm9yIGl0cyBjb21wbGV0ZUxvYWQgdG8gZmlyZS4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcmdzWzBdID09PSBtb2R1bGVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRm91bmQgbWF0Y2hpbmcgZGVmaW5lIGNhbGwgZm9yIHRoaXMgc2NyaXB0IQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBjYWxsR2V0TW9kdWxlKGFyZ3MpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcCA9IHt9OwoKICAgICAgICAgICAgICAgIC8vRG8gdGhpcyBhZnRlciB0aGUgY3ljbGUgb2YgY2FsbEdldE1vZHVsZSBpbiBjYXNlIHRoZSByZXN1bHQKICAgICAgICAgICAgICAgIC8vb2YgdGhvc2UgY2FsbHMvaW5pdCBjYWxscyBjaGFuZ2VzIHRoZSByZWdpc3RyeS4KICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKCFmb3VuZCAmJiAhaGFzUHJvcChkZWZpbmVkLCBtb2R1bGVOYW1lKSAmJiBtb2QgJiYgIW1vZC5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmVuZm9yY2VEZWZpbmUgJiYgKCFzaEV4cG9ydHMgfHwgIWdldEdsb2JhbChzaEV4cG9ydHMpKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUGF0aEZhbGxiYWNrKG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vZGVmaW5lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vIGRlZmluZSBjYWxsIGZvciAnICsgbW9kdWxlTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZHVsZU5hbWVdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvL0Egc2NyaXB0IHRoYXQgZG9lcyBub3QgY2FsbCBkZWZpbmUoKSwgc28ganVzdCBzaW11bGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAvL3RoZSBjYWxsIGZvciBpdC4KICAgICAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShbbW9kdWxlTmFtZSwgKHNoaW0uZGVwcyB8fCBbXSksIHNoaW0uZXhwb3J0c0ZuXSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29udmVydHMgYSBtb2R1bGUgbmFtZSB0byBhIGZpbGUgcGF0aC4gU3VwcG9ydHMgY2FzZXMgd2hlcmUKICAgICAgICAgICAgICogbW9kdWxlTmFtZSBtYXkgYWN0dWFsbHkgYmUganVzdCBhbiBVUkwuCiAgICAgICAgICAgICAqIE5vdGUgdGhhdCBpdCAqKmRvZXMgbm90KiogY2FsbCBub3JtYWxpemUgb24gdGhlIG1vZHVsZU5hbWUsCiAgICAgICAgICAgICAqIGl0IGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4gVGhpcyBpcyBhbgogICAgICAgICAgICAgKiBpbnRlcm5hbCBBUEksIG5vdCBhIHB1YmxpYyBvbmUuIFVzZSB0b1VybCBmb3IgdGhlIHB1YmxpYyBBUEkuCiAgICAgICAgICAgICAqLwogICAgICAgICAgICBuYW1lVG9Vcmw6IGZ1bmN0aW9uIChtb2R1bGVOYW1lLCBleHQsIHNraXBFeHQpIHsKICAgICAgICAgICAgICAgIHZhciBwYXRocywgc3ltcywgaSwgcGFyZW50TW9kdWxlLCB1cmwsCiAgICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aCwgYnVuZGxlSWQsCiAgICAgICAgICAgICAgICAgICAgcGtnTWFpbiA9IGdldE93bihjb25maWcucGtncywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKHBrZ01haW4pIHsKICAgICAgICAgICAgICAgICAgICBtb2R1bGVOYW1lID0gcGtnTWFpbjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBidW5kbGVJZCA9IGdldE93bihidW5kbGVzTWFwLCBtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQsIGV4dCwgc2tpcEV4dCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9JZiBhIGNvbG9uIGlzIGluIHRoZSBVUkwsIGl0IGluZGljYXRlcyBhIHByb3RvY29sIGlzIHVzZWQgYW5kIGl0IGlzIGp1c3QKICAgICAgICAgICAgICAgIC8vYW4gVVJMIHRvIGEgZmlsZSwgb3IgaWYgaXQgc3RhcnRzIHdpdGggYSBzbGFzaCwgY29udGFpbnMgYSBxdWVyeSBhcmcgKGkuZS4gPykKICAgICAgICAgICAgICAgIC8vb3IgZW5kcyB3aXRoIC5qcywgdGhlbiBhc3N1bWUgdGhlIHVzZXIgbWVhbnQgdG8gdXNlIGFuIHVybCBhbmQgbm90IGEgbW9kdWxlIGlkLgogICAgICAgICAgICAgICAgLy9UaGUgc2xhc2ggaXMgaW1wb3J0YW50IGZvciBwcm90b2NvbC1sZXNzIFVSTHMgYXMgd2VsbCBhcyBmdWxsIHBhdGhzLgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgcGxhaW4gcGF0aCwgbm90IG1vZHVsZSBuYW1lIGxvb2t1cCwgc28ganVzdCByZXR1cm4gaXQuCiAgICAgICAgICAgICAgICAgICAgLy9BZGQgZXh0ZW5zaW9uIGlmIGl0IGlzIGluY2x1ZGVkLiBUaGlzIGlzIGEgYml0IHdvbmt5LCBvbmx5IG5vbi0uanMgdGhpbmdzIHBhc3MKICAgICAgICAgICAgICAgICAgICAvL2FuIGV4dGVuc2lvbiwgdGhpcyBtZXRob2QgcHJvYmFibHkgbmVlZHMgdG8gYmUgcmV3b3JrZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gbW9kdWxlTmFtZSArIChleHQgfHwgJycpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL0EgbW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIGEgcGF0aC4KICAgICAgICAgICAgICAgICAgICBwYXRocyA9IGNvbmZpZy5wYXRoczsKCiAgICAgICAgICAgICAgICAgICAgc3ltcyA9IG1vZHVsZU5hbWUuc3BsaXQoJy8nKTsKICAgICAgICAgICAgICAgICAgICAvL0ZvciBlYWNoIG1vZHVsZSBuYW1lIHNlZ21lbnQsIHNlZSBpZiB0aGVyZSBpcyBhIHBhdGgKICAgICAgICAgICAgICAgICAgICAvL3JlZ2lzdGVyZWQgZm9yIGl0LiBTdGFydCB3aXRoIG1vc3Qgc3BlY2lmaWMgbmFtZQogICAgICAgICAgICAgICAgICAgIC8vYW5kIHdvcmsgdXAgZnJvbSBpdC4KICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBzeW1zLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRNb2R1bGUgPSBzeW1zLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBnZXRPd24ocGF0aHMsIHBhcmVudE1vZHVsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRQYXRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIGFuIGFycmF5LCBpdCBtZWFucyB0aGVyZSBhcmUgYSBmZXcgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vQ2hvb3NlIHRoZSBvbmUgdGhhdCBpcyBkZXNpcmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNBcnJheShwYXJlbnRQYXRoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBwYXJlbnRQYXRoWzBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltcy5zcGxpY2UoMCwgaSwgcGFyZW50UGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgLy9Kb2luIHRoZSBwYXRoIHBhcnRzIHRvZ2V0aGVyLCB0aGVuIGZpZ3VyZSBvdXQgaWYgYmFzZVVybCBpcyBuZWVkZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gc3ltcy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICAgICAgdXJsICs9IChleHQgfHwgKC9eZGF0YVw6fF5ibG9iXDp8XD8vLnRlc3QodXJsKSB8fCBza2lwRXh0ID8gJycgOiAnLmpzJykpOwogICAgICAgICAgICAgICAgICAgIHVybCA9ICh1cmwuY2hhckF0KDApID09PSAnLycgfHwgdXJsLm1hdGNoKC9eW1x3XCtcLlwtXSs6LykgPyAnJyA6IGNvbmZpZy5iYXNlVXJsKSArIHVybDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnVybEFyZ3MgJiYgIS9eYmxvYlw6Ly50ZXN0KHVybCkgPwogICAgICAgICAgICAgICAgICAgICAgIHVybCArIGNvbmZpZy51cmxBcmdzKG1vZHVsZU5hbWUsIHVybCkgOiB1cmw7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvL0RlbGVnYXRlcyB0byByZXEubG9hZC4gQnJva2VuIG91dCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCiAgICAgICAgICAgIC8vYWxsb3cgb3ZlcnJpZGluZyBpbiB0aGUgb3B0aW1pemVyLgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoaWQsIHVybCkgewogICAgICAgICAgICAgICAgcmVxLmxvYWQoY29udGV4dCwgaWQsIHVybCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogRXhlY3V0ZXMgYSBtb2R1bGUgY2FsbGJhY2sgZnVuY3Rpb24uIEJyb2tlbiBvdXQgYXMgYSBzZXBhcmF0ZSBmdW5jdGlvbgogICAgICAgICAgICAgKiBzb2xlbHkgdG8gYWxsb3cgdGhlIGJ1aWxkIHN5c3RlbSB0byBzZXF1ZW5jZSB0aGUgZmlsZXMgaW4gdGhlIGJ1aWx0CiAgICAgICAgICAgICAqIGxheWVyIGluIHRoZSByaWdodCBzZXF1ZW5jZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHByaXZhdGUKICAgICAgICAgICAgICovCiAgICAgICAgICAgIGV4ZWNDYjogZnVuY3Rpb24gKG5hbWUsIGNhbGxiYWNrLCBhcmdzLCBleHBvcnRzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkoZXhwb3J0cywgYXJncyk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogY2FsbGJhY2sgZm9yIHNjcmlwdCBsb2FkcywgdXNlZCB0byBjaGVjayBzdGF0dXMgb2YgbG9hZGluZy4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtFdmVudH0gZXZ0IHRoZSBldmVudCBmcm9tIHRoZSBicm93c2VyIGZvciB0aGUgc2NyaXB0CiAgICAgICAgICAgICAqIHRoYXQgd2FzIGxvYWRlZC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0TG9hZDogZnVuY3Rpb24gKGV2dCkgewogICAgICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAgICAgLy9hbGwgb2xkIGJyb3dzZXJzIHdpbGwgYmUgc3VwcG9ydGVkLCBidXQgdGhpcyBvbmUgd2FzIGVhc3kgZW5vdWdoCiAgICAgICAgICAgICAgICAvL3RvIHN1cHBvcnQgYW5kIHN0aWxsIG1ha2VzIHNlbnNlLgogICAgICAgICAgICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWR5UmVnRXhwLnRlc3QoKGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50KS5yZWFkeVN0YXRlKSkpIHsKICAgICAgICAgICAgICAgICAgICAvL1Jlc2V0IGludGVyYWN0aXZlIHNjcmlwdCBzbyBhIHNjcmlwdCBub2RlIGlzIG5vdCBoZWxkIG9udG8gZm9yCiAgICAgICAgICAgICAgICAgICAgLy90byBsb25nLgogICAgICAgICAgICAgICAgICAgIGludGVyYWN0aXZlU2NyaXB0ID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG91dCB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGFuZCB0aGUgY29udGV4dC4KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IGdldFNjcmlwdERhdGEoZXZ0KTsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChkYXRhLmlkKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsYmFjayBmb3Igc2NyaXB0IGVycm9ycy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0RXJyb3I6IGZ1bmN0aW9uIChldnQpIHsKICAgICAgICAgICAgICAgIHZhciBkYXRhID0gZ2V0U2NyaXB0RGF0YShldnQpOwogICAgICAgICAgICAgICAgaWYgKCFoYXNQYXRoRmFsbGJhY2soZGF0YS5pZCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50cyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkuaW5kZXhPZignX0ByJykgIT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godmFsdWUuZGVwTWFwcywgZnVuY3Rpb24oZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlcE1hcC5pZCA9PT0gZGF0YS5pZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2goa2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3NjcmlwdGVycm9yJywgJ1NjcmlwdCBlcnJvciBmb3IgIicgKyBkYXRhLmlkICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudHMubGVuZ3RoID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyIsIG5lZWRlZCBieTogJyArIHBhcmVudHMuam9pbignLCAnKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICciJyksIGV2dCwgW2RhdGEuaWRdKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBjb250ZXh0LnJlcXVpcmUgPSBjb250ZXh0Lm1ha2VSZXF1aXJlKCk7CiAgICAgICAgcmV0dXJuIGNvbnRleHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWluIGVudHJ5IHBvaW50LgogICAgICoKICAgICAqIElmIHRoZSBvbmx5IGFyZ3VtZW50IHRvIHJlcXVpcmUgaXMgYSBzdHJpbmcsIHRoZW4gdGhlIG1vZHVsZSB0aGF0CiAgICAgKiBpcyByZXByZXNlbnRlZCBieSB0aGF0IHN0cmluZyBpcyBmZXRjaGVkIGZvciB0aGUgYXBwcm9wcmlhdGUgY29udGV4dC4KICAgICAqCiAgICAgKiBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXksIHRoZW4gaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGFuIGFycmF5CiAgICAgKiBvZiBkZXBlbmRlbmN5IHN0cmluZyBuYW1lcyB0byBmZXRjaC4gQW4gb3B0aW9uYWwgZnVuY3Rpb24gY2FsbGJhY2sgY2FuCiAgICAgKiBiZSBzcGVjaWZpZWQgdG8gZXhlY3V0ZSB3aGVuIGFsbCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYXJlIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBNYWtlIGEgbG9jYWwgcmVxIHZhcmlhYmxlIHRvIGhlbHAgQ2FqYSBjb21wbGlhbmNlIChpdCBhc3N1bWVzIHRoaW5ncwogICAgICogb24gYSByZXF1aXJlIHRoYXQgYXJlIG5vdCBzdGFuZGFyZGl6ZWQpLCBhbmQgdG8gZ2l2ZSBhIHNob3J0CiAgICAgKiBuYW1lIGZvciBtaW5pZmljYXRpb24vbG9jYWwgc2NvcGUgdXNlLgogICAgICovCiAgICByZXEgPSByZXF1aXJlanMgPSBmdW5jdGlvbiAoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIG9wdGlvbmFsKSB7CgogICAgICAgIC8vRmluZCB0aGUgcmlnaHQgY29udGV4dCwgdXNlIGRlZmF1bHQKICAgICAgICB2YXIgY29udGV4dCwgY29uZmlnLAogICAgICAgICAgICBjb250ZXh0TmFtZSA9IGRlZkNvbnRleHROYW1lOwoKICAgICAgICAvLyBEZXRlcm1pbmUgaWYgaGF2ZSBjb25maWcgb2JqZWN0IGluIHRoZSBjYWxsLgogICAgICAgIGlmICghaXNBcnJheShkZXBzKSAmJiB0eXBlb2YgZGVwcyAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgLy8gZGVwcyBpcyBhIGNvbmZpZyBvYmplY3QKICAgICAgICAgICAgY29uZmlnID0gZGVwczsKICAgICAgICAgICAgaWYgKGlzQXJyYXkoY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAvLyBBZGp1c3QgYXJncyBpZiB0aGVyZSBhcmUgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICBkZXBzID0gY2FsbGJhY2s7CiAgICAgICAgICAgICAgICBjYWxsYmFjayA9IGVycmJhY2s7CiAgICAgICAgICAgICAgICBlcnJiYWNrID0gb3B0aW9uYWw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dE5hbWUgPSBjb25maWcuY29udGV4dDsKICAgICAgICB9CgogICAgICAgIGNvbnRleHQgPSBnZXRPd24oY29udGV4dHMsIGNvbnRleHROYW1lKTsKICAgICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW2NvbnRleHROYW1lXSA9IHJlcS5zLm5ld0NvbnRleHQoY29udGV4dE5hbWUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbmZpZykgewogICAgICAgICAgICBjb250ZXh0LmNvbmZpZ3VyZShjb25maWcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjayk7CiAgICB9OwoKICAgIC8qKgogICAgICogU3VwcG9ydCByZXF1aXJlLmNvbmZpZygpIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGNvb3BlcmF0ZSB3aXRoIG90aGVyCiAgICAgKiBBTUQgbG9hZGVycyBvbiBnbG9iYWxseSBhZ3JlZWQgbmFtZXMuCiAgICAgKi8KICAgIHJlcS5jb25maWcgPSBmdW5jdGlvbiAoY29uZmlnKSB7CiAgICAgICAgcmV0dXJuIHJlcShjb25maWcpOwogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGUgc29tZXRoaW5nIGFmdGVyIHRoZSBjdXJyZW50IHRpY2sKICAgICAqIG9mIHRoZSBldmVudCBsb29wLiBPdmVycmlkZSBmb3Igb3RoZXIgZW52cwogICAgICogdGhhdCBoYXZlIGEgYmV0dGVyIHNvbHV0aW9uIHRoYW4gc2V0VGltZW91dC4KICAgICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBmbiBmdW5jdGlvbiB0byBleGVjdXRlIGxhdGVyLgogICAgICovCiAgICByZXEubmV4dFRpY2sgPSB0eXBlb2Ygc2V0VGltZW91dCAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoZm4pIHsKICAgICAgICBzZXRUaW1lb3V0KGZuLCA0KTsKICAgIH0gOiBmdW5jdGlvbiAoZm4pIHsgZm4oKTsgfTsKCiAgICAvKioKICAgICAqIEV4cG9ydCByZXF1aXJlIGFzIGEgZ2xvYmFsLCBidXQgb25seSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgICovCiAgICBpZiAoIXJlcXVpcmUpIHsKICAgICAgICByZXF1aXJlID0gcmVxOwogICAgfQoKICAgIHJlcS52ZXJzaW9uID0gdmVyc2lvbjsKCiAgICAvL1VzZWQgdG8gZmlsdGVyIG91dCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXRocy4KICAgIHJlcS5qc0V4dFJlZ0V4cCA9IC9eXC98OnxcP3xcLmpzJC87CiAgICByZXEuaXNCcm93c2VyID0gaXNCcm93c2VyOwogICAgcyA9IHJlcS5zID0gewogICAgICAgIGNvbnRleHRzOiBjb250ZXh0cywKICAgICAgICBuZXdDb250ZXh0OiBuZXdDb250ZXh0CiAgICB9OwoKICAgIC8vQ3JlYXRlIGRlZmF1bHQgY29udGV4dC4KICAgIHJlcSh7fSk7CgogICAgLy9FeHBvcnRzIHNvbWUgY29udGV4dC1zZW5zaXRpdmUgbWV0aG9kcyBvbiBnbG9iYWwgcmVxdWlyZS4KICAgIGVhY2goWwogICAgICAgICd0b1VybCcsCiAgICAgICAgJ3VuZGVmJywKICAgICAgICAnZGVmaW5lZCcsCiAgICAgICAgJ3NwZWNpZmllZCcKICAgIF0sIGZ1bmN0aW9uIChwcm9wKSB7CiAgICAgICAgLy9SZWZlcmVuY2UgZnJvbSBjb250ZXh0cyBpbnN0ZWFkIG9mIGVhcmx5IGJpbmRpbmcgdG8gZGVmYXVsdCBjb250ZXh0LAogICAgICAgIC8vc28gdGhhdCBkdXJpbmcgYnVpbGRzLCB0aGUgbGF0ZXN0IGluc3RhbmNlIG9mIHRoZSBkZWZhdWx0IGNvbnRleHQKICAgICAgICAvL3dpdGggaXRzIGNvbmZpZyBnZXRzIHVzZWQuCiAgICAgICAgcmVxW3Byb3BdID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgY3R4ID0gY29udGV4dHNbZGVmQ29udGV4dE5hbWVdOwogICAgICAgICAgICByZXR1cm4gY3R4LnJlcXVpcmVbcHJvcF0uYXBwbHkoY3R4LCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9KTsKCiAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgaGVhZCA9IHMuaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICAgICAgLy9JZiBCQVNFIHRhZyBpcyBpbiBwbGF5LCB1c2luZyBhcHBlbmRDaGlsZCBpcyBhIHByb2JsZW0gZm9yIElFNi4KICAgICAgICAvL1doZW4gdGhhdCBicm93c2VyIGRpZXMsIHRoaXMgY2FuIGJlIHJlbW92ZWQuIERldGFpbHMgaW4gdGhpcyBqUXVlcnkgYnVnOgogICAgICAgIC8vaHR0cDovL2Rldi5qcXVlcnkuY29tL3RpY2tldC8yNzA5CiAgICAgICAgYmFzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYmFzZScpWzBdOwogICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICBoZWFkID0gcy5oZWFkID0gYmFzZUVsZW1lbnQucGFyZW50Tm9kZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBbnkgZXJyb3JzIHRoYXQgcmVxdWlyZSBleHBsaWNpdGx5IGdlbmVyYXRlcyB3aWxsIGJlIHBhc3NlZCB0byB0aGlzCiAgICAgKiBmdW5jdGlvbi4gSW50ZXJjZXB0L292ZXJyaWRlIGl0IGlmIHlvdSB3YW50IGN1c3RvbSBlcnJvciBoYW5kbGluZy4KICAgICAqIEBwYXJhbSB7RXJyb3J9IGVyciB0aGUgZXJyb3Igb2JqZWN0LgogICAgICovCiAgICByZXEub25FcnJvciA9IGRlZmF1bHRPbkVycm9yOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyB0aGUgbm9kZSBmb3IgdGhlIGxvYWQgY29tbWFuZC4gT25seSB1c2VkIGluIGJyb3dzZXIgZW52cy4KICAgICAqLwogICAgcmVxLmNyZWF0ZU5vZGUgPSBmdW5jdGlvbiAoY29uZmlnLCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgbm9kZSA9IGNvbmZpZy54aHRtbCA/CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbDpzY3JpcHQnKSA6CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBub2RlLnR5cGUgPSBjb25maWcuc2NyaXB0VHlwZSB8fCAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnOwogICAgICAgIG5vZGUuYXN5bmMgPSB0cnVlOwogICAgICAgIHJldHVybiBub2RlOwogICAgfTsKCiAgICAvKioKICAgICAqIERvZXMgdGhlIHJlcXVlc3QgdG8gbG9hZCBhIG1vZHVsZSBmb3IgdGhlIGJyb3dzZXIgY2FzZS4KICAgICAqIE1ha2UgdGhpcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGFsbG93IG90aGVyIGVudmlyb25tZW50cwogICAgICogdG8gb3ZlcnJpZGUgaXQuCiAgICAgKgogICAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgdGhlIHJlcXVpcmUgY29udGV4dCB0byBmaW5kIHN0YXRlLgogICAgICogQHBhcmFtIHtTdHJpbmd9IG1vZHVsZU5hbWUgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZS4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB1cmwgdGhlIFVSTCB0byB0aGUgbW9kdWxlLgogICAgICovCiAgICByZXEubG9hZCA9IGZ1bmN0aW9uIChjb250ZXh0LCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgY29uZmlnID0gKGNvbnRleHQgJiYgY29udGV4dC5jb25maWcpIHx8IHt9LAogICAgICAgICAgICBub2RlOwogICAgICAgIGlmIChpc0Jyb3dzZXIpIHsKICAgICAgICAgICAgLy9JbiB0aGUgYnJvd3NlciBzbyB1c2UgYSBzY3JpcHQgdGFnCiAgICAgICAgICAgIG5vZGUgPSByZXEuY3JlYXRlTm9kZShjb25maWcsIG1vZHVsZU5hbWUsIHVybCk7CgogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcsIGNvbnRleHQuY29udGV4dE5hbWUpOwogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlbW9kdWxlJywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAvL1NldCB1cCBsb2FkIGxpc3RlbmVyLiBUZXN0IGF0dGFjaEV2ZW50IGZpcnN0IGJlY2F1c2UgSUU5IGhhcwogICAgICAgICAgICAvL2Egc3VidGxlIGlzc3VlIGluIGl0cyBhZGRFdmVudExpc3RlbmVyIGFuZCBzY3JpcHQgb25sb2FkIGZpcmluZ3MKICAgICAgICAgICAgLy90aGF0IGRvIG5vdCBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgYWxsIG90aGVyIGJyb3dzZXJzIHdpdGgKICAgICAgICAgICAgLy9hZGRFdmVudExpc3RlbmVyIHN1cHBvcnQsIHdoaWNoIGZpcmUgdGhlIG9ubG9hZCBldmVudCBmb3IgYQogICAgICAgICAgICAvL3NjcmlwdCByaWdodCBhZnRlciB0aGUgc2NyaXB0IGV4ZWN1dGlvbi4gU2VlOgogICAgICAgICAgICAvL2h0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvNjQ4MDU3L3NjcmlwdC1vbmxvYWQtZXZlbnQtaXMtbm90LWZpcmVkLWltbWVkaWF0ZWx5LWFmdGVyLXNjcmlwdC1leGVjdXRpb24KICAgICAgICAgICAgLy9VTkZPUlRVTkFURUxZIE9wZXJhIGltcGxlbWVudHMgYXR0YWNoRXZlbnQgYnV0IGRvZXMgbm90IGZvbGxvdyB0aGUgc2NyaXB0CiAgICAgICAgICAgIC8vc2NyaXB0IGV4ZWN1dGlvbiBtb2RlLgogICAgICAgICAgICBpZiAobm9kZS5hdHRhY2hFdmVudCAmJgogICAgICAgICAgICAgICAgICAgIC8vQ2hlY2sgaWYgbm9kZS5hdHRhY2hFdmVudCBpcyBhcnRpZmljaWFsbHkgYWRkZWQgYnkgY3VzdG9tIHNjcmlwdCBvcgogICAgICAgICAgICAgICAgICAgIC8vbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IGJyb3dzZXIKICAgICAgICAgICAgICAgICAgICAvL3JlYWQgaHR0cHM6Ly9naXRodWIuY29tL3JlcXVpcmVqcy9yZXF1aXJlanMvaXNzdWVzLzE4NwogICAgICAgICAgICAgICAgICAgIC8vaWYgd2UgY2FuIE5PVCBmaW5kIFtuYXRpdmUgY29kZV0gdGhlbiBpdCBtdXN0IE5PVCBuYXRpdmVseSBzdXBwb3J0ZWQuCiAgICAgICAgICAgICAgICAgICAgLy9pbiBJRTgsIG5vZGUuYXR0YWNoRXZlbnQgZG9lcyBub3QgaGF2ZSB0b1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgLy9Ob3RlIHRoZSB0ZXN0IGZvciAiW25hdGl2ZSBjb2RlIiB3aXRoIG5vIGNsb3NpbmcgYnJhY2UsIHNlZToKICAgICAgICAgICAgICAgICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2lzc3Vlcy8yNzMKICAgICAgICAgICAgICAgICAgICAhKG5vZGUuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgbm9kZS5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkgJiYKICAgICAgICAgICAgICAgICAgICAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSUUgKGF0IGxlYXN0IDYtOCkgZG8gbm90IGZpcmUKICAgICAgICAgICAgICAgIC8vc2NyaXB0IG9ubG9hZCByaWdodCBhZnRlciBleGVjdXRpbmcgdGhlIHNjcmlwdCwgc28KICAgICAgICAgICAgICAgIC8vd2UgY2Fubm90IHRpZSB0aGUgYW5vbnltb3VzIGRlZmluZSBjYWxsIHRvIGEgbmFtZS4KICAgICAgICAgICAgICAgIC8vSG93ZXZlciwgSUUgcmVwb3J0cyB0aGUgc2NyaXB0IGFzIGJlaW5nIGluICdpbnRlcmFjdGl2ZScKICAgICAgICAgICAgICAgIC8vcmVhZHlTdGF0ZSBhdCB0aGUgdGltZSBvZiB0aGUgZGVmaW5lIGNhbGwuCiAgICAgICAgICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IHRydWU7CgogICAgICAgICAgICAgICAgbm9kZS5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgY29udGV4dC5vblNjcmlwdExvYWQpOwogICAgICAgICAgICAgICAgLy9JdCB3b3VsZCBiZSBncmVhdCB0byBhZGQgYW4gZXJyb3IgaGFuZGxlciBoZXJlIHRvIGNhdGNoCiAgICAgICAgICAgICAgICAvLzQwNHMgaW4gSUU5Ky4gSG93ZXZlciwgb25yZWFkeXN0YXRlY2hhbmdlIHdpbGwgZmlyZSBiZWZvcmUKICAgICAgICAgICAgICAgIC8vdGhlIGVycm9yIGhhbmRsZXIsIHNvIHRoYXQgZG9lcyBub3QgaGVscC4gSWYgYWRkRXZlbnRMaXN0ZW5lcgogICAgICAgICAgICAgICAgLy9pcyB1c2VkLCB0aGVuIElFIHdpbGwgZmlyZSBlcnJvciBiZWZvcmUgbG9hZCwgYnV0IHdlIGNhbm5vdAogICAgICAgICAgICAgICAgLy91c2UgdGhhdCBwYXRod2F5IGdpdmVuIHRoZSBjb25uZWN0Lm1pY3Jvc29mdC5jb20gaXNzdWUKICAgICAgICAgICAgICAgIC8vbWVudGlvbmVkIGFib3ZlIGFib3V0IG5vdCBkb2luZyB0aGUgJ3NjcmlwdCBleGVjdXRlLAogICAgICAgICAgICAgICAgLy90aGVuIGZpcmUgdGhlIHNjcmlwdCBsb2FkIGV2ZW50IGxpc3RlbmVyIGJlZm9yZSBleGVjdXRlCiAgICAgICAgICAgICAgICAvL25leHQgc2NyaXB0JyB0aGF0IG90aGVyIGJyb3dzZXJzIGRvLgogICAgICAgICAgICAgICAgLy9CZXN0IGhvcGU6IElFMTAgZml4ZXMgdGhlIGlzc3VlcywKICAgICAgICAgICAgICAgIC8vYW5kIHRoZW4gZGVzdHJveXMgYWxsIGluc3RhbGxzIG9mIElFIDYtOS4KICAgICAgICAgICAgICAgIC8vbm9kZS5hdHRhY2hFdmVudCgnb25lcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgZmFsc2UpOwogICAgICAgICAgICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvciwgZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG5vZGUuc3JjID0gdXJsOwoKICAgICAgICAgICAgLy9DYWxsaW5nIG9uTm9kZUNyZWF0ZWQgYWZ0ZXIgYWxsIHByb3BlcnRpZXMgb24gdGhlIG5vZGUgaGF2ZSBiZWVuCiAgICAgICAgICAgIC8vc2V0LCBidXQgYmVmb3JlIGl0IGlzIHBsYWNlZCBpbiB0aGUgRE9NLgogICAgICAgICAgICBpZiAoY29uZmlnLm9uTm9kZUNyZWF0ZWQpIHsKICAgICAgICAgICAgICAgIGNvbmZpZy5vbk5vZGVDcmVhdGVkKG5vZGUsIGNvbmZpZywgbW9kdWxlTmFtZSwgdXJsKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9Gb3Igc29tZSBjYWNoZSBjYXNlcyBpbiBJRSA2LTgsIHRoZSBzY3JpcHQgZXhlY3V0ZXMgYmVmb3JlIHRoZSBlbmQKICAgICAgICAgICAgLy9vZiB0aGUgYXBwZW5kQ2hpbGQgZXhlY3V0aW9uLCBzbyB0byB0aWUgYW4gYW5vbnltb3VzIGRlZmluZQogICAgICAgICAgICAvL2NhbGwgdG8gdGhlIG1vZHVsZSBuYW1lICh3aGljaCBpcyBzdG9yZWQgb24gdGhlIG5vZGUpLCBob2xkIG9uCiAgICAgICAgICAgIC8vdG8gYSByZWZlcmVuY2UgdG8gdGhpcyBub2RlLCBidXQgY2xlYXIgYWZ0ZXIgdGhlIERPTSBpbnNlcnRpb24uCiAgICAgICAgICAgIGN1cnJlbnRseUFkZGluZ1NjcmlwdCA9IG5vZGU7CiAgICAgICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICAgICAgaGVhZC5pbnNlcnRCZWZvcmUobm9kZSwgYmFzZUVsZW1lbnQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjdXJyZW50bHlBZGRpbmdTY3JpcHQgPSBudWxsOwoKICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgfSBlbHNlIGlmIChpc1dlYldvcmtlcikgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgLy9JbiBhIHdlYiB3b3JrZXIsIHVzZSBpbXBvcnRTY3JpcHRzLiBUaGlzIGlzIG5vdCBhIHZlcnkKICAgICAgICAgICAgICAgIC8vZWZmaWNpZW50IHVzZSBvZiBpbXBvcnRTY3JpcHRzLCBpbXBvcnRTY3JpcHRzIHdpbGwgYmxvY2sgdW50aWwKICAgICAgICAgICAgICAgIC8vaXRzIHNjcmlwdCBpcyBkb3dubG9hZGVkIGFuZCBldmFsdWF0ZWQuIEhvd2V2ZXIsIGlmIHdlYiB3b3JrZXJzCiAgICAgICAgICAgICAgICAvL2FyZSBpbiBwbGF5LCB0aGUgZXhwZWN0YXRpb24gaXMgdGhhdCBhIGJ1aWxkIGhhcyBiZWVuIGRvbmUgc28KICAgICAgICAgICAgICAgIC8vdGhhdCBvbmx5IG9uZSBzY3JpcHQgbmVlZHMgdG8gYmUgbG9hZGVkIGFueXdheS4gVGhpcyBtYXkgbmVlZAogICAgICAgICAgICAgICAgLy90byBiZSByZWV2YWx1YXRlZCBpZiBvdGhlciB1c2UgY2FzZXMgYmVjb21lIGNvbW1vbi4KCiAgICAgICAgICAgICAgICAvLyBQb3N0IGEgdGFzayB0byB0aGUgZXZlbnQgbG9vcCB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBXZWJLaXQKICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRoZSB3b3JrZXIgZ2V0cyBnYXJiYWdlLWNvbGxlY3RlZCBhZnRlciBjYWxsaW5nCiAgICAgICAgICAgICAgICAvLyBpbXBvcnRTY3JpcHRzKCk6IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzMxNwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt9LCAwKTsKICAgICAgICAgICAgICAgIGltcG9ydFNjcmlwdHModXJsKTsKCiAgICAgICAgICAgICAgICAvL0FjY291bnQgZm9yIGFub255bW91cyBtb2R1bGVzCiAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgY29udGV4dC5vbkVycm9yKG1ha2VFcnJvcignaW1wb3J0c2NyaXB0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydFNjcmlwdHMgZmFpbGVkIGZvciAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlTmFtZSArICcgYXQgJyArIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2R1bGVOYW1lXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBnZXRJbnRlcmFjdGl2ZVNjcmlwdCgpIHsKICAgICAgICBpZiAoaW50ZXJhY3RpdmVTY3JpcHQgJiYgaW50ZXJhY3RpdmVTY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJykgewogICAgICAgICAgICByZXR1cm4gaW50ZXJhY3RpdmVTY3JpcHQ7CiAgICAgICAgfQoKICAgICAgICBlYWNoUmV2ZXJzZShzY3JpcHRzKCksIGZ1bmN0aW9uIChzY3JpcHQpIHsKICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlID09PSAnaW50ZXJhY3RpdmUnKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludGVyYWN0aXZlU2NyaXB0ID0gc2NyaXB0KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIHJldHVybiBpbnRlcmFjdGl2ZVNjcmlwdDsKICAgIH0KCiAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIHNjcmlwdCBhdHRyaWJ1dGUsIHdoaWNoIGNvdWxkIGFsc28gYWRqdXN0IHRoZSBiYXNlVXJsLgogICAgaWYgKGlzQnJvd3NlciAmJiAhY2ZnLnNraXBEYXRhTWFpbikgewogICAgICAgIC8vRmlndXJlIG91dCBiYXNlVXJsLiBHZXQgaXQgZnJvbSB0aGUgc2NyaXB0IHRhZyB3aXRoIHJlcXVpcmUuanMgaW4gaXQuCiAgICAgICAgZWFjaFJldmVyc2Uoc2NyaXB0cygpLCBmdW5jdGlvbiAoc2NyaXB0KSB7CiAgICAgICAgICAgIC8vU2V0IHRoZSAnaGVhZCcgd2hlcmUgd2UgY2FuIGFwcGVuZCBjaGlsZHJlbiBieQogICAgICAgICAgICAvL3VzaW5nIHRoZSBzY3JpcHQncyBwYXJlbnQuCiAgICAgICAgICAgIGlmICghaGVhZCkgewogICAgICAgICAgICAgICAgaGVhZCA9IHNjcmlwdC5wYXJlbnROb2RlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIGF0dHJpYnV0ZSB0byBzZXQgbWFpbiBzY3JpcHQgZm9yIHRoZSBwYWdlCiAgICAgICAgICAgIC8vdG8gbG9hZC4gSWYgaXQgaXMgdGhlcmUsIHRoZSBwYXRoIHRvIGRhdGEgbWFpbiBiZWNvbWVzIHRoZQogICAgICAgICAgICAvL2Jhc2VVcmwsIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHNldC4KICAgICAgICAgICAgZGF0YU1haW4gPSBzY3JpcHQuZ2V0QXR0cmlidXRlKCdkYXRhLW1haW4nKTsKICAgICAgICAgICAgaWYgKGRhdGFNYWluKSB7CiAgICAgICAgICAgICAgICAvL1ByZXNlcnZlIGRhdGFNYWluIGluIGNhc2UgaXQgaXMgYSBwYXRoIChpLmUuIGNvbnRhaW5zICc/JykKICAgICAgICAgICAgICAgIG1haW5TY3JpcHQgPSBkYXRhTWFpbjsKCiAgICAgICAgICAgICAgICAvL1NldCBmaW5hbCBiYXNlVXJsIGlmIHRoZXJlIGlzIG5vdCBhbHJlYWR5IGFuIGV4cGxpY2l0IG9uZSwKICAgICAgICAgICAgICAgIC8vYnV0IG9ubHkgZG8gc28gaWYgdGhlIGRhdGEtbWFpbiB2YWx1ZSBpcyBub3QgYSBsb2FkZXIgcGx1Z2luCiAgICAgICAgICAgICAgICAvL21vZHVsZSBJRC4KICAgICAgICAgICAgICAgIGlmICghY2ZnLmJhc2VVcmwgJiYgbWFpblNjcmlwdC5pbmRleE9mKCchJykgPT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG9mZiB0aGUgZGlyZWN0b3J5IG9mIGRhdGEtbWFpbiBmb3IgdXNlIGFzIHRoZQogICAgICAgICAgICAgICAgICAgIC8vYmFzZVVybC4KICAgICAgICAgICAgICAgICAgICBzcmMgPSBtYWluU2NyaXB0LnNwbGl0KCcvJyk7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IHNyYy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICBzdWJQYXRoID0gc3JjLmxlbmd0aCA/IHNyYy5qb2luKCcvJykgICsgJy8nIDogJy4vJzsKCiAgICAgICAgICAgICAgICAgICAgY2ZnLmJhc2VVcmwgPSBzdWJQYXRoOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vU3RyaXAgb2ZmIGFueSB0cmFpbGluZyAuanMgc2luY2UgbWFpblNjcmlwdCBpcyBub3cKICAgICAgICAgICAgICAgIC8vbGlrZSBhIG1vZHVsZSBuYW1lLgogICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IG1haW5TY3JpcHQucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwoKICAgICAgICAgICAgICAgIC8vSWYgbWFpblNjcmlwdCBpcyBzdGlsbCBhIHBhdGgsIGZhbGwgYmFjayB0byBkYXRhTWFpbgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1haW5TY3JpcHQpKSB7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IGRhdGFNYWluOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vUHV0IHRoZSBkYXRhLW1haW4gc2NyaXB0IGluIHRoZSBmaWxlcyB0byBsb2FkLgogICAgICAgICAgICAgICAgY2ZnLmRlcHMgPSBjZmcuZGVwcyA/IGNmZy5kZXBzLmNvbmNhdChtYWluU2NyaXB0KSA6IFttYWluU2NyaXB0XTsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBkZWZpbml0aW9ucyBvZiBtb2R1bGVzLiBEaWZmZXJzIGZyb20KICAgICAqIHJlcXVpcmUoKSBpbiB0aGF0IGEgc3RyaW5nIGZvciB0aGUgbW9kdWxlIHNob3VsZCBiZSB0aGUgZmlyc3QgYXJndW1lbnQsCiAgICAgKiBhbmQgdGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYWZ0ZXIgZGVwZW5kZW5jaWVzIGFyZSBsb2FkZWQgc2hvdWxkCiAgICAgKiByZXR1cm4gYSB2YWx1ZSB0byBkZWZpbmUgdGhlIG1vZHVsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBhcmd1bWVudCdzCiAgICAgKiBuYW1lLgogICAgICovCiAgICBkZWZpbmUgPSBmdW5jdGlvbiAobmFtZSwgZGVwcywgY2FsbGJhY2spIHsKICAgICAgICB2YXIgbm9kZSwgY29udGV4dDsKCiAgICAgICAgLy9BbGxvdyBmb3IgYW5vbnltb3VzIG1vZHVsZXMKICAgICAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIC8vQWRqdXN0IGFyZ3MgYXBwcm9wcmlhdGVseQogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBuYW1lOwogICAgICAgICAgICBuYW1lID0gbnVsbDsKICAgICAgICB9CgogICAgICAgIC8vVGhpcyBtb2R1bGUgbWF5IG5vdCBoYXZlIGRlcGVuZGVuY2llcwogICAgICAgIGlmICghaXNBcnJheShkZXBzKSkgewogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgLy9JZiBubyBuYW1lLCBhbmQgY2FsbGJhY2sgaXMgYSBmdW5jdGlvbiwgdGhlbiBmaWd1cmUgb3V0IGlmIGl0IGEKICAgICAgICAvL0NvbW1vbkpTIHRoaW5nIHdpdGggZGVwZW5kZW5jaWVzLgogICAgICAgIGlmICghZGVwcyAmJiBpc0Z1bmN0aW9uKGNhbGxiYWNrKSkgewogICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIC8vUmVtb3ZlIGNvbW1lbnRzIGZyb20gdGhlIGNhbGxiYWNrIHN0cmluZywKICAgICAgICAgICAgLy9sb29rIGZvciByZXF1aXJlIGNhbGxzLCBhbmQgcHVsbCB0aGVtIGludG8gdGhlIGRlcGVuZGVuY2llcywKICAgICAgICAgICAgLy9idXQgb25seSBpZiB0aGVyZSBhcmUgZnVuY3Rpb24gYXJncy4KICAgICAgICAgICAgaWYgKGNhbGxiYWNrLmxlbmd0aCkgewogICAgICAgICAgICAgICAgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNvbW1lbnRSZWdFeHAsIGNvbW1lbnRSZXBsYWNlKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNqc1JlcXVpcmVSZWdFeHAsIGZ1bmN0aW9uIChtYXRjaCwgZGVwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHMucHVzaChkZXApOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vTWF5IGJlIGEgQ29tbW9uSlMgdGhpbmcgZXZlbiB3aXRob3V0IHJlcXVpcmUgY2FsbHMsIGJ1dCBzdGlsbAogICAgICAgICAgICAgICAgLy9jb3VsZCB1c2UgZXhwb3J0cywgYW5kIG1vZHVsZS4gQXZvaWQgZG9pbmcgZXhwb3J0cyBhbmQgbW9kdWxlCiAgICAgICAgICAgICAgICAvL3dvcmsgdGhvdWdoIGlmIGl0IGp1c3QgbmVlZHMgcmVxdWlyZS4KICAgICAgICAgICAgICAgIC8vUkVRVUlSRVMgdGhlIGZ1bmN0aW9uIHRvIGV4cGVjdCB0aGUgQ29tbW9uSlMgdmFyaWFibGVzIGluIHRoZQogICAgICAgICAgICAgICAgLy9vcmRlciBsaXN0ZWQgYmVsb3cuCiAgICAgICAgICAgICAgICBkZXBzID0gKGNhbGxiYWNrLmxlbmd0aCA9PT0gMSA/IFsncmVxdWlyZSddIDogWydyZXF1aXJlJywgJ2V4cG9ydHMnLCAnbW9kdWxlJ10pLmNvbmNhdChkZXBzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy9JZiBpbiBJRSA2LTggYW5kIGhpdCBhbiBhbm9ueW1vdXMgZGVmaW5lKCkgY2FsbCwgZG8gdGhlIGludGVyYWN0aXZlCiAgICAgICAgLy93b3JrLgogICAgICAgIGlmICh1c2VJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICBub2RlID0gY3VycmVudGx5QWRkaW5nU2NyaXB0IHx8IGdldEludGVyYWN0aXZlU2NyaXB0KCk7CiAgICAgICAgICAgIGlmIChub2RlKSB7CiAgICAgICAgICAgICAgICBpZiAoIW5hbWUpIHsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW25vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVjb250ZXh0JyldOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvL0Fsd2F5cyBzYXZlIG9mZiBldmFsdWF0aW5nIHRoZSBkZWYgY2FsbCB1bnRpbCB0aGUgc2NyaXB0IG9ubG9hZCBoYW5kbGVyLgogICAgICAgIC8vVGhpcyBhbGxvd3MgbXVsdGlwbGUgbW9kdWxlcyB0byBiZSBpbiBhIGZpbGUgd2l0aG91dCBwcmVtYXR1cmVseQogICAgICAgIC8vdHJhY2luZyBkZXBlbmRlbmNpZXMsIGFuZCBhbGxvd3MgZm9yIGFub255bW91cyBtb2R1bGUgc3VwcG9ydCwKICAgICAgICAvL3doZXJlIHRoZSBtb2R1bGUgbmFtZSBpcyBub3Qga25vd24gdW50aWwgdGhlIHNjcmlwdCBvbmxvYWQgZXZlbnQKICAgICAgICAvL29jY3Vycy4gSWYgbm8gY29udGV4dCwgdXNlIHRoZSBnbG9iYWwgcXVldWUsIGFuZCBnZXQgaXQgcHJvY2Vzc2VkCiAgICAgICAgLy9pbiB0aGUgb25zY3JpcHQgbG9hZCBjYWxsYmFjay4KICAgICAgICBpZiAoY29udGV4dCkgewogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgICAgIGNvbnRleHQuZGVmUXVldWVNYXBbbmFtZV0gPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgfQogICAgfTsKCiAgICBkZWZpbmUuYW1kID0gewogICAgICAgIGpRdWVyeTogdHJ1ZQogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGVzIHRoZSB0ZXh0LiBOb3JtYWxseSBqdXN0IHVzZXMgZXZhbCwgYnV0IGNhbiBiZSBtb2RpZmllZAogICAgICogdG8gdXNlIGEgYmV0dGVyLCBlbnZpcm9ubWVudC1zcGVjaWZpYyBjYWxsLiBPbmx5IHVzZWQgZm9yIHRyYW5zcGlsaW5nCiAgICAgKiBsb2FkZXIgcGx1Z2lucywgbm90IGZvciBwbGFpbiBKUyBtb2R1bGVzLgogICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgdGhlIHRleHQgdG8gZXhlY3V0ZS9ldmFsdWF0ZS4KICAgICAqLwogICAgcmVxLmV4ZWMgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICByZXR1cm4gZXZhbCh0ZXh0KTsKICAgIH07CgogICAgLy9TZXQgdXAgd2l0aCBjb25maWcgaW5mby4KICAgIHJlcShjZmcpOwp9KHRoaXMsICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBzZXRUaW1lb3V0KSkpOwoKLy8gQ29weXJpZ2h0IDIwMTQgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgohZnVuY3Rpb24oKXt2YXIgYT17fSxiPXt9LGM9e307IWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGE7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1hW2NdO3JldHVybiBifWZ1bmN0aW9uIGQoKXt0aGlzLl9kZWxheT0wLHRoaXMuX2VuZERlbGF5PTAsdGhpcy5fZmlsbD0ibm9uZSIsdGhpcy5faXRlcmF0aW9uU3RhcnQ9MCx0aGlzLl9pdGVyYXRpb25zPTEsdGhpcy5fZHVyYXRpb249MCx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9kaXJlY3Rpb249Im5vcm1hbCIsdGhpcy5fZWFzaW5nPSJsaW5lYXIiLHRoaXMuX2Vhc2luZ0Z1bmN0aW9uPXh9ZnVuY3Rpb24gZSgpe3JldHVybiBhLmlzRGVwcmVjYXRlZCgiSW52YWxpZCB0aW1pbmcgaW5wdXRzIiwiMjAxNi0wMy0wMiIsIlR5cGVFcnJvciBleGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGluc3RlYWQuIiwhMCl9ZnVuY3Rpb24gZihiLGMsZSl7dmFyIGY9bmV3IGQ7cmV0dXJuIGMmJihmLmZpbGw9ImJvdGgiLGYuZHVyYXRpb249ImF1dG8iKSwibnVtYmVyIiE9dHlwZW9mIGJ8fGlzTmFOKGIpP3ZvaWQgMCE9PWImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGIpLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoImF1dG8iIT1iW2NdKXtpZigoIm51bWJlciI9PXR5cGVvZiBmW2NdfHwiZHVyYXRpb24iPT1jKSYmKCJudW1iZXIiIT10eXBlb2YgYltjXXx8aXNOYU4oYltjXSkpKXJldHVybjtpZigiZmlsbCI9PWMmJi0xPT12LmluZGV4T2YoYltjXSkpcmV0dXJuO2lmKCJkaXJlY3Rpb24iPT1jJiYtMT09dy5pbmRleE9mKGJbY10pKXJldHVybjtpZigicGxheWJhY2tSYXRlIj09YyYmMSE9PWJbY10mJmEuaXNEZXByZWNhdGVkKCJBbmltYXRpb25FZmZlY3RUaW1pbmcucGxheWJhY2tSYXRlIiwiMjAxNC0xMS0yOCIsIlVzZSBBbmltYXRpb24ucGxheWJhY2tSYXRlIGluc3RlYWQuIikpcmV0dXJuO2ZbY109YltjXX19KTpmLmR1cmF0aW9uPWIsZn1mdW5jdGlvbiBnKGEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgYSYmKGE9aXNOYU4oYSk/e2R1cmF0aW9uOjB9OntkdXJhdGlvbjphfSksYX1mdW5jdGlvbiBoKGIsYyl7cmV0dXJuIGI9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYiksZihiLGMpfWZ1bmN0aW9uIGkoYSxiLGMsZCl7cmV0dXJuIGE8MHx8YT4xfHxjPDB8fGM+MT94OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGYoYSxiLGMpe3JldHVybiAzKmEqKDEtYykqKDEtYykqYyszKmIqKDEtYykqYypjK2MqYypjfWlmKGU8PTApe3ZhciBnPTA7cmV0dXJuIGE+MD9nPWIvYTohYiYmYz4wJiYoZz1kL2MpLGcqZX1pZihlPj0xKXt2YXIgaD0wO3JldHVybiBjPDE/aD0oZC0xKS8oYy0xKToxPT1jJiZhPDEmJihoPShiLTEpLyhhLTEpKSwxK2gqKGUtMSl9Zm9yKHZhciBpPTAsaj0xO2k8ajspe3ZhciBrPShpK2opLzIsbD1mKGEsYyxrKTtpZihNYXRoLmFicyhlLWwpPDFlLTUpcmV0dXJuIGYoYixkLGspO2w8ZT9pPWs6aj1rfXJldHVybiBmKGIsZCxrKX19ZnVuY3Rpb24gaihhLGIpe3JldHVybiBmdW5jdGlvbihjKXtpZihjPj0xKXJldHVybiAxO3ZhciBkPTEvYTtyZXR1cm4oYys9YipkKS1jJWR9fWZ1bmN0aW9uIGsoYSl7Q3x8KEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUpLEMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb249IiIsQy5hbmltYXRpb25UaW1pbmdGdW5jdGlvbj1hO3ZhciBiPUMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb247aWYoIiI9PWImJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgZWFzaW5nIik7cmV0dXJuIGJ9ZnVuY3Rpb24gbChhKXtpZigibGluZWFyIj09YSlyZXR1cm4geDt2YXIgYj1FLmV4ZWMoYSk7aWYoYilyZXR1cm4gaS5hcHBseSh0aGlzLGIuc2xpY2UoMSkubWFwKE51bWJlcikpO3ZhciBjPUYuZXhlYyhhKTtpZihjKXJldHVybiBqKE51bWJlcihjWzFdKSxBKTt2YXIgZD1HLmV4ZWMoYSk7cmV0dXJuIGQ/aihOdW1iZXIoZFsxXSkse3N0YXJ0OnksbWlkZGxlOnosZW5kOkF9W2RbMl1dKTpCW2FdfHx4fWZ1bmN0aW9uIG0oYSl7cmV0dXJuIE1hdGguYWJzKG4oYSkvYS5wbGF5YmFja1JhdGUpfWZ1bmN0aW9uIG4oYSl7cmV0dXJuIDA9PT1hLmR1cmF0aW9ufHwwPT09YS5pdGVyYXRpb25zPzA6YS5kdXJhdGlvbiphLml0ZXJhdGlvbnN9ZnVuY3Rpb24gbyhhLGIsYyl7aWYobnVsbD09YilyZXR1cm4gSDt2YXIgZD1jLmRlbGF5K2ErYy5lbmREZWxheTtyZXR1cm4gYjxNYXRoLm1pbihjLmRlbGF5LGQpP0k6Yj49TWF0aC5taW4oYy5kZWxheSthLGQpP0o6S31mdW5jdGlvbiBwKGEsYixjLGQsZSl7c3dpdGNoKGQpe2Nhc2UgSTpyZXR1cm4iYmFja3dhcmRzIj09Ynx8ImJvdGgiPT1iPzA6bnVsbDtjYXNlIEs6cmV0dXJuIGMtZTtjYXNlIEo6cmV0dXJuImZvcndhcmRzIj09Ynx8ImJvdGgiPT1iP2E6bnVsbDtjYXNlIEg6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHEoYSxiLGMsZCxlKXt2YXIgZj1lO3JldHVybiAwPT09YT9iIT09SSYmKGYrPWMpOmYrPWQvYSxmfWZ1bmN0aW9uIHIoYSxiLGMsZCxlLGYpe3ZhciBnPWE9PT0xLzA/YiUxOmElMTtyZXR1cm4gMCE9PWd8fGMhPT1KfHwwPT09ZHx8MD09PWUmJjAhPT1mfHwoZz0xKSxnfWZ1bmN0aW9uIHMoYSxiLGMsZCl7cmV0dXJuIGE9PT1KJiZiPT09MS8wPzEvMDoxPT09Yz9NYXRoLmZsb29yKGQpLTE6TWF0aC5mbG9vcihkKX1mdW5jdGlvbiB0KGEsYixjKXt2YXIgZD1hO2lmKCJub3JtYWwiIT09YSYmInJldmVyc2UiIT09YSl7dmFyIGU9YjsiYWx0ZXJuYXRlLXJldmVyc2UiPT09YSYmKGUrPTEpLGQ9Im5vcm1hbCIsZSE9PTEvMCYmZSUyIT0wJiYoZD0icmV2ZXJzZSIpfXJldHVybiJub3JtYWwiPT09ZD9jOjEtY31mdW5jdGlvbiB1KGEsYixjKXt2YXIgZD1vKGEsYixjKSxlPXAoYSxjLmZpbGwsYixkLGMuZGVsYXkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO3ZhciBmPXEoYy5kdXJhdGlvbixkLGMuaXRlcmF0aW9ucyxlLGMuaXRlcmF0aW9uU3RhcnQpLGc9cihmLGMuaXRlcmF0aW9uU3RhcnQsZCxjLml0ZXJhdGlvbnMsZSxjLmR1cmF0aW9uKSxoPXMoZCxjLml0ZXJhdGlvbnMsZyxmKSxpPXQoYy5kaXJlY3Rpb24saCxnKTtyZXR1cm4gYy5fZWFzaW5nRnVuY3Rpb24oaSl9dmFyIHY9ImJhY2t3YXJkc3xmb3J3YXJkc3xib3RofG5vbmUiLnNwbGl0KCJ8Iiksdz0icmV2ZXJzZXxhbHRlcm5hdGV8YWx0ZXJuYXRlLXJldmVyc2UiLnNwbGl0KCJ8IikseD1mdW5jdGlvbihhKXtyZXR1cm4gYX07ZC5wcm90b3R5cGU9e19zZXRNZW1iZXI6ZnVuY3Rpb24oYixjKXt0aGlzWyJfIitiXT1jLHRoaXMuX2VmZmVjdCYmKHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXRbYl09Yyx0aGlzLl9lZmZlY3QuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXQpLHRoaXMuX2VmZmVjdC5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX2VmZmVjdC5fdGltaW5nKSx0aGlzLl9lZmZlY3QuX2FuaW1hdGlvbiYmdGhpcy5fZWZmZWN0Ll9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCkpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IGRlbGF5KGEpe3RoaXMuX3NldE1lbWJlcigiZGVsYXkiLGEpfSxnZXQgZGVsYXkoKXtyZXR1cm4gdGhpcy5fZGVsYXl9LHNldCBlbmREZWxheShhKXt0aGlzLl9zZXRNZW1iZXIoImVuZERlbGF5IixhKX0sZ2V0IGVuZERlbGF5KCl7cmV0dXJuIHRoaXMuX2VuZERlbGF5fSxzZXQgZmlsbChhKXt0aGlzLl9zZXRNZW1iZXIoImZpbGwiLGEpfSxnZXQgZmlsbCgpe3JldHVybiB0aGlzLl9maWxsfSxzZXQgaXRlcmF0aW9uU3RhcnQoYSl7aWYoKGlzTmFOKGEpfHxhPDApJiZlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaXRlcmF0aW9uU3RhcnQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9uU3RhcnQiLGEpfSxnZXQgaXRlcmF0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5faXRlcmF0aW9uU3RhcnR9LHNldCBkdXJhdGlvbihhKXtpZigiYXV0byIhPWEmJihpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoImR1cmF0aW9uIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIGF1dG8sIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiZHVyYXRpb24iLGEpfSxnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fZHVyYXRpb259LHNldCBkaXJlY3Rpb24oYSl7dGhpcy5fc2V0TWVtYmVyKCJkaXJlY3Rpb24iLGEpfSxnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2RpcmVjdGlvbn0sc2V0IGVhc2luZyhhKXt0aGlzLl9lYXNpbmdGdW5jdGlvbj1sKGsoYSkpLHRoaXMuX3NldE1lbWJlcigiZWFzaW5nIixhKX0sZ2V0IGVhc2luZygpe3JldHVybiB0aGlzLl9lYXNpbmd9LHNldCBpdGVyYXRpb25zKGEpe2lmKChpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvbnMgbXVzdCBiZSBub24tbmVnYXRpdmUsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9ucyIsYSl9LGdldCBpdGVyYXRpb25zKCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvbnN9fTt2YXIgeT0xLHo9LjUsQT0wLEI9e2Vhc2U6aSguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjppKC40MiwwLDEsMSksImVhc2Utb3V0IjppKDAsMCwuNTgsMSksImVhc2UtaW4tb3V0IjppKC40MiwwLC41OCwxKSwic3RlcC1zdGFydCI6aigxLHkpLCJzdGVwLW1pZGRsZSI6aigxLHopLCJzdGVwLWVuZCI6aigxLEEpfSxDPW51bGwsRD0iXFxzKigtP1xcZCtcXC4/XFxkKnwtP1xcLlxcZCspXFxzKiIsRT1uZXcgUmVnRXhwKCJjdWJpYy1iZXppZXJcXCgiK0QrIiwiK0QrIiwiK0QrIiwiK0QrIlxcKSIpLEY9L3N0ZXBzXChccyooXGQrKVxzKlwpLyxHPS9zdGVwc1woXHMqKFxkKylccyosXHMqKHN0YXJ0fG1pZGRsZXxlbmQpXHMqXCkvLEg9MCxJPTEsSj0yLEs9MzthLmNsb25lVGltaW5nSW5wdXQ9YyxhLm1ha2VUaW1pbmc9ZixhLm51bWVyaWNUaW1pbmdUb09iamVjdD1nLGEubm9ybWFsaXplVGltaW5nSW5wdXQ9aCxhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uPW0sYS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcz11LGEuY2FsY3VsYXRlUGhhc2U9byxhLm5vcm1hbGl6ZUVhc2luZz1rLGEucGFyc2VFYXNpbmdGdW5jdGlvbj1sfShhKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4gYSBpbiBrP2tbYV1bYl18fGI6Yn1mdW5jdGlvbiBkKGEpe3JldHVybiJkaXNwbGF5Ij09PWF8fDA9PT1hLmxhc3RJbmRleE9mKCJhbmltYXRpb24iLDApfHwwPT09YS5sYXN0SW5kZXhPZigidHJhbnNpdGlvbiIsMCl9ZnVuY3Rpb24gZShhLGIsZSl7aWYoIWQoYSkpe3ZhciBmPWhbYV07aWYoZil7aS5zdHlsZVthXT1iO2Zvcih2YXIgZyBpbiBmKXt2YXIgaj1mW2ddLGs9aS5zdHlsZVtqXTtlW2pdPWMoaixrKX19ZWxzZSBlW2FdPWMoYSxiKX19ZnVuY3Rpb24gZihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW5bImVhc2luZyIsIm9mZnNldCIsImNvbXBvc2l0ZSJdKSl7dmFyIGQ9YVtjXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Zvcih2YXIgZSxmPWQubGVuZ3RoLGc9MDtnPGY7ZysrKWU9e30sZS5vZmZzZXQ9Im9mZnNldCJpbiBhP2Eub2Zmc2V0OjE9PWY/MTpnLyhmLTEpLCJlYXNpbmciaW4gYSYmKGUuZWFzaW5nPWEuZWFzaW5nKSwiY29tcG9zaXRlImluIGEmJihlLmNvbXBvc2l0ZT1hLmNvbXBvc2l0ZSksZVtjXT1kW2ddLGIucHVzaChlKX1yZXR1cm4gYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2Zmc2V0LWIub2Zmc2V0fSksYn1mdW5jdGlvbiBnKGIpe2Z1bmN0aW9uIGMoKXt2YXIgYT1kLmxlbmd0aDtudWxsPT1kW2EtMV0ub2Zmc2V0JiYoZFthLTFdLm9mZnNldD0xKSxhPjEmJm51bGw9PWRbMF0ub2Zmc2V0JiYoZFswXS5vZmZzZXQ9MCk7Zm9yKHZhciBiPTAsYz1kWzBdLm9mZnNldCxlPTE7ZTxhO2UrKyl7dmFyIGY9ZFtlXS5vZmZzZXQ7aWYobnVsbCE9Zil7Zm9yKHZhciBnPTE7ZzxlLWI7ZysrKWRbYitnXS5vZmZzZXQ9YysoZi1jKSpnLyhlLWIpO2I9ZSxjPWZ9fX1pZihudWxsPT1iKXJldHVybltdO3dpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmJbU3ltYm9sLml0ZXJhdG9yXSYmKGI9QXJyYXkuZnJvbShiKSksQXJyYXkuaXNBcnJheShiKXx8KGI9ZihiKSk7Zm9yKHZhciBkPWIubWFwKGZ1bmN0aW9uKGIpe3ZhciBjPXt9O2Zvcih2YXIgZCBpbiBiKXt2YXIgZj1iW2RdO2lmKCJvZmZzZXQiPT1kKXtpZihudWxsIT1mKXtpZihmPU51bWJlcihmKSwhaXNGaW5pdGUoZikpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIG51bWJlcnMuIik7aWYoZjwwfHxmPjEpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMS4iKX19ZWxzZSBpZigiY29tcG9zaXRlIj09ZCl7aWYoImFkZCI9PWZ8fCJhY2N1bXVsYXRlIj09Zil0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiYWRkIGNvbXBvc2l0aW5nIGlzIG5vdCBzdXBwb3J0ZWQifTtpZigicmVwbGFjZSIhPWYpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBjb21wb3NpdGUgbW9kZSAiK2YrIi4iKX1lbHNlIGY9ImVhc2luZyI9PWQ/YS5ub3JtYWxpemVFYXNpbmcoZik6IiIrZjtlKGQsZixjKX1yZXR1cm4gdm9pZCAwPT1jLm9mZnNldCYmKGMub2Zmc2V0PW51bGwpLHZvaWQgMD09Yy5lYXNpbmcmJihjLmVhc2luZz0ibGluZWFyIiksY30pLGc9ITAsaD0tMS8wLGk9MDtpPGQubGVuZ3RoO2krKyl7dmFyIGo9ZFtpXS5vZmZzZXQ7aWYobnVsbCE9ail7aWYoajxoKXRocm93IG5ldyBUeXBlRXJyb3IoIktleWZyYW1lcyBhcmUgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldC4gU29ydCBvciBzcGVjaWZ5IG9mZnNldHMuIik7aD1qfWVsc2UgZz0hMX1yZXR1cm4gZD1kLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXQ+PTAmJmEub2Zmc2V0PD0xfSksZ3x8YygpLGR9dmFyIGg9e2JhY2tncm91bmQ6WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJiYWNrZ3JvdW5kQXR0YWNobWVudCIsImJhY2tncm91bmRPcmlnaW4iLCJiYWNrZ3JvdW5kQ2xpcCIsImJhY2tncm91bmRDb2xvciJdLGJvcmRlcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyVG9wU3R5bGUiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRXaWR0aCJdLGJvcmRlckJvdHRvbTpbImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21Db2xvciJdLGJvcmRlckNvbG9yOlsiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiXSxib3JkZXJMZWZ0OlsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyUmFkaXVzOlsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sYm9yZGVyUmlnaHQ6WyJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0Q29sb3IiXSxib3JkZXJUb3A6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wQ29sb3IiXSxib3JkZXJXaWR0aDpbImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIl0sZmxleDpbImZsZXhHcm93IiwiZmxleFNocmluayIsImZsZXhCYXNpcyJdLGZvbnQ6WyJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Il0sbWFyZ2luOlsibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Il0sb3V0bGluZTpbIm91dGxpbmVDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCJdLHBhZGRpbmc6WyJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0Il19LGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksaj17dGhpbjoiMXB4IixtZWRpdW06IjNweCIsdGhpY2s6IjVweCJ9LGs9e2JvcmRlckJvdHRvbVdpZHRoOmosYm9yZGVyTGVmdFdpZHRoOmosYm9yZGVyUmlnaHRXaWR0aDpqLGJvcmRlclRvcFdpZHRoOmosZm9udFNpemU6eyJ4eC1zbWFsbCI6IjYwJSIsIngtc21hbGwiOiI3NSUiLHNtYWxsOiI4OSUiLG1lZGl1bToiMTAwJSIsbGFyZ2U6IjEyMCUiLCJ4LWxhcmdlIjoiMTUwJSIsInh4LWxhcmdlIjoiMjAwJSJ9LGZvbnRXZWlnaHQ6e25vcm1hbDoiNDAwIixib2xkOiI3MDAifSxvdXRsaW5lV2lkdGg6aix0ZXh0U2hhZG93Ontub25lOiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9LGJveFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50In19O2EuY29udmVydFRvQXJyYXlGb3JtPWYsYS5ub3JtYWxpemVLZXlmcmFtZXM9Z30oYSksZnVuY3Rpb24oYSl7dmFyIGI9e307YS5pc0RlcHJlY2F0ZWQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiLGc9bmV3IERhdGUsaD1uZXcgRGF0ZShjKTtyZXR1cm4gaC5zZXRNb250aChoLmdldE1vbnRoKCkrMyksIShnPGgmJihhIGluIGJ8fGNvbnNvbGUud2FybigiV2ViIEFuaW1hdGlvbnM6ICIrYSsiICIrZisiIGRlcHJlY2F0ZWQgYW5kIHdpbGwgc3RvcCB3b3JraW5nIG9uICIraC50b0RhdGVTdHJpbmcoKSsiLiAiK2QpLGJbYV09ITAsMSkpfSxhLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24oYixjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiO2lmKGEuaXNEZXByZWNhdGVkKGIsYyxkLGUpKXRocm93IG5ldyBFcnJvcihiKyIgIitmKyIgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIitkKX19KGEpLGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUpe3ZhciBjPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hbmltYXRlKFtdLDApLGQ9ITA7aWYoYyYmKGQ9ITEsInBsYXl8Y3VycmVudFRpbWV8cGF1c2V8cmV2ZXJzZXxwbGF5YmFja1JhdGV8Y2FuY2VsfGZpbmlzaHxzdGFydFRpbWV8cGxheVN0YXRlIi5zcGxpdCgifCIpLmZvckVhY2goZnVuY3Rpb24oYSl7dm9pZCAwPT09Y1thXSYmKGQ9ITApfSkpLCFkKXJldHVybn0hZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKylmb3IodmFyIGQgaW4gYVtjXSlpZigib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kKXt2YXIgZT17b2Zmc2V0OmFbY10ub2Zmc2V0LGVhc2luZzphW2NdLmVhc2luZyx2YWx1ZTphW2NdW2RdfTtiW2RdPWJbZF18fFtdLGJbZF0ucHVzaChlKX1mb3IodmFyIGYgaW4gYil7dmFyIGc9YltmXTtpZigwIT1nWzBdLm9mZnNldHx8MSE9Z1tnLmxlbmd0aC0xXS5vZmZzZXQpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIsbmFtZToiTm90U3VwcG9ydGVkRXJyb3IiLG1lc3NhZ2U6IlBhcnRpYWwga2V5ZnJhbWVzIGFyZSBub3Qgc3VwcG9ydGVkIn19cmV0dXJuIGJ9ZnVuY3Rpb24gZShjKXt2YXIgZD1bXTtmb3IodmFyIGUgaW4gYylmb3IodmFyIGY9Y1tlXSxnPTA7ZzxmLmxlbmd0aC0xO2crKyl7dmFyIGg9ZyxpPWcrMSxqPWZbaF0ub2Zmc2V0LGs9ZltpXS5vZmZzZXQsbD1qLG09azswPT1nJiYobD0tMS8wLDA9PWsmJihpPWgpKSxnPT1mLmxlbmd0aC0yJiYobT0xLzAsMT09aiYmKGg9aSkpLGQucHVzaCh7YXBwbHlGcm9tOmwsYXBwbHlUbzptLHN0YXJ0T2Zmc2V0OmZbaF0ub2Zmc2V0LGVuZE9mZnNldDpmW2ldLm9mZnNldCxlYXNpbmdGdW5jdGlvbjphLnBhcnNlRWFzaW5nRnVuY3Rpb24oZltoXS5lYXNpbmcpLHByb3BlcnR5OmUsaW50ZXJwb2xhdGlvbjpiLnByb3BlcnR5SW50ZXJwb2xhdGlvbihlLGZbaF0udmFsdWUsZltpXS52YWx1ZSl9KX1yZXR1cm4gZC5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnRPZmZzZXQtYi5zdGFydE9mZnNldH0pLGR9Yi5jb252ZXJ0RWZmZWN0SW5wdXQ9ZnVuY3Rpb24oYyl7dmFyIGY9YS5ub3JtYWxpemVLZXlmcmFtZXMoYyksZz1kKGYpLGg9ZShnKTtyZXR1cm4gZnVuY3Rpb24oYSxjKXtpZihudWxsIT1jKWguZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBjPj1hLmFwcGx5RnJvbSYmYzxhLmFwcGx5VG99KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWMtZC5zdGFydE9mZnNldCxmPWQuZW5kT2Zmc2V0LWQuc3RhcnRPZmZzZXQsZz0wPT1mPzA6ZC5lYXNpbmdGdW5jdGlvbihlL2YpO2IuYXBwbHkoYSxkLnByb3BlcnR5LGQuaW50ZXJwb2xhdGlvbihnKSl9KTtlbHNlIGZvcih2YXIgZCBpbiBnKSJvZmZzZXQiIT1kJiYiZWFzaW5nIiE9ZCYmImNvbXBvc2l0ZSIhPWQmJmIuY2xlYXIoYSxkKX19fShhLGIpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9KX1mdW5jdGlvbiBlKGEsYixjKXtoW2NdPWhbY118fFtdLGhbY10ucHVzaChbYSxiXSl9ZnVuY3Rpb24gZihhLGIsYyl7Zm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspe2UoYSxiLGQoY1tmXSkpfX1mdW5jdGlvbiBnKGMsZSxmKXt2YXIgZz1jOy8tLy50ZXN0KGMpJiYhYS5pc0RlcHJlY2F0ZWQoIkh5cGhlbmF0ZWQgcHJvcGVydHkgbmFtZXMiLCIyMDE2LTAzLTIyIiwiVXNlIGNhbWVsQ2FzZSBpbnN0ZWFkLiIsITApJiYoZz1kKGMpKSwiaW5pdGlhbCIhPWUmJiJpbml0aWFsIiE9Znx8KCJpbml0aWFsIj09ZSYmKGU9aVtnXSksImluaXRpYWwiPT1mJiYoZj1pW2ddKSk7Zm9yKHZhciBqPWU9PWY/W106aFtnXSxrPTA7aiYmazxqLmxlbmd0aDtrKyspe3ZhciBsPWpba11bMF0oZSksbT1qW2tdWzBdKGYpO2lmKHZvaWQgMCE9PWwmJnZvaWQgMCE9PW0pe3ZhciBuPWpba11bMV0obCxtKTtpZihuKXt2YXIgbz1iLkludGVycG9sYXRpb24uYXBwbHkobnVsbCxuKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDA9PWE/ZToxPT1hP2Y6byhhKX19fX1yZXR1cm4gYi5JbnRlcnBvbGF0aW9uKCExLCEwLGZ1bmN0aW9uKGEpe3JldHVybiBhP2Y6ZX0pfXZhciBoPXt9O2IuYWRkUHJvcGVydGllc0hhbmRsZXI9Zjt2YXIgaT17YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsYmFja2dyb3VuZFBvc2l0aW9uOiIwJSAwJSIsYm9yZGVyQm90dG9tQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21SaWdodFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21XaWR0aDoiM3B4Iixib3JkZXJMZWZ0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyTGVmdFdpZHRoOiIzcHgiLGJvcmRlclJpZ2h0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyUmlnaHRXaWR0aDoiM3B4Iixib3JkZXJTcGFjaW5nOiIycHgiLGJvcmRlclRvcENvbG9yOiJjdXJyZW50Q29sb3IiLGJvcmRlclRvcExlZnRSYWRpdXM6IjBweCIsYm9yZGVyVG9wUmlnaHRSYWRpdXM6IjBweCIsYm9yZGVyVG9wV2lkdGg6IjNweCIsYm90dG9tOiJhdXRvIixjbGlwOiJyZWN0KDBweCwgMHB4LCAwcHgsIDBweCkiLGNvbG9yOiJibGFjayIsZm9udFNpemU6IjEwMCUiLGZvbnRXZWlnaHQ6IjQwMCIsaGVpZ2h0OiJhdXRvIixsZWZ0OiJhdXRvIixsZXR0ZXJTcGFjaW5nOiJub3JtYWwiLGxpbmVIZWlnaHQ6IjEyMCUiLG1hcmdpbkJvdHRvbToiMHB4IixtYXJnaW5MZWZ0OiIwcHgiLG1hcmdpblJpZ2h0OiIwcHgiLG1hcmdpblRvcDoiMHB4IixtYXhIZWlnaHQ6Im5vbmUiLG1heFdpZHRoOiJub25lIixtaW5IZWlnaHQ6IjBweCIsbWluV2lkdGg6IjBweCIsb3BhY2l0eToiMS4wIixvdXRsaW5lQ29sb3I6ImludmVydCIsb3V0bGluZU9mZnNldDoiMHB4IixvdXRsaW5lV2lkdGg6IjNweCIscGFkZGluZ0JvdHRvbToiMHB4IixwYWRkaW5nTGVmdDoiMHB4IixwYWRkaW5nUmlnaHQ6IjBweCIscGFkZGluZ1RvcDoiMHB4IixyaWdodDoiYXV0byIsc3Ryb2tlRGFzaGFycmF5OiJub25lIixzdHJva2VEYXNob2Zmc2V0OiIwcHgiLHRleHRJbmRlbnQ6IjBweCIsdGV4dFNoYWRvdzoiMHB4IDBweCAwcHggdHJhbnNwYXJlbnQiLHRvcDoiYXV0byIsdHJhbnNmb3JtOiIiLHZlcnRpY2FsQWxpZ246IjBweCIsdmlzaWJpbGl0eToidmlzaWJsZSIsd2lkdGg6ImF1dG8iLHdvcmRTcGFjaW5nOiJub3JtYWwiLHpJbmRleDoiYXV0byJ9O2IucHJvcGVydHlJbnRlcnBvbGF0aW9uPWd9KGEsYiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dmFyIGM9YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihiKSxkPWZ1bmN0aW9uKGQpe3JldHVybiBhLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGMsZCxiKX07cmV0dXJuIGQuX3RvdGFsRHVyYXRpb249Yi5kZWxheStjK2IuZW5kRGVsYXksZH1iLktleWZyYW1lRWZmZWN0PWZ1bmN0aW9uKGMsZSxmLGcpe3ZhciBoLGk9ZChhLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGYpKSxqPWIuY29udmVydEVmZmVjdElucHV0KGUpLGs9ZnVuY3Rpb24oKXtqKGMsaCl9O3JldHVybiBrLl91cGRhdGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT0oaD1pKGEpKX0say5fY2xlYXI9ZnVuY3Rpb24oKXtqKGMsbnVsbCl9LGsuX2hhc1NhbWVUYXJnZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGM9PT1hfSxrLl90YXJnZXQ9YyxrLl90b3RhbER1cmF0aW9uPWkuX3RvdGFsRHVyYXRpb24say5faWQ9ZyxrfX0oYSxiKSxmdW5jdGlvbihhLGIpe2EuYXBwbHk9ZnVuY3Rpb24oYixjLGQpe2Iuc3R5bGVbYS5wcm9wZXJ0eU5hbWUoYyldPWR9LGEuY2xlYXI9ZnVuY3Rpb24oYixjKXtiLnN0eWxlW2EucHJvcGVydHlOYW1lKGMpXT0iIn19KGIpLGZ1bmN0aW9uKGEpe3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGEudGltZWxpbmUuX3BsYXkoYS5LZXlmcmFtZUVmZmVjdCh0aGlzLGIsYyxkKSl9fShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJudW1iZXIiPT10eXBlb2YgYSYmIm51bWJlciI9PXR5cGVvZiBiKXJldHVybiBhKigxLWQpK2IqZDtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiYiYm9vbGVhbiI9PXR5cGVvZiBiKXJldHVybiBkPC41P2E6YjtpZihhLmxlbmd0aD09Yi5sZW5ndGgpe2Zvcih2YXIgZT1bXSxmPTA7ZjxhLmxlbmd0aDtmKyspZS5wdXNoKGMoYVtmXSxiW2ZdLGQpKTtyZXR1cm4gZX10aHJvdyJNaXNtYXRjaGVkIGludGVycG9sYXRpb24gYXJndW1lbnRzICIrYSsiOiIrYn1hLkludGVycG9sYXRpb249ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZChjKGEsYixlKSl9fX0oYiksZnVuY3Rpb24oYSxiLGMpe2Euc2VxdWVuY2VOdW1iZXI9MDt2YXIgZD1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImZpbmlzaCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfTtiLkFuaW1hdGlvbj1mdW5jdGlvbihiKXt0aGlzLmlkPSIiLGImJmIuX2lkJiYodGhpcy5pZD1iLl9pZCksdGhpcy5fc2VxdWVuY2VOdW1iZXI9YS5zZXF1ZW5jZU51bWJlcisrLHRoaXMuX2N1cnJlbnRUaW1lPTAsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy5fcGF1c2VkPSExLHRoaXMuX3BsYXliYWNrUmF0ZT0xLHRoaXMuX2luVGltZWxpbmU9ITAsdGhpcy5fZmluaXNoZWRGbGFnPSEwLHRoaXMub25maW5pc2g9bnVsbCx0aGlzLl9maW5pc2hIYW5kbGVycz1bXSx0aGlzLl9lZmZlY3Q9Yix0aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgwKSx0aGlzLl9pZGxlPSEwLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfZW5zdXJlQWxpdmU6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZTwwJiYwPT09dGhpcy5jdXJyZW50VGltZT90aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgtMSk6dGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUodGhpcy5jdXJyZW50VGltZSksdGhpcy5faW5UaW1lbGluZXx8IXRoaXMuX2luRWZmZWN0JiZ0aGlzLl9maW5pc2hlZEZsYWd8fCh0aGlzLl9pblRpbWVsaW5lPSEwLGIudGltZWxpbmUuX2FuaW1hdGlvbnMucHVzaCh0aGlzKSl9LF90aWNrQ3VycmVudFRpbWU6ZnVuY3Rpb24oYSxiKXthIT10aGlzLl9jdXJyZW50VGltZSYmKHRoaXMuX2N1cnJlbnRUaW1lPWEsdGhpcy5faXNGaW5pc2hlZCYmIWImJih0aGlzLl9jdXJyZW50VGltZT10aGlzLl9wbGF5YmFja1JhdGU+MD90aGlzLl90b3RhbER1cmF0aW9uOjApLHRoaXMuX2Vuc3VyZUFsaXZlKCkpfSxnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy5faWRsZXx8dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nP251bGw6dGhpcy5fY3VycmVudFRpbWV9LHNldCBjdXJyZW50VGltZShhKXthPSthLGlzTmFOKGEpfHwoYi5yZXN0YXJ0KCksdGhpcy5fcGF1c2VkfHxudWxsPT10aGlzLl9zdGFydFRpbWV8fCh0aGlzLl9zdGFydFRpbWU9dGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtYS90aGlzLl9wbGF5YmFja1JhdGUpLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSx0aGlzLl9jdXJyZW50VGltZSE9YSYmKHRoaXMuX2lkbGUmJih0aGlzLl9pZGxlPSExLHRoaXMuX3BhdXNlZD0hMCksdGhpcy5fdGlja0N1cnJlbnRUaW1lKGEsITApLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKSl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX3N0YXJ0VGltZT1hLHRoaXMuX3RpY2tDdXJyZW50VGltZSgodGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSksYi5hcHBseURpcnRpZWRBbmltYXRpb24odGhpcykpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXtpZihhIT10aGlzLl9wbGF5YmFja1JhdGUpe3ZhciBjPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fcGxheWJhY2tSYXRlPWEsdGhpcy5fc3RhcnRUaW1lPW51bGwsInBhdXNlZCIhPXRoaXMucGxheVN0YXRlJiYiaWRsZSIhPXRoaXMucGxheVN0YXRlJiYodGhpcy5fZmluaXNoZWRGbGFnPSExLHRoaXMuX2lkbGU9ITEsdGhpcy5fZW5zdXJlQWxpdmUoKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSksbnVsbCE9YyYmKHRoaXMuY3VycmVudFRpbWU9Yyl9fSxnZXQgX2lzRmluaXNoZWQoKXtyZXR1cm4hdGhpcy5faWRsZSYmKHRoaXMuX3BsYXliYWNrUmF0ZT4wJiZ0aGlzLl9jdXJyZW50VGltZT49dGhpcy5fdG90YWxEdXJhdGlvbnx8dGhpcy5fcGxheWJhY2tSYXRlPDAmJnRoaXMuX2N1cnJlbnRUaW1lPD0wKX0sZ2V0IF90b3RhbER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdC5fdG90YWxEdXJhdGlvbn0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9pZGxlPyJpZGxlIjpudWxsPT10aGlzLl9zdGFydFRpbWUmJiF0aGlzLl9wYXVzZWQmJjAhPXRoaXMucGxheWJhY2tSYXRlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/InBlbmRpbmciOnRoaXMuX3BhdXNlZD8icGF1c2VkIjp0aGlzLl9pc0ZpbmlzaGVkPyJmaW5pc2hlZCI6InJ1bm5pbmcifSxfcmV3aW5kOmZ1bmN0aW9uKCl7aWYodGhpcy5fcGxheWJhY2tSYXRlPj0wKXRoaXMuX2N1cnJlbnRUaW1lPTA7ZWxzZXtpZighKHRoaXMuX3RvdGFsRHVyYXRpb248MS8wKSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJVbmFibGUgdG8gcmV3aW5kIG5lZ2F0aXZlIHBsYXliYWNrIHJhdGUgYW5pbWF0aW9uIHdpdGggaW5maW5pdGUgZHVyYXRpb24iLCJJbnZhbGlkU3RhdGVFcnJvciIpO3RoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb259fSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSExLCh0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl9pZGxlKSYmKHRoaXMuX3Jld2luZCgpLHRoaXMuX3N0YXJ0VGltZT1udWxsKSx0aGlzLl9maW5pc2hlZEZsYWc9ITEsdGhpcy5faWRsZT0hMSx0aGlzLl9lbnN1cmVBbGl2ZSgpLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX2lzRmluaXNoZWR8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZT90aGlzLl9pZGxlJiYodGhpcy5fcmV3aW5kKCksdGhpcy5faWRsZT0hMSk6dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSEwLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuX3BhdXNlZD0hMH0sZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5faWRsZXx8KHRoaXMuY3VycmVudFRpbWU9dGhpcy5fcGxheWJhY2tSYXRlPjA/dGhpcy5fdG90YWxEdXJhdGlvbjowLHRoaXMuX3N0YXJ0VGltZT10aGlzLl90b3RhbER1cmF0aW9uLXRoaXMuY3VycmVudFRpbWUsdGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5faW5FZmZlY3QmJih0aGlzLl9pbkVmZmVjdD0hMSx0aGlzLl9pZGxlPSEwLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9maW5pc2hlZEZsYWc9ITAsdGhpcy5fY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9lZmZlY3QuX3VwZGF0ZShudWxsKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSl9LHJldmVyc2U6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZSo9LTEsdGhpcy5wbGF5KCl9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgYiYmImZpbmlzaCI9PWEmJnRoaXMuX2ZpbmlzaEhhbmRsZXJzLnB1c2goYil9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXtpZigiZmluaXNoIj09YSl7dmFyIGM9dGhpcy5fZmluaXNoSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9maW5pc2hIYW5kbGVycy5zcGxpY2UoYywxKX19LF9maXJlRXZlbnRzOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2lzRmluaXNoZWQpe2lmKCF0aGlzLl9maW5pc2hlZEZsYWcpe3ZhciBiPW5ldyBkKHRoaXMsdGhpcy5fY3VycmVudFRpbWUsYSksYz10aGlzLl9maW5pc2hIYW5kbGVycy5jb25jYXQodGhpcy5vbmZpbmlzaD9bdGhpcy5vbmZpbmlzaF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGIudGFyZ2V0LGIpfSl9LDApLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMH19ZWxzZSB0aGlzLl9maW5pc2hlZEZsYWc9ITF9LF90aWNrOmZ1bmN0aW9uKGEsYil7dGhpcy5faWRsZXx8dGhpcy5fcGF1c2VkfHwobnVsbD09dGhpcy5fc3RhcnRUaW1lP2ImJih0aGlzLnN0YXJ0VGltZT1hLXRoaXMuX2N1cnJlbnRUaW1lL3RoaXMucGxheWJhY2tSYXRlKTp0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl90aWNrQ3VycmVudFRpbWUoKGEtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSkpLGImJih0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsdGhpcy5fZmlyZUV2ZW50cyhhKSl9LGdldCBfbmVlZHNUaWNrKCl7cmV0dXJuIHRoaXMucGxheVN0YXRlIGlue3BlbmRpbmc6MSxydW5uaW5nOjF9fHwhdGhpcy5fZmluaXNoZWRGbGFnfSxfdGFyZ2V0QW5pbWF0aW9uczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX2VmZmVjdC5fdGFyZ2V0O3JldHVybiBhLl9hY3RpdmVBbmltYXRpb25zfHwoYS5fYWN0aXZlQW5pbWF0aW9ucz1bXSksYS5fYWN0aXZlQW5pbWF0aW9uc30sX21hcmtUYXJnZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl90YXJnZXRBbmltYXRpb25zKCk7LTE9PT1hLmluZGV4T2YodGhpcykmJmEucHVzaCh0aGlzKX0sX3VubWFya1RhcmdldDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX3RhcmdldEFuaW1hdGlvbnMoKSxiPWEuaW5kZXhPZih0aGlzKTstMSE9PWImJmEuc3BsaWNlKGIsMSl9fX0oYSxiKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXt2YXIgYj1qO2o9W10sYTxxLmN1cnJlbnRUaW1lJiYoYT1xLmN1cnJlbnRUaW1lKSxxLl9hbmltYXRpb25zLnNvcnQoZSkscS5fYW5pbWF0aW9ucz1oKGEsITAscS5fYW5pbWF0aW9ucylbMF0sYi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMV0oYSl9KSxnKCksbD12b2lkIDB9ZnVuY3Rpb24gZShhLGIpe3JldHVybiBhLl9zZXF1ZW5jZU51bWJlci1iLl9zZXF1ZW5jZU51bWJlcn1mdW5jdGlvbiBmKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOjB9ZnVuY3Rpb24gZygpe28uZm9yRWFjaChmdW5jdGlvbihhKXthKCl9KSxvLmxlbmd0aD0wfWZ1bmN0aW9uIGgoYSxjLGQpe3A9ITAsbj0hMSxiLnRpbWVsaW5lLmN1cnJlbnRUaW1lPWEsbT0hMTt2YXIgZT1bXSxmPVtdLGc9W10saD1bXTtyZXR1cm4gZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuX3RpY2soYSxjKSxiLl9pbkVmZmVjdD8oZi5wdXNoKGIuX2VmZmVjdCksYi5fbWFya1RhcmdldCgpKTooZS5wdXNoKGIuX2VmZmVjdCksYi5fdW5tYXJrVGFyZ2V0KCkpLGIuX25lZWRzVGljayYmKG09ITApO3ZhciBkPWIuX2luRWZmZWN0fHxiLl9uZWVkc1RpY2s7Yi5faW5UaW1lbGluZT1kLGQ/Zy5wdXNoKGIpOmgucHVzaChiKX0pLG8ucHVzaC5hcHBseShvLGUpLG8ucHVzaC5hcHBseShvLGYpLG0mJnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLHA9ITEsW2csaF19dmFyIGk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSxqPVtdLGs9MDt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGEpe3ZhciBiPWsrKztyZXR1cm4gMD09ai5sZW5ndGgmJmkoZCksai5wdXNoKFtiLGFdKSxifSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7ai5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMF09PWEmJihiWzFdPWZ1bmN0aW9uKCl7fSl9KX0sZi5wcm90b3R5cGU9e19wbGF5OmZ1bmN0aW9uKGMpe2MuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMudGltaW5nKTt2YXIgZD1uZXcgYi5BbmltYXRpb24oYyk7cmV0dXJuIGQuX2lkbGU9ITEsZC5fdGltZWxpbmU9dGhpcyx0aGlzLl9hbmltYXRpb25zLnB1c2goZCksYi5yZXN0YXJ0KCksYi5hcHBseURpcnRpZWRBbmltYXRpb24oZCksZH19O3ZhciBsPXZvaWQgMCxtPSExLG49ITE7Yi5yZXN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG18fChtPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLG49ITApLG59LGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uPWZ1bmN0aW9uKGEpe2lmKCFwKXthLl9tYXJrVGFyZ2V0KCk7dmFyIGM9YS5fdGFyZ2V0QW5pbWF0aW9ucygpO2Muc29ydChlKSxoKGIudGltZWxpbmUuY3VycmVudFRpbWUsITEsYy5zbGljZSgpKVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPXEuX2FuaW1hdGlvbnMuaW5kZXhPZihhKTstMSE9PWImJnEuX2FuaW1hdGlvbnMuc3BsaWNlKGIsMSl9KSxnKCl9fTt2YXIgbz1bXSxwPSExLHE9bmV3IGY7Yi50aW1lbGluZT1xfShhLGIpLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXt2YXIgYz1hLmV4ZWMoYik7aWYoYylyZXR1cm4gYz1hLmlnbm9yZUNhc2U/Y1swXS50b0xvd2VyQ2FzZSgpOmNbMF0sW2MsYi5zdWJzdHIoYy5sZW5ndGgpXX1mdW5jdGlvbiBjKGEsYil7Yj1iLnJlcGxhY2UoL15ccyovLCIiKTt2YXIgYz1hKGIpO2lmKGMpcmV0dXJuW2NbMF0sY1sxXS5yZXBsYWNlKC9eXHMqLywiIildfWZ1bmN0aW9uIGQoYSxkLGUpe2E9Yy5iaW5kKG51bGwsYSk7Zm9yKHZhciBmPVtdOzspe3ZhciBnPWEoZSk7aWYoIWcpcmV0dXJuW2YsZV07aWYoZi5wdXNoKGdbMF0pLGU9Z1sxXSwhKGc9YihkLGUpKXx8IiI9PWdbMV0pcmV0dXJuW2YsZV07ZT1nWzFdfX1mdW5jdGlvbiBlKGEsYil7Zm9yKHZhciBjPTAsZD0wO2Q8Yi5sZW5ndGgmJighL1xzfCwvLnRlc3QoYltkXSl8fDAhPWMpO2QrKylpZigiKCI9PWJbZF0pYysrO2Vsc2UgaWYoIikiPT1iW2RdJiYoYy0tLDA9PWMmJmQrKyxjPD0wKSlicmVhazt2YXIgZT1hKGIuc3Vic3RyKDAsZCkpO3JldHVybiB2b2lkIDA9PWU/dm9pZCAwOltlLGIuc3Vic3RyKGQpXX1mdW5jdGlvbiBmKGEsYil7Zm9yKHZhciBjPWEsZD1iO2MmJmQ7KWM+ZD9jJT1kOmQlPWM7cmV0dXJuIGM9YSpiLyhjK2QpfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWEoYik7cmV0dXJuIGMmJihjWzBdPXZvaWQgMCksY319ZnVuY3Rpb24gaChhLGIpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYShjKXx8W2IsY119fWZ1bmN0aW9uIGkoYixjKXtmb3IodmFyIGQ9W10sZT0wO2U8Yi5sZW5ndGg7ZSsrKXt2YXIgZj1hLmNvbnN1bWVUcmltbWVkKGJbZV0sYyk7aWYoIWZ8fCIiPT1mWzBdKXJldHVybjt2b2lkIDAhPT1mWzBdJiZkLnB1c2goZlswXSksYz1mWzFdfWlmKCIiPT1jKXJldHVybiBkfWZ1bmN0aW9uIGooYSxiLGMsZCxlKXtmb3IodmFyIGc9W10saD1bXSxpPVtdLGo9ZihkLmxlbmd0aCxlLmxlbmd0aCksaz0wO2s8ajtrKyspe3ZhciBsPWIoZFtrJWQubGVuZ3RoXSxlW2slZS5sZW5ndGhdKTtpZighbClyZXR1cm47Zy5wdXNoKGxbMF0pLGgucHVzaChsWzFdKSxpLnB1c2gobFsyXSl9cmV0dXJuW2csaCxmdW5jdGlvbihiKXt2YXIgZD1iLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBpW2JdKGEpfSkuam9pbihjKTtyZXR1cm4gYT9hKGQpOmR9XX1mdW5jdGlvbiBrKGEsYixjKXtmb3IodmFyIGQ9W10sZT1bXSxmPVtdLGc9MCxoPTA7aDxjLmxlbmd0aDtoKyspaWYoImZ1bmN0aW9uIj09dHlwZW9mIGNbaF0pe3ZhciBpPWNbaF0oYVtnXSxiW2crK10pO2QucHVzaChpWzBdKSxlLnB1c2goaVsxXSksZi5wdXNoKGlbMl0pfWVsc2UhZnVuY3Rpb24oYSl7ZC5wdXNoKCExKSxlLnB1c2goITEpLGYucHVzaChmdW5jdGlvbigpe3JldHVybiBjW2FdfSl9KGgpO3JldHVybltkLGUsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9MDtjPGEubGVuZ3RoO2MrKyliKz1mW2NdKGFbY10pO3JldHVybiBifV19YS5jb25zdW1lVG9rZW49YixhLmNvbnN1bWVUcmltbWVkPWMsYS5jb25zdW1lUmVwZWF0ZWQ9ZCxhLmNvbnN1bWVQYXJlbnRoZXNpc2VkPWUsYS5pZ25vcmU9ZyxhLm9wdGlvbmFsPWgsYS5jb25zdW1lTGlzdD1pLGEubWVyZ2VOZXN0ZWRSZXBlYXRlZD1qLmJpbmQobnVsbCxudWxsKSxhLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkPWosYS5tZXJnZUxpc3Q9a30oYiksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBjKGIpe3ZhciBjPWEuY29uc3VtZVRva2VuKC9eaW5zZXQvaSxiKTtyZXR1cm4gYz8oZC5pbnNldD0hMCxjKTooYz1hLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYikpPyhkLmxlbmd0aHMucHVzaChjWzBdKSxjKTooYz1hLmNvbnN1bWVDb2xvcihiKSxjPyhkLmNvbG9yPWNbMF0sYyk6dm9pZCAwKX12YXIgZD17aW5zZXQ6ITEsbGVuZ3RoczpbXSxjb2xvcjpudWxsfSxlPWEuY29uc3VtZVJlcGVhdGVkKGMsL14vLGIpO2lmKGUmJmVbMF0ubGVuZ3RoKXJldHVybltkLGVbMV1dfWZ1bmN0aW9uIGMoYyl7dmFyIGQ9YS5jb25zdW1lUmVwZWF0ZWQoYiwvXiwvLGMpO2lmKGQmJiIiPT1kWzFdKXJldHVybiBkWzBdfWZ1bmN0aW9uIGQoYixjKXtmb3IoO2IubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYi5sZW5ndGhzLnB1c2goe3B4OjB9KTtmb3IoO2MubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYy5sZW5ndGhzLnB1c2goe3B4OjB9KTtpZihiLmluc2V0PT1jLmluc2V0JiYhIWIuY29sb3I9PSEhYy5jb2xvcil7Zm9yKHZhciBkLGU9W10sZj1bW10sMF0sZz1bW10sMF0saD0wO2g8Yi5sZW5ndGhzLmxlbmd0aDtoKyspe3ZhciBpPWEubWVyZ2VEaW1lbnNpb25zKGIubGVuZ3Roc1toXSxjLmxlbmd0aHNbaF0sMj09aCk7ZlswXS5wdXNoKGlbMF0pLGdbMF0ucHVzaChpWzFdKSxlLnB1c2goaVsyXSl9aWYoYi5jb2xvciYmYy5jb2xvcil7dmFyIGo9YS5tZXJnZUNvbG9ycyhiLmNvbG9yLGMuY29sb3IpO2ZbMV09alswXSxnWzFdPWpbMV0sZD1qWzJdfXJldHVybltmLGcsZnVuY3Rpb24oYSl7Zm9yKHZhciBjPWIuaW5zZXQ/Imluc2V0ICI6IiAiLGY9MDtmPGUubGVuZ3RoO2YrKyljKz1lW2ZdKGFbMF1bZl0pKyIgIjtyZXR1cm4gZCYmKGMrPWQoYVsxXSkpLGN9XX19ZnVuY3Rpb24gZShiLGMsZCxlKXtmdW5jdGlvbiBmKGEpe3JldHVybntpbnNldDphLGNvbG9yOlswLDAsMCwwXSxsZW5ndGhzOlt7cHg6MH0se3B4OjB9LHtweDowfSx7cHg6MH1dfX1mb3IodmFyIGc9W10saD1bXSxpPTA7aTxkLmxlbmd0aHx8aTxlLmxlbmd0aDtpKyspe3ZhciBqPWRbaV18fGYoZVtpXS5pbnNldCksaz1lW2ldfHxmKGRbaV0uaW5zZXQpO2cucHVzaChqKSxoLnB1c2goayl9cmV0dXJuIGEubWVyZ2VOZXN0ZWRSZXBlYXRlZChiLGMsZyxoKX12YXIgZj1lLmJpbmQobnVsbCxkLCIsICIpO2EuYWRkUHJvcGVydGllc0hhbmRsZXIoYyxmLFsiYm94LXNoYWRvdyIsInRleHQtc2hhZG93Il0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGEudG9GaXhlZCgzKS5yZXBsYWNlKC8wKyQvLCIiKS5yZXBsYWNlKC9cLiQvLCIiKX1mdW5jdGlvbiBkKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oYixNYXRoLm1heChhLGMpKX1mdW5jdGlvbiBlKGEpe2lmKC9eXHMqWy0rXT8oXGQqXC4pP1xkK1xzKiQvLnRlc3QoYSkpcmV0dXJuIE51bWJlcihhKX1mdW5jdGlvbiBmKGEsYil7cmV0dXJuW2EsYixjXX1mdW5jdGlvbiBnKGEsYil7aWYoMCE9YSlyZXR1cm4gaSgwLDEvMCkoYSxiKX1mdW5jdGlvbiBoKGEsYil7cmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5yb3VuZChkKDEsMS8wLGEpKX1dfWZ1bmN0aW9uIGkoYSxiKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm5bZSxmLGZ1bmN0aW9uKGUpe3JldHVybiBjKGQoYSxiLGUpKX1dfX1mdW5jdGlvbiBqKGEpe3ZhciBiPWEudHJpbSgpLnNwbGl0KC9ccypbXHMsXVxzKi8pO2lmKDAhPT1iLmxlbmd0aCl7Zm9yKHZhciBjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGY9ZShiW2RdKTtpZih2b2lkIDA9PT1mKXJldHVybjtjLnB1c2goZil9cmV0dXJuIGN9fWZ1bmN0aW9uIGsoYSxiKXtpZihhLmxlbmd0aD09Yi5sZW5ndGgpcmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoYykuam9pbigiICIpfV19ZnVuY3Rpb24gbChhLGIpe3JldHVyblthLGIsTWF0aC5yb3VuZF19YS5jbGFtcD1kLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaixrLFsic3Ryb2tlLWRhc2hhcnJheSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEvMCksWyJib3JkZXItaW1hZ2Utd2lkdGgiLCJsaW5lLWhlaWdodCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEpLFsib3BhY2l0eSIsInNoYXBlLWltYWdlLXRocmVzaG9sZCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsZyxbImZsZXgtZ3JvdyIsImZsZXgtc2hyaW5rIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxoLFsib3JwaGFucyIsIndpZG93cyJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsbCxbInotaW5kZXgiXSksYS5wYXJzZU51bWJlcj1lLGEucGFyc2VOdW1iZXJMaXN0PWosYS5tZXJnZU51bWJlcnM9ZixhLm51bWJlclRvU3RyaW5nPWN9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2lmKCJ2aXNpYmxlIj09YXx8InZpc2libGUiPT1iKXJldHVyblswLDEsZnVuY3Rpb24oYyl7cmV0dXJuIGM8PTA/YTpjPj0xP2I6InZpc2libGUifV19YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihTdHJpbmcsYyxbInZpc2liaWxpdHkiXSl9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWEudHJpbSgpLGYuZmlsbFN0eWxlPSIjMDAwIixmLmZpbGxTdHlsZT1hO3ZhciBiPWYuZmlsbFN0eWxlO2lmKGYuZmlsbFN0eWxlPSIjZmZmIixmLmZpbGxTdHlsZT1hLGI9PWYuZmlsbFN0eWxlKXtmLmZpbGxSZWN0KDAsMCwxLDEpO3ZhciBjPWYuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGE7Zi5jbGVhclJlY3QoMCwwLDEsMSk7dmFyIGQ9Y1szXS8yNTU7cmV0dXJuW2NbMF0qZCxjWzFdKmQsY1syXSpkLGRdfX1mdW5jdGlvbiBkKGIsYyl7cmV0dXJuW2IsYyxmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDI1NSxhKSl9aWYoYlszXSlmb3IodmFyIGQ9MDtkPDM7ZCsrKWJbZF09TWF0aC5yb3VuZChjKGJbZF0vYlszXSkpO3JldHVybiBiWzNdPWEubnVtYmVyVG9TdHJpbmcoYS5jbGFtcCgwLDEsYlszXSkpLCJyZ2JhKCIrYi5qb2luKCIsIikrIikifV19dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIik7ZS53aWR0aD1lLmhlaWdodD0xO3ZhciBmPWUuZ2V0Q29udGV4dCgiMmQiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZCxbImJhY2tncm91bmQtY29sb3IiLCJib3JkZXItYm90dG9tLWNvbG9yIiwiYm9yZGVyLWxlZnQtY29sb3IiLCJib3JkZXItcmlnaHQtY29sb3IiLCJib3JkZXItdG9wLWNvbG9yIiwiY29sb3IiLCJmaWxsIiwiZmxvb2QtY29sb3IiLCJsaWdodGluZy1jb2xvciIsIm91dGxpbmUtY29sb3IiLCJzdG9wLWNvbG9yIiwic3Ryb2tlIiwidGV4dC1kZWNvcmF0aW9uLWNvbG9yIl0pLGEuY29uc3VtZUNvbG9yPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGMpLGEubWVyZ2VDb2xvcnM9ZH0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYj1oLmV4ZWMoYSk7Zz1iP2JbMF06dm9pZCAwfWZ1bmN0aW9uIGMoKXt2YXIgYT1OdW1iZXIoZyk7cmV0dXJuIGIoKSxhfWZ1bmN0aW9uIGQoKXtpZigiKCIhPT1nKXJldHVybiBjKCk7YigpO3ZhciBhPWYoKTtyZXR1cm4iKSIhPT1nP05hTjooYigpLGEpfWZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9ZCgpOyIqIj09PWd8fCIvIj09PWc7KXt2YXIgYz1nO2IoKTt2YXIgZT1kKCk7IioiPT09Yz9hKj1lOmEvPWV9cmV0dXJuIGF9ZnVuY3Rpb24gZigpe2Zvcih2YXIgYT1lKCk7IisiPT09Z3x8Ii0iPT09Zzspe3ZhciBjPWc7YigpO3ZhciBkPWUoKTsiKyI9PT1jP2ErPWQ6YS09ZH1yZXR1cm4gYX12YXIgZyxoPS8oW1wrXC1cd1wuXSt8W1woXClcKlwvXSkvZztyZXR1cm4gYigpLGYoKX1mdW5jdGlvbiBkKGEsYil7aWYoIjAiPT0oYj1iLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSYmInB4Ii5zZWFyY2goYSk+PTApcmV0dXJue3B4OjB9O2lmKC9eW14oXSokfF5jYWxjLy50ZXN0KGIpKXtiPWIucmVwbGFjZSgvY2FsY1woL2csIigiKTt2YXIgZD17fTtiPWIucmVwbGFjZShhLGZ1bmN0aW9uKGEpe3JldHVybiBkW2FdPW51bGwsIlUiK2F9KTtmb3IodmFyIGU9IlUoIithLnNvdXJjZSsiKSIsZj1iLnJlcGxhY2UoL1stK10/KFxkKlwuKT9cZCsoW0VlXVstK10/XGQrKT8vZywiTiIpLnJlcGxhY2UobmV3IFJlZ0V4cCgiTiIrZSwiZyIpLCJEIikucmVwbGFjZSgvXHNbKy1dXHMvZywiTyIpLnJlcGxhY2UoL1xzL2csIiIpLGc9Wy9OXCooRCkvZywvKE58RClbKlwvXU4vZywvKE58RClPXDEvZywvXCgoTnxEKVwpL2ddLGg9MDtoPGcubGVuZ3RoOylnW2hdLnRlc3QoZik/KGY9Zi5yZXBsYWNlKGdbaF0sIiQxIiksaD0wKTpoKys7aWYoIkQiPT1mKXtmb3IodmFyIGkgaW4gZCl7dmFyIGo9YyhiLnJlcGxhY2UobmV3IFJlZ0V4cCgiVSIraSwiZyIpLCIiKS5yZXBsYWNlKG5ldyBSZWdFeHAoZSwiZyIpLCIqMCIpKTtpZighaXNGaW5pdGUoaikpcmV0dXJuO2RbaV09an1yZXR1cm4gZH19fWZ1bmN0aW9uIGUoYSxiKXtyZXR1cm4gZihhLGIsITApfWZ1bmN0aW9uIGYoYixjLGQpe3ZhciBlLGY9W107Zm9yKGUgaW4gYilmLnB1c2goZSk7Zm9yKGUgaW4gYylmLmluZGV4T2YoZSk8MCYmZi5wdXNoKGUpO3JldHVybiBiPWYubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBiW2FdfHwwfSksYz1mLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gY1thXXx8MH0pLFtiLGMsZnVuY3Rpb24oYil7dmFyIGM9Yi5tYXAoZnVuY3Rpb24oYyxlKXtyZXR1cm4gMT09Yi5sZW5ndGgmJmQmJihjPU1hdGgubWF4KGMsMCkpLGEubnVtYmVyVG9TdHJpbmcoYykrZltlXX0pLmpvaW4oIiArICIpO3JldHVybiBiLmxlbmd0aD4xPyJjYWxjKCIrYysiKSI6Y31dfXZhciBnPSJweHxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjIixoPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZywiZyIpKSxpPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZysifCUiLCJnIikpLGo9ZC5iaW5kKG51bGwsL2RlZ3xyYWR8Z3JhZHx0dXJuL2cpO2EucGFyc2VMZW5ndGg9aCxhLnBhcnNlTGVuZ3RoT3JQZXJjZW50PWksYS5jb25zdW1lTGVuZ3RoT3JQZXJjZW50PWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGkpLGEucGFyc2VBbmdsZT1qLGEubWVyZ2VEaW1lbnNpb25zPWY7dmFyIGs9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsaCksbD1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxrLC9eLyksbT1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxsLC9eLC8pO2EuY29uc3VtZVNpemVQYWlyTGlzdD1tO3ZhciBuPWZ1bmN0aW9uKGEpe3ZhciBiPW0oYSk7aWYoYiYmIiI9PWJbMV0pcmV0dXJuIGJbMF19LG89YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLGUsIiAiKSxwPWEubWVyZ2VOZXN0ZWRSZXBlYXRlZC5iaW5kKHZvaWQgMCxvLCIsIik7YS5tZXJnZU5vbk5lZ2F0aXZlU2l6ZVBhaXI9byxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKG4scCxbImJhY2tncm91bmQtc2l6ZSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGksZSxbImJvcmRlci1ib3R0b20td2lkdGgiLCJib3JkZXItaW1hZ2Utd2lkdGgiLCJib3JkZXItbGVmdC13aWR0aCIsImJvcmRlci1yaWdodC13aWR0aCIsImJvcmRlci10b3Atd2lkdGgiLCJmbGV4LWJhc2lzIiwiZm9udC1zaXplIiwiaGVpZ2h0IiwibGluZS1oZWlnaHQiLCJtYXgtaGVpZ2h0IiwibWF4LXdpZHRoIiwib3V0bGluZS13aWR0aCIsIndpZHRoIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaSxmLFsiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIiwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm90dG9tIiwibGVmdCIsImxldHRlci1zcGFjaW5nIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsIm1pbi1oZWlnaHQiLCJtaW4td2lkdGgiLCJvdXRsaW5lLW9mZnNldCIsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCIsInBhZGRpbmctdG9wIiwicGVyc3BlY3RpdmUiLCJyaWdodCIsInNoYXBlLW1hcmdpbiIsInN0cm9rZS1kYXNob2Zmc2V0IiwidGV4dC1pbmRlbnQiLCJ0b3AiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndvcmQtc3BhY2luZyJdKX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGIpe3JldHVybiBhLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYil8fGEuY29uc3VtZVRva2VuKC9eYXV0by8sYil9ZnVuY3Rpb24gZChiKXt2YXIgZD1hLmNvbnN1bWVMaXN0KFthLmlnbm9yZShhLmNvbnN1bWVUb2tlbi5iaW5kKG51bGwsL15yZWN0LykpLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwoLykpLGEuY29uc3VtZVJlcGVhdGVkLmJpbmQobnVsbCxjLC9eLC8pLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwpLykpXSxiKTtpZihkJiY0PT1kWzBdLmxlbmd0aClyZXR1cm4gZFswXX1mdW5jdGlvbiBlKGIsYyl7cmV0dXJuImF1dG8iPT1ifHwiYXV0byI9PWM/WyEwLCExLGZ1bmN0aW9uKGQpe3ZhciBlPWQ/YjpjO2lmKCJhdXRvIj09ZSlyZXR1cm4iYXV0byI7dmFyIGY9YS5tZXJnZURpbWVuc2lvbnMoZSxlKTtyZXR1cm4gZlsyXShmWzBdKX1dOmEubWVyZ2VEaW1lbnNpb25zKGIsYyl9ZnVuY3Rpb24gZihhKXtyZXR1cm4icmVjdCgiK2ErIikifXZhciBnPWEubWVyZ2VXcmFwcGVkTmVzdGVkUmVwZWF0ZWQuYmluZChudWxsLGYsZSwiLCAiKTthLnBhcnNlQm94PWQsYS5tZXJnZUJveGVzPWcsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihkLGcsWyJjbGlwIl0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPTA7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09az9iW2MrK106YX0pfX1mdW5jdGlvbiBkKGEpe3JldHVybiBhfWZ1bmN0aW9uIGUoYil7aWYoIm5vbmUiPT0oYj1iLnRvTG93ZXJDYXNlKCkudHJpbSgpKSlyZXR1cm5bXTtmb3IodmFyIGMsZD0vXHMqKFx3KylcKChbXildKilcKS9nLGU9W10sZj0wO2M9ZC5leGVjKGIpOyl7aWYoYy5pbmRleCE9ZilyZXR1cm47Zj1jLmluZGV4K2NbMF0ubGVuZ3RoO3ZhciBnPWNbMV0saD1uW2ddO2lmKCFoKXJldHVybjt2YXIgaT1jWzJdLnNwbGl0KCIsIiksaj1oWzBdO2lmKGoubGVuZ3RoPGkubGVuZ3RoKXJldHVybjtmb3IodmFyIGs9W10sbz0wO288ai5sZW5ndGg7bysrKXt2YXIgcCxxPWlbb10scj1qW29dO2lmKHZvaWQgMD09PShwPXE/e0E6ZnVuY3Rpb24oYil7cmV0dXJuIjAiPT1iLnRyaW0oKT9tOmEucGFyc2VBbmdsZShiKX0sTjphLnBhcnNlTnVtYmVyLFQ6YS5wYXJzZUxlbmd0aE9yUGVyY2VudCxMOmEucGFyc2VMZW5ndGh9W3IudG9VcHBlckNhc2UoKV0ocSk6e2E6bSxuOmtbMF0sdDpsfVtyXSkpcmV0dXJuO2sucHVzaChwKX1pZihlLnB1c2goe3Q6ZyxkOmt9KSxkLmxhc3RJbmRleD09Yi5sZW5ndGgpcmV0dXJuIGV9fWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGEudG9GaXhlZCg2KS5yZXBsYWNlKCIuMDAwMDAwIiwiIil9ZnVuY3Rpb24gZyhiLGMpe2lmKGIuZGVjb21wb3NpdGlvblBhaXIhPT1jKXtiLmRlY29tcG9zaXRpb25QYWlyPWM7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihiKX1pZihjLmRlY29tcG9zaXRpb25QYWlyIT09Yil7Yy5kZWNvbXBvc2l0aW9uUGFpcj1iO3ZhciBlPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24oYyl9cmV0dXJuIG51bGw9PWRbMF18fG51bGw9PWVbMF0/W1shMV0sWyEwXSxmdW5jdGlvbihhKXtyZXR1cm4gYT9jWzBdLmQ6YlswXS5kfV06KGRbMF0ucHVzaCgwKSxlWzBdLnB1c2goMSksW2QsZSxmdW5jdGlvbihiKXt2YXIgYz1hLnF1YXQoZFswXVszXSxlWzBdWzNdLGJbNV0pO3JldHVybiBhLmNvbXBvc2VNYXRyaXgoYlswXSxiWzFdLGJbMl0sYyxiWzRdKS5tYXAoZikuam9pbigiLCIpfV0pfWZ1bmN0aW9uIGgoYSl7cmV0dXJuIGEucmVwbGFjZSgvW3h5XS8sIiIpfWZ1bmN0aW9uIGkoYSl7cmV0dXJuIGEucmVwbGFjZSgvKHh8eXx6fDNkKT8kLywiM2QiKX1mdW5jdGlvbiBqKGIsYyl7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbiYmITAsZT0hMTtpZighYi5sZW5ndGh8fCFjLmxlbmd0aCl7Yi5sZW5ndGh8fChlPSEwLGI9YyxjPVtdKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGo9YltmXS50LGs9YltmXS5kLGw9InNjYWxlIj09ai5zdWJzdHIoMCw1KT8xOjA7Yy5wdXNoKHt0OmosZDprLm1hcChmdW5jdGlvbihhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGw7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1sO3JldHVybiBifSl9KX19dmFyIG09ZnVuY3Rpb24oYSxiKXtyZXR1cm4icGVyc3BlY3RpdmUiPT1hJiYicGVyc3BlY3RpdmUiPT1ifHwoIm1hdHJpeCI9PWF8fCJtYXRyaXgzZCI9PWEpJiYoIm1hdHJpeCI9PWJ8fCJtYXRyaXgzZCI9PWIpfSxvPVtdLHA9W10scT1bXTtpZihiLmxlbmd0aCE9Yy5sZW5ndGgpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dfWVsc2UgZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBqLHM9YltmXS50LHQ9Y1tmXS50LHU9YltmXS5kLHY9Y1tmXS5kLHc9bltzXSx4PW5bdF07aWYobShzLHQpKXtpZighZClyZXR1cm47dmFyIHI9ZyhbYltmXV0sW2NbZl1dKTtvLnB1c2goclswXSkscC5wdXNoKHJbMV0pLHEucHVzaChbIm1hdHJpeCIsW3JbMl1dXSl9ZWxzZXtpZihzPT10KWo9cztlbHNlIGlmKHdbMl0mJnhbMl0mJmgocyk9PWgodCkpaj1oKHMpLHU9d1syXSh1KSx2PXhbMl0odik7ZWxzZXtpZighd1sxXXx8IXhbMV18fGkocykhPWkodCkpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dO2JyZWFrfWo9aShzKSx1PXdbMV0odSksdj14WzFdKHYpfWZvcih2YXIgeT1bXSx6PVtdLEE9W10sQj0wO0I8dS5sZW5ndGg7QisrKXt2YXIgQz0ibnVtYmVyIj09dHlwZW9mIHVbQl0/YS5tZXJnZU51bWJlcnM6YS5tZXJnZURpbWVuc2lvbnMscj1DKHVbQl0sdltCXSk7eVtCXT1yWzBdLHpbQl09clsxXSxBLnB1c2goclsyXSl9by5wdXNoKHkpLHAucHVzaCh6KSxxLnB1c2goW2osQV0pfX1pZihlKXt2YXIgRD1vO289cCxwPUR9cmV0dXJuW28scCxmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm1hcChmdW5jdGlvbihhLGMpe3JldHVybiBxW2JdWzFdW2NdKGEpfSkuam9pbigiLCIpO3JldHVybiJtYXRyaXgiPT1xW2JdWzBdJiYxNj09Yy5zcGxpdCgiLCIpLmxlbmd0aCYmKHFbYl1bMF09Im1hdHJpeDNkIikscVtiXVswXSsiKCIrYysiKSJ9KS5qb2luKCIgIil9XX12YXIgaz1udWxsLGw9e3B4OjB9LG09e2RlZzowfSxuPXttYXRyaXg6WyJOTk5OTk4iLFtrLGssMCwwLGssaywwLDAsMCwwLDEsMCxrLGssMCwxXSxkXSxtYXRyaXgzZDpbIk5OTk5OTk5OTk5OTk5OTk4iLGRdLHJvdGF0ZTpbIkEiXSxyb3RhdGV4OlsiQSJdLHJvdGF0ZXk6WyJBIl0scm90YXRlejpbIkEiXSxyb3RhdGUzZDpbIk5OTkEiXSxwZXJzcGVjdGl2ZTpbIkwiXSxzY2FsZTpbIk5uIixjKFtrLGssMV0pLGRdLHNjYWxleDpbIk4iLGMoW2ssMSwxXSksYyhbaywxXSldLHNjYWxleTpbIk4iLGMoWzEsaywxXSksYyhbMSxrXSldLHNjYWxlejpbIk4iLGMoWzEsMSxrXSldLHNjYWxlM2Q6WyJOTk4iLGRdLHNrZXc6WyJBYSIsbnVsbCxkXSxza2V3eDpbIkEiLG51bGwsYyhbayxtXSldLHNrZXd5OlsiQSIsbnVsbCxjKFttLGtdKV0sdHJhbnNsYXRlOlsiVHQiLGMoW2ssayxsXSksZF0sdHJhbnNsYXRleDpbIlQiLGMoW2ssbCxsXSksYyhbayxsXSldLHRyYW5zbGF0ZXk6WyJUIixjKFtsLGssbF0pLGMoW2wsa10pXSx0cmFuc2xhdGV6OlsiTCIsYyhbbCxsLGtdKV0sdHJhbnNsYXRlM2Q6WyJUVEwiLGRdfTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaixbInRyYW5zZm9ybSJdKSxhLnRyYW5zZm9ybVRvU3ZnTWF0cml4PWZ1bmN0aW9uKGIpe3ZhciBjPWEudHJhbnNmb3JtTGlzdFRvTWF0cml4KGUoYikpO3JldHVybiJtYXRyaXgoIitmKGNbMF0pKyIgIitmKGNbMV0pKyIgIitmKGNbNF0pKyIgIitmKGNbNV0pKyIgIitmKGNbMTJdKSsiICIrZihjWzEzXSkrIikifX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7Yi5jb25jYXQoW2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoZFthXT1iKSxlW2JdPWF9KX12YXIgZD17fSxlPXt9O2MoInRyYW5zZm9ybSIsWyJ3ZWJraXRUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxjKCJ0cmFuc2Zvcm1PcmlnaW4iLFsid2Via2l0VHJhbnNmb3JtT3JpZ2luIl0pLGMoInBlcnNwZWN0aXZlIixbIndlYmtpdFBlcnNwZWN0aXZlIl0pLGMoInBlcnNwZWN0aXZlT3JpZ2luIixbIndlYmtpdFBlcnNwZWN0aXZlT3JpZ2luIl0pLGEucHJvcGVydHlOYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBkW2FdfHxhfSxhLnVucHJlZml4ZWRQcm9wZXJ0eU5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGVbYV18fGF9fShiKX0oKSxmdW5jdGlvbigpe2lmKHZvaWQgMD09PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLmFuaW1hdGUoW10pLm9uY2FuY2VsKXt2YXIgYTtpZih3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdyl2YXIgYT1mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX07ZWxzZSB2YXIgYT1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt2YXIgYj1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImNhbmNlbCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfSxjPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlO3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGQsZSl7dmFyIGY9Yy5jYWxsKHRoaXMsZCxlKTtmLl9jYW5jZWxIYW5kbGVycz1bXSxmLm9uY2FuY2VsPW51bGw7dmFyIGc9Zi5jYW5jZWw7Zi5jYW5jZWw9ZnVuY3Rpb24oKXtnLmNhbGwodGhpcyk7dmFyIGM9bmV3IGIodGhpcyxudWxsLGEoKSksZD10aGlzLl9jYW5jZWxIYW5kbGVycy5jb25jYXQodGhpcy5vbmNhbmNlbD9bdGhpcy5vbmNhbmNlbF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGMudGFyZ2V0LGMpfSl9LDApfTt2YXIgaD1mLmFkZEV2ZW50TGlzdGVuZXI7Zi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIGImJiJjYW5jZWwiPT1hP3RoaXMuX2NhbmNlbEhhbmRsZXJzLnB1c2goYik6aC5jYWxsKHRoaXMsYSxiKX07dmFyIGk9Zi5yZW1vdmVFdmVudExpc3RlbmVyO3JldHVybiBmLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtpZigiY2FuY2VsIj09YSl7dmFyIGM9dGhpcy5fY2FuY2VsSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9jYW5jZWxIYW5kbGVycy5zcGxpY2UoYywxKX1lbHNlIGkuY2FsbCh0aGlzLGEsYil9LGZ9fX0oKSxmdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYz1udWxsLGQ9ITE7dHJ5e3ZhciBlPWdldENvbXB1dGVkU3R5bGUoYikuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpLGY9IjAiPT1lPyIxIjoiMCI7Yz1iLmFuaW1hdGUoe29wYWNpdHk6W2YsZl19LHtkdXJhdGlvbjoxfSksYy5jdXJyZW50VGltZT0wLGQ9Z2V0Q29tcHV0ZWRTdHlsZShiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvcGFjaXR5Iik9PWZ9Y2F0Y2goYSl7fWZpbmFsbHl7YyYmYy5jYW5jZWwoKX1pZighZCl7dmFyIGc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU7d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oYixjKXtyZXR1cm4gd2luZG93LlN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZBcnJheS5wcm90b3R5cGUuZnJvbSYmYltTeW1ib2wuaXRlcmF0b3JdJiYoYj1BcnJheS5mcm9tKGIpKSxBcnJheS5pc0FycmF5KGIpfHxudWxsPT09Ynx8KGI9YS5jb252ZXJ0VG9BcnJheUZvcm0oYikpLGcuY2FsbCh0aGlzLGIsYyl9fX0oYSksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGM9Yi50aW1lbGluZTtjLmN1cnJlbnRUaW1lPWEsYy5fZGlzY2FyZEFuaW1hdGlvbnMoKSwwPT1jLl9hbmltYXRpb25zLmxlbmd0aD9mPSExOnJlcXVlc3RBbmltYXRpb25GcmFtZShkKX12YXIgZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGUoZnVuY3Rpb24oYyl7Yi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYShjKSxiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKX0pfSxiLkFuaW1hdGlvblRpbWVsaW5lPWZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXZvaWQgMH0sYi5BbmltYXRpb25UaW1lbGluZS5wcm90b3R5cGU9e2dldEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlzY2FyZEFuaW1hdGlvbnMoKSx0aGlzLl9hbmltYXRpb25zLnNsaWNlKCl9LF91cGRhdGVBbmltYXRpb25zUHJvbWlzZXM6ZnVuY3Rpb24oKXtiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXM9Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5fdXBkYXRlUHJvbWlzZXMoKX0pfSxfZGlzY2FyZEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb25zPXRoaXMuX2FuaW1hdGlvbnMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiJmaW5pc2hlZCIhPWEucGxheVN0YXRlJiYiaWRsZSIhPWEucGxheVN0YXRlfSl9LF9wbGF5OmZ1bmN0aW9uKGEpe3ZhciBjPW5ldyBiLkFuaW1hdGlvbihhLHRoaXMpO3JldHVybiB0aGlzLl9hbmltYXRpb25zLnB1c2goYyksYi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrKCksYy5fdXBkYXRlUHJvbWlzZXMoKSxjLl9hbmltYXRpb24ucGxheSgpLGMuX3VwZGF0ZVByb21pc2VzKCksY30scGxheTpmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5yZW1vdmUoKSx0aGlzLl9wbGF5KGEpfX07dmFyIGY9ITE7Yi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrPWZ1bmN0aW9uKCl7Znx8KGY9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGQpKX07dmFyIGc9bmV3IGIuQW5pbWF0aW9uVGltZWxpbmU7Yi50aW1lbGluZT1nO3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LmRvY3VtZW50LCJ0aW1lbGluZSIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ319KX1jYXRjaChhKXt9dHJ5e3dpbmRvdy5kb2N1bWVudC50aW1lbGluZT1nfWNhdGNoKGEpe319KDAsYyksZnVuY3Rpb24oYSxiLGMpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1bXSxiLkFuaW1hdGlvbj1mdW5jdGlvbihiLGMpe2lmKHRoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLmVmZmVjdD1iLGImJihiLl9hbmltYXRpb249dGhpcyksIWMpdGhyb3cgbmV3IEVycm9yKCJBbmltYXRpb24gd2l0aCBudWxsIHRpbWVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLl90aW1lbGluZT1jLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9ob2xkVGltZT0wLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9pc0dyb3VwPSExLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoaWxkQW5pbWF0aW9ucz1bXSx0aGlzLl9jYWxsYmFjaz1udWxsLHRoaXMuX29sZFBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfdXBkYXRlUHJvbWlzZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9vbGRQbGF5U3RhdGUsYj10aGlzLnBsYXlTdGF0ZTtyZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0UmVhZHlQcm9taXNlKCksdGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCk6InBlbmRpbmciPT1hP3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKToicGVuZGluZyI9PWImJih0aGlzLl9yZWFkeVByb21pc2U9dm9pZCAwKSksdGhpcy5fZmluaXNoZWRQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlKCksdGhpcy5fZmluaXNoZWRQcm9taXNlPXZvaWQgMCk6ImZpbmlzaGVkIj09Yj90aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk6ImZpbmlzaGVkIj09YSYmKHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApKSx0aGlzLl9vbGRQbGF5U3RhdGU9dGhpcy5wbGF5U3RhdGUsdGhpcy5fcmVhZHlQcm9taXNlfHx0aGlzLl9maW5pc2hlZFByb21pc2V9LF9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGEsYyxkLGUsZj0hIXRoaXMuX2FuaW1hdGlvbjtmJiYoYT10aGlzLnBsYXliYWNrUmF0ZSxjPXRoaXMuX3BhdXNlZCxkPXRoaXMuc3RhcnRUaW1lLGU9dGhpcy5jdXJyZW50VGltZSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fYW5pbWF0aW9uLl93cmFwcGVyPW51bGwsdGhpcy5fYW5pbWF0aW9uPW51bGwpLCghdGhpcy5lZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LktleWZyYW1lRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcykpLCh0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8dGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuR3JvdXBFZmZlY3QpJiYodGhpcy5fYW5pbWF0aW9uPWIubmV3VW5kZXJseWluZ0FuaW1hdGlvbkZvckdyb3VwKHRoaXMuZWZmZWN0KSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cCh0aGlzKSksdGhpcy5lZmZlY3QmJnRoaXMuZWZmZWN0Ll9vbnNhbXBsZSYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KHRoaXMpLGYmJigxIT1hJiYodGhpcy5wbGF5YmFja1JhdGU9YSksbnVsbCE9PWQ/dGhpcy5zdGFydFRpbWU9ZDpudWxsIT09ZT90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuX2hvbGRUaW1lJiYodGhpcy5jdXJyZW50VGltZT10aGlzLl9ob2xkVGltZSksYyYmdGhpcy5wYXVzZSgpKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxfdXBkYXRlQ2hpbGRyZW46ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjKXt0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oYyxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMuZWZmZWN0KSl9LmJpbmQodGhpcykpfX0sX3NldEV4dGVybmFsQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKWZvcih2YXIgYj0wO2I8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoO2IrKyl0aGlzLmVmZmVjdC5jaGlsZHJlbltiXS5fYW5pbWF0aW9uPWEsdGhpcy5fY2hpbGRBbmltYXRpb25zW2JdLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKXt2YXIgYT10aGlzLmVmZmVjdC5fdGltaW5nLmRlbGF5O3RoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuZWZmZWN0LmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9Yi50aW1lbGluZS5fcGxheShjKTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMucHVzaChkKSxkLnBsYXliYWNrUmF0ZT10aGlzLnBsYXliYWNrUmF0ZSx0aGlzLl9wYXVzZWQmJmQucGF1c2UoKSxjLl9hbmltYXRpb249dGhpcy5lZmZlY3QuX2FuaW1hdGlvbix0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oZCxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMpKX0uYmluZCh0aGlzKSl9fSxfYXJyYW5nZUNoaWxkcmVuOmZ1bmN0aW9uKGEsYil7bnVsbD09PXRoaXMuc3RhcnRUaW1lP2EuY3VycmVudFRpbWU9dGhpcy5jdXJyZW50VGltZS1iL3RoaXMucGxheWJhY2tSYXRlOmEuc3RhcnRUaW1lIT09dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSYmKGEuc3RhcnRUaW1lPXRoaXMuc3RhcnRUaW1lK2IvdGhpcy5wbGF5YmFja1JhdGUpfSxnZXQgdGltZWxpbmUoKXtyZXR1cm4gdGhpcy5fdGltZWxpbmV9LGdldCBwbGF5U3RhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uP3RoaXMuX2FuaW1hdGlvbi5wbGF5U3RhdGU6ImlkbGUifSxnZXQgZmluaXNoZWQoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX2ZpbmlzaGVkUHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fZmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdEZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksImZpbmlzaGVkIj09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVGaW5pc2hlZFByb21pc2UoKSksdGhpcy5fZmluaXNoZWRQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IHJlYWR5KCl7cmV0dXJuIHdpbmRvdy5Qcm9taXNlPyh0aGlzLl9yZWFkeVByb21pc2V8fCgtMT09Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmluZGV4T2YodGhpcykmJmIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5wdXNoKHRoaXMpLHRoaXMuX3JlYWR5UHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihhLGIpe3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXthKHRoaXMpfSx0aGlzLl9yZWplY3RSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXtiKHt0eXBlOkRPTUV4Y2VwdGlvbi5BQk9SVF9FUlIsbmFtZToiQWJvcnRFcnJvciJ9KX19LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9PXRoaXMucGxheVN0YXRlJiZ0aGlzLl9yZXNvbHZlUmVhZHlQcm9taXNlKCkpLHRoaXMuX3JlYWR5UHJvbWlzZSk6KGNvbnNvbGUud2FybigiQW5pbWF0aW9uIFByb21pc2VzIHJlcXVpcmUgSmF2YVNjcmlwdCBQcm9taXNlIGNvbnN0cnVjdG9yIiksbnVsbCl9LGdldCBvbmZpbmlzaCgpe3JldHVybiB0aGlzLl9hbmltYXRpb24ub25maW5pc2h9LHNldCBvbmZpbmlzaChhKXt0aGlzLl9hbmltYXRpb24ub25maW5pc2g9ImZ1bmN0aW9uIj09dHlwZW9mIGE/ZnVuY3Rpb24oYil7Yi50YXJnZXQ9dGhpcyxhLmNhbGwodGhpcyxiKX0uYmluZCh0aGlzKTphfSxnZXQgb25jYW5jZWwoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsfSxzZXQgb25jYW5jZWwoYSl7dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPSJmdW5jdGlvbiI9PXR5cGVvZiBhP2Z1bmN0aW9uKGIpe2IudGFyZ2V0PXRoaXMsYS5jYWxsKHRoaXMsYil9LmJpbmQodGhpcyk6YX0sZ2V0IGN1cnJlbnRUaW1lKCl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKTt2YXIgYT10aGlzLl9hbmltYXRpb24uY3VycmVudFRpbWU7cmV0dXJuIHRoaXMuX3VwZGF0ZVByb21pc2VzKCksYX0sc2V0IGN1cnJlbnRUaW1lKGEpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lPWlzRmluaXRlKGEpP2E6TWF0aC5zaWduKGEpKk51bWJlci5NQVhfVkFMVUUsdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYixjKXtiLmN1cnJlbnRUaW1lPWEtY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnN0YXJ0VGltZX0sc2V0IHN0YXJ0VGltZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5zdGFydFRpbWU9aXNGaW5pdGUoYSk/YTpNYXRoLnNpZ24oYSkqTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiLGMpe2Iuc3RhcnRUaW1lPWErY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBwbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBiPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZT1hLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiKXtiLnBsYXliYWNrUmF0ZT1hfSksbnVsbCE9PWImJih0aGlzLmN1cnJlbnRUaW1lPWIpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9hbmltYXRpb24ucGxheSgpLC0xPT10aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5pbmRleE9mKHRoaXMpJiZ0aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpLHRoaXMuX3JlZ2lzdGVyKCksYi5hd2FpdFN0YXJ0VGltZSh0aGlzKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7dmFyIGI9YS5jdXJyZW50VGltZTthLnBsYXkoKSxhLmN1cnJlbnRUaW1lPWJ9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5jdXJyZW50VGltZSYmKHRoaXMuX2hvbGRUaW1lPXRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2FuaW1hdGlvbi5wYXVzZSgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EucGF1c2UoKX0pLHRoaXMuX3BhdXNlZD0hMCx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5maW5pc2goKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucmV2ZXJzZSgpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnJldmVyc2UoKX0pLG51bGwhPT1hJiYodGhpcy5jdXJyZW50VGltZT1hKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YjsiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGM9ZnVuY3Rpb24oYSl7YS50YXJnZXQ9dGhpcyxiLmNhbGwodGhpcyxhKX0uYmluZCh0aGlzKSxiLl93cmFwcGVyPWMpLHRoaXMuX2FuaW1hdGlvbi5hZGRFdmVudExpc3RlbmVyKGEsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXt0aGlzLl9hbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGImJmIuX3dyYXBwZXJ8fGIpfSxfcmVtb3ZlQ2hpbGRBbmltYXRpb25zOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLl9jaGlsZEFuaW1hdGlvbnMubGVuZ3RoOyl0aGlzLl9jaGlsZEFuaW1hdGlvbnMucG9wKCkuY2FuY2VsKCl9LF9mb3JFYWNoQ2hpbGQ6ZnVuY3Rpb24oYil7dmFyIGM9MDtpZih0aGlzLmVmZmVjdC5jaGlsZHJlbiYmdGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDx0aGlzLmVmZmVjdC5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9ucygpLHRoaXMuX2NoaWxkQW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2IuY2FsbCh0aGlzLGEsYyksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihjKz1hLmVmZmVjdC5hY3RpdmVEdXJhdGlvbil9LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBkPXRoaXMuZWZmZWN0Ll90aW1pbmcsZT10aGlzLmN1cnJlbnRUaW1lO251bGwhPT1lJiYoZT1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZCksZSxkKSksKG51bGw9PWV8fGlzTmFOKGUpKSYmdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCl9fX0sd2luZG93LkFuaW1hdGlvbj1iLkFuaW1hdGlvbn0oYSxjKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChiKXt0aGlzLl9mcmFtZXM9YS5ub3JtYWxpemVLZXlmcmFtZXMoYil9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgYT0hMTtpLmxlbmd0aDspaS5zaGlmdCgpLl91cGRhdGVDaGlsZHJlbigpLGE9ITA7cmV0dXJuIGF9dmFyIGY9ZnVuY3Rpb24oYSl7aWYoYS5fYW5pbWF0aW9uPXZvaWQgMCxhIGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0fHxhIGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KWZvcih2YXIgYj0wO2I8YS5jaGlsZHJlbi5sZW5ndGg7YisrKWYoYS5jaGlsZHJlbltiXSl9O2IucmVtb3ZlTXVsdGk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtkLl9wYXJlbnQ/KC0xPT1iLmluZGV4T2YoZC5fcGFyZW50KSYmYi5wdXNoKGQuX3BhcmVudCksZC5fcGFyZW50LmNoaWxkcmVuLnNwbGljZShkLl9wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihkKSwxKSxkLl9wYXJlbnQ9bnVsbCxmKGQpKTpkLl9hbmltYXRpb24mJmQuX2FuaW1hdGlvbi5lZmZlY3Q9PWQmJihkLl9hbmltYXRpb24uY2FuY2VsKCksZC5fYW5pbWF0aW9uLmVmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSksZC5fYW5pbWF0aW9uLl9jYWxsYmFjayYmKGQuX2FuaW1hdGlvbi5fY2FsbGJhY2suX2FuaW1hdGlvbj1udWxsKSxkLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksZihkKSl9Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLl9yZWJ1aWxkKCl9LGIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYixjLGUsZil7cmV0dXJuIHRoaXMudGFyZ2V0PWIsdGhpcy5fcGFyZW50PW51bGwsZT1hLm51bWVyaWNUaW1pbmdUb09iamVjdChlKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoZSksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoZSksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGUsITEsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiBjPyhhLmRlcHJlY2F0ZWQoIkN1c3RvbSBLZXlmcmFtZUVmZmVjdCIsIjIwMTUtMDYtMjIiLCJVc2UgS2V5ZnJhbWVFZmZlY3Qub25zYW1wbGUgaW5zdGVhZC4iKSx0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPWMpOnRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM9bmV3IGQoYyksdGhpcy5fa2V5ZnJhbWVzPWMsdGhpcy5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX3RpbWluZyksdGhpcy5faWQ9Zix0aGlzfSxiLktleWZyYW1lRWZmZWN0LnByb3RvdHlwZT17Z2V0RnJhbWVzOmZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM/dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lczp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLl9mcmFtZXN9LHNldCBvbnNhbXBsZShhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgb25zYW1wbGUgb24gY3VzdG9tIGVmZmVjdCBLZXlmcmFtZUVmZmVjdCBpcyBub3Qgc3VwcG9ydGVkLiIpO3RoaXMuX29uc2FtcGxlPWEsdGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxjbG9uZTpmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmdldEZyYW1lcygpKXRocm93IG5ldyBFcnJvcigiQ2xvbmluZyBjdXN0b20gZWZmZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiIpO3ZhciBiPW5ldyBLZXlmcmFtZUVmZmVjdCh0aGlzLnRhcmdldCxbXSxhLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLHRoaXMuX2lkKTtyZXR1cm4gYi5fbm9ybWFsaXplZEtleWZyYW1lcz10aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLGIuX2tleWZyYW1lcz10aGlzLl9rZXlmcmFtZXMsYn0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX07dmFyIGc9RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTtFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGIudGltZWxpbmUuX3BsYXkobmV3IGIuS2V5ZnJhbWVFZmZlY3QodGhpcyxhLGMsZCkpfTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKTtiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRhcmdldHx8aCxjPWEuX2tleWZyYW1lczsiZnVuY3Rpb24iPT10eXBlb2YgYyYmKGM9W10pO3ZhciBkPWEuX3RpbWluZ0lucHV0O2QuaWQ9YS5faWR9ZWxzZSB2YXIgYj1oLGM9W10sZD0wO3JldHVybiBnLmFwcGx5KGIsW2MsZF0pfSxiLmJpbmRBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXthLmVmZmVjdCYmImZ1bmN0aW9uIj09dHlwZW9mIGEuZWZmZWN0Ll9ub3JtYWxpemVkS2V5ZnJhbWVzJiZiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3QoYSl9O3ZhciBpPVtdO2IuYXdhaXRTdGFydFRpbWU9ZnVuY3Rpb24oYSl7bnVsbD09PWEuc3RhcnRUaW1lJiZhLl9pc0dyb3VwJiYoMD09aS5sZW5ndGgmJnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxpLnB1c2goYSkpfTt2YXIgaj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJnZXRDb21wdXRlZFN0eWxlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXtiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKTt2YXIgYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSgpJiYoYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksYi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYX19KSx3aW5kb3cuS2V5ZnJhbWVFZmZlY3Q9Yi5LZXlmcmFtZUVmZmVjdCx3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuZ2V0QW5pbWF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC50aW1lbGluZS5nZXRBbmltYXRpb25zKCkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT09YS5lZmZlY3QmJmEuZWZmZWN0LnRhcmdldD09dGhpc30uYmluZCh0aGlzKSl9fShhLGMpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe2EuX3JlZ2lzdGVyZWR8fChhLl9yZWdpc3RlcmVkPSEwLGcucHVzaChhKSxofHwoaD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpKX1mdW5jdGlvbiBlKGEpe3ZhciBiPWc7Zz1bXSxiLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fc2VxdWVuY2VOdW1iZXItYi5fc2VxdWVuY2VOdW1iZXJ9KSxiPWIuZmlsdGVyKGZ1bmN0aW9uKGEpe2EoKTt2YXIgYj1hLl9hbmltYXRpb24/YS5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSI7cmV0dXJuInJ1bm5pbmciIT1iJiYicGVuZGluZyIhPWImJihhLl9yZWdpc3RlcmVkPSExKSxhLl9yZWdpc3RlcmVkfSksZy5wdXNoLmFwcGx5KGcsYiksZy5sZW5ndGg/KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKTpoPSExfXZhciBmPShkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKSwwKTtiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3Q9ZnVuY3Rpb24oYil7dmFyIGMsZT1iLmVmZmVjdC50YXJnZXQsZz0iZnVuY3Rpb24iPT10eXBlb2YgYi5lZmZlY3QuZ2V0RnJhbWVzKCk7Yz1nP2IuZWZmZWN0LmdldEZyYW1lcygpOmIuZWZmZWN0Ll9vbnNhbXBsZTt2YXIgaD1iLmVmZmVjdC50aW1pbmcsaT1udWxsO2g9YS5ub3JtYWxpemVUaW1pbmdJbnB1dChoKTt2YXIgaj1mdW5jdGlvbigpe3ZhciBkPWouX2FuaW1hdGlvbj9qLl9hbmltYXRpb24uY3VycmVudFRpbWU6bnVsbDtudWxsIT09ZCYmKGQ9YS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcyhhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGgpLGQsaCksaXNOYU4oZCkmJihkPW51bGwpKSxkIT09aSYmKGc/YyhkLGUsYi5lZmZlY3QpOmMoZCxiLmVmZmVjdCxiLmVmZmVjdC5fYW5pbWF0aW9uKSksaT1kfTtqLl9hbmltYXRpb249YixqLl9yZWdpc3RlcmVkPSExLGouX3NlcXVlbmNlTnVtYmVyPWYrKyxiLl9jYWxsYmFjaz1qLGQoail9O3ZhciBnPVtdLGg9ITE7Yi5BbmltYXRpb24ucHJvdG90eXBlLl9yZWdpc3Rlcj1mdW5jdGlvbigpe3RoaXMuX2NhbGxiYWNrJiZkKHRoaXMuX2NhbGxiYWNrKX19KGEsYyksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIGEuX3RpbWluZy5kZWxheSthLmFjdGl2ZUR1cmF0aW9uK2EuX3RpbWluZy5lbmREZWxheX1mdW5jdGlvbiBlKGIsYyxkKXt0aGlzLl9pZD1kLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49Ynx8W10sdGhpcy5fcmVwYXJlbnQodGhpcy5jaGlsZHJlbiksYz1hLm51bWVyaWNUaW1pbmdUb09iamVjdChjKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoYyksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYywhMCksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGMsITAsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJhdXRvIj09PXRoaXMuX3RpbWluZy5kdXJhdGlvbiYmKHRoaXMuX3RpbWluZy5kdXJhdGlvbj10aGlzLmFjdGl2ZUR1cmF0aW9uKX13aW5kb3cuU2VxdWVuY2VFZmZlY3Q9ZnVuY3Rpb24oKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sd2luZG93Lkdyb3VwRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlPXtfaXNBbmNlc3RvcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcztudWxsIT09Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9wYXJlbnR9cmV0dXJuITF9LF9yZWJ1aWxkOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXM7YTspImF1dG8iPT09YS50aW1pbmcuZHVyYXRpb24mJihhLl90aW1pbmcuZHVyYXRpb249YS5hY3RpdmVEdXJhdGlvbiksYT1hLl9wYXJlbnQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LF9yZXBhcmVudDpmdW5jdGlvbihhKXtiLnJlbW92ZU11bHRpKGEpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uX3BhcmVudD10aGlzfSxfcHV0Q2hpbGQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yj8iQ2Fubm90IGFwcGVuZCBhbiBhbmNlc3RvciBvciBzZWxmIjoiQ2Fubm90IHByZXBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWlmKHRoaXMuX2lzQW5jZXN0b3IoYVtkXSkpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uSElFUkFSQ0hZX1JFUVVFU1RfRVJSLG5hbWU6IkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsbWVzc2FnZTpjfTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyliP3RoaXMuY2hpbGRyZW4ucHVzaChhW2RdKTp0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYVtkXSk7dGhpcy5fcmVwYXJlbnQoYSksdGhpcy5fcmVidWlsZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wdXRDaGlsZChhcmd1bWVudHMsITApfSxwcmVwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCExKX0sZ2V0IHBhcmVudCgpe3JldHVybiB0aGlzLl9wYXJlbnR9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bMF06bnVsbH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdOm51bGx9LGNsb25lOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPWEuY2xvbmVUaW1pbmdJbnB1dCh0aGlzLl90aW1pbmdJbnB1dCksYz1bXSxkPTA7ZDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtkKyspYy5wdXNoKHRoaXMuY2hpbGRyZW5bZF0uY2xvbmUoKSk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBHcm91cEVmZmVjdD9uZXcgR3JvdXBFZmZlY3QoYyxiKTpuZXcgU2VxdWVuY2VFZmZlY3QoYyxiKX0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX0sd2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YSs9ZChiKX0pLE1hdGgubWF4KGEsMCl9fSksd2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YT1NYXRoLm1heChhLGQoYikpfSksYX19KSxiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihjKXt2YXIgZCxlPW51bGwsZj1mdW5jdGlvbihiKXt2YXIgYz1kLl93cmFwcGVyO2lmKGMmJiJwZW5kaW5nIiE9Yy5wbGF5U3RhdGUmJmMuZWZmZWN0KXJldHVybiBudWxsPT1iP3ZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCk6MD09YiYmYy5wbGF5YmFja1JhdGU8MCYmKGV8fChlPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy5lZmZlY3QudGltaW5nKSksYj1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZSksLTEsZSksaXNOYU4oYil8fG51bGw9PWIpPyhjLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7YS5jdXJyZW50VGltZT0tMX0pLHZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCkpOnZvaWQgMH0sZz1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSxjLl90aW1pbmcsYy5faWQpO3JldHVybiBnLm9uc2FtcGxlPWYsZD1iLnRpbWVsaW5lLl9wbGF5KGcpfSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihhKXthLl9hbmltYXRpb24uX3dyYXBwZXI9YSxhLl9pc0dyb3VwPSEwLGIuYXdhaXRTdGFydFRpbWUoYSksYS5fY29uc3RydWN0Q2hpbGRBbmltYXRpb25zKCksYS5fc2V0RXh0ZXJuYWxBbmltYXRpb24oYSl9LGIuZ3JvdXBDaGlsZER1cmF0aW9uPWR9KGEsYyl9KCk7CgohKGZ1bmN0aW9uKCl7Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uCgogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuCgogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWQogICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULAogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUgogICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCmZ1bmN0aW9uIHQodCxlLG4saSl7dmFyIHIsbz1hcmd1bWVudHMubGVuZ3RoLGE9bzwzP2U6bnVsbD09PWk/aT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6aTtpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKShyPXRbc10pJiYoYT0obzwzP3IoYSk6bz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBvPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiBlKHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIG4odCxlLG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsbyl7ZnVuY3Rpb24gYSh0KXt0cnl7bChpLm5leHQodCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIHModCl7dHJ5e2woaS50aHJvdyh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gbCh0KXt0LmRvbmU/cih0LnZhbHVlKTooZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKX0pKHQudmFsdWUpLnRoZW4oYSxzKX1sKChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kCiAgICAgKiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5CiAgICAgKiBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5CiAgICAgKiBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQCiAgICAgKiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi9mdW5jdGlvbiBpKHQpe3JldHVybiBlPT57aWYodClpZihlLmhhc093blByb3BlcnR5KCJpcyIpKXtpZih0IT09ZS5pcyl0aHJvdyBuZXcgRXJyb3IoYGN1c3RvbSBlbGVtZW50IHRhZyBuYW1lcyBkbyBub3QgbWF0Y2g6ICgke3R9ICE9PSAke2UuaXN9KWApfWVsc2UgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImlzIix7dmFsdWU6dH0pO3dpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoZS5pcyxlKX19ZnVuY3Rpb24gcih0LGUsbil7dC5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydGllcyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5jb25zdHJ1Y3RvciwicHJvcGVydGllcyIse3ZhbHVlOnt9fSksdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdPU9iamVjdC5hc3NpZ24oe30sdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdLG4pfWZ1bmN0aW9uIG8odCl7cmV0dXJuKGUsbik9PntyKGUsbix0KX19ZnVuY3Rpb24gYSguLi50KXtyZXR1cm4oZSxuKT0+e2UuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoIm9ic2VydmVycyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5jb25zdHJ1Y3Rvciwib2JzZXJ2ZXJzIix7dmFsdWU6W119KSxlLmNvbnN0cnVjdG9yLm9ic2VydmVycy5wdXNoKGAke259KCR7dC5qb2luKCIsIil9KWApfX1mdW5jdGlvbiBzKHQsLi4uZSl7cmV0dXJuKG4saSxvKT0+e2NvbnN0IGE9YF9fY29tcHV0ZSR7aX1gO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGEse3ZhbHVlOm8uZ2V0fSksby5nZXQ9dm9pZCAwO3IobixpLHtjb21wdXRlZDpgJHthfSgke1t0LC4uLmVdLmpvaW4oIiwiKX0pYH0pfX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi93aW5kb3cuSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IGwsYyx1PS8odXJsXCgpKFteKV0qKShcKSkvZyxoPS8oXlwvW15cL10pfCheIyl8KF5bXHctXGRdKjopLztmdW5jdGlvbiBkKHQsZSl7aWYodCYmaC50ZXN0KHQpKXJldHVybiB0O2lmKCIvLyI9PT10KXJldHVybiB0O2lmKHZvaWQgMD09PWwpe2w9ITE7dHJ5e2NvbnN0IHQ9bmV3IFVSTCgiYiIsImh0dHA6Ly9hIik7dC5wYXRobmFtZT0iYyUyMGQiLGw9Imh0dHA6Ly9hL2MlMjBkIj09PXQuaHJlZn1jYXRjaCh0KXt9fWlmKGV8fChlPWRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxsKXRyeXtyZXR1cm4gbmV3IFVSTCh0LGUpLmhyZWZ9Y2F0Y2goZSl7cmV0dXJuIHR9cmV0dXJuIGN8fChjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGVtcCIpLGMuYmFzZT1jLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSxjLmhlYWQuYXBwZW5kQ2hpbGQoYy5iYXNlKSxjLmFuY2hvcj1jLmNyZWF0ZUVsZW1lbnQoImEiKSxjLmJvZHkuYXBwZW5kQ2hpbGQoYy5hbmNob3IpKSxjLmJhc2UuaHJlZj1lLGMuYW5jaG9yLmhyZWY9dCxjLmFuY2hvci5ocmVmfHx0fWZ1bmN0aW9uIHAodCxlKXtyZXR1cm4gdC5yZXBsYWNlKHUsKGZ1bmN0aW9uKHQsbixpLHIpe3JldHVybiBuKyInIitkKGkucmVwbGFjZSgvWyInXS9nLCIiKSxlKSsiJyIrcn0pKX1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnN1YnN0cmluZygwLHQubGFzdEluZGV4T2YoIi8iKSsxKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBtPSF3aW5kb3cuU2hhZHlET018fCF3aW5kb3cuU2hhZHlET00uaW5Vc2U7Qm9vbGVhbighd2luZG93LlNoYWR5Q1NTfHx3aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzKTtjb25zdCBnPW0mJiJhZG9wdGVkU3R5bGVTaGVldHMiaW4gRG9jdW1lbnQucHJvdG90eXBlJiYicmVwbGFjZVN5bmMiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUmJigoKT0+e3RyeXtjb25zdCB0PW5ldyBDU1NTdHlsZVNoZWV0O3QucmVwbGFjZVN5bmMoIiIpO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHM9W3RdLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHNbMF09PT10fWNhdGNoKHQpe3JldHVybiExfX0pKCk7bGV0IF89d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnJvb3RQYXRofHxmKGRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx5PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlfHx2b2lkIDAsdj13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIuc2V0UGFzc2l2ZVRvdWNoR2VzdHVyZXN8fCExLGI9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN0cmljdFRlbXBsYXRlUG9saWN5fHwhMSx4PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5hbGxvd1RlbXBsYXRlRnJvbURvbU1vZHVsZXx8ITEsdz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9uc3x8ITEsUz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5V2FybmluZ3N8fCExLE09d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN5bmNJbml0aWFsUmVuZGVyfHwhMSxFPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lVbmRlZmluZWR8fCExLFQ9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLm9yZGVyZWRDb21wdXRlZHx8ITEsQz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIucmVtb3ZlTmVzdGVkVGVtcGxhdGVzfHwhMSxBPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5mYXN0RG9tSWZ8fCExLGs9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN1cHByZXNzVGVtcGxhdGVOb3RpZmljYXRpb25zfHwhMSxQPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lOb09ic2VydmVkQXR0cmlidXRlc3x8ITEsTD13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIudXNlQWRvcHRlZFN0eWxlU2hlZXRzV2l0aEJ1aWx0Q1NTfHwhMSxJPTA7Y29uc3QgTj1mdW5jdGlvbih0KXtsZXQgZT10Ll9fbWl4aW5BcHBsaWNhdGlvbnM7ZXx8KGU9bmV3IFdlYWtNYXAsdC5fX21peGluQXBwbGljYXRpb25zPWUpO2xldCBuPUkrKztyZXR1cm4gZnVuY3Rpb24gaShyKXtsZXQgbz1yLl9fbWl4aW5TZXQ7aWYobyYmb1tuXSlyZXR1cm4gcjtsZXQgYT1lLHM9YS5nZXQocik7aWYoIXMpe3M9dChyKSxhLnNldChyLHMpO2xldCBlPU9iamVjdC5jcmVhdGUocy5fX21peGluU2V0fHxvfHxudWxsKTtlW25dPSEwLHMuX19taXhpblNldD1lfXJldHVybiBzfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IFI9e30sTz17fTtmdW5jdGlvbiB6KHQsZSl7Ult0XT1PW3QudG9Mb3dlckNhc2UoKV09ZX1mdW5jdGlvbiBEKHQpe3JldHVybiBSW3RdfHxPW3QudG9Mb3dlckNhc2UoKV19Y2xhc3MgQiBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuWyJpZCJdfXN0YXRpYyBpbXBvcnQodCxlKXtpZih0KXtsZXQgbj1EKHQpO3JldHVybiBuJiZlP24ucXVlcnlTZWxlY3RvcihlKTpufXJldHVybiBudWxsfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5yZWdpc3RlcigpfWdldCBhc3NldHBhdGgoKXtpZighdGhpcy5fX2Fzc2V0cGF0aCl7Y29uc3QgdD13aW5kb3cuSFRNTEltcG9ydHMmJkhUTUxJbXBvcnRzLmltcG9ydEZvckVsZW1lbnQ/SFRNTEltcG9ydHMuaW1wb3J0Rm9yRWxlbWVudCh0aGlzKXx8ZG9jdW1lbnQ6dGhpcy5vd25lckRvY3VtZW50LGU9ZCh0aGlzLmdldEF0dHJpYnV0ZSgiYXNzZXRwYXRoIil8fCIiLHQuYmFzZVVSSSk7dGhpcy5fX2Fzc2V0cGF0aD1mKGUpfXJldHVybiB0aGlzLl9fYXNzZXRwYXRofXJlZ2lzdGVyKHQpe2lmKHQ9dHx8dGhpcy5pZCl7aWYoYiYmdm9pZCAwIT09RCh0KSl0aHJvdyB6KHQsbnVsbCksbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLW1vZHVsZSAke3R9IHJlLXJlZ2lzdGVyZWRgKTt0aGlzLmlkPXQseih0LHRoaXMpLChmdW5jdGlvbiBlKHQpe3QucXVlcnlTZWxlY3Rvcigic3R5bGUiKSYmY29uc29sZS53YXJuKCJkb20tbW9kdWxlICVzIGhhcyBzdHlsZSBvdXRzaWRlIHRlbXBsYXRlIix0LmlkKX0pKHRoaXMpfX19Qi5wcm90b3R5cGUubW9kdWxlcz1SLGN1c3RvbUVsZW1lbnRzLmRlZmluZSgiZG9tLW1vZHVsZSIsQik7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IEg9InNoYWR5LXVuc2NvcGVkIjtmdW5jdGlvbiBGKHQpe3JldHVybiBCLmltcG9ydCh0KX1mdW5jdGlvbiBWKHQpe2NvbnN0IGU9cCgodC5ib2R5P3QuYm9keTp0KS50ZXh0Q29udGVudCx0LmJhc2VVUkkpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbi50ZXh0Q29udGVudD1lLG59ZnVuY3Rpb24gVSh0KXtjb25zdCBlPXQudHJpbSgpLnNwbGl0KC9ccysvKSxuPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCguLi5qKGVbdF0pKTtyZXR1cm4gbn1mdW5jdGlvbiBqKHQpe2NvbnN0IGU9Rih0KTtpZighZSlyZXR1cm4gY29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksW107aWYodm9pZCAwPT09ZS5fc3R5bGVzKXtjb25zdCB0PVtdO3QucHVzaCguLi5XKGUpKTtjb25zdCBuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiZ0LnB1c2goLi4uRyhuLGUuYXNzZXRwYXRoKSksZS5fc3R5bGVzPXR9cmV0dXJuIGUuX3N0eWxlc31mdW5jdGlvbiBHKHQsZSl7aWYoIXQuX3N0eWxlcyl7Y29uc3Qgbj1bXSxpPXQuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgcj1pW3RdLG89ci5nZXRBdHRyaWJ1dGUoImluY2x1ZGUiKTtvJiZuLnB1c2goLi4uVShvKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbi5pbmRleE9mKHQpPT09ZX0pKSksZSYmKHIudGV4dENvbnRlbnQ9cChyLnRleHRDb250ZW50LGUpKSxuLnB1c2gocil9dC5fc3R5bGVzPW59cmV0dXJuIHQuX3N0eWxlc31mdW5jdGlvbiBXKHQpe2NvbnN0IGU9W10sbj10LnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbcmVsPWltcG9ydF1bdHlwZX49Y3NzXSIpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtsZXQgaT1uW3RdO2lmKGkuaW1wb3J0KXtjb25zdCB0PWkuaW1wb3J0LG49aS5oYXNBdHRyaWJ1dGUoSCk7aWYobiYmIXQuX3Vuc2NvcGVkU3R5bGUpe2NvbnN0IGU9Vih0KTtlLnNldEF0dHJpYnV0ZShILCIiKSx0Ll91bnNjb3BlZFN0eWxlPWV9ZWxzZSB0Ll9zdHlsZXx8KHQuX3N0eWxlPVYodCkpO2UucHVzaChuP3QuX3Vuc2NvcGVkU3R5bGU6dC5fc3R5bGUpfX1yZXR1cm4gZX1mdW5jdGlvbiBxKHQpe2xldCBlPUYodCk7aWYoZSYmdm9pZCAwPT09ZS5fY3NzVGV4dCl7bGV0IHQ9KGZ1bmN0aW9uIG4odCl7bGV0IGU9IiIsbj1XKHQpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKWUrPW5bdF0udGV4dENvbnRlbnQ7cmV0dXJuIGV9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovKShlKSxuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiYodCs9KGZ1bmN0aW9uIGkodCxlKXtsZXQgbj0iIjtjb25zdCBpPUcodCxlKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7bGV0IGU9aVt0XTtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxuKz1lLnRleHRDb250ZW50fXJldHVybiBufSkobixlLmFzc2V0cGF0aCkpLGUuX2Nzc1RleHQ9dHx8bnVsbH1yZXR1cm4gZXx8Y29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksZSYmZS5fY3NzVGV4dHx8IiJ9Y29uc3QgWT13aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5ub1BhdGNoJiZ3aW5kb3cuU2hhZHlET00ud3JhcD93aW5kb3cuU2hhZHlET00ud3JhcDp3aW5kb3cuU2hhZHlET00/dD0+U2hhZHlET00ucGF0Y2godCk6dD0+dDsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9mdW5jdGlvbiBYKHQpe3JldHVybiB0LmluZGV4T2YoIi4iKT49MH1mdW5jdGlvbiAkKHQpe2xldCBlPXQuaW5kZXhPZigiLiIpO3JldHVybi0xPT09ZT90OnQuc2xpY2UoMCxlKX1mdW5jdGlvbiBLKHQsZSl7cmV0dXJuIDA9PT10LmluZGV4T2YoZSsiLiIpfWZ1bmN0aW9uIFoodCxlKXtyZXR1cm4gMD09PWUuaW5kZXhPZih0KyIuIil9ZnVuY3Rpb24gSih0LGUsbil7cmV0dXJuIGUrbi5zbGljZSh0Lmxlbmd0aCl9ZnVuY3Rpb24gUSh0LGUpe3JldHVybiB0PT09ZXx8Syh0LGUpfHxaKHQsZSl9ZnVuY3Rpb24gdHQodCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7bGV0IGU9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2xldCBpPXRbbl0udG9TdHJpbmcoKS5zcGxpdCgiLiIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUucHVzaChpW3RdKX1yZXR1cm4gZS5qb2luKCIuIil9cmV0dXJuIHR9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dHQodCkuc3BsaXQoIi4iKTp0LnRvU3RyaW5nKCkuc3BsaXQoIi4iKX1mdW5jdGlvbiBudCh0LGUsbil7bGV0IGk9dCxyPWV0KGUpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtpZighaSlyZXR1cm47aT1pW3JbdF1dfXJldHVybiBuJiYobi5wYXRoPXIuam9pbigiLiIpKSxpfWZ1bmN0aW9uIGl0KHQsZSxuKXtsZXQgaT10LHI9ZXQoZSksbz1yW3IubGVuZ3RoLTFdO2lmKHIubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGgtMTt0Kyspe2lmKGk9aVtyW3RdXSwhaSlyZXR1cm59aVtvXT1ufWVsc2UgaVtlXT1uO3JldHVybiByLmpvaW4oIi4iKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBydD17fSxvdD0vLVthLXpdL2csYXQ9LyhbQS1aXSkvZztmdW5jdGlvbiBzdCh0KXtyZXR1cm4gcnRbdF18fChydFt0XT10LmluZGV4T2YoIi0iKTwwP3Q6dC5yZXBsYWNlKG90LCh0PT50WzFdLnRvVXBwZXJDYXNlKCkpKSl9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIHJ0W3RdfHwocnRbdF09dC5yZXBsYWNlKGF0LCItJDEiKS50b0xvd2VyQ2FzZSgpKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgY3Q9MCx1dD0wLGh0PVtdLGR0PTAscHQ9ITEsZnQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO25ldyB3aW5kb3cuTXV0YXRpb25PYnNlcnZlcigoZnVuY3Rpb24gbXQoKXtwdD0hMTtjb25zdCB0PWh0Lmxlbmd0aDtmb3IobGV0IGU9MDtlPHQ7ZSsrKXtsZXQgdD1odFtlXTtpZih0KXRyeXt0KCl9Y2F0Y2godCl7c2V0VGltZW91dCgoKCk9Pnt0aHJvdyB0fSkpfX1odC5zcGxpY2UoMCx0KSx1dCs9dH0pKS5vYnNlcnZlKGZ0LHtjaGFyYWN0ZXJEYXRhOiEwfSk7Y29uc3QgZ3Q9e2FmdGVyOnQ9Pih7cnVuOmU9PndpbmRvdy5zZXRUaW1lb3V0KGUsdCksY2FuY2VsKHQpe3dpbmRvdy5jbGVhclRpbWVvdXQodCl9fSkscnVuOih0LGUpPT53aW5kb3cuc2V0VGltZW91dCh0LGUpLGNhbmNlbCh0KXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQpfX0sX3Q9e3J1bjp0PT53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodCl9fSx5dD17cnVuOnQ9PndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQpOndpbmRvdy5zZXRUaW1lb3V0KHQsMTYpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrP3dpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2sodCk6d2luZG93LmNsZWFyVGltZW91dCh0KX19LHZ0PXtydW46dD0+KHB0fHwocHQ9ITAsZnQudGV4dENvbnRlbnQ9ZHQrKyksaHQucHVzaCh0KSxjdCsrKSxjYW5jZWwodCl7Y29uc3QgZT10LXV0O2lmKGU+PTApe2lmKCFodFtlXSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYXN5bmMgaGFuZGxlOiAiK3QpO2h0W2VdPW51bGx9fX0sYnQ9dnQseHQ9TigodD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHQpe2NvbnN0IGU9dGhpcy5wcm90b3R5cGU7Zm9yKGxldCBuIGluIHQpbiBpbiBlfHxlLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKG4pfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKX1zdGF0aWMgdHlwZUZvclByb3BlcnR5KHQpe31fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcih0LGUpe3RoaXMuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAodCksdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfX2RhdGFIYXNBY2Nlc3NvciIsdGhpcykpfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcj1PYmplY3QuYXNzaWduKHt9LHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpKSx0aGlzLl9fZGF0YUhhc0FjY2Vzc29yW3RdfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XT0hMCx0aGlzLl9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSkpfV9hZGRQcm9wZXJ0eVRvQXR0cmlidXRlTWFwKHQpe3RoaXMuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19kYXRhQXR0cmlidXRlcyIsdGhpcykpfHwodGhpcy5fX2RhdGFBdHRyaWJ1dGVzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5fX2RhdGFBdHRyaWJ1dGVzKSk7bGV0IGU9dGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3RdO3JldHVybiBlfHwoZT10aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eSh0KSx0aGlzLl9fZGF0YUF0dHJpYnV0ZXNbZV09dCksZX1fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2dldCgpe3JldHVybiB0aGlzLl9fZGF0YVt0XX0sc2V0OmU/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGUpe3RoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eSh0LGUsITApJiZ0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfX0pfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9fZGF0YUVuYWJsZWQ9ITEsdGhpcy5fX2RhdGFSZWFkeT0hMSx0aGlzLl9fZGF0YUludmFsaWQ9ITEsdGhpcy5fX2RhdGE9e30sdGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCx0aGlzLl9fZGF0YUNvdW50ZXI9MCx0aGlzLl9fc2VyaWFsaXppbmc9ITEsdGhpcy5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKX1yZWFkeSgpe3RoaXMuX19kYXRhUmVhZHk9ITAsdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm9wZXJ0aWVzKCl7Zm9yKGxldCB0IGluIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpdGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcz10aGlzLl9fZGF0YUluc3RhbmNlUHJvcHN8fHt9LHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wc1t0XT10aGlzW3RdLGRlbGV0ZSB0aGlzW3RdKX1faW5pdGlhbGl6ZUluc3RhbmNlUHJvcGVydGllcyh0KXtPYmplY3QuYXNzaWduKHRoaXMsdCl9X3NldFByb3BlcnR5KHQsZSl7dGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSkmJnRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9X2dldFByb3BlcnR5KHQpe3JldHVybiB0aGlzLl9fZGF0YVt0XX1fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSxuKXtsZXQgaT10aGlzLl9fZGF0YVt0XSxyPXRoaXMuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHQsZSxpKTtyZXR1cm4gciYmKHRoaXMuX19kYXRhUGVuZGluZ3x8KHRoaXMuX19kYXRhUGVuZGluZz17fSx0aGlzLl9fZGF0YU9sZD17fSksdGhpcy5fX2RhdGFPbGQmJiEodCBpbiB0aGlzLl9fZGF0YU9sZCkmJih0aGlzLl9fZGF0YU9sZFt0XT1pKSx0aGlzLl9fZGF0YVt0XT1lLHRoaXMuX19kYXRhUGVuZGluZ1t0XT1lKSxyfV9pc1Byb3BlcnR5UGVuZGluZyh0KXtyZXR1cm4hKCF0aGlzLl9fZGF0YVBlbmRpbmd8fCF0aGlzLl9fZGF0YVBlbmRpbmcuaGFzT3duUHJvcGVydHkodCkpfV9pbnZhbGlkYXRlUHJvcGVydGllcygpeyF0aGlzLl9fZGF0YUludmFsaWQmJnRoaXMuX19kYXRhUmVhZHkmJih0aGlzLl9fZGF0YUludmFsaWQ9ITAsYnQucnVuKCgoKT0+e3RoaXMuX19kYXRhSW52YWxpZCYmKHRoaXMuX19kYXRhSW52YWxpZD0hMSx0aGlzLl9mbHVzaFByb3BlcnRpZXMoKSl9KSkpfV9lbmFibGVQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFFbmFibGVkfHwodGhpcy5fX2RhdGFFbmFibGVkPSEwLHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyYmKHRoaXMuX2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXModGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzKSx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCksdGhpcy5yZWFkeSgpKX1fZmx1c2hQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFDb3VudGVyKys7Y29uc3QgdD10aGlzLl9fZGF0YSxlPXRoaXMuX19kYXRhUGVuZGluZyxuPXRoaXMuX19kYXRhT2xkO3RoaXMuX3Nob3VsZFByb3BlcnRpZXNDaGFuZ2UodCxlLG4pJiYodGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9wcm9wZXJ0aWVzQ2hhbmdlZCh0LGUsbikpLHRoaXMuX19kYXRhQ291bnRlci0tfV9zaG91bGRQcm9wZXJ0aWVzQ2hhbmdlKHQsZSxuKXtyZXR1cm4gQm9vbGVhbihlKX1fcHJvcGVydGllc0NoYW5nZWQodCxlLG4pe31fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBuIT09ZSYmKG49PW58fGU9PWUpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LG4pLHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuLGkpfV9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsZSxuKXtpZighdGhpcy5fX3NlcmlhbGl6aW5nKXtjb25zdCBpPXRoaXMuX19kYXRhQXR0cmlidXRlcyxyPWkmJmlbdF18fHQ7dGhpc1tyXT10aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKGUsbnx8dGhpcy5jb25zdHJ1Y3Rvci50eXBlRm9yUHJvcGVydHkocikpfX1fcHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fX3NlcmlhbGl6aW5nPSEwLHRoaXMuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHRoaXMsbj1hcmd1bWVudHMubGVuZ3RoPDM/dGhpc1t0XTpuLGV8fHRoaXMuY29uc3RydWN0b3IuYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHQpKSx0aGlzLl9fc2VyaWFsaXppbmc9ITF9X3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHQsZSxuKXtjb25zdCBpPXRoaXMuX3NlcmlhbGl6ZVZhbHVlKGUpOyJjbGFzcyIhPT1uJiYibmFtZSIhPT1uJiYic2xvdCIhPT1ufHwodD1ZKHQpKSx2b2lkIDA9PT1pP3QucmVtb3ZlQXR0cmlidXRlKG4pOnQuc2V0QXR0cmlidXRlKG4saSl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8iIjp2b2lkIDA7ZGVmYXVsdDpyZXR1cm4gbnVsbCE9dD90LnRvU3RyaW5nKCk6dm9pZCAwfX1fZGVzZXJpYWxpemVWYWx1ZSh0LGUpe3N3aXRjaChlKXtjYXNlIEJvb2xlYW46cmV0dXJuIG51bGwhPT10O2Nhc2UgTnVtYmVyOnJldHVybiBOdW1iZXIodCk7ZGVmYXVsdDpyZXR1cm4gdH19fSkpLHd0PXt9O2xldCBTdD1IVE1MRWxlbWVudC5wcm90b3R5cGU7Zm9yKDtTdDspe2xldCB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKFN0KTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl3dFt0W2VdXT0hMDtTdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoU3QpfWNvbnN0IE10PU4oKHQ9Pntjb25zdCBlPXh0KHQpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGljIGNyZWF0ZVByb3BlcnRpZXNGb3JBdHRyaWJ1dGVzKCl7bGV0IHQ9dGhpcy5vYnNlcnZlZEF0dHJpYnV0ZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5QWNjZXNzb3Ioc3QodFtlXSkpfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIGx0KHQpfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuX19kYXRhUHJvdG8mJih0aGlzLl9pbml0aWFsaXplUHJvdG9Qcm9wZXJ0aWVzKHRoaXMuX19kYXRhUHJvdG8pLHRoaXMuX19kYXRhUHJvdG89bnVsbCksc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm90b1Byb3BlcnRpZXModCl7Zm9yKGxldCBlIGluIHQpdGhpcy5fc2V0UHJvcGVydHkoZSx0W2VdKX1fZW5zdXJlQXR0cmlidXRlKHQsZSl7Y29uc3Qgbj10aGlzO24uaGFzQXR0cmlidXRlKHQpfHx0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZShuLGUsdCl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJvYmplY3QiOmlmKHQgaW5zdGFuY2VvZiBEYXRlKXJldHVybiB0LnRvU3RyaW5nKCk7aWYodCl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWNhdGNoKHQpe3JldHVybiIifWRlZmF1bHQ6cmV0dXJuIHN1cGVyLl9zZXJpYWxpemVWYWx1ZSh0KX19X2Rlc2VyaWFsaXplVmFsdWUodCxlKXtsZXQgbjtzd2l0Y2goZSl7Y2FzZSBPYmplY3Q6dHJ5e249SlNPTi5wYXJzZSh0KX1jYXRjaChlKXtuPXR9YnJlYWs7Y2FzZSBBcnJheTp0cnl7bj1KU09OLnBhcnNlKHQpfWNhdGNoKGUpe249bnVsbCxjb25zb2xlLndhcm4oYFBvbHltZXI6OkF0dHJpYnV0ZXM6IGNvdWxkbid0IGRlY29kZSBBcnJheSBhcyBKU09OOiAke3R9YCl9YnJlYWs7Y2FzZSBEYXRlOm49aXNOYU4odCk/U3RyaW5nKHQpOk51bWJlcih0KSxuPW5ldyBEYXRlKG4pO2JyZWFrO2RlZmF1bHQ6bj1zdXBlci5fZGVzZXJpYWxpemVWYWx1ZSh0LGUpfXJldHVybiBufV9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7aWYoIXd0W2VdKXtsZXQgbj10W2VdO3ZvaWQgMCE9PW4mJih0Ll9fZGF0YT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoZSxuKToodC5fX2RhdGFQcm90bz90Lmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fZGF0YVByb3RvIix0KSl8fCh0Ll9fZGF0YVByb3RvPU9iamVjdC5jcmVhdGUodC5fX2RhdGFQcm90bykpOnQuX19kYXRhUHJvdG89e30sdC5fX2RhdGFQcm90b1tlXT1uKSl9fSkodGhpcyx0KSxzdXBlci5fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpfV9oYXNBY2Nlc3Nvcih0KXtyZXR1cm4gdGhpcy5fX2RhdGFIYXNBY2Nlc3NvciYmdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XX1faXNQcm9wZXJ0eVBlbmRpbmcodCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fX2RhdGFQZW5kaW5nJiZ0IGluIHRoaXMuX19kYXRhUGVuZGluZyl9fX0pKSxFdD17ImRvbS1pZiI6ITAsImRvbS1yZXBlYXQiOiEwfTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgVHQ9ITEsQ3Q9ITE7ZnVuY3Rpb24gQXQodCl7KGZ1bmN0aW9uIGUoKXtpZighVHQpe1R0PSEwO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTt0LnBsYWNlaG9sZGVyPSJhIixDdD10LnBsYWNlaG9sZGVyPT09dC50ZXh0Q29udGVudH1yZXR1cm4gQ3R9KSgpJiYidGV4dGFyZWEiPT09dC5sb2NhbE5hbWUmJnQucGxhY2Vob2xkZXImJnQucGxhY2Vob2xkZXI9PT10LnRleHRDb250ZW50JiYodC50ZXh0Q29udGVudD1udWxsKX1mdW5jdGlvbiBrdCh0KXtsZXQgZT10LmdldEF0dHJpYnV0ZSgiaXMiKTtpZihlJiZFdFtlXSl7bGV0IG49dDtmb3Iobi5yZW1vdmVBdHRyaWJ1dGUoImlzIiksdD1uLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKSxuLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHQsbiksdC5hcHBlbmRDaGlsZChuKTtuLmF0dHJpYnV0ZXMubGVuZ3RoOyl0LnNldEF0dHJpYnV0ZShuLmF0dHJpYnV0ZXNbMF0ubmFtZSxuLmF0dHJpYnV0ZXNbMF0udmFsdWUpLG4ucmVtb3ZlQXR0cmlidXRlKG4uYXR0cmlidXRlc1swXS5uYW1lKX1yZXR1cm4gdH1mdW5jdGlvbiBQdCh0LGUpe2xldCBuPWUucGFyZW50SW5mbyYmUHQodCxlLnBhcmVudEluZm8pO2lmKCFuKXJldHVybiB0O2ZvcihsZXQgdD1uLmZpcnN0Q2hpbGQsaT0wO3Q7dD10Lm5leHRTaWJsaW5nKWlmKGUucGFyZW50SW5kZXg9PT1pKyspcmV0dXJuIHR9ZnVuY3Rpb24gTHQodCxlLG4saSl7aS5pZCYmKGVbaS5pZF09bil9ZnVuY3Rpb24gSXQodCxlLG4pe2lmKG4uZXZlbnRzJiZuLmV2ZW50cy5sZW5ndGgpZm9yKGxldCBpLHI9MCxvPW4uZXZlbnRzO3I8by5sZW5ndGgmJihpPW9bcl0pO3IrKyl0Ll9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKGUsaS5uYW1lLGkudmFsdWUsdCl9ZnVuY3Rpb24gTnQodCxlLG4saSl7bi50ZW1wbGF0ZUluZm8mJihlLl90ZW1wbGF0ZUluZm89bi50ZW1wbGF0ZUluZm8sZS5fcGFyZW50VGVtcGxhdGVJbmZvPWkpfWNvbnN0IFJ0PU4oKHQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgX3BhcnNlVGVtcGxhdGUodCxlKXtpZighdC5fdGVtcGxhdGVJbmZvKXtsZXQgbj10Ll90ZW1wbGF0ZUluZm89e307bi5ub2RlSW5mb0xpc3Q9W10sbi5uZXN0ZWRUZW1wbGF0ZT1Cb29sZWFuKGUpLG4uc3RyaXBXaGl0ZVNwYWNlPWUmJmUuc3RyaXBXaGl0ZVNwYWNlfHx0Lmhhc0F0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIpLHRoaXMuX3BhcnNlVGVtcGxhdGVDb250ZW50KHQsbix7cGFyZW50Om51bGx9KX1yZXR1cm4gdC5fdGVtcGxhdGVJbmZvfXN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodCxlLG4pe3JldHVybiB0aGlzLl9wYXJzZVRlbXBsYXRlTm9kZSh0LmNvbnRlbnQsZSxuKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlKHQsZSxuKXtsZXQgaT0hMSxyPXQ7cmV0dXJuInRlbXBsYXRlIiE9ci5sb2NhbE5hbWV8fHIuaGFzQXR0cmlidXRlKCJwcmVzZXJ2ZS1jb250ZW50Iik/InNsb3QiPT09ci5sb2NhbE5hbWUmJihlLmhhc0luc2VydGlvblBvaW50PSEwKTppPXRoaXMuX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShyLGUsbil8fGksQXQociksci5maXJzdENoaWxkJiZ0aGlzLl9wYXJzZVRlbXBsYXRlQ2hpbGROb2RlcyhyLGUsbiksci5oYXNBdHRyaWJ1dGVzJiZyLmhhc0F0dHJpYnV0ZXMoKSYmKGk9dGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzKHIsZSxuKXx8aSksaXx8bi5ub3RlZH1zdGF0aWMgX3BhcnNlVGVtcGxhdGVDaGlsZE5vZGVzKHQsZSxuKXtpZigic2NyaXB0IiE9PXQubG9jYWxOYW1lJiYic3R5bGUiIT09dC5sb2NhbE5hbWUpZm9yKGxldCBpLHI9dC5maXJzdENoaWxkLG89MDtyO3I9aSl7aWYoInRlbXBsYXRlIj09ci5sb2NhbE5hbWUmJihyPWt0KHIpKSxpPXIubmV4dFNpYmxpbmcsci5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtsZXQgbj1pO2Zvcig7biYmbi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFOylyLnRleHRDb250ZW50Kz1uLnRleHRDb250ZW50LGk9bi5uZXh0U2libGluZyx0LnJlbW92ZUNoaWxkKG4pLG49aTtpZihlLnN0cmlwV2hpdGVTcGFjZSYmIXIudGV4dENvbnRlbnQudHJpbSgpKXt0LnJlbW92ZUNoaWxkKHIpO2NvbnRpbnVlfX1sZXQgYT17cGFyZW50SW5kZXg6byxwYXJlbnRJbmZvOm59O3RoaXMuX3BhcnNlVGVtcGxhdGVOb2RlKHIsZSxhKSYmKGEuaW5mb0luZGV4PWUubm9kZUluZm9MaXN0LnB1c2goYSktMSksci5wYXJlbnROb2RlJiZvKyt9fXN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKHQsZSxuKXtsZXQgaT10LHI9dGhpcy5fcGFyc2VUZW1wbGF0ZShpLGUpO3JldHVybihyLmNvbnRlbnQ9aS5jb250ZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKS5hcHBlbmRDaGlsZChpLmNvbnRlbnQpLG4udGVtcGxhdGVJbmZvPXIsITB9c3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZXModCxlLG4pe2xldCBpPSExLHI9QXJyYXkuZnJvbSh0LmF0dHJpYnV0ZXMpO2ZvcihsZXQgbyxhPXIubGVuZ3RoLTE7bz1yW2FdO2EtLSlpPXRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLG8ubmFtZSxvLnZhbHVlKXx8aTtyZXR1cm4gaX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLGkscil7cmV0dXJuIm9uLSI9PT1pLnNsaWNlKDAsMyk/KHQucmVtb3ZlQXR0cmlidXRlKGkpLG4uZXZlbnRzPW4uZXZlbnRzfHxbXSxuLmV2ZW50cy5wdXNoKHtuYW1lOmkuc2xpY2UoMyksdmFsdWU6cn0pLCEwKToiaWQiPT09aSYmKG4uaWQ9ciwhMCl9c3RhdGljIF9jb250ZW50Rm9yVGVtcGxhdGUodCl7bGV0IGU9dC5fdGVtcGxhdGVJbmZvO3JldHVybiBlJiZlLmNvbnRlbnR8fHQuY29udGVudH1fc3RhbXBUZW1wbGF0ZSh0LGUpe3QmJiF0LmNvbnRlbnQmJndpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlJiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlKHQpO2xldCBuPShlPWV8fHRoaXMuY29uc3RydWN0b3IuX3BhcnNlVGVtcGxhdGUodCkpLm5vZGVJbmZvTGlzdCxpPWRvY3VtZW50LmltcG9ydE5vZGUoZS5jb250ZW50fHx0LmNvbnRlbnQsITApO2kuX19ub0luc2VydGlvblBvaW50PSFlLmhhc0luc2VydGlvblBvaW50O2xldCByPWkubm9kZUxpc3Q9bmV3IEFycmF5KG4ubGVuZ3RoKTtpLiQ9e307Zm9yKGxldCB0LG89MCxhPW4ubGVuZ3RoO288YSYmKHQ9bltvXSk7bysrKXtsZXQgbj1yW29dPVB0KGksdCk7THQoMCxpLiQsbix0KSxOdCgwLG4sdCxlKSxJdCh0aGlzLG4sdCl9cmV0dXJuIGk9aSxpfV9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuLGkpe2xldCByPShmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gdD10Ll9tZXRob2RIb3N0fHx0LGZ1bmN0aW9uKGUpe3Rbbl0/dFtuXShlLGUuZGV0YWlsKTpjb25zb2xlLndhcm4oImxpc3RlbmVyIG1ldGhvZCBgIituKyJgIG5vdCBkZWZpbmVkIil9fSkoaT1pfHx0LDAsbik7cmV0dXJuIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLHIpLHJ9X2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLG4pe3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4pfV9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUodCxlLG4pe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfX0pKTsKLyoqCiAgICAgKiBAZmlsZW92ZXJ2aWV3CiAgICAgKiBAc3VwcHJlc3Mge2NoZWNrUHJvdG90eXBhbFR5cGVzfQogICAgICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQKICAgICAqIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkKICAgICAqIGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkKICAgICAqIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAKICAgICAqIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqL2xldCBPdD0wO2NvbnN0IHp0PVtdLER0PXtDT01QVVRFOiJfX2NvbXB1dGVFZmZlY3RzIixSRUZMRUNUOiJfX3JlZmxlY3RFZmZlY3RzIixOT1RJRlk6Il9fbm90aWZ5RWZmZWN0cyIsUFJPUEFHQVRFOiJfX3Byb3BhZ2F0ZUVmZmVjdHMiLE9CU0VSVkU6Il9fb2JzZXJ2ZUVmZmVjdHMiLFJFQURfT05MWToiX19yZWFkT25seSJ9LEJ0PSJfX2NvbXB1dGVJbmZvIixIdD0vW0EtWl0vO2Z1bmN0aW9uIEZ0KHQsZSxuKXtsZXQgaT10W2VdO2lmKGkpe2lmKCF0Lmhhc093blByb3BlcnR5KGUpJiYoaT10W2VdPU9iamVjdC5jcmVhdGUodFtlXSksbikpZm9yKGxldCB0IGluIGkpe2xldCBlPWlbdF0sbj1pW3RdPUFycmF5KGUubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluW3RdPWVbdF19fWVsc2UgaT10W2VdPXt9O3JldHVybiBpfWZ1bmN0aW9uIFZ0KHQsZSxuLGkscixvKXtpZihlKXtsZXQgYT0hMTtjb25zdCBzPU90Kys7Zm9yKGxldCBsIGluIG4pe2xldCBjPWVbcj8kKGwpOmxdO2lmKGMpZm9yKGxldCBlLHU9MCxoPWMubGVuZ3RoO3U8aCYmKGU9Y1t1XSk7dSsrKWUuaW5mbyYmZS5pbmZvLmxhc3RSdW49PT1zfHxyJiYhanQobCxlLnRyaWdnZXIpfHwoZS5pbmZvJiYoZS5pbmZvLmxhc3RSdW49cyksZS5mbih0LGwsbixpLGUuaW5mbyxyLG8pLGE9ITApfXJldHVybiBhfXJldHVybiExfWZ1bmN0aW9uIFV0KHQsZSxuLGkscixvLGEscyl7bGV0IGw9ITEsYz1lW2E/JChpKTppXTtpZihjKWZvcihsZXQgZSx1PTAsaD1jLmxlbmd0aDt1PGgmJihlPWNbdV0pO3UrKyllLmluZm8mJmUuaW5mby5sYXN0UnVuPT09bnx8YSYmIWp0KGksZS50cmlnZ2VyKXx8KGUuaW5mbyYmKGUuaW5mby5sYXN0UnVuPW4pLGUuZm4odCxpLHIsbyxlLmluZm8sYSxzKSxsPSEwKTtyZXR1cm4gbH1mdW5jdGlvbiBqdCh0LGUpe2lmKGUpe2xldCBuPWUubmFtZTtyZXR1cm4gbj09dHx8ISghZS5zdHJ1Y3R1cmVkfHwhSyhuLHQpKXx8ISghZS53aWxkY2FyZHx8IVoobix0KSl9cmV0dXJuITB9ZnVuY3Rpb24gR3QodCxlLG4saSxyKXtsZXQgbz0ic3RyaW5nIj09dHlwZW9mIHIubWV0aG9kP3Rbci5tZXRob2RdOnIubWV0aG9kLGE9ci5wcm9wZXJ0eTtvP28uY2FsbCh0LHQuX19kYXRhW2FdLGlbYV0pOnIuZHluYW1pY0ZufHxjb25zb2xlLndhcm4oIm9ic2VydmVyIG1ldGhvZCBgIityLm1ldGhvZCsiYCBub3QgZGVmaW5lZCIpfWZ1bmN0aW9uIFd0KHQsZSxuKXtsZXQgaT0kKGUpO2lmKGkhPT1lKXtyZXR1cm4gcXQodCxsdChpKSsiLWNoYW5nZWQiLG5bZV0sZSksITB9cmV0dXJuITF9ZnVuY3Rpb24gcXQodCxlLG4saSl7bGV0IHI9e3ZhbHVlOm4scXVldWVQcm9wZXJ0eTohMH07aSYmKHIucGF0aD1pKSxZKHQpLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDpyfSkpfWZ1bmN0aW9uIFl0KHQsZSxuLGkscixvKXtsZXQgYT0obz8kKGUpOmUpIT1lP2U6bnVsbCxzPWE/bnQodCxhKTp0Ll9fZGF0YVtlXTthJiZ2b2lkIDA9PT1zJiYocz1uW2VdKSxxdCh0LHIuZXZlbnROYW1lLHMsYSl9ZnVuY3Rpb24gWHQodCxlLG4saSxyKXtsZXQgbz10Ll9fZGF0YVtlXTt5JiYobz15KG8sci5hdHRyTmFtZSwiYXR0cmlidXRlIix0KSksdC5fcHJvcGVydHlUb0F0dHJpYnV0ZShlLHIuYXR0ck5hbWUsbyl9ZnVuY3Rpb24gJHQodCxlLG4saSl7bGV0IHI9dFtEdC5DT01QVVRFXTtpZihyKWlmKFQpe090Kys7Y29uc3Qgbz0oZnVuY3Rpb24gbyh0KXtsZXQgZT10LmNvbnN0cnVjdG9yLl9fb3JkZXJlZENvbXB1dGVkRGVwcztpZighZSl7ZT1uZXcgTWFwO2NvbnN0IG49dFtEdC5DT01QVVRFXTtsZXQgaSx7Y291bnRzOnIscmVhZHk6byx0b3RhbDphfT0oZnVuY3Rpb24gbih0KXtjb25zdCBlPXQuX19jb21wdXRlSW5mbyxuPXt9LGk9dFtEdC5DT01QVVRFXSxyPVtdO2xldCBvPTA7Zm9yKGxldCB0IGluIGUpe2NvbnN0IGk9ZVt0XTtvKz1uW3RdPWkuYXJncy5maWx0ZXIoKHQ9PiF0LmxpdGVyYWwpKS5sZW5ndGgrKGkuZHluYW1pY0ZuPzE6MCl9Zm9yKGxldCB0IGluIGkpZVt0XXx8ci5wdXNoKHQpO3JldHVybntjb3VudHM6bixyZWFkeTpyLHRvdGFsOm99fSkodCk7Zm9yKDtpPW8uc2hpZnQoKTspe2Uuc2V0KGksZS5zaXplKTtjb25zdCB0PW5baV07dCYmdC5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmluZm8ubWV0aG9kSW5mbzstLWEsMD09LS1yW2VdJiZvLnB1c2goZSl9KSl9aWYoMCE9PWEpe2NvbnNvbGUud2FybihgQ29tcHV0ZWQgZ3JhcGggZm9yICR7dC5sb2NhbE5hbWV9IGluY29tcGxldGU7IGNpcmN1bGFyP2ApfXQuY29uc3RydWN0b3IuX19vcmRlcmVkQ29tcHV0ZWREZXBzPWV9cmV0dXJuIGV9KSh0KSxhPVtdO2ZvcihsZXQgdCBpbiBlKVp0KHQscixhLG8saSk7bGV0IHM7Zm9yKDtzPWEuc2hpZnQoKTspSnQodCwiIixlLG4scykmJlp0KHMubWV0aG9kSW5mbyxyLGEsbyxpKTtPYmplY3QuYXNzaWduKG4sdC5fX2RhdGFPbGQpLE9iamVjdC5hc3NpZ24oZSx0Ll9fZGF0YVBlbmRpbmcpLHQuX19kYXRhUGVuZGluZz1udWxsfWVsc2V7bGV0IG89ZTtmb3IoO1Z0KHQscixvLG4saSk7KU9iamVjdC5hc3NpZ24obix0Ll9fZGF0YU9sZCksT2JqZWN0LmFzc2lnbihlLHQuX19kYXRhUGVuZGluZyksbz10Ll9fZGF0YVBlbmRpbmcsdC5fX2RhdGFQZW5kaW5nPW51bGx9fWNvbnN0IEt0PSh0LGUsbik9PntsZXQgaT0wLHI9ZS5sZW5ndGgtMSxvPS0xO2Zvcig7aTw9cjspe2NvbnN0IGE9aStyPj4xLHM9bi5nZXQoZVthXS5tZXRob2RJbmZvKS1uLmdldCh0Lm1ldGhvZEluZm8pO2lmKHM8MClpPWErMTtlbHNle2lmKCEocz4wKSl7bz1hO2JyZWFrfXI9YS0xfX1vPDAmJihvPXIrMSksZS5zcGxpY2UobywwLHQpfSxadD0odCxlLG4saSxyKT0+e2NvbnN0IG89ZVtyPyQodCk6dF07aWYobylmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgYT1vW2VdO2EuaW5mby5sYXN0UnVuPT09T3R8fHImJiFqdCh0LGEudHJpZ2dlcil8fChhLmluZm8ubGFzdFJ1bj1PdCxLdChhLmluZm8sbixpKSl9fTtmdW5jdGlvbiBKdCh0LGUsbixpLHIpe2xldCBvPW9lKHQsZSxuLGkscik7aWYobz09PXp0KXJldHVybiExO2xldCBhPXIubWV0aG9kSW5mbztyZXR1cm4gdC5fX2RhdGFIYXNBY2Nlc3NvciYmdC5fX2RhdGFIYXNBY2Nlc3NvclthXT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoYSxvLCEwKToodFthXT1vLCExKX1mdW5jdGlvbiBRdCh0LGUsbixpLHIsbyxhKXtuLmJpbmRpbmdzPW4uYmluZGluZ3N8fFtdO2xldCBzPXtraW5kOmksdGFyZ2V0OnIscGFydHM6byxsaXRlcmFsOmEsaXNDb21wb3VuZDoxIT09by5sZW5ndGh9O2lmKG4uYmluZGluZ3MucHVzaChzKSwoZnVuY3Rpb24gbCh0KXtyZXR1cm4gQm9vbGVhbih0LnRhcmdldCkmJiJhdHRyaWJ1dGUiIT10LmtpbmQmJiJ0ZXh0IiE9dC5raW5kJiYhdC5pc0NvbXBvdW5kJiYieyI9PT10LnBhcnRzWzBdLm1vZGV9KShzKSl7bGV0e2V2ZW50OnQsbmVnYXRlOmV9PXMucGFydHNbMF07cy5saXN0ZW5lckV2ZW50PXR8fGx0KHIpKyItY2hhbmdlZCIscy5saXN0ZW5lck5lZ2F0ZT1lfWxldCBjPWUubm9kZUluZm9MaXN0Lmxlbmd0aDtmb3IobGV0IG49MDtuPHMucGFydHMubGVuZ3RoO24rKyl7bGV0IGk9cy5wYXJ0c1tuXTtpLmNvbXBvdW5kSW5kZXg9bix0ZSh0LGUscyxpLGMpfX1mdW5jdGlvbiB0ZSh0LGUsbixpLHIpe2lmKCFpLmxpdGVyYWwpaWYoImF0dHJpYnV0ZSI9PT1uLmtpbmQmJiItIj09PW4udGFyZ2V0WzBdKWNvbnNvbGUud2FybigiQ2Fubm90IHNldCBhdHRyaWJ1dGUgIituLnRhcmdldCsnIGJlY2F1c2UgIi0iIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBzdGFydGluZyBjaGFyYWN0ZXInKTtlbHNle2xldCBvPWkuZGVwZW5kZW5jaWVzLGE9e2luZGV4OnIsYmluZGluZzpuLHBhcnQ6aSxldmFsdWF0b3I6dH07Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspe2xldCBpPW9bbl07InN0cmluZyI9PXR5cGVvZiBpJiYoaT11ZShpKSxpLndpbGRjYXJkPSEwKSx0Ll9hZGRUZW1wbGF0ZVByb3BlcnR5RWZmZWN0KGUsaS5yb290UHJvcGVydHkse2ZuOmVlLGluZm86YSx0cmlnZ2VyOml9KX19fWZ1bmN0aW9uIGVlKHQsZSxuLGkscixvLGEpe2xldCBzPWFbci5pbmRleF0sbD1yLmJpbmRpbmcsYz1yLnBhcnQ7aWYobyYmYy5zb3VyY2UmJmUubGVuZ3RoPmMuc291cmNlLmxlbmd0aCYmInByb3BlcnR5Ij09bC5raW5kJiYhbC5pc0NvbXBvdW5kJiZzLl9faXNQcm9wZXJ0eUVmZmVjdHNDbGllbnQmJnMuX19kYXRhSGFzQWNjZXNzb3ImJnMuX19kYXRhSGFzQWNjZXNzb3JbbC50YXJnZXRdKXtsZXQgaT1uW2VdO2U9SihjLnNvdXJjZSxsLnRhcmdldCxlKSxzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoZSxpLCExLCEwKSYmdC5fZW5xdWV1ZUNsaWVudChzKX1lbHNle2xldCBhPXIuZXZhbHVhdG9yLl9ldmFsdWF0ZUJpbmRpbmcodCxjLGUsbixpLG8pO2EhPT16dCYmKGZ1bmN0aW9uIHUodCxlLG4saSxyKXtyPShmdW5jdGlvbiBvKHQsZSxuLGkpe2lmKG4uaXNDb21wb3VuZCl7bGV0IHI9dC5fX2RhdGFDb21wb3VuZFN0b3JhZ2Vbbi50YXJnZXRdO3JbaS5jb21wb3VuZEluZGV4XT1lLGU9ci5qb2luKCIiKX0iYXR0cmlidXRlIiE9PW4ua2luZCYmKCJ0ZXh0Q29udGVudCIhPT1uLnRhcmdldCYmKCJ2YWx1ZSIhPT1uLnRhcmdldHx8ImlucHV0IiE9PXQubG9jYWxOYW1lJiYidGV4dGFyZWEiIT09dC5sb2NhbE5hbWUpfHwoZT1udWxsPT1lPyIiOmUpKTtyZXR1cm4gZX0pKGUscixuLGkpLHkmJihyPXkocixuLnRhcmdldCxuLmtpbmQsZSkpO2lmKCJhdHRyaWJ1dGUiPT1uLmtpbmQpdC5fdmFsdWVUb05vZGVBdHRyaWJ1dGUoZSxyLG4udGFyZ2V0KTtlbHNle2xldCBpPW4udGFyZ2V0O2UuX19pc1Byb3BlcnR5RWZmZWN0c0NsaWVudCYmZS5fX2RhdGFIYXNBY2Nlc3NvciYmZS5fX2RhdGFIYXNBY2Nlc3NvcltpXT9lW0R0LlJFQURfT05MWV0mJmVbRHQuUkVBRF9PTkxZXVtpXXx8ZS5fc2V0UGVuZGluZ1Byb3BlcnR5KGkscikmJnQuX2VucXVldWVDbGllbnQoZSk6dC5fc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUoZSxpLHIpfX0pKHQscyxsLGMsYSl9fWZ1bmN0aW9uIG5lKHQsZSl7aWYoZS5pc0NvbXBvdW5kKXtsZXQgbj10Ll9fZGF0YUNvbXBvdW5kU3RvcmFnZXx8KHQuX19kYXRhQ29tcG91bmRTdG9yYWdlPXt9KSxpPWUucGFydHMscj1uZXcgQXJyYXkoaS5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXJbdF09aVt0XS5saXRlcmFsO2xldCBvPWUudGFyZ2V0O25bb109cixlLmxpdGVyYWwmJiJwcm9wZXJ0eSI9PWUua2luZCYmKCJjbGFzc05hbWUiPT09byYmKHQ9WSh0KSksdFtvXT1lLmxpdGVyYWwpfX1mdW5jdGlvbiBpZSh0LGUsbil7aWYobi5saXN0ZW5lckV2ZW50KXtsZXQgaT1uLnBhcnRzWzBdO3QuYWRkRXZlbnRMaXN0ZW5lcihuLmxpc3RlbmVyRXZlbnQsKGZ1bmN0aW9uKHQpeyEoZnVuY3Rpb24gcih0LGUsbixpLG8pe2xldCBhLHM9dC5kZXRhaWwsbD1zJiZzLnBhdGg7bD8oaT1KKG4saSxsKSxhPXMmJnMudmFsdWUpOmE9dC5jdXJyZW50VGFyZ2V0W25dLGE9bz8hYTphLGVbRHQuUkVBRF9PTkxZXSYmZVtEdC5SRUFEX09OTFldW2ldfHwhZS5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKGksYSwhMCxCb29sZWFuKGwpKXx8cyYmcy5xdWV1ZVByb3BlcnR5fHxlLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfSkodCxlLG4udGFyZ2V0LGkuc291cmNlLGkubmVnYXRlKX0pKX19ZnVuY3Rpb24gcmUodCxlLG4saSxyLG8pe2xldCBhPXttZXRob2ROYW1lOmUubWV0aG9kTmFtZSxhcmdzOmUuYXJncyxtZXRob2RJbmZvOnIsZHluYW1pY0ZuOm89ZS5zdG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment