目前格式:HTML/XML
<!DOCTYPE html>
<html>
<head>
<title>台灣人壽|增員e快go系統</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1" />
<!-- Web Site Data -->
<meta name="format-detection" content="telephone=no" />
<meta name="keywords" content="台灣人壽,增員e快go" />
<meta name="description" content="增員e快go" />
<link rel="icon" type="image/x-icon" href="https://www.taiwanlife.com/favicon.ico" />
<link href="/css/desktop.css" rel="stylesheet" />
<link href="/css/tcav.css" rel="stylesheet" />
<script type="text/javascript" src="/scripts/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.validate.min.js"></script>
<script type="text/javascript" src="/scripts/jquery-ui.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.cookie.js"></script>
<script type="text/javascript" src="/scripts/jquery.blockUI.js"></script>
<script type="text/javascript" src="/scripts/vue.min.js"></script>
<script type="text/javascript" src="/scripts/detectIE.js"></script>
<script type="text/javascript" src="/scripts/commonlib.js"></script>
<script type="text/javascript" src="/scripts/tcav.js"></script>
<script type="text/javascript" src="/scripts/datepicker-zh-TW.js"></script>
<script type="text/javascript" src="/scripts/tcav.js"></script>
<script type="text/javascript" src="/scripts/ego.js"></script>
<script type="text/javascript" src="/scripts/ego.component.js"></script>
<script type="text/javascript" src="/scripts/ego.validate.js"></script>
<script>
if (top != self) {
top.location = encodeURI(self.location);
}
</script>
<style>
.navbar-nav a {
color: #fff;
}
.navbar-brand {
float: left;
height: 60px;
padding: 0px;
}
.nav > li > a:focus, .nav > li > a:hover {
text-decoration: none;
background-color: transparent;
}
.navbar-nav {
float: right;
margin-top: 5px;
line-height: 50px;
margin: 5px 20px 0px 20px
}
.navbar-nav > li {
float: left;
}
.navbar-nav > li a {
text-decoration: none
}
.navbar-nav li+li {
margin-left: 15px
}
header {
/* background-color: rgb(0, 124, 125); */
height: 70px;
font-family: Arial, "Noto Sans TC", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", sans-serif, tcav;
/* color: #7a7676;
*/
color: #000;
line-height: 1.42857143;
font-size: 16px;
}
footer {
padding: 30px 0 10px 0;
background-color: rgb(0, 124, 125);
color: #fff;
font-family: Arial, "Noto Sans TC", "儷黑 Pro", "LiHei Pro", "微軟正黑體", "Microsoft JhengHei", sans-serif;
/* color: #7a7676;
*/
color: #000;
line-height: 1.42857143;
font-size: 16px;
}
footer a {
color: #fff;
text-decoration: none;
}
.declaration {
text-align: center;
margin: 200px 20px 0px 20px
}
.login-btn a {
color: #fff
}
ul {
list-style: none;
padding: 0;
}
.login-btn {
height: 24px;
font-weight: bolder;
background-color: transparent;
float: right;
margin-top: 11px;
border-radius: 0px;
border-width: 1px;
border-style: solid;
border-color: rgb(255, 255, 255);
border-image: initial;
padding: 6px 10px;
}
.login-btn+.login-btn {
margin-right: 10px
}
.contact > li + li {
margin-top: 2px;
}
.stealthy {
left: 0;
margin: 0;
max-height: 1px;
max-width: 1px;
opacity: 0;
outline: none;
overflow: hidden;
pointer-events: none;
position: absolute;
top: 0;
z-index: -1;
}
input:disabled {
background: #ccc;
}
label.error, div.error {
color: #cc0000;
white-space: nowrap;
font-size: 13px;
line-height: 1.5;
}
label.error:before, div.error:before {
content: "\f06a";
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: 0px 4px 0px 8px;
}
[v-cloak] {
display: none;
}
</style>
<script type="text/javascript" src="/scripts/jquery.ui.monthpicker.js"></script>
<script type="text/javascript" src="/scripts/jquery.ui.monthpicker.zh-TW.js"></script>
<style>
.tab-text {
float: left;
margin-left: 80px;
margin-right: 3px;
}
.tab-alert {
width: 20px;
height: 20px;
margin-top: -2px;
border-radius: 50px;
background-color: #cc0000;
font-family: arial;
float: left;
}
.tab-alert-text {
padding-top: 2px;
color: #fff;
font-size: 13x;
}
.upload {
float: left;
width: 300px;
/*height: auto;*/
height: 170px;
border: 1px solid #cccccc;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
outline: 0;
margin: 15px 15px 15px 10px;
}
.upload-title {
width: 298px;
height: auto;
padding: 15px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px 7px 0px 0px;
outline: 0;
background-color: #007d7d;
color: #fff;
}
.upload:nth-child(3n+2) {
margin-left: 15px;
}
.required:before {
content: "*";
color: #E70112;
font-weight: bold;
font-size: 15px;
}
</style>
</head>
<body>
<div id="mask"></div>
<div class="container">
<!--Header區塊開始-->
<header id="header">
<div class="header-wrap">
<a href="https://www.taiwanlife.com/" target="_blank">
<img id="logo" src="/images/header_twlogo.png" style="width: auto; height: 70px;" />
</a>
<div style="float: right; height: 100%; width: 220px;">
<div class="top-nav">
<div class="welcome">
Hi,熊抱哥1你好<br />歡迎來到報聘審核流程
</div>
<div class="logout">
|
<a href="/recruit/logout">
登出 <img src="/images/idxmenu_logout.svg" />
</a>
</div>
</div>
</div>
<div class="top-nav">
<div class="welcome" style="float: left; display: block; padding-right: 300px; margin-top: 20px;">
<img src="/images/icon_set.png">
<a href="javascript:void(0);" style="margin-top: 0px;" @click="updateProfile">其他設定</a>
</div>
<div class="welcome" style="float: left; display: block; padding-right: 190px; margin-top: 20px;">
<img src="/images/icon_set.png">
<a href="javascript:void(0)" style="margin-top: 0px;" @click="changePinCode">變更密碼</a>
</div>
</div>
</div>
<div id="popup-logout" class="box-model">
<div class="box-alert">
<div class="logout-popup-icon">
<span class="text-red">
剩餘時間:{{ timer.timeout | formatTimeout }}
</span>
</div>
<div class="row">
<span class="popup-close" onclick="$('#popup-logout').hide();">
<img src="/images/close.svg" />
</span>
</div>
<hr />
<div class="text">
<span class="font13">
親愛的 <span class="text-greendark">熊抱哥1</span> 先生/小姐您好
</span>
<div class="space10"></div>
<span class="text-bold text-black">
資安公告:為確保您的資訊安全,若您進入本系統超過15分鐘,系統將會自動登出,造成不便之處敬請原諒!
</span>
<div class="space20"></div>
<div class="font13">
本系統將於5分鐘後自動登出,若您欲繼續使用,請點下方按鈕即可。
<div class="space10"></div>
<span class="text-greendark">客戶服務專線:0800-099-850,服務時間:週一至週日08:00~24:00</span>
</div>
</div>
<div class="row">
<input type="button" class="popup-ok" style="width: 160px" value="繼續使用" @click="stopReminder" />
</div>
</div>
</div>
</header>
<script type="text/javascript">
var header = new Vue({
el: "#header",
data: {
sessionTimeout: "15m",
reminder: 5 * 60, // 倒數提醒(單位: 秒)
timer: {
timeout: 0,
timer: undefined
}
},
filters: {
formatTimeout(value) { // 單位: 秒
if (0 == value) {
return "0分0秒";
}
var min = Math.floor(value / 60);
var sec = value % 60;
return min + "分" + (0 < sec ? $.padLeft(sec, 2) + "秒" : "");
},
},
mounted() {
this.init();
},
methods: {
init() {
var vm = this;
var pattern = new RegExp(/^(\d+)([a-z])$/gi);
var matches = pattern.exec(this.sessionTimeout);
var time = 15 * 60;
if (matches) {
time = matches[1];
var unit = matches[2];
switch (unit) {
case "s": // 秒
time *= 1;
break;
case "m": // 分
time *= 60;
break;
case "h": // 時
time *= 60 * 60;
break;
case "d": // 天
time *= 24 * 60 * 60;
break;
}
}
this.sessionTimeout = time;
this.restartTimer();
},
updateProfile() {
ego.changeUrl(url.user.updateProfile);
},
changePinCode() {
ego.changeUrl(url.user.changePinCode);
},
restartTimer() {
ego.log.debug("restartTimer");
ego.ajax.keepAlive();
this.startTimer((this.sessionTimeout - this.reminder) * 1000);
},
startTimer(timeout) {
ego.log.debug("startTimer", timeout);
var vm = this;
if (this.timer.timer) {
this.stopReminder();
}
setTimeout(function() {
setPopupModel(vm, 'popup-logout', 'logout-alert', '');
vm.startReminder(vm.reminder);
}, timeout);
},
startReminder(timeout) {
ego.log.debug("startReminder", timeout);
var vm = this;
this.timer.timeout = timeout;
this.timer.timer = setInterval(function() {
vm.timer.timeout -= 1;
if (0 >= vm.timer.timeout) {
vm.stopReminder();
vm.logout();
}
}, 1000);
},
stopReminder() {
ego.log.debug("stopReminder");
clearInterval(this.timer.timer);
this.timer.timeout = 0;
},
logout() {
var url = "\/recruit\/logout";
ego.changeUrl(url);
}
}
});
</script>
<!--Header區塊結束-->
<!--Content區塊開始-->
<div id="app" class="content-wrap" v-cloak>
<div class="main1">
<!--麵包屑-->
<div class="breadcrumb">所在位置:<a href="javascript:void(0);"><span class="breadcrumb-home">首頁</span></a></div>
<hr id="breadcrumb-split" />
<div class="space30"></div>
<div style="line-height: 35px;">
<p style="float: left;">
<span style="margin-right: 15px;">
<i class="fa fa-building" aria-hidden="true"></i> 通訊處:樂高通訊處
</span>
<span style="margin-right: 15px;">
<i class="fa fa-id-badge" aria-hidden="true"></i> 擬任用層級:行銷職
</span>
<span style="margin-right: 15px;">
<i class="fa fa-user-circle-o" aria-hidden="true"></i> 直屬主管:王銘慧
</span>
<span style="margin-right: 15px;">
<i class="fa fa-user" aria-hidden="true"></i> 推薦人:王銘慧
</span>
</p>
<br>
<p style="font-size: 13px; color: #cc0000;" >
<i class="fa fa-exclamation-circle" aria-hidden="true"></i> 請確認填寫內容正確性
</p>
</div>
<div class="space10"></div>
<div class="space30">
<h3 id="greendark"><span class="backslash"></span><span class="text">報聘資料填寫</span></h3>
</div>
<!--頁籤+表格呈現-->
<div>
<div class="tablist">
<div class="tablist-btn active" id="btn-basic01">
<div><span class="tab-text">文件上傳</span></div>
<div class="tab-alert" v-show="alert.form01">
<p class="tab-alert-text">!</p>
</div>
</div>
<div class="tablist-btn" id="btn-basic02">
<div><span class="tab-text">基本資料</span></div>
<div class="tab-alert" v-show="alert.form02">
<p class="tab-alert-text">!</p>
</div>
</div>
<div class="tablist-btn" id="btn-basic03">
<div><span class="tab-text">學經歷</span></div>
<div class="tab-alert" v-if="alert.form03">
<p class="tab-alert-text">!</p>
</div>
</div>
<div class="tablist-btn" id="btn-basic04">
<div><span class="tab-text">背景聲明</span></div>
<div class="tab-alert" v-if="alert.form04">
<p class="tab-alert-text">!</p>
</div>
</div>
</div>
<!-- Start form -->
<form class="form" id="form01" name="form01">
<div id="div-basic01" class="tablist-content">
<div class="space30"></div>
<file-uploader v-for="(uploadDefine, index) in userData.uploadDefines"
:key="uploadDefine.fileType"
:sys-code="userData.user.sysCode"
:user-id="userData.user.userId"
:index="index"
:upload-define="uploadDefine"
@upload="handleFile"
@delete="handleFile">
</file-uploader>
<div class="space20"></div>
<div class="vspace20">
<table class="table-row">
<tbody>
<tr class="tr-form-row">
<td style="width: 40%"></td>
<td style="width: 10%"></td>
<td style="width: 10%">
<input type="button" class="btnform-enter01" value="暫存" @click="save">
</td>
</tr>
</tbody>
</table>
</div>
<div class="space30"></div>
<div class="remark-outer-wrap">
<div class="remark-wrap">
<p>備註:</p>
<div class="remark-items">
<ol>
<li>檔案上傳格式限 JPG/JEPG/PNG/GIF/PDF</li>
<li>二吋彩色大頭貼檔案上傳格式限 JPG</li>
<li>檔案上限 10M</li>
</ol>
</div>
</div>
</div>
</div>
</form>
<!-- End form -->
<!-- Start form -->
<form class="form" id="form02" name="form02">
<div id="div-basic02" class="tablist-content hide">
<div class="space20"></div>
<table class="table-simple" style="width: 85%; line-height: 50px;">
<tbody>
<tr>
<th style="width: 25%" class="text-right">
姓名<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" placeholder="姓名" style="width: 50%;" disabled :value="userData.user.userName">
</td>
</tr>
<tr>
<th style="width: 25%" class="text-right">
原住民姓名<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="romanName" name="romanName" class="txtform-text border-gray" data-maxlength="200" maxlength="200" placeholder="原住民姓名" style="width: 50%;" v-model="userData.userDetail.romanName">
</td>
</tr>
<tr>
<th class="text-right">
性別<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" placeholder="性別" style="width: 50%;" disabled value="女">
</td>
</tr>
<tr>
<th class="text-right">
身分證字號<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" placeholder="身分證字號" style="width: 50%;" disabled :value="userData.user.userId">
</td>
</tr>
<tr>
<th class="text-right">
出生年月日<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" placeholder="出生年月日" style="width: 50%;" disabled :value="userData.user.birthday">
</td>
</tr>
<tr>
<th class="text-right">
手機號碼<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="tel2" name="tel2" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.tel2">
</td>
</tr>
<tr>
<th class="text-right">
住家電話<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="tel1" name="tel1" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.tel1">
</td>
</tr>
<tr>
<th class="text-right">
電子郵件<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="mail" name="mail" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.mail">
</td>
</tr>
<tr>
<th class="text-right">
緊急聯絡人姓名<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="criName" name="criName" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.criName">
</td>
</tr>
<tr>
<th class="text-right">
緊急聯絡人關係<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" style="width: 50%;" disabled value="兄弟姐妹">
</td>
</tr>
<tr>
<th class="text-right">
緊急聯絡人連絡電話<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="critel" name="critel" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.criTel">
</td>
</tr>
<tr>
<th class="text-right">
戶籍地址<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="addr1" name="addr1" class="txtform-text border-gray" disabled v-model="userData.userDetail.addr1">
</td>
</tr>
<tr>
<th class="text-right">
通訊地址<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="addr2" name="addr2" class="txtform-text border-gray" disabled v-model="userData.userDetail.addr2">
</td>
</tr>
<tr>
<th class="text-right required">
兵役調查<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<div class="radiobutton-wrap">
<input type="radio" id="army_exempt" name="army" value="0" v-model="userData.userDetail.army">
<label for="army_exempt">免役</label>
<input type="radio" id="army_served" name="army" value="1" v-model="userData.userDetail.army">
<label for="army_served">役畢</label>
<input type="radio" id="army_unserved" name="army" value="2" v-model="userData.userDetail.army">
<label for="army_unserved">未役</label>
</div>
</td>
</tr>
<tr>
<th class="text-right">
婚姻狀況<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" style="width: 50%;" disabled value="未婚">
</td>
</tr>
<tr>
<th class="text-right required">
中信銀台幣銀行帳戶<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="ctbcAccountBranch" name="ctbcAccountBranch" class="txtform-text border-gray" data-maxlength="20" maxlength="20" placeholder="分行名稱" style="width: 20%;" v-model="userData.userDetail.ctbcAccountBranch">
<input type="text" id="ctbcAccountAccountNumber" name="ctbcAccountAccountNumber" class="txtform-text border-gray" data-maxlength="12" maxlength="12" placeholder="帳戶號碼 (12碼)" style="width: 25%;" v-model="userData.userDetail.ctbcAccountAccountNumber">
</td>
</tr>
</tbody>
</table>
<div class="space20"></div>
<div class="vspace20">
<table class="table-row">
<tbody>
<tr class="tr-form-row">
<td style="width:55%"></td>
<td style="width:15%">
<input type="button" class="btnform-enter01" value="暫存" @click="save">
</td>
</tr>
</tbody>
</table>
</div>
<div class="space50"></div>
<div class="remark-outer-wrap">
<div class="remark-wrap">
<p>備註:</p>
<div class="remark-items">
<ol>
<li>若有異動請洽營規四科。</li>
</ol>
</div>
</div>
</div>
</div>
</form>
<!-- End form -->
<!-- Start form -->
<form class="form" id="form03" name="form03">
<div id="div-basic03" class="tablist-content hide">
<!-- 內容:學歷資料 -->
<div class="bg-gray">
<p class="font16">學歷資料</p>
</div>
<table class="table-simple" style="width:85%;line-height:50px;">
<tbody>
<tr>
<th style="width:45%;" class="text-right">
最高學歷<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" class="txtform-text border-gray" style="width: 50%;" disabled value="高中/職">
</td>
</tr>
<tr>
<th class="text-right">
學校名稱<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="school" name="school" class="txtform-text border-gray" style="width: 50%;" disabled :value="userData.userDetail.school">
</td>
</tr>
<tr>
<th class="text-right">
科系<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="major" name="major" class="txtform-text border-gray" style="width: 50%;"disabled :value="userData.userDetail.major">
</td>
</tr>
<tr>
<th class="text-right">
是否曾任職保險業業務員<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<div class="radiobutton-wrap">
<input type="radio" id="usedtobeAgent_Y" name="usedtobeAgent" value="Y" v-model="userData.userDetail.usedtobeAgent">
<label for="usedtobeAgent_Y">是</label>
<input type="radio" id="usedtobeAgent_N" name="usedtobeAgent" value="N" v-model="userData.userDetail.usedtobeAgent">
<label for="usedtobeAgent_N">否</label>
</div>
</td>
</tr>
<tr>
<th class="text-right">
是否曾任職本公司業務員<span style="font-size: 9px;">(包含台灣/宏利/大都會人壽)</span><span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<div class="radiobutton-wrap">
<input type="radio" id="usedtobeAgentTW_Y" name="usedtobeAgentTW" value="Y" v-model="userData.userDetail.usedtobeAgentTW">
<label for="usedtobeAgentTW_Y">是</label>
<input type="radio" id="usedtobeAgentTW_N" name="usedtobeAgentTW" value="N" v-model="userData.userDetail.usedtobeAgentTW">
<label for="usedtobeAgentTW_N">否</label>
</div>
</td>
</tr>
</tbody>
</table>
<!-- 內容:經歷資料 -->
<div class="bg-gray" v-if="hasWorkExp">
<p class="font16">經歷資料</p>
</div>
<div style="margin: 0px -12px" v-if="hasWorkExp">
<table class="table-form">
<thead>
<tr>
<th style="width: 30%">公司名稱</th>
<th style="width: 30%">工作期間</th>
<th style="width: 30%">通訊處</th>
</tr>
</thead>
<tbody>
<tr class="tr-emptytop">
<td colspan="6"></td>
</tr>
<tr class="tr-content">
<td>1</td>
<td>2024-01~2024-01</td>
<td>1</td>
</tr>
<tr class="tr-emptybtm">
<td colspan="6"></td>
</tr>
</tbody>
</table>
</div>
<div class="space20" v-if="hasWorkOtherExp"></div>
<!-- 內容:其他工作經歷資料 -->
<div class="bg-gray" v-if="hasWorkOtherExp">
<p class="font16">其他工作經歷資料</p>
</div>
<div style="margin: 0px -12px" v-if="hasWorkOtherExp">
<table class="table-form">
<thead>
<tr>
<th style="width: 20%">公司名稱</th>
<th style="width: 20%">工作期間</th>
<th style="width: 10%">職稱</th>
<th style="width: 15%">行業別</th>
<th style="width: 30%">工作內容</th>
<th style="width: 10%"> </th>
</tr>
</thead>
<tbody>
<tr class="tr-emptytop">
<td colspan="6"></td>
</tr>
<tr class="tr-content">
<td>1</td>
<td>2024-01~2024-01</td>
<td>1</td>
<td></td>
<td colspan="2">1</td>
</tr>
<tr class="tr-content">
<td>2</td>
<td>2024-02~2024-02</td>
<td>2</td>
<td>金融業</td>
<td colspan="2">2</td>
</tr>
<tr class="tr-content">
<td>3</td>
<td>2024-03~2024-03</td>
<td>3</td>
<td>醫療業</td>
<td colspan="2">3</td>
</tr>
<tr class="tr-emptybtm">
<td colspan="6"></td>
</tr>
</tbody>
</table>
</div>
<div class="space20"></div>
<div class="vspace20">
<table class="table-row">
<tbody>
<tr class="tr-form-row">
<td style="width:55%"></td>
<td style="width:15%">
<input type="button" class="btnform-enter01" value="暫存" @click="save">
</td>
</tr>
</tbody>
</table>
</div>
<div class="space50"></div>
<div class="remark-outer-wrap">
<div class="remark-wrap">
<p>備註:</p>
<div class="remark-items">
<ol>
<li>若有異動請洽營規四科。</li>
</ol>
</div>
</div>
</div>
</div>
</form>
<!-- End form -->
<!-- Start form -->
<form class="form" id="form04" name="form04">
<div id="div-basic04" class="tablist-content hide">
<div class="space20"></div>
<table class="table-simple" style="width:95%;line-height:50px;">
<tbody>
<tr>
<th style="width: 25%" class="text-right required">
信用報告分數<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td style="width: 25%">
<input type="text" id="creditRptDegree" name="creditRptDegree" class="txtform-text border-gray" data-maxlength="4" maxlength="4" placeholder="信用報告分數" style="width: 90%;" v-model="userData.userBackground.creditRptDegree" @focusout="handleCreditRptDegree">
</td>
<th style="width: 18%" class="text-right required">
信用報告日期<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td style="width: 32%">
<date-picker type="text" id="creditRptDate" name="creditRptDate" class="txtform-text border-gray" data-maxlength="10" maxlength="10" placeholder="信用報告日期" style="width: 90%;" start-offset="-90" v-model="userData.userBackground.creditRptDate" @change="handleDate">
</date-picker>
</td>
</tr>
<tr>
<th class="text-right required">
人身保險合格證號<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="lifeRegisterId" name="lifeRegisterId" class="txtform-text border-gray" data-maxlength="10" maxlength="10" placeholder="人身保險合格證號" style="width: 50%;" v-model="userData.userBackground.lifeRegisterId" />
</td>
</tr>
<tr>
<th class="text-right">
金融常識合格證號<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<input type="text" id="fincRegisterId" name="fincRegisterId" class="txtform-text border-gray" data-maxlength="10" maxlength="10" placeholder="金融常識合格證號" style="width: 50%;" v-model="userData.userBackground.fincRegisterId">
</td>
</tr>
<tr>
<th class="text-right required">
人身保險登錄狀況<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<div class="radiobutton-wrap">
<input type="radio" id="lifeRegStatus_life_reg_status_0" name="lifeRegStatus" value="0" v-model="userData.userBackground.lifeRegStatus">
<label for="lifeRegStatus_life_reg_status_0">尚未登錄</label>
<input type="radio" id="lifeRegStatus_life_reg_status_1" name="lifeRegStatus" value="1" v-model="userData.userBackground.lifeRegStatus">
<label for="lifeRegStatus_life_reg_status_1">曾經登錄但已註銷</label>
<input type="radio" id="lifeRegStatus_life_reg_status_2" name="lifeRegStatus" value="2" v-model="userData.userBackground.lifeRegStatus">
<label for="lifeRegStatus_life_reg_status_2">已登錄但尚未註銷</label>
<a href="#" style="font-size: 13px;color:#007d7d;text-decoration: none;" target="_blank" :href="link.lifeOrg">
<i class="fa fa-search" aria-hidden="true"></i> 查詢證號「壽險公會網站」
</a>
</div>
</td>
</tr>
<tr>
<th class="text-right required">
財產保險登錄狀況<span class="text-lightgray text-bold"> ▎ </span>
</th>
<td colspan="3">
<div class="radiobutton-wrap">
<input type="radio" id="genRegStatus_gen_reg_status_0" name="genRegStatus" value="0" v-model="userData.userBackground.genRegStatus">
<label for="genRegStatus_gen_reg_status_0">未取得</label>
<input type="radio" id="genRegStatus_gen_reg_status_1" name="genRegStatus" value="1" v-model="userData.userBackground.genRegStatus">
<label for="genRegStatus_gen_reg_status_1">尚未登錄</label>
<input type="radio" id="genRegStatus_gen_reg_status_2" name="genRegStatus" value="2" v-model="userData.userBackground.genRegStatus">
<label for="genRegStatus_gen_reg_status_2">曾經登錄但已註銷</label>
<input type="radio" id="genRegStatus_gen_reg_status_3" name="genRegStatus" value="3" v-model="userData.userBackground.genRegStatus">
<label for="genRegStatus_gen_reg_status_3">已登錄但尚未註銷</label>
<a href="#" style="font-size: 13px;color:#007d7d;text-decoration: none;" target="_blank" :href="link.generalOrg">
<i class="fa fa-search" aria-hidden="true"></i> 查詢登錄狀況「產險公會網站」
</a>
</div>
</td>
</tr>
</tbody>
</table>
<div class="space20"></div>
<hr style="width: 90%; color:#666666;">
<div class="space20"></div>
<table class="table-simple" style="width: 90%; line-height: 50px;">
<tbody>
<tr>
<th style="width: 38%" class="text-right">
是否有親屬在本公司擔任業務員?
</th>
<td style="width: 13%" colspan="2">
<div class="radiobutton-wrap">
<input type="radio" id="parentAgent_Y" name="parentAgent" value="Y" v-model="userData.userBackground.parentAgent" @change="handleDependency($event, 'parentName', 'parentRela')">
<label for="parentAgent_Y">是</label>
<input type="radio" id="parentAgent_N" name="parentAgent" value="N" v-model="userData.userBackground.parentAgent" @change="handleDependency($event, 'parentName', 'parentRela')">
<label for="parentAgent_N">否</label>
</div>
</td>
<td style="width: 37%">
親屬姓名
<input type="text" id="parentName" name="parentName" class="txtform-text border-gray" data-maxlength="10" placeholder="親屬姓名" style="width: 33%;" v-model="userData.userBackground.parentName">
親屬關係
<div class="ddl-wrap ddl-inline">
<select id="parentRela" name="parentRela" style="width: 30%" v-model="userData.userBackground.parentRela">
<option value="">請選擇</option>
<option value="1" >父子(女)</option>
<option value="2" >母子(女)</option>
<option value="3" >夫妻</option>
<option value="4" >其他</option>
</select>
</div></td>
</tr>
<tr>
<th style="width: 38%" class="text-right required">
是否曾違反業務人員管理規則而受懲處紀錄?
</th>
<td style="width: 13%" colspan="2">
<div class="radiobutton-wrap">
<input type="radio" id="punishHistory_Y" name="punishHistory" value="Y" v-model="userData.userBackground.punishHistory" @change="handleDependency($event, 'punishHisDetail')">
<label for="punishHistory_Y">是</label>
<input type="radio" id="punishHistory_N" name="punishHistory" value="N" v-model="userData.userBackground.punishHistory" @change="handleDependency($event, 'punishHisDetail')">
<label for="punishHistory_N">否</label>
</div>
</td>
<td style="width: 37%">
<input type="text" id="punishHisDetail" name="punishHisDetail" class="txtform-text border-gray" data-maxlength="10" placeholder="詳細說明" style="width: 90%;" v-model="userData.userBackground.punishHisDetail">
</td>
</tr>
<tr>
<th style="width: 38%" class="text-right required">
是否曾受公會懲處紀錄?
</th>
<td style="width:13%" colspan="2">
<div class="radiobutton-wrap">
<input type="radio" id="liaPunishHistory_Y" name="liaPunishHistory" value="Y" v-model="userData.userBackground.liaPunishHistory" @change="handleDependency($event, 'liaPunishHisDetail')">
<label for="liaPunishHistory_Y">是</label>
<input type="radio" id="liaPunishHistory_N" name="liaPunishHistory" value="N" v-model="userData.userBackground.liaPunishHistory" @change="handleDependency($event, 'liaPunishHisDetail')">
<label for="liaPunishHistory_N">否</label>
</div>
</td>
<td style="width: 37%">
<input type="text" id="liaPunishHisDetail" name="liaPunishHisDetail" class="txtform-text border-gray" data-maxlength="10" placeholder="詳細說明" style="width: 90%;" v-model="userData.userBackground.liaPunishHisDetail">
</td>
</tr>
<tr>
<th style="width: 38%" class="text-right required">
是否有刑事犯罪紀錄?
</th>
<td style="width: 13%" colspan="2">
<div class="radiobutton-wrap">
<input type="radio" id="crimeHistory_Y" name="crimeHistory" value="Y" v-model="userData.userBackground.crimeHistory" @change="handleDependency($event, 'crimeDetail')">
<label for="crimeHistory_Y">是</label>
<input type="radio" id="crimeHistory_N" name="crimeHistory" value="N" v-model="userData.userBackground.crimeHistory" @change="handleDependency($event, 'crimeDetail')">
<label for="crimeHistory_N">否</label>
</div>
</td>
<td style="width: 37%">
<input type="text" id="crimeDetail" name="crimeDetail" class="txtform-text border-gray" data-maxlength="10" placeholder="詳細說明" style="width: 90%;" v-model="userData.userBackground.crimeDetail">
</td>
</tr>
</tbody>
</table>
<div class="space20"></div>
<div class="vspace20">
<table class="table-row">
<tbody>
<tr class="tr-form-row">
<td style="width: 55%"></td>
<td style="width: 15%">
<input type="button" class="btnform-enter01" value="暫存" @click="save">
</td>
<td style="width: 15%">
<input type="button" class="btnform-enter" value="遞交" @click="apply">
</td>
</tr>
</tbody>
</table>
</div>
<div class="space50"></div>
<div class="remark-outer-wrap">
<div class="remark-wrap">
<p>備註:</p>
<div class="remark-items">
<ol>
<li>若有異動請洽營規四科。</li>
</ol>
</div>
</div>
</div>
</div>
</form>
<!-- End form -->
</div>
</div>
<div class="space30"></div>
</div>
<img src="/images/circleshadow.png" style="width:100%" />
<div class="space20"></div>
<div class="container">
<div class="loader-wrap">
<div class="loader"></div>
</div>
</div>
<div id="defaultPopup" class="box-model">
<div class="box-alert">
<div class="popup-icon">
<span class="text-bold text-black popup-title">
</span>
</div>
<div class="row">
<span class="popup-close">
<img src="/images/close.svg" />
</span>
</div>
<hr />
<div id="alert-text" class="text" style="margin: 20px 10px; word-break: break-all;"></div>
<div class="row">
<input type="button" class="popup-ok" style="width: 160px" value="確定" />
<input type="button" class="popup-cancel" style="width: 160px" value="取消" />
</div>
</div>
</div>
<!--Footer區塊開始-->
<div class="footer">
<div class="footer-wrap">
<div class="line-wrap">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
<div class="footer-text">台灣人壽 地址:台北市南港區11568經貿二路188號8樓 客戶服務專線:0800-099-850 或 (02)8170-5156 </div>
</div>
</div>
<!--Footer區塊結束-->
</div>
<script type="text/javascript">
var url = {
user: {
home: "\/recruit",
portal: "\/recruit\/portal",
register: "\/recruit\/register",
forgotPinCode: "\/recruit\/forgotPinCode",
changePinCode: "\/recruit\/changePinCode",
updateProfile: "\/recruit\/updateProfile",
logout: "\/recruit\/logout"
},
agent: {
portal: "\/agent\/portal",
bindAccount: "\/agent\/bindAccount",
preliminaryReview: "\/agent\/preliminaryReview",
logout: "\/agent\/logout"
},
staff: {
portal: "\/staff\/portal",
logout: "\/staff\/logout"
},
portal: {
cbs: "null\/portal\/cbs",
elearning: "null\/portal\/elearning"
}
};
var cookie = {
user: "_ego__2002879037",
forgot: {
date: "_ego_38839206",
times: "_ego_1669261156"
}
};
$(document).ready(function() {
$(".breadcrumb-home").click(function() {
var home = url.user.portal;
ego.changeUrl(home);
});
});
</script>
<script type="text/javascript">
var app = new Vue({
el: "#app",
data: {
// 準增員資料
userData: {
isNew: true,
/* 文件上傳 */
uploadDefines: [
/*
{
jobType: "A1",
fileType: "Head2inch",
fileDesc: "二吋彩色大頭貼",
fileHead: "二吋彩色大頭貼",
uploaded: 1,
alertMark: null,
notAlertMarked: false,
alertMarked: false
}
*/
],
/* 基本資料 */
// 準增員主檔
user: {
// 使用者系統編號 Integer
sysCode: "",
// 身分證字號/帳號
userId: "",
// 姓名
userName: "",
// 羅馬拚音
romanName: "",
// 電子郵件
email: "",
// 手機號碼
mobilePhone: "",
// 出生日期 yyyyMMdd
birthday: "",
// 直屬主管登錄證號
dsRegisterId: "",
// 直屬主管
dsAgent: {
userId: "",
userName: "",
agentCode: "",
registerNo: "",
lineCode: "",
agentChannel: "",
mobilePhone: "",
email: "",
branchCode: "",
branchName: "",
branchManager: "",
branchManagerEmail: "",
branchManagerMobile: "",
branchAssistant: "",
centerCode: "",
centerName: "",
centerManager: "",
centerManagerEmail: "",
centerManagerMobile: "",
levelCode: "",
levelTitle: "",
agentStatusCode: "",
agentStatus: "",
leaveDate: "",
aguiCenter: "",
aguiManager: "",
aguiCenterName: "",
createTime: ""
},
// 推薦人登錄證號
refRegisterId: "",
// 推薦人
refAgent: {
userId: "",
userName: "",
agentCode: "",
registerNo: "",
lineCode: "",
agentChannel: "",
mobilePhone: "",
email: "",
branchCode: "",
branchName: "",
branchManager: "",
branchManagerEmail: "",
branchManagerMobile: "",
branchAssistant: "",
centerCode: "",
centerName: "",
centerManager: "",
centerManagerEmail: "",
centerManagerMobile: "",
levelCode: "",
levelTitle: "",
agentStatusCode: "",
agentStatus: "",
leaveDate: "",
aguiCenter: "",
aguiManager: "",
aguiCenterName: "",
createTime: ""
},
// 通訊處代號
commCode: "",
// 通訊處
commUnit: {
agentChannel: "",
commCode: "",
commName: "",
areaCenter: {
agentChannel: "",
centerCode: "",
centerName: "",
isDelete: false
},
assistant: {
employeeNo: "",
employeeName: "",
enableSendSms: false,
enableSendEmail: false,
email: "",
mobilePhone: "",
modifyTime: ""
},
isDelete: false
},
// 職務代碼
jobId: "",
// 職務類別
jobType: "",
// 新增時間 yyyy-MM-dd'T'HH:mm:ss
createTime: "",
// 修改時間 yyyy-MM-dd'T'HH:mm:ss
modifyTime: "",
// 狀態
status: "",
// 是否結案
isClose: false,
// 是否已簽署聲明事項
agreementSigned: false
},
// 準增員詳細資料檔
userDetail: {
// 準增員主要key值
sysCode: "",
// 新增時間 yyyy-MM-dd'T'HH:mm:ss
addDate: "",
// 更新時間 yyyy-MM-dd'T'HH:mm:ss
updDate: "",
//
enName: "",
// 英文姓名
eegName: "",
// 報聘單位/推薦人/增員者
myReferrer: "",
// 同業經歷
mySameExperience: "",
// 是否有親屬在本公司任職
isWorkHere: "",
// Line ID
lineID: "",
// 性別
sex: "",
// 婚姻
marry: "",
// 血型
blood: "",
// 子女人數
brood: "",
// 住家電話
tel1: "",
// 行動電話
tel2: "",
// 電子郵件
mail: "",
// 原住民姓名
romanName: "",
// 緊急聯絡人姓名
criName: "",
// 緊急聯絡人關係 0:配偶 1:子女 2:父母 3:兄弟姐妹 4:朋友 5:其他
criRel: "",
// 緊急聯絡人電話
criTel: "",
// 學歷 0:其他 1:研究所 2:大學 3:專科 4:高中/職 5:國中 6:小學
degree: "",
// 最高學歷學校名稱
school: "",
// 科系
major: "",
// 畢業 0:畢業 1:肄業 2:其他
grade: "",
// 學校社團經驗 0:無 1:有
asso: "",
// 學校社團擔任幹部名稱
assoName: "",
// 公司名稱1
com1: "",
// 任職期間年(起)
fdateY1: "",
// 任職期間月(起)
fdateM1: "",
// 任職期間年(迄)
tdateY1: "",
// 任職期間月(迄)
tdateM1: "",
// 年資 ex:1.2(年)
expt1: "",
// 職稱
title1: "",
// 工作屬性 0:業務性 1:非業務性
property1: "",
// 年收入 萬元
income1: "",
// 行業別 0:保險業 1:金融業 2:醫療業 3:其他行業
industry1: "",
// 公司名稱2
com2: "",
// 任職期間年(起)
fdateY2: "",
// 任職期間月(起)
fdateM2: "",
// 任職期間年(迄)
tdateY2: "",
// 任職期間月(迄)
tdateM2: "",
// 年資 ex:1.2(年)
expt2: "",
// 職稱
title2: "",
// 工作屬性 0:業務性 1:非業務性
property2: "",
// 年收入 萬元
income2: "",
// 行業別 0:保險業 1:金融業 2:醫療業 3:其他行業
industry2: "",
// 公司名稱3
com3: "",
// 任職期間年(起)
fdateY3: "",
// 任職期間月(起)
fdateM3: "",
// 任職期間年(迄)
tdateY3: "",
// 任職期間月(迄)
tdateM3: "",
// 年資 ex:1.2(年)
expt3: "",
// 職稱
title3: "",
// 工作屬性 0:業務性 1:非業務性
property3: "",
// 年收入 萬元
income3: "",
// 行業別 0:保險業 1:金融業 2:醫療業 3:其他行業
industry3: "",
// 配偶職業
partnerJob: "",
// 壽險證照
cert1: "",
// 產險證照
cert2: "",
// 投資型證照
cert3: "",
// 配偶其他
certElse: "",
// 外幣證照
cert4: "",
// 身份證字號
pid: "",
// 戶籍地址
addr1: "",
// 戶籍地址-郵遞區號
addr1PostalCode: "",
// 戶籍地址-縣市
addr1City: "",
// 戶籍地址-鄉鎮市區
addr1Towns: "",
// 戶籍地址-路/段/道/街/村/里
addr1Village: "",
// 戶籍地址-鄰
addr1RoadStreet: "",
// 戶籍地址-巷
addr1Lane: "",
// 戶籍地址-弄
addr1Alley: "",
// 戶籍地址-衖
addr1Section: "",
// 戶籍地址-號
addr1Number: "",
// 戶籍地址-樓
addr1Floor: "",
// 戶籍地址-備註
addr1Remark: "",
// 通訊地址
addr2: "",
// 通訊地址-郵遞區號
addr2PostalCode: "",
// 通訊地址-縣市
addr2City: "",
// 通訊地址-鄉鎮市區
addr2Towns: "",
// 通訊地址-路/段/道/街/村/里
addr2Village: "",
// 通訊地址-鄰
addr2RoadStreet: "",
// 通訊地址-巷
addr2Lane: "",
// 通訊地址-弄
addr2Alley: "",
// 通訊地址-衖
addr2Section: "",
// 通訊地址-號
addr2Number: "",
// 通訊地址-樓
addr2Floor: "",
// 通訊地址-備註
addr2Remark: "",
// 兵役調查
army: "",
// 中信銀台幣帳務-分行名稱
ctbcAccountBranch: "",
// 中信銀台幣帳戶-帳號號碼
ctbcAccountAccountNumber: "",
// 是否有其他工作經歷 YN
workOther: "",
// 是否擔任過業務人員
usedtobeAgent: "",
// 是否曾任職本公司業務員(包含台灣/宏利/大都會人壽)
usedtobeAgentTW: ""
},
/* 學經歷 */
// 工作經驗
userWorks: [
/*
{
// 流水號
seq: Integer,
// 準增員主要key值
sysCode: Integer,
// 公司名稱
companyName: String,
// 工作期間-起 YYYY-MM-DD
workStartDate: String,
// 工作期間-迄 YYYY-MM-DD
workEndDate: String,
// 通訊處名稱-非必填
branchName: String
}
*/
],
// 其他工作經歷
userWorkOthers: [
/*
{
// 流水號
seq: Integer,
// 準增員主要key值
sysCode: Integer,
// 公司名稱
companyName: String,
// 工作期間-起 YYYY-MM-DD
workStartDate: String,
// 工作期間-迄 YYYY-MM-DD
workEndDate: String,
// 職稱
title: String,
// 行業別
jobkind: String,
// 工作內容
jobDesc: String
}
*/
],
/* 背景聲明 */
userBackground: {
// 準增員唯一值
sysCode: "",
// 信用報告分數 Integer
creditRptDegree: "",
// 信用報告日期 yyyy-MM-dd'T'HH:mm:ss
creditRptDate: "",
// 人身保險合格證號
lifeRegisterId: "",
// 人身保險登錄狀況 Integer
lifeRegStatus: "",
// 金融常識合格證號
fincRegisterId: "",
// 財產登錄狀況(TableL SystemCodeDef,CodeType:GenRegStatus)
genRegStatus: "",
// 是否有親屬在本公司擔任業務員YN
parentAgent: "",
// 親屬姓名
parentName: "",
// 親屬關係(TableL SystemCodeDef,CodeType:ParentReal)
parentRela: "",
// 業務人員管理規則懲處紀錄(Y: 有 N:無)
punishHistory: "",
// 業務人員管理規則懲處紀錄詳細說明
punishHisDetail: "",
// 是否有犯罪紀錄(Y: 有 N:無)
crimeHistory: "",
// 犯罪紀錄詳細說明
crimeDetail: "",
// 公會懲處紀錄 (Y: 有 N:無)
liaPunishHistory: "",
// 公會懲處紀錄詳細說明
liaPunishHisDetail: ""
}
},
hasWorkExp: false,
hasWorkOtherExp: false,
alert: {
form01: false,
form02: false,
form03: false,
form04: false
},
link: {
// 壽險公會連結
lifeOrg: "http://public.liaroc.org.tw/lia-public/indexUsr.jsp",
// 產險公會連結
generalOrg: "http://salesinfo.nlia.org.tw/index.php"
}
},
beforeMount() {
// 準增員資料
var vm = this;
var userData = {"isNew":false,"user":{"sysCode":54,"userId":"C149710940","userName":"\u718A\u62B1\u54E51","romanName":"ddd","email":"test4@test.com","mobilePhone":"0944444444","birthday":"20040404","dsRegisterId":"0088104701","dsAgent":{"userId":"M226020621","userName":"\u738B\u9298\u6167","agentCode":"045460","registerNo":"0088104701","lineCode":"61","agentChannel":"A1","mobilePhone":"0989257776","email":"candy.lu@taiwanlife.com","branchCode":"A0730","branchName":"\u6A02\u9AD8\u901A\u8A0A\u8655","branchManager":"045452","branchManagerEmail":"candy.lu@taiwanlife.com","branchManagerMobile":"0989257776","branchAssistant":"z00005","centerCode":"A01","centerName":"\u53F0\u5317\u7B2C\u4E00\u5340\u57DF\u4E2D\u5FC3","centerManager":"701845","centerManagerEmail":"Meng-Jin.Jhou@taiwanlife.com","centerManagerMobile":"","levelCode":"A12","levelTitle":"\u696D\u52D9\u8944\u7406","agentStatusCode":"Y","agentStatus":"\u5728\u8077","leaveDate":"","aguiCenter":"B0140","aguiManager":"045452","aguiCenterName":"\u83F1\u84EE\u5340","createTime":"2024-01-25T15:17:27.247"},"refRegisterId":"0088104701","refAgent":{"userId":"M226020621","userName":"\u738B\u9298\u6167","agentCode":"045460","registerNo":"0088104701","lineCode":"61","agentChannel":"A1","mobilePhone":"0989257776","email":"candy.lu@taiwanlife.com","branchCode":"A0730","branchName":"\u6A02\u9AD8\u901A\u8A0A\u8655","branchManager":"045452","branchManagerEmail":"candy.lu@taiwanlife.com","branchManagerMobile":"0989257776","branchAssistant":"z00005","centerCode":"A01","centerName":"\u53F0\u5317\u7B2C\u4E00\u5340\u57DF\u4E2D\u5FC3","centerManager":"701845","centerManagerEmail":"Meng-Jin.Jhou@taiwanlife.com","centerManagerMobile":"","levelCode":"A12","levelTitle":"\u696D\u52D9\u8944\u7406","agentStatusCode":"Y","agentStatus":"\u5728\u8077","leaveDate":"","aguiCenter":"B0140","aguiManager":"045452","aguiCenterName":"\u83F1\u84EE\u5340","createTime":"2024-01-25T15:17:27.247"},"commCode":"A0730","commUnit":{"agentChannel":"A1","commCode":"A0730","commName":"\u6A02\u9AD8\u901A\u8A0A\u8655","centerCode":"A01","areaCenter":{"agentChannel":"A1","centerCode":"A01","centerName":"\u53F0\u5317\u7B2C\u4E00\u5340\u57DF\u4E2D\u5FC3","isDelete":false,"createTime":"2022-02-07T18:30:24.853","modifyTime":null},"assistant":{"employeeNo":"z00005","employeeName":"\u738B\u5137\u5EAD","enableSendEmail":false,"enableSendSms":false,"email":null,"mobilePhone":null,"uid":null,"modifyTime":null},"assistantCode":"z00005","assistantCode2":"701246","assistantCode3":"z00002","assistantCode4":"z00016","assistantCode5":"","isDelete":false,"createTime":"2022-02-07T18:45:32.707","modifyTime":"2022-02-07T18:45:32.707"},"jobId":"UM","jobType":"A2S","createTime":"2023-07-14T17:05:14.907","modifyTime":"2025-01-10T16:41:18.463","status":"B07","isClose":false,"agreementSigned":true},"userDetail":{"sysCode":54,"pid":"C149710940","addDate":"2023-07-28T14:01:40.82","updDate":"2024-05-03T09:33:51.547","enName":null,"eegName":null,"myReferrer":null,"mySameExperience":null,"isWorkHere":null,"lineID":null,"sex":"1","marry":"0","blood":null,"brood":null,"addr1":"\u6E2C\u8A66\u5E02\u6E2C\u8A66\u5340\u6E2C\u8A66\u91CC\u6E2C\u8A66\u8DEF\uFF14\u6BB5\uFF14\u5DF7\uFF14\u5F04\uFF14\u865F\uFF14\u6A13","addr1PostalCode":null,"addr1City":null,"addr1Towns":null,"addr1Village":null,"addr1RoadStreet":null,"addr1Section":null,"addr1Lane":null,"addr1Alley":null,"addr1Number":null,"addr1Floor":null,"addr1Remark":null,"addr2":"\u6E2C\u8A66\u5E02\u6E2C\u8A66\u5340\u6E2C\u8A66\u91CC\u6E2C\u8A66\u8DEF\uFF14\u6BB5\uFF14\u5DF7\uFF14\u5F04\uFF14\u865F\uFF14\u6A13","addr2PostalCode":null,"addr2City":null,"addr2Towns":null,"addr2Village":null,"addr2RoadStreet":null,"addr2Section":null,"addr2Lane":null,"addr2Alley":null,"addr2Number":null,"addr2Floor":null,"addr2Remark":null,"tel1":"04-44444444","tel2":"0944444444","mail":"test4@test.com","romanName":null,"criName":"\u967344","criRel":"3","criTel":"04-44444444","degree":"4","school":"5\u9AD8\u4E2D","major":"5\u9AD8\u4E2D","grade":null,"asso":null,"assoName":null,"com1":null,"expt1":null,"title1":null,"property1":null,"income1":null,"industry1":null,"com2":null,"expt2":null,"title2":null,"property2":null,"income2":null,"industry2":null,"com3":null,"expt3":null,"title3":null,"property3":null,"income3":null,"industry3":null,"pol3":null,"polcom3":null,"poltype3":null,"perclm":null,"perloan":null,"perloanType":null,"perInv":null,"perInvType":null,"fatherJob":null,"motherJob":null,"partnerJob":null,"cert1":null,"cert2":null,"cert3":null,"certElse":null,"cert4":null,"army":"0","ctbcAccountBranch":"\u6C38\u5409\u5206\u884C4","ctbcAccountAccountNumber":"123456789444","workOther":"N","usedtobeAgent":"Y","usedtobeAgentTW":"Y","fdateM2":null,"tdateM1":null,"fdateY1":null,"tdateY2":null,"tdateM2":null,"tdateY1":null,"fdateY3":null,"tdateY3":null,"tdateM3":null,"fdateM1":null,"fdateM3":null,"fdateY2":null},"userWorks":[{"seq":246,"sysCode":54,"companyName":"1","workStartDate":"2024-01","workEndDate":"2024-01","branchName":"1"}],"userWorkOthers":[{"seq":113,"sysCode":54,"companyName":"1","workStartDate":"2024-01","workEndDate":"2024-01","title":"1","jobkind":null,"jobDesc":"1"},{"seq":114,"sysCode":54,"companyName":"2","workStartDate":"2024-02","workEndDate":"2024-02","title":"2","jobkind":"\u91D1\u878D\u696D","jobDesc":"2"},{"seq":115,"sysCode":54,"companyName":"3","workStartDate":"2024-03","workEndDate":"2024-03","title":"3","jobkind":"\u91AB\u7642\u696D","jobDesc":"3"}],"userBackground":{"sysCode":54,"creditRptDegree":"3","creditRptDate":"2022-03-03","lifeRegisterId":"0000333333","lifeRegStatus":2,"fincRegisterId":"333","genRegStatus":2,"parentAgent":"Y","parentName":"\u5ABD\u5ABD3","parentRela":"3","punishHistory":"Y","punishHisDetail":"3","crimeHistory":"Y","crimeDetail":"3","liaPunishHistory":"Y","liaPunishHisDetail":"3"},"uploadDefines":[{"jobType":"A2","fileType":"Head2inch","fileDesc":"\u4E8C\u540B\u5F69\u8272\u5927\u982D\u8CBC","fileHead":"\u4E8C\u540B\u5F69\u8272\u5927\u982D\u8CBC","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-08-09T10:09:58.56","mustFlag":"Y","desc":"\u4E8C\u540B\u5F69\u8272\u5927\u982D\u8CBC","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"IDFront","fileDesc":"\u8EAB\u5206\u8B49\u6B63\u9762","fileHead":"\u8EAB\u5206\u8B49\u6B63\u9762","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u8EAB\u5206\u8B49\u6B63\u9762","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"IDBack","fileDesc":"\u8EAB\u5206\u8B49\u53CD\u9762","fileHead":"\u8EAB\u5206\u8B49\u53CD\u9762","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u8EAB\u5206\u8B49\u53CD\u9762","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"Account","fileDesc":"\u4E2D\u4FE1\u9280\u53F0\u5E63\u5E33\u6236\u5F71\u672C","fileHead":"\u4E2D\u4FE1\u9280\u53F0\u5E63\u5E33\u6236\u5F71\u672C","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u4E2D\u4FE1\u9280\u53F0\u5E63\u5E33\u6236\u5F71\u672C","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"HighEdu","fileDesc":"\u9AD8\u4E2D\u8077\u4EE5\u4E0A\u5B78\u6B77\u8B49\u660E","fileHead":"\u9AD8\u4E2D\u8077\u4EE5\u4E0A\u5B78\u6B77\u8B49\u660E","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u9AD8\u4E2D\u8077\u4EE5\u4E0A\u5B78\u6B77\u8B49\u660E","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"CreditReport","fileDesc":"\u4FE1\u7528\u5831\u544A","fileHead":"\u4FE1\u7528\u5831\u544A","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u4FE1\u7528\u5831\u544A","notAlertMarked":false,"alertMarked":false},{"jobType":"A2","fileType":"Regbill","fileDesc":"\u767B\u9304\u8CBB\u7528\u532F\u6B3E\u55AE","fileHead":"\u767B\u9304\u8CBB\u7528\u532F\u6B3E\u55AE","uploadFileDesc":null,"uploaded":1,"alertMark":null,"updateTime":"2023-07-31T17:22:02.687","mustFlag":"Y","desc":"\u767B\u9304\u8CBB\u7528\u532F\u6B3E\u55AE","notAlertMarked":false,"alertMarked":false}]};
// 初始值
var nestedEmptyValue = function(value) {
if ($.isArray(value)) {
for (var val of value) {
if ("string" === typeof(val)) {
val = val || "";
} else {
nestedEmptyValue(val);
}
}
} else if ($.isPlainObject(value)) {
for (var key in value) {
if ("string" === typeof(value[key]) || undefined == value[key] || null == value[key]) {
value[key] = value[key] || "";
} else {
nestedEmptyValue(value[key]);
}
}
}
};
nestedEmptyValue(userData);
this.userData = $.extend(true, {}, this.userData, userData);
if (this.userData.userWorks && this.userData.userWorks.length > 0) {
this.hasWorkExp = true;
}
if (!this.userData.userDetail.workOther) {
if (this.userData.userWorkOthers && this.userData.userWorkOthers.length > 0) {
this.userData.userDetail.workOther = "Y";
} else {
this.userData.userDetail.workOther = "N";
}
}
this.hasWorkOtherExp = "Y" == this.userData.userDetail.workOther;
},
mounted() {
setTab("tablist");
this.init();
},
methods: {
init() {
this.initRule();
if (false === this.userData.isNew) {
this.showTabAlert();
}
},
initRule() {
var errorPlacement = function (error, element) {
var ename = element.attr("name");
if (/^uploadFile/.test(ename)) {
$(element).closest("table").next().append(error);
} else if (/^addr/.test(ename) || /History/.test(ename) || /^parent[Name|Rela]/.test(ename)) {
$(element).closest("td").parent().children().last().append(error);
} else {
$(element).parent().children().last().after(error);
}
};
var defaultSettings = {
errorElement: "div",
errorPlacement: errorPlacement
}
var form01Settings = {
rules: {},
messages: {}
};
for (var index in this.userData.uploadDefines) {
if (this.userData.uploadDefines[index].mustFlag == "Y") {
form01Settings.rules[`uploadFile${parseInt(index) + 1}`] = {
required: {
depends: function(element) {
return "0" == $(element).prev().val();
}
}
};
form01Settings.messages[`uploadFile${parseInt(index) + 1}`] = { required: `請上傳${this.userData.uploadDefines[index].fileHead}${"Head2inch" == this.userData.uploadDefines[index].fileType ? "(上傳格式限 JPG)" : ""}` };
}
}
$("#form01").validate($.extend(true, {}, defaultSettings, form01Settings));
$("#form02").validate($.extend(true, {}, defaultSettings, {
rules: {
romanName: {
format: ego.validator.pattern.romanName
},
army: {
required: true
},
ctbcAccountBranch: {
required: true
},
ctbcAccountAccountNumber: {
required: true,
digits: true,
format: ego.validator.pattern.accountNumber
}
}, messages: {
romanName: {
format: "原住民姓名不符合條件,請重新輸入"
},
army: {
required: "請選擇兵役調查",
},
ctbcAccountBranch: {
required: "請輸入中信銀台幣銀行帳戶-分行",
},
ctbcAccountAccountNumber: {
required: "請輸入中信銀台幣銀行帳戶-帳號",
digits: "中信銀台幣銀行帳戶-帳號不符合條件,請重新輸入",
format: "中信銀台幣銀行帳戶-帳號不符合條件,請重新輸入"
}
}
}));
$("#form04").validate($.extend(true, {}, defaultSettings, {
rules: {
creditRptDegree: {
required: true,
creditRptDegree: true
},
creditRptDate: {
required: true
},
lifeRegisterId: {
required: true,
format: ego.validator.pattern.lifeRegisterId
},
lifeRegStatus: {
required: true
},
genRegStatus: {
required: true
},
parentName: {
required: {
depends: function(element) {
return "Y" == $("input[name=parentAgent]:checked").val();
}
}
},
parentRela: {
required: {
depends: function(element) {
return "Y" == $("input[name=parentAgent]:checked").val();
}
}
},
punishHistory: {
required: true
},
punishHisDetail: {
required: {
depends: function(element) {
return "Y" == $("input[name=punishHistory]:checked").val();
}
}
},
liaPunishHistory: {
required: true
},
liaPunishHisDetail: {
required: {
depends: function(element) {
return "Y" == $("input[name=liaPunishHistory]:checked").val();
}
}
},
crimeHistory: {
required: true
},
crimeDetail: {
required: {
depends: function(element) {
return "Y" == $("input[name=crimeHistory]:checked").val();
}
}
}
}, messages: {
creditRptDegree: {
required: "請輸入信用報告分數或無法評分",
creditRptDegree: "請輪入分數或無法評分"
},
creditRptDate: {
required: "請選擇信用報告日期"
},
lifeRegisterId: {
required: "請輸入人身保險合格證號"
},
lifeRegStatus: {
required: "請勾選人身保險登錄狀況"
},
genRegStatus: {
required: "請勾選財產保險登錄狀況"
},
parentName: {
required: "請輸入親屬姓名"
},
parentRela: {
required: "請選擇親屬關係"
},
punishHistory: {
required: "請勾選是否曾違反業務人員管理規則而受懲處紀錄"
},
punishHisDetail: {
required: "請輸入受懲處紀錄詳細說明"
},
liaPunishHistory: {
required: "請勾選是否曾受公會懲處紀錄"
},
liaPunishHisDetail: {
required: "請輸入公會懲處紀錄詳細說明"
},
crimeHistory: {
required: "請勾選是否有刑事犯罪紀錄"
},
crimeDetail: {
required: "請輸入刑事犯罪紀錄詳細說明"
}
}
}));
},
showTabAlert() {
for (var form in this.alert) {
this.alert[`${form}`] = !$(`#${form}`).valid();
}
},
generateKey(key, index) {
if (index || $.isNumeric(index)) {
return `${key}${index + 1}`;
}
return key;
},
handleCreditRptDegree(event) {
if (/^0/.test(event.target.value)) {
this.userData.userBackground.creditRptDegree = event.target.value.substring(1);
}
},
handleDate(target, date) {
var form = $(target).closest("form").attr("id");
var element = $(target).attr("id");
switch (element) {
case "creditRptDate":
this.userData.userBackground.creditRptDate = date;
break;
default:
var index = element.substr(-1) - 1;
var work = this.userData.userWorks[index];
work[element.substr(0, element.length - 1)] = date;
if ($(target).prev()) {
$(target).prev().monthpicker("option", "maxDate", date);
}
if ($(target).next()) {
$(target).next().monthpicker("option", "minDate", date);
}
break;
}
$(`#${form}`).validate().element(`#${element}`);
},
handleDependency(event) {
var form = $(event.target).closest("form").attr("id");
var elements = Array.prototype.slice.call(arguments, 1)
elements.forEach(function(item, index) {
$(`#${form}`).validate().element(`#${item}`);
});
},
save(event) {
// 暫存
this.showTabAlert();
if (!ego.ajax.updateUserDataTemp(this.userData)) {
ego.dialog.error("暫存失敗,請稍候再試", window.location.href);
} else {
ego.dialog.alert("暫存成功", window.location.href);
}
},
handleFile(target, status) {
$(target).closest("form").validate().element(`#${$(target).attr("id")}`);
},
apply(event) {
this.showTabAlert();
for (var form in this.alert) {
if (!$(`#${form}`).valid()) {
ego.dialog.error("請確認報聘資料填寫完整,再行遞交申請。");
return;
}
}
if (!ego.ajax.updateUserDataTemp(this.userData)) { // 暫存
ego.dialog.error("遞交申請失敗,請稍候再試", window.location.href);
} else if (!ego.ajax.applyUserData(this.userData.user.sysCode)) { // 遞交申請
ego.dialog.error("遞交申請失敗,請稍候再試", window.location.href);
} else {
if (this.userData.user.commUnit.agentChannel == "A1") {
ego.dialog.alert(`恭喜您已完成報聘文件遞交,審核結果將會另行通知。 <br/><br/>以下正本文件請您交給各地區行政助理。<br/>1. 合約書<br/>2. 聯徵個人信用報告<br/>3. 二吋彩色照片1張<br/>4. 信用卡共銷承諾聲明書及試卷<br/>5. 自費參加團體保險申請書<br/>6. 報聘SR須另繳交行銷代表備忘錄、SR商品及法規課程訓練紀錄${"3" == this.userData.userBackground.genRegStatus ? "<br/>7. 人身保險業務員登錄申請書正本" : ""}`, url.user.portal);
} else {
if (this.userData.user.jobType == "A2S" ) {
ego.dialog.alert(`恭喜您已完成報聘文件遞交,審核結果將會另行通知。 <br/><br/>以下正本文件請您交給各地區行政助理。<br/>1. 合約書<br/>2. 聯徵個人信用報告<br/>3. 二吋彩色照片1張<br/>4. 信用卡共銷承諾聲明書及試卷${"3" == this.userData.userBackground.genRegStatus ? "<br/>5. 人身保險業務員登錄申請書正本" : ""}`, url.user.portal);
}
else {
ego.dialog.alert(`恭喜您已完成報聘文件遞交,審核結果將會另行通知。 <br/><br/>以下正本文件請您交給各地區行政助理。<br/>1. 合約書<br/>2. 聯徵個人信用報告<br/>3. 二吋彩色照片1張<br/>4. 信用卡共銷承諾聲明書及試卷<br/>5. 公費團體眷屬加入表(聘僱合約)${"3" == this.userData.userBackground.genRegStatus ? "<br/>6. 人身保險業務員登錄申請書正本" : ""}`, url.user.portal);
}
}
}
}
}
});
</script>
</body>
</html>
PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCjxoZWFkPgoKCQoKCTx0aXRsZT7lj7DngaPkurrlo73vvZzlop7lk6Fl5b+rZ2/ns7vntbE8L3RpdGxlPgoKCTxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgoKCTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgoKCTxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9RWRnZSwgY2hyb21lPTEiIC8+CgoJPCEtLSBXZWIgU2l0ZSBEYXRhIC0tPgoKCTxtZXRhIG5hbWU9ImZvcm1hdC1kZXRlY3Rpb24iIGNvbnRlbnQ9InRlbGVwaG9uZT1ubyIgLz4KCgk8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0i5Y+w54Gj5Lq65aO9LOWinuWToWXlv6tnbyIgLz4KCgk8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0i5aKe5ZOhZeW/q2dvIiAvPgoKCTxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UveC1pY29uIiBocmVmPSJodHRwczovL3d3dy50YWl3YW5saWZlLmNvbS9mYXZpY29uLmljbyIgLz4KCgk8bGluayBocmVmPSIvY3NzL2Rlc2t0b3AuY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CgoJPGxpbmsgaHJlZj0iL2Nzcy90Y2F2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS0zLjYuMC5taW4uanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS52YWxpZGF0ZS5taW4uanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS11aS5taW4uanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS5jb29raWUuanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS5ibG9ja1VJLmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy92dWUubWluLmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy9kZXRlY3RJRS5qcyI+PC9zY3JpcHQ+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3NjcmlwdHMvY29tbW9ubGliLmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy90Y2F2LmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy9kYXRlcGlja2VyLXpoLVRXLmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy90Y2F2LmpzIj48L3NjcmlwdD4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy9lZ28uanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2Vnby5jb21wb25lbnQuanMiPjwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2Vnby52YWxpZGF0ZS5qcyI+PC9zY3JpcHQ+CgoJPHNjcmlwdD4KCgkJaWYgKHRvcCAhPSBzZWxmKSB7CgoJCQl0b3AubG9jYXRpb24gPSBlbmNvZGVVUkkoc2VsZi5sb2NhdGlvbik7CgoJCX0KCgk8L3NjcmlwdD4KCgk8c3R5bGU+CgoJCS5uYXZiYXItbmF2IGEgewoKCQkJY29sb3I6ICNmZmY7CgoJCX0KCgkJLm5hdmJhci1icmFuZCB7CgoJCQlmbG9hdDogbGVmdDsKCgkJCWhlaWdodDogNjBweDsKCgkJCXBhZGRpbmc6IDBweDsKCgkJfQoKCQkubmF2ID4gbGkgPiBhOmZvY3VzLCAubmF2ID4gbGkgPiBhOmhvdmVyIHsKCgkJCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCgkJCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwoKCQl9CgoJCS5uYXZiYXItbmF2IHsKCgkJCWZsb2F0OiByaWdodDsKCgkJCW1hcmdpbi10b3A6IDVweDsKCgkJCWxpbmUtaGVpZ2h0OiA1MHB4OwoKCQkJbWFyZ2luOiA1cHggMjBweCAwcHggMjBweAoKCQl9CgoJCS5uYXZiYXItbmF2ID4gbGkgewoKCQkJZmxvYXQ6IGxlZnQ7CgoJCX0KCgkJLm5hdmJhci1uYXYgPiBsaSBhIHsKCgkJCXRleHQtZGVjb3JhdGlvbjogbm9uZQoKCQl9CgoJCS5uYXZiYXItbmF2IGxpK2xpIHsKCgkJCW1hcmdpbi1sZWZ0OiAxNXB4CgoJCX0KCgkJaGVhZGVyIHsKCgkJCS8qIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAxMjQsIDEyNSk7ICovCgoJCQloZWlnaHQ6IDcwcHg7CgoJCQlmb250LWZhbWlseTogQXJpYWwsICJOb3RvIFNhbnMgVEMiLCAi5YS36buRIFBybyIsICJMaUhlaSBQcm8iLCAi5b6u6Luf5q2j6buR6auUIiwgIk1pY3Jvc29mdCBKaGVuZ0hlaSIsIHNhbnMtc2VyaWYsIHRjYXY7CgoJCQkvKiBjb2xvcjogIzdhNzY3NjsKCgkJCSovCgoJCQljb2xvcjogIzAwMDsKCgkJCWxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOwoKCQkJZm9udC1zaXplOiAxNnB4OwoKCQl9CgoJCWZvb3RlciB7CgoJCQlwYWRkaW5nOiAzMHB4IDAgMTBweCAwOwoKCQkJYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDEyNCwgMTI1KTsKCgkJCWNvbG9yOiAjZmZmOwoKCQkJZm9udC1mYW1pbHk6IEFyaWFsLCAiTm90byBTYW5zIFRDIiwgIuWEt+m7kSBQcm8iLCAiTGlIZWkgUHJvIiwgIuW+rui7n+ato+m7kemrlCIsICJNaWNyb3NvZnQgSmhlbmdIZWkiLCBzYW5zLXNlcmlmOwoKCQkJLyogY29sb3I6ICM3YTc2NzY7CgoJCQkqLwoKCQkJY29sb3I6ICMwMDA7CgoJCQlsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsKCgkJCWZvbnQtc2l6ZTogMTZweDsKCgkJfQoKCQlmb290ZXIgYSB7CgoJCQljb2xvcjogI2ZmZjsKCgkJCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCgkJfQoKCQkuZGVjbGFyYXRpb24gewoKCQkJdGV4dC1hbGlnbjogY2VudGVyOwoKCQkJbWFyZ2luOiAyMDBweCAyMHB4IDBweCAyMHB4CgoJCX0KCgkJLmxvZ2luLWJ0biBhIHsKCgkJCWNvbG9yOiAjZmZmCgoJCX0KCgkJdWwgewoKCQkJbGlzdC1zdHlsZTogbm9uZTsKCgkJCXBhZGRpbmc6IDA7CgoJCX0KCgkJLmxvZ2luLWJ0biB7CgoJCQloZWlnaHQ6IDI0cHg7CgoJCQlmb250LXdlaWdodDogYm9sZGVyOwoKCQkJYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CgoJCQlmbG9hdDogcmlnaHQ7CgoJCQltYXJnaW4tdG9wOiAxMXB4OwoKCQkJYm9yZGVyLXJhZGl1czogMHB4OwoKCQkJYm9yZGVyLXdpZHRoOiAxcHg7CgoJCQlib3JkZXItc3R5bGU6IHNvbGlkOwoKCQkJYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7CgoJCQlib3JkZXItaW1hZ2U6IGluaXRpYWw7CgoJCQlwYWRkaW5nOiA2cHggMTBweDsKCgkJfQoKCQkubG9naW4tYnRuKy5sb2dpbi1idG4gewoKCQkJbWFyZ2luLXJpZ2h0OiAxMHB4CgoJCX0KCgkJLmNvbnRhY3QgPiBsaSArIGxpIHsKCgkJCW1hcmdpbi10b3A6IDJweDsKCgkJfQoKCQkuc3RlYWx0aHkgewoKCQkJbGVmdDogMDsKCgkJCW1hcmdpbjogMDsKCgkJCW1heC1oZWlnaHQ6IDFweDsKCgkJCW1heC13aWR0aDogMXB4OwoKCQkJb3BhY2l0eTogMDsKCgkJCW91dGxpbmU6IG5vbmU7CgoJCQlvdmVyZmxvdzogaGlkZGVuOwoKCQkJcG9pbnRlci1ldmVudHM6IG5vbmU7CgoJCQlwb3NpdGlvbjogYWJzb2x1dGU7CgoJCQl0b3A6IDA7CgoJCQl6LWluZGV4OiAtMTsKCgkJfQoKCQlpbnB1dDpkaXNhYmxlZCB7CgoJCQliYWNrZ3JvdW5kOiAjY2NjOwoKCQl9CgoJCWxhYmVsLmVycm9yLCBkaXYuZXJyb3IgewoKCQkJY29sb3I6ICNjYzAwMDA7CgoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoKCQkJZm9udC1zaXplOiAxM3B4OwoKCQkJbGluZS1oZWlnaHQ6IDEuNTsKCgkJfQoKCQlsYWJlbC5lcnJvcjpiZWZvcmUsIGRpdi5lcnJvcjpiZWZvcmUgewoKCQkJY29udGVudDogIlxmMDZhIjsKCgkJCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCgkJCWZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTsKCgkJCWZvbnQtc2l6ZTogaW5oZXJpdDsKCgkJCXRleHQtcmVuZGVyaW5nOiBhdXRvOwoKCQkJLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CgoJCQktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwoKCQkJcGFkZGluZzogMHB4IDRweCAwcHggOHB4OwoKCQl9CgoJCVt2LWNsb2FrXSB7CgoJCQlkaXNwbGF5OiBub25lOwoKCQl9CgoJPC9zdHlsZT4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9zY3JpcHRzL2pxdWVyeS51aS5tb250aHBpY2tlci5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvc2NyaXB0cy9qcXVlcnkudWkubW9udGhwaWNrZXIuemgtVFcuanMiPjwvc2NyaXB0PgoKPHN0eWxlPgoKCQkudGFiLXRleHQgewoKCQkJZmxvYXQ6IGxlZnQ7CgoJCQltYXJnaW4tbGVmdDogODBweDsKCgkJCW1hcmdpbi1yaWdodDogM3B4OwoKCQl9CgoJCS50YWItYWxlcnQgewoKCQkJd2lkdGg6IDIwcHg7CgoJCQloZWlnaHQ6IDIwcHg7CgoJCQltYXJnaW4tdG9wOiAtMnB4OwoKCQkJYm9yZGVyLXJhZGl1czogNTBweDsKCgkJCWJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7CgoJCQlmb250LWZhbWlseTogYXJpYWw7CgoJCQlmbG9hdDogbGVmdDsKCgkJfQoKCQkudGFiLWFsZXJ0LXRleHQgewoKCQkJcGFkZGluZy10b3A6IDJweDsKCgkJCWNvbG9yOiAjZmZmOwoKCQkJZm9udC1zaXplOiAxM3g7CgoJCX0KCgkJLnVwbG9hZCB7CgoJCQlmbG9hdDogbGVmdDsKCgkJCXdpZHRoOiAzMDBweDsKCgkJCS8qaGVpZ2h0OiBhdXRvOyovCgoJCQloZWlnaHQ6IDE3MHB4OwoKCQkJYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsKCgkJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4OwoKCQkJLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7CgoJCQlib3JkZXItcmFkaXVzOiA4cHg7CgoJCQlvdXRsaW5lOiAwOwoKCQkJbWFyZ2luOiAxNXB4IDE1cHggMTVweCAxMHB4OwoKCQl9CgoJCS51cGxvYWQtdGl0bGUgewoKCQkJd2lkdGg6IDI5OHB4OwoKCQkJaGVpZ2h0OiBhdXRvOwoKCQkJcGFkZGluZzogMTVweDsKCgkJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogN3B4OwoKCQkJLW1vei1ib3JkZXItcmFkaXVzOiA3cHg7CgoJCQlib3JkZXItcmFkaXVzOiA3cHggN3B4IDBweCAwcHg7CgoJCQlvdXRsaW5lOiAwOwoKCQkJYmFja2dyb3VuZC1jb2xvcjogIzAwN2Q3ZDsKCgkJCWNvbG9yOiAjZmZmOwoKCQl9CgoJCS51cGxvYWQ6bnRoLWNoaWxkKDNuKzIpIHsKCgkJCW1hcmdpbi1sZWZ0OiAxNXB4OwoKCQl9CgoJCS5yZXF1aXJlZDpiZWZvcmUgewoKCQkJY29udGVudDogIu+8iiI7CgoJCQljb2xvcjogI0U3MDExMjsKCgkJCWZvbnQtd2VpZ2h0OiBib2xkOwoKCQkJZm9udC1zaXplOiAxNXB4OwoKCQl9CgoJPC9zdHlsZT4KCjwvaGVhZD4KCjxib2R5PgoKCTxkaXYgaWQ9Im1hc2siPjwvZGl2PgoKCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgoJCQoKCQkKCgkJCgoJCTwhLS1IZWFkZXLljYDloYrplovlp4stLT4KCgkJPGhlYWRlciBpZD0iaGVhZGVyIj4KCgkJCTxkaXYgY2xhc3M9ImhlYWRlci13cmFwIj4KCgkJCQk8YSBocmVmPSJodHRwczovL3d3dy50YWl3YW5saWZlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KCgkJCQkJPGltZyBpZD0ibG9nbyIgc3JjPSIvaW1hZ2VzL2hlYWRlcl90d2xvZ28ucG5nIiBzdHlsZT0id2lkdGg6IGF1dG87IGhlaWdodDogNzBweDsiIC8+CgoJCQkJPC9hPgoKCQkJCQoKCQkJCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IGhlaWdodDogMTAwJTsgd2lkdGg6IDIyMHB4OyI+CgoJCQkJCQk8ZGl2IGNsYXNzPSJ0b3AtbmF2Ij4KCgkJCQkJCQkKCgkJCQkJCQkKCgkJCQkJCQk8ZGl2IGNsYXNzPSJ3ZWxjb21lIj4KCgkJCQkJCQkJSGnvvIznhormirHlk6Ux5L2g5aW9PGJyIC8+5q2h6L+O5L6G5Yiw5aCx6IGY5a+p5qC45rWB56iLCgoJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPGRpdiBjbGFzcz0ibG9nb3V0Ij4KCgkJCQkJCQkJ772cIAoKCQkJCQkJCQk8YSBocmVmPSIvcmVjcnVpdC9sb2dvdXQiPgoKCQkJCQkJCQkJ55m75Ye6IDxpbWcgc3JjPSIvaW1hZ2VzL2lkeG1lbnVfbG9nb3V0LnN2ZyIgLz4KCgkJCQkJCQkJPC9hPgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgoJCQkJCTwvZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSJ0b3AtbmF2Ij4KCgkJCQkJCTxkaXYgY2xhc3M9IndlbGNvbWUiIHN0eWxlPSJmbG9hdDogbGVmdDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctcmlnaHQ6IDMwMHB4OyBtYXJnaW4tdG9wOiAyMHB4OyI+CgoJCQkJCQkJPGltZyBzcmM9Ii9pbWFnZXMvaWNvbl9zZXQucG5nIj4KCgkJCQkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBzdHlsZT0ibWFyZ2luLXRvcDogMHB4OyIgQGNsaWNrPSJ1cGRhdGVQcm9maWxlIj7lhbbku5boqK3lrpo8L2E+CgoJCQkJCQk8L2Rpdj4KCgkJCQkJCTxkaXYgY2xhc3M9IndlbGNvbWUiIHN0eWxlPSJmbG9hdDogbGVmdDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctcmlnaHQ6IDE5MHB4OyBtYXJnaW4tdG9wOiAyMHB4OyI+CgoJCQkJCQkJPGltZyBzcmM9Ii9pbWFnZXMvaWNvbl9zZXQucG5nIj4KCgkJCQkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJtYXJnaW4tdG9wOiAwcHg7IiBAY2xpY2s9ImNoYW5nZVBpbkNvZGUiPuiuiuabtOWvhueivDwvYT4KCgkJCQkJCTwvZGl2PgoKCQkJCQk8L2Rpdj4KCgkJCQkKCgkJCTwvZGl2PgoKCQkJCgoJCTxkaXYgaWQ9InBvcHVwLWxvZ291dCIgY2xhc3M9ImJveC1tb2RlbCI+CgoJCQk8ZGl2IGNsYXNzPSJib3gtYWxlcnQiPgoKCQkJCTxkaXYgY2xhc3M9ImxvZ291dC1wb3B1cC1pY29uIj4KCgkJCQkJPHNwYW4gY2xhc3M9InRleHQtcmVkIj4KCgkJCQkJCeWJqemkmOaZgumWk++8mnt7IHRpbWVyLnRpbWVvdXQgfCBmb3JtYXRUaW1lb3V0IH19CgoJCQkJCTwvc3Bhbj4KCgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoKCQkJCQk8c3BhbiBjbGFzcz0icG9wdXAtY2xvc2UiIG9uY2xpY2s9IiQoJyNwb3B1cC1sb2dvdXQnKS5oaWRlKCk7Ij4KCgkJCQkJCTxpbWcgc3JjPSIvaW1hZ2VzL2Nsb3NlLnN2ZyIgLz4KCgkJCQkJPC9zcGFuPgoKCQkJCTwvZGl2PgoKCQkJCTxociAvPgoKCQkJCTxkaXYgY2xhc3M9InRleHQiPgoKCQkJCQk8c3BhbiBjbGFzcz0iZm9udDEzIj4KCgkJCQkJCeimquaEm+eahCZuYnNwOzxzcGFuIGNsYXNzPSJ0ZXh0LWdyZWVuZGFyayI+54aK5oqx5ZOlMTwvc3Bhbj4mbmJzcDvlhYjnlJ8v5bCP5aeQ5oKo5aW9CgoJCQkJCTwvc3Bhbj4KCgkJCQkJPGRpdiBjbGFzcz0ic3BhY2UxMCI+PC9kaXY+CgoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWJvbGQgdGV4dC1ibGFjayI+CgoJCQkJCQnos4flronlhazlkYrvvJrngrrnorrkv53mgqjnmoTos4foqIrlronlhajvvIzoi6XmgqjpgLLlhaXmnKzns7vntbHotoXpgY4xNeWIhumQmO+8jOezu+e1seWwh+acg+iHquWLleeZu+WHuu+8jOmAoOaIkOS4jeS+v+S5i+iZleaVrOiri+WOn+irku+8gQoKCQkJCQk8L3NwYW4+CgoJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSJmb250MTMiPgoKCQkJCQkJ5pys57O757Wx5bCH5pa8NeWIhumQmOW+jOiHquWLleeZu+WHuu+8jOiLpeaCqOassue5vOe6jOS9v+eUqO+8jOiri+m7nuS4i+aWueaMiemIleWNs+WPr+OAggoKCQkJCQkJPGRpdiBjbGFzcz0ic3BhY2UxMCI+PC9kaXY+CgoJCQkJCQk8c3BhbiBjbGFzcz0idGV4dC1ncmVlbmRhcmsiPuWuouaItuacjeWLmeWwiOe3mu+8mjA4MDAtMDk5LTg1MO+8jOacjeWLmeaZgumWk++8mumAseS4gOiHs+mAseaXpTA4OjAwfjI0OjAwPC9zcGFuPgoKCQkJCQk8L2Rpdj4KCgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoKCQkJCQk8aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0icG9wdXAtb2siIHN0eWxlPSJ3aWR0aDogMTYwcHgiIHZhbHVlPSLnubznuozkvb/nlKgiIEBjbGljaz0ic3RvcFJlbWluZGVyIiAvPgoKCQkJCTwvZGl2PgoKCQkJPC9kaXY+CgoJCTwvZGl2PgoKCQoKCQk8L2hlYWRlcj4KCgkJCgoJCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgoJCQkJdmFyIGhlYWRlciA9IG5ldyBWdWUoewoKCQkJCQllbDogIiNoZWFkZXIiLAoKCQkJCQlkYXRhOiB7CgoJCQkJCQlzZXNzaW9uVGltZW91dDogIjE1bSIsCgoJCQkJCQlyZW1pbmRlcjogNSAqIDYwLCAvLyDlgJLmlbjmj5DphpIo5Zau5L2NOiDnp5IpCgoJCQkJCQl0aW1lcjogewoKCQkJCQkJCXRpbWVvdXQ6IDAsCgoJCQkJCQkJdGltZXI6IHVuZGVmaW5lZAoKCQkJCQkJfQoKCQkJCQl9LAoKCQkJCQlmaWx0ZXJzOiB7CgoJCQkJCQlmb3JtYXRUaW1lb3V0KHZhbHVlKSB7IC8vIOWWruS9jTog56eSCgoJCQkJCQkJaWYgKDAgPT0gdmFsdWUpIHsKCgkJCQkJCQkJcmV0dXJuICIw5YiGMOenkiI7CgoJCQkJCQkJfQoKCQkJCQkJCXZhciBtaW4gPSBNYXRoLmZsb29yKHZhbHVlIC8gNjApOwoKCQkJCQkJCXZhciBzZWMgPSB2YWx1ZSAlIDYwOwoKCQkJCQkJCXJldHVybiBtaW4gKyAi5YiGIiArICgwIDwgc2VjID8gJC5wYWRMZWZ0KHNlYywgMikgKyAi56eSIiA6ICIiKTsKCgkJCQkJCX0sCgoJCQkJCX0sCgoJCQkJCW1vdW50ZWQoKSB7CgoJCQkJCQl0aGlzLmluaXQoKTsKCgkJCQkJfSwKCgkJCQkJbWV0aG9kczogewoKCQkJCQkJaW5pdCgpIHsKCgkJCQkJCQl2YXIgdm0gPSB0aGlzOwoKCQkJCQkJCXZhciBwYXR0ZXJuID0gbmV3IFJlZ0V4cCgvXihcZCspKFthLXpdKSQvZ2kpOwoKCQkJCQkJCXZhciBtYXRjaGVzID0gcGF0dGVybi5leGVjKHRoaXMuc2Vzc2lvblRpbWVvdXQpOwoKCQkJCQkJCXZhciB0aW1lID0gMTUgKiA2MDsKCgkJCQkJCQlpZiAobWF0Y2hlcykgewoKCQkJCQkJCQl0aW1lID0gbWF0Y2hlc1sxXTsKCgkJCQkJCQkJdmFyIHVuaXQgPSBtYXRjaGVzWzJdOwoKCQkJCQkJCQlzd2l0Y2ggKHVuaXQpIHsKCgkJCQkJCQkJCWNhc2UgInMiOiAvLyDnp5IKCgkJCQkJCQkJCQl0aW1lICo9IDE7CgoJCQkJCQkJCQkJYnJlYWs7CgoJCQkJCQkJCQljYXNlICJtIjogLy8g5YiGCgoJCQkJCQkJCQkJdGltZSAqPSA2MDsKCgkJCQkJCQkJCQlicmVhazsKCgkJCQkJCQkJCWNhc2UgImgiOiAvLyDmmYIKCgkJCQkJCQkJCQl0aW1lICo9IDYwICogNjA7CgoJCQkJCQkJCQkJYnJlYWs7CgoJCQkJCQkJCQljYXNlICJkIjogLy8g5aSpCgoJCQkJCQkJCQkJdGltZSAqPSAyNCAqIDYwICogNjA7CgoJCQkJCQkJCQkJYnJlYWs7CgoJCQkJCQkJCX0KCgkJCQkJCQl9CgoJCQkJCQkJdGhpcy5zZXNzaW9uVGltZW91dCA9IHRpbWU7CgoJCQkJCQkJdGhpcy5yZXN0YXJ0VGltZXIoKTsKCgkJCQkJCX0sCgoJCQkJCQkKCgkJCQkJCXVwZGF0ZVByb2ZpbGUoKSB7CgoJCQkJCQkJZWdvLmNoYW5nZVVybCh1cmwudXNlci51cGRhdGVQcm9maWxlKTsKCgkJCQkJCX0sCgoJCQkJCQljaGFuZ2VQaW5Db2RlKCkgewoKCQkJCQkJCWVnby5jaGFuZ2VVcmwodXJsLnVzZXIuY2hhbmdlUGluQ29kZSk7CgoJCQkJCQl9LAoKCQkJCQkJCgoJCQkJCQlyZXN0YXJ0VGltZXIoKSB7CgoJCQkJCQkJZWdvLmxvZy5kZWJ1ZygicmVzdGFydFRpbWVyIik7CgoJCQkJCQkJZWdvLmFqYXgua2VlcEFsaXZlKCk7CgoJCQkJCQkJdGhpcy5zdGFydFRpbWVyKCh0aGlzLnNlc3Npb25UaW1lb3V0IC0gdGhpcy5yZW1pbmRlcikgKiAxMDAwKTsKCgkJCQkJCX0sCgoJCQkJCQlzdGFydFRpbWVyKHRpbWVvdXQpIHsKCgkJCQkJCQllZ28ubG9nLmRlYnVnKCJzdGFydFRpbWVyIiwgdGltZW91dCk7CgoJCQkJCQkJdmFyIHZtID0gdGhpczsKCgkJCQkJCQlpZiAodGhpcy50aW1lci50aW1lcikgewoKCQkJCQkJCQl0aGlzLnN0b3BSZW1pbmRlcigpOwoKCQkJCQkJCX0KCgkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKCQkJCQkJCQlzZXRQb3B1cE1vZGVsKHZtLCAncG9wdXAtbG9nb3V0JywgJ2xvZ291dC1hbGVydCcsICcnKTsKCgkJCQkJCQkJdm0uc3RhcnRSZW1pbmRlcih2bS5yZW1pbmRlcik7CgoJCQkJCQkJfSwgdGltZW91dCk7CgoJCQkJCQl9LAoKCQkJCQkJc3RhcnRSZW1pbmRlcih0aW1lb3V0KSB7CgoJCQkJCQkJZWdvLmxvZy5kZWJ1Zygic3RhcnRSZW1pbmRlciIsIHRpbWVvdXQpOwoKCQkJCQkJCXZhciB2bSA9IHRoaXM7CgoJCQkJCQkJdGhpcy50aW1lci50aW1lb3V0ID0gdGltZW91dDsKCgkJCQkJCQl0aGlzLnRpbWVyLnRpbWVyID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgoJCQkJCQkJCXZtLnRpbWVyLnRpbWVvdXQgLT0gMTsKCgkJCQkJCQkJaWYgKDAgPj0gdm0udGltZXIudGltZW91dCkgewoKCQkJCQkJCQkJdm0uc3RvcFJlbWluZGVyKCk7CgoJCQkJCQkJCQl2bS5sb2dvdXQoKTsKCgkJCQkJCQkJfQoKCQkJCQkJCX0sIDEwMDApOwoKCQkJCQkJfSwKCgkJCQkJCXN0b3BSZW1pbmRlcigpIHsKCgkJCQkJCQllZ28ubG9nLmRlYnVnKCJzdG9wUmVtaW5kZXIiKTsKCgkJCQkJCQljbGVhckludGVydmFsKHRoaXMudGltZXIudGltZXIpOwoKCQkJCQkJCXRoaXMudGltZXIudGltZW91dCA9IDA7CgoJCQkJCQl9LAoKCQkJCQkJbG9nb3V0KCkgewoKCQkJCQkJCXZhciB1cmwgPSAiXC9yZWNydWl0XC9sb2dvdXQiOwoKCQkJCQkJCWVnby5jaGFuZ2VVcmwodXJsKTsKCgkJCQkJCX0KCgkJCQkJfQoKCQkJCX0pOwoKCQkJPC9zY3JpcHQ+CgoJCQoKCQk8IS0tSGVhZGVy5Y2A5aGK57WQ5p2fLS0+CgoJCgoJCgoJCgoJCQoKCQk8IS0tQ29udGVudOWNgOWhiumWi+Wniy0tPgoKCQk8ZGl2IGlkPSJhcHAiIGNsYXNzPSJjb250ZW50LXdyYXAiIHYtY2xvYWs+CgoJCQk8ZGl2IGNsYXNzPSJtYWluMSI+CgoJCQkJPCEtLem6teWMheWxkS0tPgoKCQkJCTxkaXYgY2xhc3M9ImJyZWFkY3J1bWIiPuaJgOWcqOS9jee9ru+8mjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPjxzcGFuIGNsYXNzPSJicmVhZGNydW1iLWhvbWUiPummlumggTwvc3Bhbj48L2E+PC9kaXY+CgoJCQkJPGhyIGlkPSJicmVhZGNydW1iLXNwbGl0IiAvPgoKCQkJCTxkaXYgY2xhc3M9InNwYWNlMzAiPjwvZGl2PgoKCQkJCTxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAzNXB4OyI+CgoJCQkJCTxwIHN0eWxlPSJmbG9hdDogbGVmdDsiPgoKCQkJCQkJPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogMTVweDsiPgoKCQkJCQkJCTxpIGNsYXNzPSJmYSBmYS1idWlsZGluZyIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g6YCa6KiK6JmV77ya5qiC6auY6YCa6KiK6JmVCgoJCQkJCQk8L3NwYW4+44CACgoJCQkJCQk8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAxNXB4OyI+CgoJCQkJCQkJPGkgY2xhc3M9ImZhIGZhLWlkLWJhZGdlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDmk6zku7vnlKjlsaTntJrvvJrooYzpirfogbcKCgkJCQkJCTwvc3Bhbj7jgIAKCgkJCQkJCTxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDE1cHg7Ij4KCgkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtdXNlci1jaXJjbGUtbyIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g55u05bGs5Li7566h77ya546L6YqY5oWnCgoJCQkJCQk8L3NwYW4+44CACgoJCQkJCQk8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAxNXB4OyI+CgoJCQkJCQkJPGkgY2xhc3M9ImZhIGZhLXVzZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IOaOqOiWpuS6uu+8mueOi+mKmOaFpwoKCQkJCQkJPC9zcGFuPgoKCQkJCQk8L3A+CgoJCQkJCTxicj4KCgkJCQkJPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6ICNjYzAwMDA7IiA+CgoJCQkJCQk8aSBjbGFzcz0iZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDoq4vnorroqo3loavlr6vlhaflrrnmraPnorrmgKcgCgoJCQkJCTwvcD4KCgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJzcGFjZTEwIj48L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJzcGFjZTMwIj4KCgkJCQkJPGgzIGlkPSJncmVlbmRhcmsiPjxzcGFuIGNsYXNzPSJiYWNrc2xhc2giPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dCI+5aCx6IGY6LOH5paZ5aGr5a+rPC9zcGFuPjwvaDM+CgoJCQkJPC9kaXY+CgoJCQkJPCEtLemggeexpCvooajmoLzlkYjnj74tLT4KCgkJCQk8ZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSJ0YWJsaXN0Ij4KCgkJCQkJCTxkaXYgY2xhc3M9InRhYmxpc3QtYnRuIGFjdGl2ZSIgaWQ9ImJ0bi1iYXNpYzAxIj4KCgkJCQkJCQk8ZGl2PjxzcGFuIGNsYXNzPSJ0YWItdGV4dCI+5paH5Lu25LiK5YKzPC9zcGFuPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1hbGVydCIgdi1zaG93PSJhbGVydC5mb3JtMDEiPgoKCQkJCQkJCQk8cCBjbGFzcz0idGFiLWFsZXJ0LXRleHQiPiE8L3A+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQk8L2Rpdj4KCgkJCQkJCTxkaXYgY2xhc3M9InRhYmxpc3QtYnRuIiBpZD0iYnRuLWJhc2ljMDIiPgoKCQkJCQkJCTxkaXY+PHNwYW4gY2xhc3M9InRhYi10ZXh0Ij7ln7rmnKzos4fmlpk8L3NwYW4+PC9kaXY+CgoJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWFsZXJ0IiB2LXNob3c9ImFsZXJ0LmZvcm0wMiI+CgoJCQkJCQkJCTxwIGNsYXNzPSJ0YWItYWxlcnQtdGV4dCI+ITwvcD4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCTwvZGl2PgoKCQkJCQkJPGRpdiBjbGFzcz0idGFibGlzdC1idG4iIGlkPSJidG4tYmFzaWMwMyI+CgoJCQkJCQkJPGRpdj48c3BhbiBjbGFzcz0idGFiLXRleHQiPuWtuOe2k+attzwvc3Bhbj48L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWItYWxlcnQiIHYtaWY9ImFsZXJ0LmZvcm0wMyI+CgoJCQkJCQkJCTxwIGNsYXNzPSJ0YWItYWxlcnQtdGV4dCI+ITwvcD4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCTwvZGl2PgoKCQkJCQkJPGRpdiBjbGFzcz0idGFibGlzdC1idG4iIGlkPSJidG4tYmFzaWMwNCI+CgoJCQkJCQkJPGRpdj48c3BhbiBjbGFzcz0idGFiLXRleHQiPuiDjOaZr+iBsuaYjjwvc3Bhbj48L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWItYWxlcnQiIHYtaWY9ImFsZXJ0LmZvcm0wNCI+CgoJCQkJCQkJCTxwIGNsYXNzPSJ0YWItYWxlcnQtdGV4dCI+ITwvcD4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCTwvZGl2PgoKCQkJCQk8L2Rpdj4KCgkJCQkJPCEtLSBTdGFydCBmb3JtIC0tPgoKCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybSIgaWQ9ImZvcm0wMSIgbmFtZT0iZm9ybTAxIj4KCgkJCQkJCTxkaXYgaWQ9ImRpdi1iYXNpYzAxIiBjbGFzcz0idGFibGlzdC1jb250ZW50Ij4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTMwIj48L2Rpdj4KCgkJCQkJCQk8ZmlsZS11cGxvYWRlciB2LWZvcj0iKHVwbG9hZERlZmluZSwgaW5kZXgpIGluIHVzZXJEYXRhLnVwbG9hZERlZmluZXMiCgoJCQkJCQkJCTprZXk9InVwbG9hZERlZmluZS5maWxlVHlwZSIKCgkJCQkJCQkJOnN5cy1jb2RlPSJ1c2VyRGF0YS51c2VyLnN5c0NvZGUiCgoJCQkJCQkJCTp1c2VyLWlkPSJ1c2VyRGF0YS51c2VyLnVzZXJJZCIKCgkJCQkJCQkJOmluZGV4PSJpbmRleCIKCgkJCQkJCQkJOnVwbG9hZC1kZWZpbmU9InVwbG9hZERlZmluZSIKCgkJCQkJCQkJQHVwbG9hZD0iaGFuZGxlRmlsZSIKCgkJCQkJCQkJQGRlbGV0ZT0iaGFuZGxlRmlsZSI+CgoJCQkJCQkJPC9maWxlLXVwbG9hZGVyPgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InZzcGFjZTIwIj4KCgkJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1yb3ciPgoKCQkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItZm9ybS1yb3ciPgoKCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiA0MCUiPjwvdGQ+CgoJCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDEwJSI+PC90ZD4KCgkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMTAlIj4KCgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJidXR0b24iIGNsYXNzPSJidG5mb3JtLWVudGVyMDEiIHZhbHVlPSLmmqvlrZgiIEBjbGljaz0ic2F2ZSI+CgoJCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCTwvdGJvZHk+CgoJCQkJCQkJCTwvdGFibGU+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPGRpdiBjbGFzcz0ic3BhY2UzMCI+PC9kaXY+CgoJCQkJCQkJPGRpdiBjbGFzcz0icmVtYXJrLW91dGVyLXdyYXAiPgoKCQkJCQkJCQk8ZGl2IGNsYXNzPSJyZW1hcmstd3JhcCI+CgoJCQkJCQkJCQk8cD7lgpnoqLvvvJo8L3A+CgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyZW1hcmstaXRlbXMiPgoKCQkJCQkJCQkJCTxvbD4KCgkJCQkJCQkJCQkJPGxpPuaqlOahiOS4iuWCs+agvOW8j+mZkCBKUEcvSkVQRy9QTkcvR0lGL1BERjwvbGk+CgoJCQkJCQkJCQkJCTxsaT7kuozlkIvlvanoibLlpKfpoK3osrzmqpTmoYjkuIrlgrPmoLzlvI/pmZAgSlBHPC9saT4KCgkJCQkJCQkJCQkJPGxpPuaqlOahiOS4iumZkCAxME08L2xpPgoKCQkJCQkJCQkJCTwvb2w+CgoJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQk8L2Rpdj4KCgkJCQkJPC9mb3JtPgoKCQkJCQk8IS0tIEVuZCBmb3JtIC0tPgoKCQkJCQk8IS0tIFN0YXJ0IGZvcm0gLS0+CgoJCQkJCTxmb3JtIGNsYXNzPSJmb3JtIiBpZD0iZm9ybTAyIiBuYW1lPSJmb3JtMDIiPgoKCQkJCQkJPGRpdiBpZD0iZGl2LWJhc2ljMDIiIGNsYXNzPSJ0YWJsaXN0LWNvbnRlbnQgaGlkZSI+CgoJCQkJCQkJPGRpdiBjbGFzcz0ic3BhY2UyMCI+PC9kaXY+CgoJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1zaW1wbGUiIHN0eWxlPSJ3aWR0aDogODUlOyBsaW5lLWhlaWdodDogNTBweDsiPgoKCQkJCQkJCQk8dGJvZHk+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIHN0eWxlPSJ3aWR0aDogMjUlIiBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeWnk+WQjTxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgcGxhY2Vob2xkZXI9IuWnk+WQjSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCA6dmFsdWU9InVzZXJEYXRhLnVzZXIudXNlck5hbWUiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDI1JSIgY2xhc3M9InRleHQtcmlnaHQiPgoKCQkJCQkJCQkJCQnljp/kvY/msJHlp5PlkI08c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIzIj4KCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJyb21hbk5hbWUiIG5hbWU9InJvbWFuTmFtZSIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgZGF0YS1tYXhsZW5ndGg9IjIwMCIgbWF4bGVuZ3RoPSIyMDAiIHBsYWNlaG9sZGVyPSLljp/kvY/msJHlp5PlkI0iIHN0eWxlPSJ3aWR0aDogNTAlOyIgdi1tb2RlbD0idXNlckRhdGEudXNlckRldGFpbC5yb21hbk5hbWUiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeaAp+WIpTxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgcGxhY2Vob2xkZXI9IuaAp+WIpSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCB2YWx1ZT0i5aWzIj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCTx0cj4KCgkJCQkJCQkJCQk8dGggY2xhc3M9InRleHQtcmlnaHQiPgoKCQkJCQkJCQkJCQnouqvliIborYnlrZfomZ88c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIzIj4KCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIHBsYWNlaG9sZGVyPSLouqvliIborYnlrZfomZ8iIHN0eWxlPSJ3aWR0aDogNTAlOyIgZGlzYWJsZWQgOnZhbHVlPSJ1c2VyRGF0YS51c2VyLnVzZXJJZCI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ5Ye655Sf5bm05pyI5pelPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBwbGFjZWhvbGRlcj0i5Ye655Sf5bm05pyI5pelIiBzdHlsZT0id2lkdGg6IDUwJTsiIGRpc2FibGVkIDp2YWx1ZT0idXNlckRhdGEudXNlci5iaXJ0aGRheSI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ5omL5qmf6Jmf56K8PHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGVsMiIgbmFtZT0idGVsMiIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCA6dmFsdWU9InVzZXJEYXRhLnVzZXJEZXRhaWwudGVsMiI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ5L2P5a626Zu76KmxPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGVsMSIgbmFtZT0idGVsMSIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCA6dmFsdWU9InVzZXJEYXRhLnVzZXJEZXRhaWwudGVsMSI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ6Zu75a2Q6YO15Lu2PHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibWFpbCIgbmFtZT0ibWFpbCIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCA6dmFsdWU9InVzZXJEYXRhLnVzZXJEZXRhaWwubWFpbCI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ57eK5oCl6IGv57Wh5Lq65aeT5ZCNPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY3JpTmFtZSIgbmFtZT0iY3JpTmFtZSIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgc3R5bGU9IndpZHRoOiA1MCU7IiBkaXNhYmxlZCA6dmFsdWU9InVzZXJEYXRhLnVzZXJEZXRhaWwuY3JpTmFtZSI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ57eK5oCl6IGv57Wh5Lq66Zec5L+CPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBzdHlsZT0id2lkdGg6IDUwJTsiIGRpc2FibGVkIHZhbHVlPSLlhYTlvJ/lp5DlprkiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCee3iuaApeiBr+e1oeS6uumAo+e1oembu+ipsTxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyaXRlbCIgbmFtZT0iY3JpdGVsIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBzdHlsZT0id2lkdGg6IDUwJTsiIGRpc2FibGVkIDp2YWx1ZT0idXNlckRhdGEudXNlckRldGFpbC5jcmlUZWwiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeaItuexjeWcsOWdgDxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImFkZHIxIiBuYW1lPSJhZGRyMSIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgZGlzYWJsZWQgdi1tb2RlbD0idXNlckRhdGEudXNlckRldGFpbC5hZGRyMSI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ6YCa6KiK5Zyw5Z2APHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iYWRkcjIiIG5hbWU9ImFkZHIyIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBkaXNhYmxlZCB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyRGV0YWlsLmFkZHIyIj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCTx0cj4KCgkJCQkJCQkJCQk8dGggY2xhc3M9InRleHQtcmlnaHQgcmVxdWlyZWQiPgoKCQkJCQkJCQkJCQnlhbXlvbnoqr/mn6U8c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIzIj4KCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icmFkaW9idXR0b24td3JhcCI+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJhcm15X2V4ZW1wdCIgbmFtZT0iYXJteSIgdmFsdWU9IjAiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwuYXJteSI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iYXJteV9leGVtcHQiPuWFjeW9uTwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImFybXlfc2VydmVkIiBuYW1lPSJhcm15IiB2YWx1ZT0iMSIgdi1tb2RlbD0idXNlckRhdGEudXNlckRldGFpbC5hcm15Ij4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJhcm15X3NlcnZlZCI+5b2555WiPC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iYXJteV91bnNlcnZlZCIgbmFtZT0iYXJteSIgdmFsdWU9IjIiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwuYXJteSI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iYXJteV91bnNlcnZlZCI+5pyq5b25PC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCTx0cj4KCgkJCQkJCQkJCQk8dGggY2xhc3M9InRleHQtcmlnaHQiPgoKCQkJCQkJCQkJCQnlqZrlp7vni4Dms4E8c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIzIj4KCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIHN0eWxlPSJ3aWR0aDogNTAlOyIgZGlzYWJsZWQgdmFsdWU9IuacquWpmiI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0IHJlcXVpcmVkIj4KCgkJCQkJCQkJCQkJ5Lit5L+h6YqA5Y+w5bmj6YqA6KGM5biz5oi2PHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY3RiY0FjY291bnRCcmFuY2giIG5hbWU9ImN0YmNBY2NvdW50QnJhbmNoIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBkYXRhLW1heGxlbmd0aD0iMjAiIG1heGxlbmd0aD0iMjAiIHBsYWNlaG9sZGVyPSLliIbooYzlkI3nqLEiIHN0eWxlPSJ3aWR0aDogMjAlOyIgdi1tb2RlbD0idXNlckRhdGEudXNlckRldGFpbC5jdGJjQWNjb3VudEJyYW5jaCI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY3RiY0FjY291bnRBY2NvdW50TnVtYmVyIiBuYW1lPSJjdGJjQWNjb3VudEFjY291bnROdW1iZXIiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIGRhdGEtbWF4bGVuZ3RoPSIxMiIgbWF4bGVuZ3RoPSIxMiIgcGxhY2Vob2xkZXI9IuW4s+aItuiZn+eivCAoMTLnorwpIiBzdHlsZT0id2lkdGg6IDI1JTsiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwuY3RiY0FjY291bnRBY2NvdW50TnVtYmVyIj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQk8L3RhYmxlPgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InZzcGFjZTIwIj4KCgkJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1yb3ciPgoKCQkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItZm9ybS1yb3ciPgoKCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOjU1JSI+PC90ZD4KCgkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDoxNSUiPgoKCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bmZvcm0tZW50ZXIwMSIgdmFsdWU9Iuaaq+WtmCIgQGNsaWNrPSJzYXZlIj4KCgkJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQkJPC90YWJsZT4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTUwIj48L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJyZW1hcmstb3V0ZXItd3JhcCI+CgoJCQkJCQkJCTxkaXYgY2xhc3M9InJlbWFyay13cmFwIj4KCgkJCQkJCQkJCTxwPuWCmeiou++8mjwvcD4KCgkJCQkJCQkJCTxkaXYgY2xhc3M9InJlbWFyay1pdGVtcyI+CgoJCQkJCQkJCQkJPG9sPgoKCQkJCQkJCQkJCQk8bGk+6Iul5pyJ55Ww5YuV6KuL5rS954ef6KaP5Zub56eR44CCPC9saT4KCgkJCQkJCQkJCQk8L29sPgoKCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgoJCQkJCTwvZm9ybT4KCgkJCQkJPCEtLSBFbmQgZm9ybSAtLT4KCgkJCQkJPCEtLSBTdGFydCBmb3JtIC0tPgoKCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybSIgaWQ9ImZvcm0wMyIgbmFtZT0iZm9ybTAzIj4KCgkJCQkJCTxkaXYgaWQ9ImRpdi1iYXNpYzAzIiBjbGFzcz0idGFibGlzdC1jb250ZW50IGhpZGUiPiAKCgkJCQkJCQk8IS0tIOWFp+Wuue+8muWtuOatt+izh+aWmSAtLT4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJiZy1ncmF5Ij4KCgkJCQkJCQkJPHAgY2xhc3M9ImZvbnQxNiI+5a245q236LOH5paZPC9wPgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTx0YWJsZSBjbGFzcz0idGFibGUtc2ltcGxlIiBzdHlsZT0id2lkdGg6ODUlO2xpbmUtaGVpZ2h0OjUwcHg7Ij4KCgkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6NDUlOyIgY2xhc3M9InRleHQtcmlnaHQiPgoKCQkJCQkJCQkJCQnmnIDpq5jlrbjmrbc8c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIzIj4KCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIHN0eWxlPSJ3aWR0aDogNTAlOyIgZGlzYWJsZWQgdmFsdWU9IumrmOS4rS/ogbciPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeWtuOagoeWQjeeosTxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InNjaG9vbCIgbmFtZT0ic2Nob29sIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBzdHlsZT0id2lkdGg6IDUwJTsiIGRpc2FibGVkIDp2YWx1ZT0idXNlckRhdGEudXNlckRldGFpbC5zY2hvb2wiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeenkeezuzxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im1ham9yIiBuYW1lPSJtYWpvciIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgc3R5bGU9IndpZHRoOiA1MCU7ImRpc2FibGVkIDp2YWx1ZT0idXNlckRhdGEudXNlckRldGFpbC5tYWpvciI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ5piv5ZCm5pu+5Lu76IG35L+d6Zqq5qWt5qWt5YuZ5ZOhPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJhZGlvYnV0dG9uLXdyYXAiPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0idXNlZHRvYmVBZ2VudF9ZIiBuYW1lPSJ1c2VkdG9iZUFnZW50IiB2YWx1ZT0iWSIgdi1tb2RlbD0idXNlckRhdGEudXNlckRldGFpbC51c2VkdG9iZUFnZW50Ij4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJ1c2VkdG9iZUFnZW50X1kiPuaYrzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InVzZWR0b2JlQWdlbnRfTiIgbmFtZT0idXNlZHRvYmVBZ2VudCIgdmFsdWU9Ik4iIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwudXNlZHRvYmVBZ2VudCI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0idXNlZHRvYmVBZ2VudF9OIj7lkKY8L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCTwvZGl2PgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCI+CgoJCQkJCQkJCQkJCeaYr+WQpuabvuS7u+iBt+acrOWFrOWPuOalreWLmeWToTxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlweDsiPijljIXlkKvlj7DngaMv5a6P5YipL+Wkp+mDveacg+S6uuWjvSk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJhZGlvYnV0dG9uLXdyYXAiPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0idXNlZHRvYmVBZ2VudFRXX1kiIG5hbWU9InVzZWR0b2JlQWdlbnRUVyIgdmFsdWU9IlkiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwudXNlZHRvYmVBZ2VudFRXIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJ1c2VkdG9iZUFnZW50VFdfWSI+5pivPC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0idXNlZHRvYmVBZ2VudFRXX04iIG5hbWU9InVzZWR0b2JlQWdlbnRUVyIgdmFsdWU9Ik4iIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJEZXRhaWwudXNlZHRvYmVBZ2VudFRXIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJ1c2VkdG9iZUFnZW50VFdfTiI+5ZCmPC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQk8L3RhYmxlPgoKCQkJCQkJCTwhLS0g5YWn5a6577ya57aT5q236LOH5paZIC0tPgoKCQkJCQkJCTxkaXYgY2xhc3M9ImJnLWdyYXkiIHYtaWY9Imhhc1dvcmtFeHAiPgoKCQkJCQkJCQk8cCBjbGFzcz0iZm9udDE2Ij7ntpPmrbfos4fmlpk8L3A+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPGRpdiBzdHlsZT0ibWFyZ2luOiAwcHggLTEycHgiIHYtaWY9Imhhc1dvcmtFeHAiPgoKCQkJCQkJCQk8dGFibGUgY2xhc3M9InRhYmxlLWZvcm0iPgoKCQkJCQkJCQkJPHRoZWFkPgoKCQkJCQkJCQkJCTx0cj4KCgkJCQkJCQkJCQkJPHRoIHN0eWxlPSJ3aWR0aDogMzAlIj7lhazlj7jlkI3nqLE8L3RoPgoKCQkJCQkJCQkJCQk8dGggc3R5bGU9IndpZHRoOiAzMCUiPuW3peS9nOacn+mWkzwvdGg+CgoJCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDMwJSI+6YCa6KiK6JmVPC90aD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPC90aGVhZD4KCgkJCQkJCQkJCTx0Ym9keT4KCgkJCQkJCQkJCQk8dHIgY2xhc3M9InRyLWVtcHR5dG9wIj4KCgkJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjYiPjwvdGQ+CgoJCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCQk8dHIgY2xhc3M9InRyLWNvbnRlbnQiPgoKCQkJCQkJCQkJCQk8dGQ+MTwvdGQ+CgoJCQkJCQkJCQkJCTx0ZD4yMDI0LTAx772eMjAyNC0wMTwvdGQ+CgoJCQkJCQkJCQkJCTx0ZD4xPC90ZD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItZW1wdHlidG0iPgoKCQkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iNiI+PC90ZD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQkJPC90YWJsZT4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTIwIiB2LWlmPSJoYXNXb3JrT3RoZXJFeHAiPjwvZGl2PgoKCQkJCQkJCTwhLS0g5YWn5a6577ya5YW25LuW5bel5L2c57aT5q236LOH5paZIC0tPgoKCQkJCQkJCTxkaXYgY2xhc3M9ImJnLWdyYXkiIHYtaWY9Imhhc1dvcmtPdGhlckV4cCI+CgoJCQkJCQkJCTxwIGNsYXNzPSJmb250MTYiPuWFtuS7luW3peS9nOe2k+att+izh+aWmTwvcD4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDBweCAtMTJweCIgdi1pZj0iaGFzV29ya090aGVyRXhwIj4KCgkJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1mb3JtIj4KCgkJCQkJCQkJCTx0aGVhZD4KCgkJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDIwJSI+5YWs5Y+45ZCN56ixPC90aD4KCgkJCQkJCQkJCQkJPHRoIHN0eWxlPSJ3aWR0aDogMjAlIj7lt6XkvZzmnJ/plpM8L3RoPgoKCQkJCQkJCQkJCQk8dGggc3R5bGU9IndpZHRoOiAxMCUiPuiBt+eosTwvdGg+CgoJCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDE1JSI+6KGM5qWt5YilPC90aD4KCgkJCQkJCQkJCQkJPHRoIHN0eWxlPSJ3aWR0aDogMzAlIj7lt6XkvZzlhaflrrk8L3RoPgoKCQkJCQkJCQkJCQk8dGggc3R5bGU9IndpZHRoOiAxMCUiPuOAgDwvdGg+CgoJCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCTwvdGhlYWQ+CgoJCQkJCQkJCQk8dGJvZHk+CgoJCQkJCQkJCQkJPHRyIGNsYXNzPSJ0ci1lbXB0eXRvcCI+CgoJCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSI2Ij48L3RkPgoKCQkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQkJPHRyIGNsYXNzPSJ0ci1jb250ZW50Ij4KCgkJCQkJCQkJCQkJPHRkPjE8L3RkPgoKCQkJCQkJCQkJCQk8dGQ+MjAyNC0wMe+9njIwMjQtMDE8L3RkPgoKCQkJCQkJCQkJCQk8dGQ+MTwvdGQ+CgoJCQkJCQkJCQkJCTx0ZD48L3RkPgoKCQkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMiI+MTwvdGQ+CgoJCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJCQk8dHIgY2xhc3M9InRyLWNvbnRlbnQiPgoKCQkJCQkJCQkJCQk8dGQ+MjwvdGQ+CgoJCQkJCQkJCQkJCTx0ZD4yMDI0LTAy772eMjAyNC0wMjwvdGQ+CgoJCQkJCQkJCQkJCTx0ZD4yPC90ZD4KCgkJCQkJCQkJCQkJPHRkPumHkeiejealrTwvdGQ+CgoJCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSIyIj4yPC90ZD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItY29udGVudCI+CgoJCQkJCQkJCQkJCTx0ZD4zPC90ZD4KCgkJCQkJCQkJCQkJPHRkPjIwMjQtMDPvvZ4yMDI0LTAzPC90ZD4KCgkJCQkJCQkJCQkJPHRkPjM8L3RkPgoKCQkJCQkJCQkJCQk8dGQ+6Yar55mC5qWtPC90ZD4KCgkJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjIiPjM8L3RkPgoKCQkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQkJPHRyIGNsYXNzPSJ0ci1lbXB0eWJ0bSI+CgoJCQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSI2Ij48L3RkPgoKCQkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8L3Rib2R5PgoKCQkJCQkJCQk8L3RhYmxlPgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InZzcGFjZTIwIj4KCgkJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1yb3ciPgoKCQkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItZm9ybS1yb3ciPgoKCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOjU1JSI+PC90ZD4KCgkJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDoxNSUiPgoKCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bmZvcm0tZW50ZXIwMSIgdmFsdWU9Iuaaq+WtmCIgQGNsaWNrPSJzYXZlIj4KCgkJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQkJPC90YWJsZT4KCgkJCQkJCQk8L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTUwIj48L2Rpdj4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJyZW1hcmstb3V0ZXItd3JhcCI+CgoJCQkJCQkJCTxkaXYgY2xhc3M9InJlbWFyay13cmFwIj4KCgkJCQkJCQkJCTxwPuWCmeiou++8mjwvcD4KCgkJCQkJCQkJCTxkaXYgY2xhc3M9InJlbWFyay1pdGVtcyI+CgoJCQkJCQkJCQkJPG9sPgoKCQkJCQkJCQkJCQk8bGk+6Iul5pyJ55Ww5YuV6KuL5rS954ef6KaP5Zub56eR44CCPC9saT4KCgkJCQkJCQkJCQk8L29sPgoKCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgoJCQkJCTwvZm9ybT4KCgkJCQkJPCEtLSBFbmQgZm9ybSAtLT4KCgkJCQkJPCEtLSBTdGFydCBmb3JtIC0tPgoKCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybSIgaWQ9ImZvcm0wNCIgbmFtZT0iZm9ybTA0Ij4KCgkJCQkJCTxkaXYgaWQ9ImRpdi1iYXNpYzA0IiBjbGFzcz0idGFibGlzdC1jb250ZW50IGhpZGUiPgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQkJCTx0YWJsZSBjbGFzcz0idGFibGUtc2ltcGxlIiBzdHlsZT0id2lkdGg6OTUlO2xpbmUtaGVpZ2h0OjUwcHg7Ij4KCgkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDI1JSIgY2xhc3M9InRleHQtcmlnaHQgcmVxdWlyZWQiPgoKCQkJCQkJCQkJCQnkv6HnlKjloLHlkYrliIbmlbg8c3BhbiBjbGFzcz0idGV4dC1saWdodGdyYXkgdGV4dC1ib2xkIj4mbmJzcDsmbmJzcDsg4paOICZuYnNwOyZuYnNwOzwvc3Bhbj4KCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDI1JSI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY3JlZGl0UnB0RGVncmVlIiBuYW1lPSJjcmVkaXRScHREZWdyZWUiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIGRhdGEtbWF4bGVuZ3RoPSI0IiBtYXhsZW5ndGg9IjQiIHBsYWNlaG9sZGVyPSLkv6HnlKjloLHlkYrliIbmlbgiIHN0eWxlPSJ3aWR0aDogOTAlOyIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQuY3JlZGl0UnB0RGVncmVlIiBAZm9jdXNvdXQ9ImhhbmRsZUNyZWRpdFJwdERlZ3JlZSI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCQk8dGggc3R5bGU9IndpZHRoOiAxOCUiIGNsYXNzPSJ0ZXh0LXJpZ2h0IHJlcXVpcmVkIj4KCgkJCQkJCQkJCQkJ5L+h55So5aCx5ZGK5pel5pyfPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAzMiUiPgoKCQkJCQkJCQkJCQk8ZGF0ZS1waWNrZXIgdHlwZT0idGV4dCIgaWQ9ImNyZWRpdFJwdERhdGUiIG5hbWU9ImNyZWRpdFJwdERhdGUiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIGRhdGEtbWF4bGVuZ3RoPSIxMCIgbWF4bGVuZ3RoPSIxMCIgcGxhY2Vob2xkZXI9IuS/oeeUqOWgseWRiuaXpeacnyIgc3R5bGU9IndpZHRoOiA5MCU7IiBzdGFydC1vZmZzZXQ9Ii05MCIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQuY3JlZGl0UnB0RGF0ZSIgQGNoYW5nZT0iaGFuZGxlRGF0ZSI+CgoJCQkJCQkJCQkJCTwvZGF0ZS1waWNrZXI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0IHJlcXVpcmVkIj4KCgkJCQkJCQkJCQkJ5Lq66Lqr5L+d6Zqq5ZCI5qC86K2J6JmfPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibGlmZVJlZ2lzdGVySWQiIG5hbWU9ImxpZmVSZWdpc3RlcklkIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBkYXRhLW1heGxlbmd0aD0iMTAiIG1heGxlbmd0aD0iMTAiIHBsYWNlaG9sZGVyPSLkurrouqvkv53pmqrlkIjmoLzorYnomZ8iIHN0eWxlPSJ3aWR0aDogNTAlOyIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQubGlmZVJlZ2lzdGVySWQiIC8+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ6YeR6J6N5bi46K2Y5ZCI5qC86K2J6JmfPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZmluY1JlZ2lzdGVySWQiIG5hbWU9ImZpbmNSZWdpc3RlcklkIiBjbGFzcz0idHh0Zm9ybS10ZXh0IGJvcmRlci1ncmF5IiBkYXRhLW1heGxlbmd0aD0iMTAiIG1heGxlbmd0aD0iMTAiIHBsYWNlaG9sZGVyPSLph5Hono3luLjorZjlkIjmoLzorYnomZ8iIHN0eWxlPSJ3aWR0aDogNTAlOyIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQuZmluY1JlZ2lzdGVySWQiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBjbGFzcz0idGV4dC1yaWdodCByZXF1aXJlZCI+CgoJCQkJCQkJCQkJCeS6uui6q+S/nemaqueZu+mMhOeLgOazgTxzcGFuIGNsYXNzPSJ0ZXh0LWxpZ2h0Z3JheSB0ZXh0LWJvbGQiPiZuYnNwOyZuYnNwOyDilo4gJm5ic3A7Jm5ic3A7PC9zcGFuPgoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPgoKCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpb2J1dHRvbi13cmFwIj4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImxpZmVSZWdTdGF0dXNfbGlmZV9yZWdfc3RhdHVzXzAiIG5hbWU9ImxpZmVSZWdTdGF0dXMiIHZhbHVlPSIwIiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5saWZlUmVnU3RhdHVzIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJsaWZlUmVnU3RhdHVzX2xpZmVfcmVnX3N0YXR1c18wIj7lsJrmnKrnmbvpjIQ8L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJsaWZlUmVnU3RhdHVzX2xpZmVfcmVnX3N0YXR1c18xIiBuYW1lPSJsaWZlUmVnU3RhdHVzIiB2YWx1ZT0iMSIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQubGlmZVJlZ1N0YXR1cyI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0ibGlmZVJlZ1N0YXR1c19saWZlX3JlZ19zdGF0dXNfMSI+5pu+57aT55m76YyE5L2G5bey6Ki76Yq3PC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibGlmZVJlZ1N0YXR1c19saWZlX3JlZ19zdGF0dXNfMiIgbmFtZT0ibGlmZVJlZ1N0YXR1cyIgdmFsdWU9IjIiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmxpZmVSZWdTdGF0dXMiPgoKCQkJCQkJCQkJCQkJCTxsYWJlbCBmb3I9ImxpZmVSZWdTdGF0dXNfbGlmZV9yZWdfc3RhdHVzXzIiPuW3sueZu+mMhOS9huWwmuacquiou+mKtzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCSZuYnNwOwoKCQkJCQkJCQkJCQkJPGEgaHJlZj0iIyIgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDtjb2xvcjojMDA3ZDdkO3RleHQtZGVjb3JhdGlvbjogbm9uZTsiIHRhcmdldD0iX2JsYW5rIiA6aHJlZj0ibGluay5saWZlT3JnIj4KCgkJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtc2VhcmNoIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDmn6XoqaLorYnomZ/jgIzlo73pmqrlhazmnIPntrLnq5njgI0KCgkJCQkJCQkJCQkJCTwvYT4KCgkJCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIGNsYXNzPSJ0ZXh0LXJpZ2h0IHJlcXVpcmVkIj4KCgkJCQkJCQkJCQkJ6LKh55Si5L+d6Zqq55m76YyE54uA5rOBPHNwYW4gY2xhc3M9InRleHQtbGlnaHRncmF5IHRleHQtYm9sZCI+Jm5ic3A7Jm5ic3A7IOKWjiAmbmJzcDsmbmJzcDs8L3NwYW4+CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgY29sc3Bhbj0iMyI+CgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJhZGlvYnV0dG9uLXdyYXAiPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iZ2VuUmVnU3RhdHVzX2dlbl9yZWdfc3RhdHVzXzAiIG5hbWU9ImdlblJlZ1N0YXR1cyIgdmFsdWU9IjAiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmdlblJlZ1N0YXR1cyI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iZ2VuUmVnU3RhdHVzX2dlbl9yZWdfc3RhdHVzXzAiPuacquWPluW+lzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImdlblJlZ1N0YXR1c19nZW5fcmVnX3N0YXR1c18xIiBuYW1lPSJnZW5SZWdTdGF0dXMiIHZhbHVlPSIxIiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5nZW5SZWdTdGF0dXMiPgoKCQkJCQkJCQkJCQkJCTxsYWJlbCBmb3I9ImdlblJlZ1N0YXR1c19nZW5fcmVnX3N0YXR1c18xIj7lsJrmnKrnmbvpjIQ8L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJnZW5SZWdTdGF0dXNfZ2VuX3JlZ19zdGF0dXNfMiIgbmFtZT0iZ2VuUmVnU3RhdHVzIiB2YWx1ZT0iMiIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQuZ2VuUmVnU3RhdHVzIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJnZW5SZWdTdGF0dXNfZ2VuX3JlZ19zdGF0dXNfMiI+5pu+57aT55m76YyE5L2G5bey6Ki76Yq3PC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iZ2VuUmVnU3RhdHVzX2dlbl9yZWdfc3RhdHVzXzMiIG5hbWU9ImdlblJlZ1N0YXR1cyIgdmFsdWU9IjMiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmdlblJlZ1N0YXR1cyI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iZ2VuUmVnU3RhdHVzX2dlbl9yZWdfc3RhdHVzXzMiPuW3sueZu+mMhOS9huWwmuacquiou+mKtzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCSZuYnNwOwoKCQkJCQkJCQkJCQkJPGEgaHJlZj0iIyIgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDtjb2xvcjojMDA3ZDdkO3RleHQtZGVjb3JhdGlvbjogbm9uZTsiIHRhcmdldD0iX2JsYW5rIiA6aHJlZj0ibGluay5nZW5lcmFsT3JnIj4KCgkJCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtc2VhcmNoIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDmn6XoqaLnmbvpjITni4Dms4HjgIznlKLpmqrlhazmnIPntrLnq5njgI0KCgkJCQkJCQkJCQkJCTwvYT4KCgkJCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCTwvdGJvZHk+CgoJCQkJCQkJPC90YWJsZT4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTIwIj48L2Rpdj4KCgkJCQkJCQk8aHIgc3R5bGU9IndpZHRoOiA5MCU7IGNvbG9yOiM2NjY2NjY7Ij4KCgkJCQkJCQk8ZGl2IGNsYXNzPSJzcGFjZTIwIj48L2Rpdj4KCgkJCQkJCQk8dGFibGUgY2xhc3M9InRhYmxlLXNpbXBsZSIgc3R5bGU9IndpZHRoOiA5MCU7IGxpbmUtaGVpZ2h0OiA1MHB4OyI+CgoJCQkJCQkJCTx0Ym9keT4KCgkJCQkJCQkJCTx0cj4KCgkJCQkJCQkJCQk8dGggc3R5bGU9IndpZHRoOiAzOCUiIGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KCgkJCQkJCQkJCQkJ5piv5ZCm5pyJ6Kaq5bGs5Zyo5pys5YWs5Y+45pOU5Lu75qWt5YuZ5ZOhPyZuYnNwOyZuYnNwOwoKCQkJCQkJCQkJCTwvdGg+CgoJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMTMlIiBjb2xzcGFuPSIyIj4KCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icmFkaW9idXR0b24td3JhcCI+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJwYXJlbnRBZ2VudF9ZIiBuYW1lPSJwYXJlbnRBZ2VudCIgdmFsdWU9IlkiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLnBhcmVudEFnZW50IiBAY2hhbmdlPSJoYW5kbGVEZXBlbmRlbmN5KCRldmVudCwgJ3BhcmVudE5hbWUnLCAncGFyZW50UmVsYScpIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJwYXJlbnRBZ2VudF9ZIj7mmK88L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJwYXJlbnRBZ2VudF9OIiBuYW1lPSJwYXJlbnRBZ2VudCIgdmFsdWU9Ik4iIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLnBhcmVudEFnZW50IiBAY2hhbmdlPSJoYW5kbGVEZXBlbmRlbmN5KCRldmVudCwgJ3BhcmVudE5hbWUnLCAncGFyZW50UmVsYScpIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJwYXJlbnRBZ2VudF9OIj7lkKY8L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCTwvZGl2PgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMzclIj4KCgkJCQkJCQkJCQkJ6Kaq5bGs5aeT5ZCNCgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icGFyZW50TmFtZSIgbmFtZT0icGFyZW50TmFtZSIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgZGF0YS1tYXhsZW5ndGg9IjEwIiBwbGFjZWhvbGRlcj0i6Kaq5bGs5aeT5ZCNIiBzdHlsZT0id2lkdGg6IDMzJTsiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLnBhcmVudE5hbWUiPgoKCQkJCQkJCQkJCQnopqrlsazpl5zkv4IKCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZGRsLXdyYXAgZGRsLWlubGluZSI+CgoJCQkJCQkJCQkJCQk8c2VsZWN0IGlkPSJwYXJlbnRSZWxhIiBuYW1lPSJwYXJlbnRSZWxhIiBzdHlsZT0id2lkdGg6IDMwJSIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQucGFyZW50UmVsYSI+CgoJCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iIj7oq4vpgbjmk4c8L29wdGlvbj4KCgkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSIxIiA+54i25a2QKOWlsyk8L29wdGlvbj4KCgkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSIyIiA+5q+N5a2QKOWlsyk8L29wdGlvbj4KCgkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSIzIiA+5aSr5aa7PC9vcHRpb24+CgoJCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iNCIgPuWFtuS7ljwvb3B0aW9uPgoKCQkJCQkJCQkJCQkJPC9zZWxlY3Q+CgoJCQkJCQkJCQkJCTwvZGl2PjwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDM4JSIgY2xhc3M9InRleHQtcmlnaHQgcmVxdWlyZWQiPgoKCQkJCQkJCQkJCQnmmK/lkKbmm77pgZXlj43mpa3li5nkurrlk6HnrqHnkIbopo/liYfogIzlj5fmh7LomZXntIDpjIQ/Jm5ic3A7Jm5ic3A7CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAxMyUiIGNvbHNwYW49IjIiPgoKCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpb2J1dHRvbi13cmFwIj4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InB1bmlzaEhpc3RvcnlfWSIgbmFtZT0icHVuaXNoSGlzdG9yeSIgdmFsdWU9IlkiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLnB1bmlzaEhpc3RvcnkiIEBjaGFuZ2U9ImhhbmRsZURlcGVuZGVuY3koJGV2ZW50LCAncHVuaXNoSGlzRGV0YWlsJykiPgoKCQkJCQkJCQkJCQkJCTxsYWJlbCBmb3I9InB1bmlzaEhpc3RvcnlfWSI+5pivPC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icHVuaXNoSGlzdG9yeV9OIiBuYW1lPSJwdW5pc2hIaXN0b3J5IiB2YWx1ZT0iTiIgdi1tb2RlbD0idXNlckRhdGEudXNlckJhY2tncm91bmQucHVuaXNoSGlzdG9yeSIgQGNoYW5nZT0iaGFuZGxlRGVwZW5kZW5jeSgkZXZlbnQsICdwdW5pc2hIaXNEZXRhaWwnKSI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0icHVuaXNoSGlzdG9yeV9OIj7lkKY8L2xhYmVsPgoKCQkJCQkJCQkJCQkJCgoJCQkJCQkJCQkJCTwvZGl2PgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQkJPHRkIHN0eWxlPSJ3aWR0aDogMzclIj4KCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJwdW5pc2hIaXNEZXRhaWwiIG5hbWU9InB1bmlzaEhpc0RldGFpbCIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgZGF0YS1tYXhsZW5ndGg9IjEwIiBwbGFjZWhvbGRlcj0i6Kmz57Sw6Kqq5piOIiBzdHlsZT0id2lkdGg6IDkwJTsiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLnB1bmlzaEhpc0RldGFpbCI+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8dHI+CgoJCQkJCQkJCQkJPHRoIHN0eWxlPSJ3aWR0aDogMzglIiBjbGFzcz0idGV4dC1yaWdodCByZXF1aXJlZCI+CgoJCQkJCQkJCQkJCeaYr+WQpuabvuWPl+WFrOacg+aHsuiZlee0gOmMhD8mbmJzcDsmbmJzcDsKCgkJCQkJCQkJCQk8L3RoPgoKCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6MTMlIiBjb2xzcGFuPSIyIj4KCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icmFkaW9idXR0b24td3JhcCI+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJsaWFQdW5pc2hIaXN0b3J5X1kiIG5hbWU9ImxpYVB1bmlzaEhpc3RvcnkiIHZhbHVlPSJZIiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5saWFQdW5pc2hIaXN0b3J5IiBAY2hhbmdlPSJoYW5kbGVEZXBlbmRlbmN5KCRldmVudCwgJ2xpYVB1bmlzaEhpc0RldGFpbCcpIj4KCgkJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJsaWFQdW5pc2hIaXN0b3J5X1kiPuaYrzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImxpYVB1bmlzaEhpc3RvcnlfTiIgbmFtZT0ibGlhUHVuaXNoSGlzdG9yeSIgdmFsdWU9Ik4iIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmxpYVB1bmlzaEhpc3RvcnkiIEBjaGFuZ2U9ImhhbmRsZURlcGVuZGVuY3koJGV2ZW50LCAnbGlhUHVuaXNoSGlzRGV0YWlsJykiPgoKCQkJCQkJCQkJCQkJCTxsYWJlbCBmb3I9ImxpYVB1bmlzaEhpc3RvcnlfTiI+5ZCmPC9sYWJlbD4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDM3JSI+CgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibGlhUHVuaXNoSGlzRGV0YWlsIiBuYW1lPSJsaWFQdW5pc2hIaXNEZXRhaWwiIGNsYXNzPSJ0eHRmb3JtLXRleHQgYm9yZGVyLWdyYXkiIGRhdGEtbWF4bGVuZ3RoPSIxMCIgcGxhY2Vob2xkZXI9Iuips+e0sOiqquaYjiIgc3R5bGU9IndpZHRoOiA5MCU7IiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5saWFQdW5pc2hIaXNEZXRhaWwiPgoKCQkJCQkJCQkJCTwvdGQ+CgoJCQkJCQkJCQk8L3RyPgoKCQkJCQkJCQkJPHRyPgoKCQkJCQkJCQkJCTx0aCBzdHlsZT0id2lkdGg6IDM4JSIgY2xhc3M9InRleHQtcmlnaHQgcmVxdWlyZWQiPgoKCQkJCQkJCQkJCQnmmK/lkKbmnInliJHkuovniq/nvarntIDpjIQ/Jm5ic3A7Jm5ic3A7CgoJCQkJCQkJCQkJPC90aD4KCgkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAxMyUiIGNvbHNwYW49IjIiPgoKCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpb2J1dHRvbi13cmFwIj4KCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImNyaW1lSGlzdG9yeV9ZIiBuYW1lPSJjcmltZUhpc3RvcnkiIHZhbHVlPSJZIiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5jcmltZUhpc3RvcnkiIEBjaGFuZ2U9ImhhbmRsZURlcGVuZGVuY3koJGV2ZW50LCAnY3JpbWVEZXRhaWwnKSI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iY3JpbWVIaXN0b3J5X1kiPuaYrzwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJCQoKCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImNyaW1lSGlzdG9yeV9OIiBuYW1lPSJjcmltZUhpc3RvcnkiIHZhbHVlPSJOIiB2LW1vZGVsPSJ1c2VyRGF0YS51c2VyQmFja2dyb3VuZC5jcmltZUhpc3RvcnkiIEBjaGFuZ2U9ImhhbmRsZURlcGVuZGVuY3koJGV2ZW50LCAnY3JpbWVEZXRhaWwnKSI+CgoJCQkJCQkJCQkJCQkJPGxhYmVsIGZvcj0iY3JpbWVIaXN0b3J5X04iPuWQpjwvbGFiZWw+CgoJCQkJCQkJCQkJCQkKCgkJCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCQkJPC90ZD4KCgkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAzNyUiPgoKCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyaW1lRGV0YWlsIiBuYW1lPSJjcmltZURldGFpbCIgY2xhc3M9InR4dGZvcm0tdGV4dCBib3JkZXItZ3JheSIgZGF0YS1tYXhsZW5ndGg9IjEwIiBwbGFjZWhvbGRlcj0i6Kmz57Sw6Kqq5piOIiBzdHlsZT0id2lkdGg6IDkwJTsiIHYtbW9kZWw9InVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmNyaW1lRGV0YWlsIj4KCgkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJPC90cj4KCgkJCQkJCQkJPC90Ym9keT4KCgkJCQkJCQk8L3RhYmxlPgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlMjAiPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InZzcGFjZTIwIj4KCgkJCQkJCQkJPHRhYmxlIGNsYXNzPSJ0YWJsZS1yb3ciPgoKCQkJCQkJCQkJPHRib2R5PgoKCQkJCQkJCQkJCTx0ciBjbGFzcz0idHItZm9ybS1yb3ciPgoKCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiA1NSUiPjwvdGQ+CgoJCQkJCQkJCQkJCTx0ZCBzdHlsZT0id2lkdGg6IDE1JSI+CgoJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuZm9ybS1lbnRlcjAxIiB2YWx1ZT0i5pqr5a2YIiBAY2xpY2s9InNhdmUiPgoKCQkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJCQk8dGQgc3R5bGU9IndpZHRoOiAxNSUiPgoKCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bmZvcm0tZW50ZXIiIHZhbHVlPSLpgZ7kuqQiIEBjbGljaz0iYXBwbHkiPgoKCQkJCQkJCQkJCQk8L3RkPgoKCQkJCQkJCQkJCTwvdHI+CgoJCQkJCQkJCQk8L3Rib2R5PgoKCQkJCQkJCQk8L3RhYmxlPgoKCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InNwYWNlNTAiPjwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9InJlbWFyay1vdXRlci13cmFwIj4KCgkJCQkJCQkJPGRpdiBjbGFzcz0icmVtYXJrLXdyYXAiPgoKCQkJCQkJCQkJPHA+5YKZ6Ki777yaPC9wPgoKCQkJCQkJCQkJPGRpdiBjbGFzcz0icmVtYXJrLWl0ZW1zIj4KCgkJCQkJCQkJCQk8b2w+CgoJCQkJCQkJCQkJCTxsaT7oi6XmnInnlbDli5Xoq4vmtL3nh5/opo/lm5vnp5HjgII8L2xpPgoKCQkJCQkJCQkJCTwvb2w+CgoJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQk8L2Rpdj4KCgkJCQkJPC9mb3JtPgoKCQkJCQk8IS0tIEVuZCBmb3JtIC0tPgoKCQkJCTwvZGl2PgoKCQkJPC9kaXY+CgoJCQk8ZGl2IGNsYXNzPSJzcGFjZTMwIj48L2Rpdj4KCgkJPC9kaXY+CgoJCTxpbWcgc3JjPSIvaW1hZ2VzL2NpcmNsZXNoYWRvdy5wbmciIHN0eWxlPSJ3aWR0aDoxMDAlIiAvPgoKCQoKCQk8ZGl2IGNsYXNzPSJzcGFjZTIwIj48L2Rpdj4KCgkJCgoJCQkKCgkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCgkJCTxkaXYgY2xhc3M9ImxvYWRlci13cmFwIj4KCgkJCQk8ZGl2IGNsYXNzPSJsb2FkZXIiPjwvZGl2PgoKCQkJPC9kaXY+CgoJCTwvZGl2PgoKCQkKCgkJPGRpdiBpZD0iZGVmYXVsdFBvcHVwIiBjbGFzcz0iYm94LW1vZGVsIj4KCgkJCTxkaXYgY2xhc3M9ImJveC1hbGVydCI+CgoJCQkJPGRpdiBjbGFzcz0icG9wdXAtaWNvbiI+CgoJCQkJCTxzcGFuIGNsYXNzPSJ0ZXh0LWJvbGQgdGV4dC1ibGFjayBwb3B1cC10aXRsZSI+CgoJCQkJCTwvc3Bhbj4KCgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJyb3ciPgoKCQkJCQk8c3BhbiBjbGFzcz0icG9wdXAtY2xvc2UiPgoKCQkJCQkJPGltZyBzcmM9Ii9pbWFnZXMvY2xvc2Uuc3ZnIiAvPgoKCQkJCQk8L3NwYW4+CgoJCQkJPC9kaXY+CgoJCQkJPGhyIC8+CgoJCQkJPGRpdiBpZD0iYWxlcnQtdGV4dCIgY2xhc3M9InRleHQiIHN0eWxlPSJtYXJnaW46IDIwcHggMTBweDsgd29yZC1icmVhazogYnJlYWstYWxsOyI+PC9kaXY+CgoJCQkJPGRpdiBjbGFzcz0icm93Ij4KCgkJCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9InBvcHVwLW9rIiBzdHlsZT0id2lkdGg6IDE2MHB4IiB2YWx1ZT0i56K65a6aIiAvPgoKCQkJCQk8aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0icG9wdXAtY2FuY2VsIiBzdHlsZT0id2lkdGg6IDE2MHB4IiB2YWx1ZT0i5Y+W5raIIiAvPgoKCQkJCTwvZGl2PgoKCQkJPC9kaXY+CgoJCTwvZGl2PgoKCQoKCQk8IS0tRm9vdGVy5Y2A5aGK6ZaL5aeLLS0+CgoJCTxkaXYgY2xhc3M9ImZvb3RlciI+CgoJCQk8ZGl2IGNsYXNzPSJmb290ZXItd3JhcCI+CgoJCQkJPGRpdiBjbGFzcz0ibGluZS13cmFwIj4KCgkJCQkJPGRpdiBjbGFzcz0ibGluZTEiPjwvZGl2PgoKCQkJCQk8ZGl2IGNsYXNzPSJsaW5lMiI+PC9kaXY+CgoJCQkJCTxkaXYgY2xhc3M9ImxpbmUzIj48L2Rpdj4KCgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJmb290ZXItdGV4dCI+5Y+w54Gj5Lq65aO9Jm5ic3A7Jm5ic3A7Jm5ic3A75Zyw5Z2A77ya5Y+w5YyX5biC5Y2X5riv5Y2AMTE1NjjntpPosr/kuozot68xODjomZ845qiTJm5ic3A7Jm5ic3A75a6i5oi25pyN5YuZ5bCI57ea77yaMDgwMC0wOTktODUwJm5ic3A75oiWJm5ic3A7KDAyKTgxNzAtNTE1NiZuYnNwOyZuYnNwOzwvZGl2PgoKCQkJPC9kaXY+CgoJCTwvZGl2PgoKCQk8IS0tRm9vdGVy5Y2A5aGK57WQ5p2fLS0+IAoKCQoKCQkKCgk8L2Rpdj4KCgkKCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgoJCXZhciB1cmwgPSB7CgoJCQl1c2VyOiB7CgoJCQkJaG9tZTogIlwvcmVjcnVpdCIsCgoJCQkJcG9ydGFsOiAiXC9yZWNydWl0XC9wb3J0YWwiLAoKCQkJCXJlZ2lzdGVyOiAiXC9yZWNydWl0XC9yZWdpc3RlciIsCgoJCQkJZm9yZ290UGluQ29kZTogIlwvcmVjcnVpdFwvZm9yZ290UGluQ29kZSIsCgoJCQkJY2hhbmdlUGluQ29kZTogIlwvcmVjcnVpdFwvY2hhbmdlUGluQ29kZSIsCgoJCQkJdXBkYXRlUHJvZmlsZTogIlwvcmVjcnVpdFwvdXBkYXRlUHJvZmlsZSIsCgoJCQkJbG9nb3V0OiAiXC9yZWNydWl0XC9sb2dvdXQiCgoJCQl9LAoKCQkJYWdlbnQ6IHsKCgkJCQlwb3J0YWw6ICJcL2FnZW50XC9wb3J0YWwiLAoKCQkJCWJpbmRBY2NvdW50OiAiXC9hZ2VudFwvYmluZEFjY291bnQiLAoKCQkJCXByZWxpbWluYXJ5UmV2aWV3OiAiXC9hZ2VudFwvcHJlbGltaW5hcnlSZXZpZXciLAoKCQkJCWxvZ291dDogIlwvYWdlbnRcL2xvZ291dCIKCgkJCX0sCgoJCQlzdGFmZjogewoKCQkJCXBvcnRhbDogIlwvc3RhZmZcL3BvcnRhbCIsCgoJCQkJbG9nb3V0OiAiXC9zdGFmZlwvbG9nb3V0IgoKCQkJfSwKCgkJCQoKCQkJcG9ydGFsOiB7CgoJCQkJY2JzOiAibnVsbFwvcG9ydGFsXC9jYnMiLAoKCQkJCWVsZWFybmluZzogIm51bGxcL3BvcnRhbFwvZWxlYXJuaW5nIgoKCQkJfQoKCQl9OwoKCQl2YXIgY29va2llID0gewoKCQkJdXNlcjogIl9lZ29fXzIwMDI4NzkwMzciLAoKCQkJZm9yZ290OiB7CgoJCQkJZGF0ZTogIl9lZ29fMzg4MzkyMDYiLAoKCQkJCXRpbWVzOiAiX2Vnb18xNjY5MjYxMTU2IgoKCQkJfQoKCQl9OwoKCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKCgkJCSQoIi5icmVhZGNydW1iLWhvbWUiKS5jbGljayhmdW5jdGlvbigpIHsKCgkJCQl2YXIgaG9tZSA9IHVybC51c2VyLnBvcnRhbDsKCgkJCQkKCgkJCQkKCgkJCQllZ28uY2hhbmdlVXJsKGhvbWUpOwoKCQkJfSk7CgoJCX0pOwoKCTwvc2NyaXB0PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCgoKCQl2YXIgYXBwID0gbmV3IFZ1ZSh7CgoJCQllbDogIiNhcHAiLAoKCQkJZGF0YTogewoKCQkJCS8vIOa6luWinuWToeizh+aWmQoKCQkJCXVzZXJEYXRhOiB7CgoJCQkJCWlzTmV3OiB0cnVlLAoKCQkJCQkvKiDmlofku7bkuIrlgrMgKi8KCgkJCQkJdXBsb2FkRGVmaW5lczogWwoKCQkJCQkJLyoKCgkJCQkJCXsKCgkJCQkJCQlqb2JUeXBlOiAiQTEiLAoKCQkJCQkJCWZpbGVUeXBlOiAiSGVhZDJpbmNoIiwKCgkJCQkJCQlmaWxlRGVzYzogIuS6jOWQi+W9qeiJsuWkp+mgreiyvCIsCgoJCQkJCQkJZmlsZUhlYWQ6ICLkuozlkIvlvanoibLlpKfpoK3osrwiLAoKCQkJCQkJCXVwbG9hZGVkOiAxLAoKCQkJCQkJCWFsZXJ0TWFyazogbnVsbCwKCgkJCQkJCQlub3RBbGVydE1hcmtlZDogZmFsc2UsCgoJCQkJCQkJYWxlcnRNYXJrZWQ6IGZhbHNlCgoJCQkJCQl9CgoJCQkJCQkqLwoKCQkJCQldLAoKCQkJCQkvKiDln7rmnKzos4fmlpkgKi8KCgkJCQkJLy8g5rqW5aKe5ZOh5Li75qqUCgoJCQkJCXVzZXI6IHsKCgkJCQkJCS8vIOS9v+eUqOiAheezu+e1see3qOiZnyBJbnRlZ2VyCgoJCQkJCQlzeXNDb2RlOiAiIiwKCgkJCQkJCS8vIOi6q+WIhuitieWtl+iZny/luLPomZ8KCgkJCQkJCXVzZXJJZDogIiIsCgoJCQkJCQkvLyDlp5PlkI0KCgkJCQkJCXVzZXJOYW1lOiAiIiwKCgkJCQkJCS8vIOe+hemmrOaLmumfswoKCQkJCQkJcm9tYW5OYW1lOiAiIiwKCgkJCQkJCS8vIOmbu+WtkOmDteS7tgoKCQkJCQkJZW1haWw6ICIiLAoKCQkJCQkJLy8g5omL5qmf6Jmf56K8CgoJCQkJCQltb2JpbGVQaG9uZTogIiIsCgoJCQkJCQkvLyDlh7rnlJ/ml6XmnJ8geXl5eU1NZGQKCgkJCQkJCWJpcnRoZGF5OiAiIiwKCgkJCQkJCS8vIOebtOWxrOS4u+euoeeZu+mMhOitieiZnwoKCQkJCQkJZHNSZWdpc3RlcklkOiAiIiwKCgkJCQkJCS8vIOebtOWxrOS4u+euoQoKCQkJCQkJZHNBZ2VudDogewoKCQkJCQkJCXVzZXJJZDogIiIsCgoJCQkJCQkJdXNlck5hbWU6ICIiLAoKCQkJCQkJCWFnZW50Q29kZTogIiIsCgoJCQkJCQkJcmVnaXN0ZXJObzogIiIsCgoJCQkJCQkJbGluZUNvZGU6ICIiLAoKCQkJCQkJCWFnZW50Q2hhbm5lbDogIiIsCgoJCQkJCQkJbW9iaWxlUGhvbmU6ICIiLAoKCQkJCQkJCWVtYWlsOiAiIiwKCgkJCQkJCQlicmFuY2hDb2RlOiAiIiwKCgkJCQkJCQlicmFuY2hOYW1lOiAiIiwKCgkJCQkJCQlicmFuY2hNYW5hZ2VyOiAiIiwKCgkJCQkJCQlicmFuY2hNYW5hZ2VyRW1haWw6ICIiLAoKCQkJCQkJCWJyYW5jaE1hbmFnZXJNb2JpbGU6ICIiLAoKCQkJCQkJCWJyYW5jaEFzc2lzdGFudDogIiIsCgoJCQkJCQkJY2VudGVyQ29kZTogIiIsCgoJCQkJCQkJY2VudGVyTmFtZTogIiIsCgoJCQkJCQkJY2VudGVyTWFuYWdlcjogIiIsCgoJCQkJCQkJY2VudGVyTWFuYWdlckVtYWlsOiAiIiwKCgkJCQkJCQljZW50ZXJNYW5hZ2VyTW9iaWxlOiAiIiwKCgkJCQkJCQlsZXZlbENvZGU6ICIiLAoKCQkJCQkJCWxldmVsVGl0bGU6ICIiLAoKCQkJCQkJCWFnZW50U3RhdHVzQ29kZTogIiIsCgoJCQkJCQkJYWdlbnRTdGF0dXM6ICIiLAoKCQkJCQkJCWxlYXZlRGF0ZTogIiIsCgoJCQkJCQkJYWd1aUNlbnRlcjogIiIsCgoJCQkJCQkJYWd1aU1hbmFnZXI6ICIiLAoKCQkJCQkJCWFndWlDZW50ZXJOYW1lOiAiIiwKCgkJCQkJCQljcmVhdGVUaW1lOiAiIgoKCQkJCQkJfSwKCgkJCQkJCS8vIOaOqOiWpuS6uueZu+mMhOitieiZnwoKCQkJCQkJcmVmUmVnaXN0ZXJJZDogIiIsCgoJCQkJCQkvLyDmjqjolqbkuroKCgkJCQkJCXJlZkFnZW50OiB7CgoJCQkJCQkJdXNlcklkOiAiIiwKCgkJCQkJCQl1c2VyTmFtZTogIiIsCgoJCQkJCQkJYWdlbnRDb2RlOiAiIiwKCgkJCQkJCQlyZWdpc3Rlck5vOiAiIiwKCgkJCQkJCQlsaW5lQ29kZTogIiIsCgoJCQkJCQkJYWdlbnRDaGFubmVsOiAiIiwKCgkJCQkJCQltb2JpbGVQaG9uZTogIiIsCgoJCQkJCQkJZW1haWw6ICIiLAoKCQkJCQkJCWJyYW5jaENvZGU6ICIiLAoKCQkJCQkJCWJyYW5jaE5hbWU6ICIiLAoKCQkJCQkJCWJyYW5jaE1hbmFnZXI6ICIiLAoKCQkJCQkJCWJyYW5jaE1hbmFnZXJFbWFpbDogIiIsCgoJCQkJCQkJYnJhbmNoTWFuYWdlck1vYmlsZTogIiIsCgoJCQkJCQkJYnJhbmNoQXNzaXN0YW50OiAiIiwKCgkJCQkJCQljZW50ZXJDb2RlOiAiIiwKCgkJCQkJCQljZW50ZXJOYW1lOiAiIiwKCgkJCQkJCQljZW50ZXJNYW5hZ2VyOiAiIiwKCgkJCQkJCQljZW50ZXJNYW5hZ2VyRW1haWw6ICIiLAoKCQkJCQkJCWNlbnRlck1hbmFnZXJNb2JpbGU6ICIiLAoKCQkJCQkJCWxldmVsQ29kZTogIiIsCgoJCQkJCQkJbGV2ZWxUaXRsZTogIiIsCgoJCQkJCQkJYWdlbnRTdGF0dXNDb2RlOiAiIiwKCgkJCQkJCQlhZ2VudFN0YXR1czogIiIsCgoJCQkJCQkJbGVhdmVEYXRlOiAiIiwKCgkJCQkJCQlhZ3VpQ2VudGVyOiAiIiwKCgkJCQkJCQlhZ3VpTWFuYWdlcjogIiIsCgoJCQkJCQkJYWd1aUNlbnRlck5hbWU6ICIiLAoKCQkJCQkJCWNyZWF0ZVRpbWU6ICIiCgoJCQkJCQl9LAoKCQkJCQkJLy8g6YCa6KiK6JmV5Luj6JmfCgoJCQkJCQljb21tQ29kZTogIiIsCgoJCQkJCQkvLyDpgJroqIromZUKCgkJCQkJCWNvbW1Vbml0OiB7CgoJCQkJCQkJYWdlbnRDaGFubmVsOiAiIiwKCgkJCQkJCQljb21tQ29kZTogIiIsCgoJCQkJCQkJY29tbU5hbWU6ICIiLAoKCQkJCQkJCWFyZWFDZW50ZXI6IHsKCgkJCQkJCQkJYWdlbnRDaGFubmVsOiAiIiwKCgkJCQkJCQkJY2VudGVyQ29kZTogIiIsCgoJCQkJCQkJCWNlbnRlck5hbWU6ICIiLAoKCQkJCQkJCQlpc0RlbGV0ZTogZmFsc2UKCgkJCQkJCQl9LAoKCQkJCQkJCWFzc2lzdGFudDogewoKCQkJCQkJCQllbXBsb3llZU5vOiAiIiwKCgkJCQkJCQkJZW1wbG95ZWVOYW1lOiAiIiwKCgkJCQkJCQkJZW5hYmxlU2VuZFNtczogZmFsc2UsCgoJCQkJCQkJCWVuYWJsZVNlbmRFbWFpbDogZmFsc2UsCgoJCQkJCQkJCWVtYWlsOiAiIiwKCgkJCQkJCQkJbW9iaWxlUGhvbmU6ICIiLAoKCQkJCQkJCQltb2RpZnlUaW1lOiAiIgoKCQkJCQkJCX0sCgoJCQkJCQkJaXNEZWxldGU6IGZhbHNlCgoJCQkJCQl9LAoKCQkJCQkJLy8g6IG35YuZ5Luj56K8CgoJCQkJCQlqb2JJZDogIiIsCgoJCQkJCQkvLyDogbfli5npoZ7liKUKCgkJCQkJCWpvYlR5cGU6ICIiLAoKCQkJCQkJLy8g5paw5aKe5pmC6ZaTIHl5eXktTU0tZGQnVCdISDptbTpzcwoKCQkJCQkJY3JlYXRlVGltZTogIiIsCgoJCQkJCQkvLyDkv67mlLnmmYLplpMgeXl5eS1NTS1kZCdUJ0hIOm1tOnNzCgoJCQkJCQltb2RpZnlUaW1lOiAiIiwKCgkJCQkJCS8vIOeLgOaFiwoKCQkJCQkJc3RhdHVzOiAiIiwKCgkJCQkJCS8vIOaYr+WQpue1kOahiAoKCQkJCQkJaXNDbG9zZTogZmFsc2UsCgoJCQkJCQkvLyDmmK/lkKblt7LnsL3nvbLogbLmmI7kuovpoIUKCgkJCQkJCWFncmVlbWVudFNpZ25lZDogZmFsc2UKCgkJCQkJfSwKCgkJCQkJLy8g5rqW5aKe5ZOh6Kmz57Sw6LOH5paZ5qqUCgoJCQkJCXVzZXJEZXRhaWw6IHsKCgkJCQkJCS8vIOa6luWinuWToeS4u+imgWtleeWAvAoKCQkJCQkJc3lzQ29kZTogIiIsCgoJCQkJCQkvLyDmlrDlop7mmYLplpMgeXl5eS1NTS1kZCdUJ0hIOm1tOnNzCgoJCQkJCQlhZGREYXRlOiAiIiwKCgkJCQkJCS8vIOabtOaWsOaZgumWkyB5eXl5LU1NLWRkJ1QnSEg6bW06c3MKCgkJCQkJCXVwZERhdGU6ICIiLAoKCQkJCQkJLy8gCgoJCQkJCQllbk5hbWU6ICIiLAoKCQkJCQkJLy8g6Iux5paH5aeT5ZCNCgoJCQkJCQllZWdOYW1lOiAiIiwKCgkJCQkJCS8vIOWgseiBmOWWruS9jS/mjqjolqbkurov5aKe5ZOh6ICFCgoJCQkJCQlteVJlZmVycmVyOiAiIiwKCgkJCQkJCS8vIOWQjOalree2k+attwoKCQkJCQkJbXlTYW1lRXhwZXJpZW5jZTogIiIsCgoJCQkJCQkvLyDmmK/lkKbmnInopqrlsazlnKjmnKzlhazlj7jku7vogbcKCgkJCQkJCWlzV29ya0hlcmU6ICIiLAoKCQkJCQkJLy8gTGluZSBJRAoKCQkJCQkJbGluZUlEOiAiIiwKCgkJCQkJCS8vIOaAp+WIpQoKCQkJCQkJc2V4OiAiIiwKCgkJCQkJCS8vIOWpmuWnuwoKCQkJCQkJbWFycnk6ICIiLAoKCQkJCQkJLy8g6KGA5Z6LCgoJCQkJCQlibG9vZDogIiIsCgoJCQkJCQkvLyDlrZDlpbPkurrmlbgKCgkJCQkJCWJyb29kOiAiIiwKCgkJCQkJCS8vIOS9j+Wutumbu+ipsQoKCQkJCQkJdGVsMTogIiIsCgoJCQkJCQkvLyDooYzli5Xpm7voqbEKCgkJCQkJCXRlbDI6ICIiLAoKCQkJCQkJLy8g6Zu75a2Q6YO15Lu2CgoJCQkJCQltYWlsOiAiIiwKCgkJCQkJCS8vIOWOn+S9j+awkeWnk+WQjQoKCQkJCQkJcm9tYW5OYW1lOiAiIiwKCgkJCQkJCS8vIOe3iuaApeiBr+e1oeS6uuWnk+WQjQoKCQkJCQkJY3JpTmFtZTogIiIsCgoJCQkJCQkvLyDnt4rmgKXoga/ntaHkurrpl5zkv4IgMDrphY3lgbYgMTrlrZDlpbMgMjrniLbmr40gMzrlhYTlvJ/lp5DlprkgNDrmnIvlj4sgNTrlhbbku5YKCgkJCQkJCWNyaVJlbDogIiIsCgoJCQkJCQkvLyDnt4rmgKXoga/ntaHkurrpm7voqbEKCgkJCQkJCWNyaVRlbDogIiIsCgoJCQkJCQkvLyDlrbjmrbcgMDrlhbbku5YgMTrnoJTnqbbmiYAgMjrlpKflrbggMzrlsIjnp5EgNDrpq5jkuK0v6IG3IDU65ZyL5LitIDY65bCP5a24CgoJCQkJCQlkZWdyZWU6ICIiLAoKCQkJCQkJLy8g5pyA6auY5a245q235a245qCh5ZCN56ixCgoJCQkJCQlzY2hvb2w6ICIiLAoKCQkJCQkJLy8g56eR57O7CgoJCQkJCQltYWpvcjogIiIsCgoJCQkJCQkvLyDnlaLmpa0gMDrnlaLmpa0gMTrogoTmpa0gMjrlhbbku5YKCgkJCQkJCWdyYWRlOiAiIiwKCgkJCQkJCS8vIOWtuOagoeekvuWcmOe2k+mplyAwOueEoSAxOuaciQoKCQkJCQkJYXNzbzogIiIsCgoJCQkJCQkvLyDlrbjmoKHnpL7lnJjmk5Tku7vlubnpg6jlkI3nqLEKCgkJCQkJCWFzc29OYW1lOiAiIiwKCgkJCQkJCS8vIOWFrOWPuOWQjeeosTEKCgkJCQkJCWNvbTE6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi1tykKCgkJCQkJCWZkYXRlWTE6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi1tykKCgkJCQkJCWZkYXRlTTE6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi/hCkKCgkJCQkJCXRkYXRlWTE6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi/hCkKCgkJCQkJCXRkYXRlTTE6ICIiLAoKCQkJCQkJLy8g5bm06LOHIGV4OjEuMijlubQpCgoJCQkJCQlleHB0MTogIiIsCgoJCQkJCQkvLyDogbfnqLEKCgkJCQkJCXRpdGxlMTogIiIsCgoJCQkJCQkvLyDlt6XkvZzlsazmgKcgMDrmpa3li5nmgKcgMTrpnZ7mpa3li5nmgKcKCgkJCQkJCXByb3BlcnR5MTogIiIsCgoJCQkJCQkvLyDlubTmlLblhaUg6JCs5YWDCgoJCQkJCQlpbmNvbWUxOiAiIiwKCgkJCQkJCS8vIOihjOalreWIpSAwOuS/nemaqualrSAxOumHkeiejealrSAyOumGq+eZgualrSAzOuWFtuS7luihjOalrQoKCQkJCQkJaW5kdXN0cnkxOiAiIiwKCgkJCQkJCS8vIOWFrOWPuOWQjeeosTIKCgkJCQkJCWNvbTI6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi1tykKCgkJCQkJCWZkYXRlWTI6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi1tykKCgkJCQkJCWZkYXRlTTI6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi/hCkKCgkJCQkJCXRkYXRlWTI6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi/hCkKCgkJCQkJCXRkYXRlTTI6ICIiLAoKCQkJCQkJLy8g5bm06LOHIGV4OjEuMijlubQpCgoJCQkJCQlleHB0MjogIiIsCgoJCQkJCQkvLyDogbfnqLEKCgkJCQkJCXRpdGxlMjogIiIsCgoJCQkJCQkvLyDlt6XkvZzlsazmgKcgMDrmpa3li5nmgKcgMTrpnZ7mpa3li5nmgKcKCgkJCQkJCXByb3BlcnR5MjogIiIsCgoJCQkJCQkvLyDlubTmlLblhaUg6JCs5YWDCgoJCQkJCQlpbmNvbWUyOiAiIiwKCgkJCQkJCS8vIOihjOalreWIpSAwOuS/nemaqualrSAxOumHkeiejealrSAyOumGq+eZgualrSAzOuWFtuS7luihjOalrQoKCQkJCQkJaW5kdXN0cnkyOiAiIiwKCgkJCQkJCS8vIOWFrOWPuOWQjeeosTMKCgkJCQkJCWNvbTM6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi1tykKCgkJCQkJCWZkYXRlWTM6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi1tykKCgkJCQkJCWZkYXRlTTM6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5bm0KOi/hCkKCgkJCQkJCXRkYXRlWTM6ICIiLAoKCQkJCQkJLy8g5Lu76IG35pyf6ZaT5pyIKOi/hCkKCgkJCQkJCXRkYXRlTTM6ICIiLAoKCQkJCQkJLy8g5bm06LOHIGV4OjEuMijlubQpCgoJCQkJCQlleHB0MzogIiIsCgoJCQkJCQkvLyDogbfnqLEKCgkJCQkJCXRpdGxlMzogIiIsCgoJCQkJCQkvLyDlt6XkvZzlsazmgKcgMDrmpa3li5nmgKcgMTrpnZ7mpa3li5nmgKcKCgkJCQkJCXByb3BlcnR5MzogIiIsCgoJCQkJCQkvLyDlubTmlLblhaUg6JCs5YWDCgoJCQkJCQlpbmNvbWUzOiAiIiwKCgkJCQkJCS8vIOihjOalreWIpSAwOuS/nemaqualrSAxOumHkeiejealrSAyOumGq+eZgualrSAzOuWFtuS7luihjOalrQoKCQkJCQkJaW5kdXN0cnkzOiAiIiwKCgkJCQkJCS8vIOmFjeWBtuiBt+alrQoKCQkJCQkJcGFydG5lckpvYjogIiIsCgoJCQkJCQkvLyDlo73pmqrorYnnhacKCgkJCQkJCWNlcnQxOiAiIiwKCgkJCQkJCS8vIOeUoumaquitieeFpwoKCQkJCQkJY2VydDI6ICIiLAoKCQkJCQkJLy8g5oqV6LOH5Z6L6K2J54WnCgoJCQkJCQljZXJ0MzogIiIsCgoJCQkJCQkvLyDphY3lgbblhbbku5YKCgkJCQkJCWNlcnRFbHNlOiAiIiwKCgkJCQkJCS8vIOWkluW5o+itieeFpwoKCQkJCQkJY2VydDQ6ICIiLAoKCQkJCQkJLy8g6Lqr5Lu96K2J5a2X6JmfCgoJCQkJCQlwaWQ6ICIiLAoKCQkJCQkJLy8g5oi257GN5Zyw5Z2ACgoJCQkJCQlhZGRyMTogIiIsCgoJCQkJCQkvLyDmiLbnsY3lnLDlnYAt6YO16YGe5Y2A6JmfCgoJCQkJCQlhZGRyMVBvc3RhbENvZGU6ICIiLAoKCQkJCQkJLy8g5oi257GN5Zyw5Z2ALee4o+W4ggoKCQkJCQkJYWRkcjFDaXR5OiAiIiwKCgkJCQkJCS8vIOaItuexjeWcsOWdgC3phInpjq7luILljYAKCgkJCQkJCWFkZHIxVG93bnM6ICIiLAoKCQkJCQkJLy8g5oi257GN5Zyw5Z2ALei3ry/mrrUv6YGTL+ihly/mnZEv6YeMCgoJCQkJCQlhZGRyMVZpbGxhZ2U6ICIiLAoKCQkJCQkJLy8g5oi257GN5Zyw5Z2ALemEsAoKCQkJCQkJYWRkcjFSb2FkU3RyZWV0OiAiIiwKCgkJCQkJCS8vIOaItuexjeWcsOWdgC3lt7cKCgkJCQkJCWFkZHIxTGFuZTogIiIsCgoJCQkJCQkvLyDmiLbnsY3lnLDlnYAt5byECgoJCQkJCQlhZGRyMUFsbGV5OiAiIiwKCgkJCQkJCS8vIOaItuexjeWcsOWdgC3ooZYKCgkJCQkJCWFkZHIxU2VjdGlvbjogIiIsCgoJCQkJCQkvLyDmiLbnsY3lnLDlnYAt6JmfCgoJCQkJCQlhZGRyMU51bWJlcjogIiIsCgoJCQkJCQkvLyDmiLbnsY3lnLDlnYAt5qiTCgoJCQkJCQlhZGRyMUZsb29yOiAiIiwKCgkJCQkJCS8vIOaItuexjeWcsOWdgC3lgpnoqLsKCgkJCQkJCWFkZHIxUmVtYXJrOiAiIiwKCgkJCQkJCS8vIOmAmuioiuWcsOWdgAoKCQkJCQkJYWRkcjI6ICIiLAoKCQkJCQkJLy8g6YCa6KiK5Zyw5Z2ALemDtemBnuWNgOiZnwoKCQkJCQkJYWRkcjJQb3N0YWxDb2RlOiAiIiwKCgkJCQkJCS8vIOmAmuioiuWcsOWdgC3nuKPluIIKCgkJCQkJCWFkZHIyQ2l0eTogIiIsCgoJCQkJCQkvLyDpgJroqIrlnLDlnYAt6YSJ6Y6u5biC5Y2ACgoJCQkJCQlhZGRyMlRvd25zOiAiIiwKCgkJCQkJCS8vIOmAmuioiuWcsOWdgC3ot68v5q61L+mBky/ooZcv5p2RL+mHjAoKCQkJCQkJYWRkcjJWaWxsYWdlOiAiIiwKCgkJCQkJCS8vIOmAmuioiuWcsOWdgC3phLAKCgkJCQkJCWFkZHIyUm9hZFN0cmVldDogIiIsCgoJCQkJCQkvLyDpgJroqIrlnLDlnYAt5be3CgoJCQkJCQlhZGRyMkxhbmU6ICIiLAoKCQkJCQkJLy8g6YCa6KiK5Zyw5Z2ALeW8hAoKCQkJCQkJYWRkcjJBbGxleTogIiIsCgoJCQkJCQkvLyDpgJroqIrlnLDlnYAt6KGWCgoJCQkJCQlhZGRyMlNlY3Rpb246ICIiLAoKCQkJCQkJLy8g6YCa6KiK5Zyw5Z2ALeiZnwoKCQkJCQkJYWRkcjJOdW1iZXI6ICIiLAoKCQkJCQkJLy8g6YCa6KiK5Zyw5Z2ALeaokwoKCQkJCQkJYWRkcjJGbG9vcjogIiIsCgoJCQkJCQkvLyDpgJroqIrlnLDlnYAt5YKZ6Ki7CgoJCQkJCQlhZGRyMlJlbWFyazogIiIsCgoJCQkJCQkvLyDlhbXlvbnoqr/mn6UKCgkJCQkJCWFybXk6ICIiLAoKCQkJCQkJLy8g5Lit5L+h6YqA5Y+w5bmj5biz5YuZLeWIhuihjOWQjeeosQoKCQkJCQkJY3RiY0FjY291bnRCcmFuY2g6ICIiLAoKCQkJCQkJLy8g5Lit5L+h6YqA5Y+w5bmj5biz5oi2LeW4s+iZn+iZn+eivAoKCQkJCQkJY3RiY0FjY291bnRBY2NvdW50TnVtYmVyOiAiIiwKCgkJCQkJCS8vIOaYr+WQpuacieWFtuS7luW3peS9nOe2k+attyBZTgoKCQkJCQkJd29ya090aGVyOiAiIiwKCgkJCQkJCS8vIOaYr+WQpuaTlOS7u+mBjualreWLmeS6uuWToQoKCQkJCQkJdXNlZHRvYmVBZ2VudDogIiIsCgoJCQkJCQkvLyDmmK/lkKbmm77ku7vogbfmnKzlhazlj7jmpa3li5nlk6Eo5YyF5ZCr5Y+w54GjL+Wuj+WIqS/lpKfpg73mnIPkurrlo70pCgoJCQkJCQl1c2VkdG9iZUFnZW50VFc6ICIiCgoJCQkJCX0sCgoJCQkJCS8qIOWtuOe2k+attyAqLwoKCQkJCQkvLyDlt6XkvZzntpPpqZcKCgkJCQkJdXNlcldvcmtzOiBbCgoJCQkJCQkvKgoKCQkJCQkJewoKCQkJCQkJCS8vIOa1geawtOiZnwoKCQkJCQkJCXNlcTogSW50ZWdlciwKCgkJCQkJCQkvLyDmupblop7lk6HkuLvopoFrZXnlgLwKCgkJCQkJCQlzeXNDb2RlOiBJbnRlZ2VyLAoKCQkJCQkJCS8vIOWFrOWPuOWQjeeosQoKCQkJCQkJCWNvbXBhbnlOYW1lOiBTdHJpbmcsCgoJCQkJCQkJLy8g5bel5L2c5pyf6ZaTLei1tyBZWVlZLU1NLURECgoJCQkJCQkJd29ya1N0YXJ0RGF0ZTogU3RyaW5nLAoKCQkJCQkJCS8vIOW3peS9nOacn+mWky3ov4QgWVlZWS1NTS1ERAoKCQkJCQkJCXdvcmtFbmREYXRlOiBTdHJpbmcsCgoJCQkJCQkJLy8g6YCa6KiK6JmV5ZCN56ixLemdnuW/heWhqwoKCQkJCQkJCWJyYW5jaE5hbWU6IFN0cmluZwoKCQkJCQkJfQoKCQkJCQkJKi8KCgkJCQkJXSwKCgkJCQkJLy8g5YW25LuW5bel5L2c57aT5q23CgoJCQkJCXVzZXJXb3JrT3RoZXJzOiBbCgoJCQkJCQkvKgoKCQkJCQkJewoKCQkJCQkJCS8vIOa1geawtOiZnwoKCQkJCQkJCXNlcTogSW50ZWdlciwKCgkJCQkJCQkvLyDmupblop7lk6HkuLvopoFrZXnlgLwKCgkJCQkJCQlzeXNDb2RlOiBJbnRlZ2VyLAoKCQkJCQkJCS8vIOWFrOWPuOWQjeeosQoKCQkJCQkJCWNvbXBhbnlOYW1lOiBTdHJpbmcsCgoJCQkJCQkJLy8g5bel5L2c5pyf6ZaTLei1tyBZWVlZLU1NLURECgoJCQkJCQkJd29ya1N0YXJ0RGF0ZTogU3RyaW5nLAoKCQkJCQkJCS8vIOW3peS9nOacn+mWky3ov4QgWVlZWS1NTS1ERAoKCQkJCQkJCXdvcmtFbmREYXRlOiBTdHJpbmcsCgoJCQkJCQkJLy8g6IG356ixCgoJCQkJCQkJdGl0bGU6IFN0cmluZywKCgkJCQkJCQkvLyDooYzmpa3liKUKCgkJCQkJCQlqb2JraW5kOiBTdHJpbmcsCgoJCQkJCQkJLy8g5bel5L2c5YWn5a65CgoJCQkJCQkJam9iRGVzYzogU3RyaW5nCgoJCQkJCQl9CgoJCQkJCQkqLwoKCQkJCQldLAoKCQkJCQkvKiDog4zmma/ogbLmmI4gKi8KCgkJCQkJdXNlckJhY2tncm91bmQ6IHsKCgkJCQkJCS8vIOa6luWinuWToeWUr+S4gOWAvAoKCQkJCQkJc3lzQ29kZTogIiIsCgoJCQkJCQkvLyDkv6HnlKjloLHlkYrliIbmlbggSW50ZWdlcgoKCQkJCQkJY3JlZGl0UnB0RGVncmVlOiAiIiwKCgkJCQkJCS8vIOS/oeeUqOWgseWRiuaXpeacnyB5eXl5LU1NLWRkJ1QnSEg6bW06c3MKCgkJCQkJCWNyZWRpdFJwdERhdGU6ICIiLAoKCQkJCQkJLy8g5Lq66Lqr5L+d6Zqq5ZCI5qC86K2J6JmfCgoJCQkJCQlsaWZlUmVnaXN0ZXJJZDogIiIsCgoJCQkJCQkvLyDkurrouqvkv53pmqrnmbvpjITni4Dms4EgSW50ZWdlcgoKCQkJCQkJbGlmZVJlZ1N0YXR1czogIiIsCgoJCQkJCQkvLyDph5Hono3luLjorZjlkIjmoLzorYnomZ8KCgkJCQkJCWZpbmNSZWdpc3RlcklkOiAiIiwKCgkJCQkJCS8vIOiyoeeUoueZu+mMhOeLgOazgShUYWJsZUwgU3lzdGVtQ29kZURlZixDb2RlVHlwZTpHZW5SZWdTdGF0dXMpCgoJCQkJCQlnZW5SZWdTdGF0dXM6ICIiLAoKCQkJCQkJLy8g5piv5ZCm5pyJ6Kaq5bGs5Zyo5pys5YWs5Y+45pOU5Lu75qWt5YuZ5ZOhWU4KCgkJCQkJCXBhcmVudEFnZW50OiAiIiwKCgkJCQkJCS8vIOimquWxrOWnk+WQjQoKCQkJCQkJcGFyZW50TmFtZTogIiIsCgoJCQkJCQkvLyDopqrlsazpl5zkv4IoVGFibGVMIFN5c3RlbUNvZGVEZWYsQ29kZVR5cGU6UGFyZW50UmVhbCkKCgkJCQkJCXBhcmVudFJlbGE6ICIiLAoKCQkJCQkJLy8g5qWt5YuZ5Lq65ZOh566h55CG6KaP5YmH5oey6JmV57SA6YyEKFk6IOaciSBOOueEoSkKCgkJCQkJCXB1bmlzaEhpc3Rvcnk6ICIiLAoKCQkJCQkJLy8g5qWt5YuZ5Lq65ZOh566h55CG6KaP5YmH5oey6JmV57SA6YyE6Kmz57Sw6Kqq5piOCgoJCQkJCQlwdW5pc2hIaXNEZXRhaWw6ICIiLAoKCQkJCQkJLy8g5piv5ZCm5pyJ54qv572q57SA6YyEKFk6IOaciSBOOueEoSkKCgkJCQkJCWNyaW1lSGlzdG9yeTogIiIsCgoJCQkJCQkvLyDniq/nvarntIDpjIToqbPntLDoqqrmmI4KCgkJCQkJCWNyaW1lRGV0YWlsOiAiIiwKCgkJCQkJCS8vIOWFrOacg+aHsuiZlee0gOmMhCAoWTog5pyJIE4654ShKQoKCQkJCQkJbGlhUHVuaXNoSGlzdG9yeTogIiIsCgoJCQkJCQkvLyDlhazmnIPmh7LomZXntIDpjIToqbPntLDoqqrmmI4KCgkJCQkJCWxpYVB1bmlzaEhpc0RldGFpbDogIiIKCgkJCQkJfQoKCQkJCX0sCgoJCQkJaGFzV29ya0V4cDogZmFsc2UsCgoJCQkJaGFzV29ya090aGVyRXhwOiBmYWxzZSwKCgkJCQlhbGVydDogewoKCQkJCQlmb3JtMDE6IGZhbHNlLAoKCQkJCQlmb3JtMDI6IGZhbHNlLAoKCQkJCQlmb3JtMDM6IGZhbHNlLAoKCQkJCQlmb3JtMDQ6IGZhbHNlCgoJCQkJfSwKCgkJCQlsaW5rOiB7CgoJCQkJCS8vIOWjvemaquWFrOacg+mAo+e1kAoKCQkJCQlsaWZlT3JnOiAiaHR0cDovL3B1YmxpYy5saWFyb2Mub3JnLnR3L2xpYS1wdWJsaWMvaW5kZXhVc3IuanNwIiwKCgkJCQkJLy8g55Si6Zqq5YWs5pyD6YCj57WQCgoJCQkJCWdlbmVyYWxPcmc6ICJodHRwOi8vc2FsZXNpbmZvLm5saWEub3JnLnR3L2luZGV4LnBocCIKCgkJCQl9CgoJCQl9LAoKCQkJYmVmb3JlTW91bnQoKSB7CgoJCQkJLy8g5rqW5aKe5ZOh6LOH5paZCgoJCQkJdmFyIHZtID0gdGhpczsKCgkJCQl2YXIgdXNlckRhdGEgPSB7ImlzTmV3IjpmYWxzZSwidXNlciI6eyJzeXNDb2RlIjo1NCwidXNlcklkIjoiQzE0OTcxMDk0MCIsInVzZXJOYW1lIjoiXHU3MThBXHU2MkIxXHU1NEU1MSIsInJvbWFuTmFtZSI6ImRkZCIsImVtYWlsIjoidGVzdDRAdGVzdC5jb20iLCJtb2JpbGVQaG9uZSI6IjA5NDQ0NDQ0NDQiLCJiaXJ0aGRheSI6IjIwMDQwNDA0IiwiZHNSZWdpc3RlcklkIjoiMDA4ODEwNDcwMSIsImRzQWdlbnQiOnsidXNlcklkIjoiTTIyNjAyMDYyMSIsInVzZXJOYW1lIjoiXHU3MzhCXHU5Mjk4XHU2MTY3IiwiYWdlbnRDb2RlIjoiMDQ1NDYwIiwicmVnaXN0ZXJObyI6IjAwODgxMDQ3MDEiLCJsaW5lQ29kZSI6IjYxIiwiYWdlbnRDaGFubmVsIjoiQTEiLCJtb2JpbGVQaG9uZSI6IjA5ODkyNTc3NzYiLCJlbWFpbCI6ImNhbmR5Lmx1QHRhaXdhbmxpZmUuY29tIiwiYnJhbmNoQ29kZSI6IkEwNzMwIiwiYnJhbmNoTmFtZSI6Ilx1NkEwMlx1OUFEOFx1OTAxQVx1OEEwQVx1ODY1NSIsImJyYW5jaE1hbmFnZXIiOiIwNDU0NTIiLCJicmFuY2hNYW5hZ2VyRW1haWwiOiJjYW5keS5sdUB0YWl3YW5saWZlLmNvbSIsImJyYW5jaE1hbmFnZXJNb2JpbGUiOiIwOTg5MjU3Nzc2IiwiYnJhbmNoQXNzaXN0YW50IjoiejAwMDA1IiwiY2VudGVyQ29kZSI6IkEwMSIsImNlbnRlck5hbWUiOiJcdTUzRjBcdTUzMTdcdTdCMkNcdTRFMDBcdTUzNDBcdTU3REZcdTRFMkRcdTVGQzMiLCJjZW50ZXJNYW5hZ2VyIjoiNzAxODQ1IiwiY2VudGVyTWFuYWdlckVtYWlsIjoiTWVuZy1KaW4uSmhvdUB0YWl3YW5saWZlLmNvbSIsImNlbnRlck1hbmFnZXJNb2JpbGUiOiIiLCJsZXZlbENvZGUiOiJBMTIiLCJsZXZlbFRpdGxlIjoiXHU2OTZEXHU1MkQ5XHU4OTQ0XHU3NDA2IiwiYWdlbnRTdGF0dXNDb2RlIjoiWSIsImFnZW50U3RhdHVzIjoiXHU1NzI4XHU4MDc3IiwibGVhdmVEYXRlIjoiIiwiYWd1aUNlbnRlciI6IkIwMTQwIiwiYWd1aU1hbmFnZXIiOiIwNDU0NTIiLCJhZ3VpQ2VudGVyTmFtZSI6Ilx1ODNGMVx1ODRFRVx1NTM0MCIsImNyZWF0ZVRpbWUiOiIyMDI0LTAxLTI1VDE1OjE3OjI3LjI0NyJ9LCJyZWZSZWdpc3RlcklkIjoiMDA4ODEwNDcwMSIsInJlZkFnZW50Ijp7InVzZXJJZCI6Ik0yMjYwMjA2MjEiLCJ1c2VyTmFtZSI6Ilx1NzM4Qlx1OTI5OFx1NjE2NyIsImFnZW50Q29kZSI6IjA0NTQ2MCIsInJlZ2lzdGVyTm8iOiIwMDg4MTA0NzAxIiwibGluZUNvZGUiOiI2MSIsImFnZW50Q2hhbm5lbCI6IkExIiwibW9iaWxlUGhvbmUiOiIwOTg5MjU3Nzc2IiwiZW1haWwiOiJjYW5keS5sdUB0YWl3YW5saWZlLmNvbSIsImJyYW5jaENvZGUiOiJBMDczMCIsImJyYW5jaE5hbWUiOiJcdTZBMDJcdTlBRDhcdTkwMUFcdThBMEFcdTg2NTUiLCJicmFuY2hNYW5hZ2VyIjoiMDQ1NDUyIiwiYnJhbmNoTWFuYWdlckVtYWlsIjoiY2FuZHkubHVAdGFpd2FubGlmZS5jb20iLCJicmFuY2hNYW5hZ2VyTW9iaWxlIjoiMDk4OTI1Nzc3NiIsImJyYW5jaEFzc2lzdGFudCI6InowMDAwNSIsImNlbnRlckNvZGUiOiJBMDEiLCJjZW50ZXJOYW1lIjoiXHU1M0YwXHU1MzE3XHU3QjJDXHU0RTAwXHU1MzQwXHU1N0RGXHU0RTJEXHU1RkMzIiwiY2VudGVyTWFuYWdlciI6IjcwMTg0NSIsImNlbnRlck1hbmFnZXJFbWFpbCI6Ik1lbmctSmluLkpob3VAdGFpd2FubGlmZS5jb20iLCJjZW50ZXJNYW5hZ2VyTW9iaWxlIjoiIiwibGV2ZWxDb2RlIjoiQTEyIiwibGV2ZWxUaXRsZSI6Ilx1Njk2RFx1NTJEOVx1ODk0NFx1NzQwNiIsImFnZW50U3RhdHVzQ29kZSI6IlkiLCJhZ2VudFN0YXR1cyI6Ilx1NTcyOFx1ODA3NyIsImxlYXZlRGF0ZSI6IiIsImFndWlDZW50ZXIiOiJCMDE0MCIsImFndWlNYW5hZ2VyIjoiMDQ1NDUyIiwiYWd1aUNlbnRlck5hbWUiOiJcdTgzRjFcdTg0RUVcdTUzNDAiLCJjcmVhdGVUaW1lIjoiMjAyNC0wMS0yNVQxNToxNzoyNy4yNDcifSwiY29tbUNvZGUiOiJBMDczMCIsImNvbW1Vbml0Ijp7ImFnZW50Q2hhbm5lbCI6IkExIiwiY29tbUNvZGUiOiJBMDczMCIsImNvbW1OYW1lIjoiXHU2QTAyXHU5QUQ4XHU5MDFBXHU4QTBBXHU4NjU1IiwiY2VudGVyQ29kZSI6IkEwMSIsImFyZWFDZW50ZXIiOnsiYWdlbnRDaGFubmVsIjoiQTEiLCJjZW50ZXJDb2RlIjoiQTAxIiwiY2VudGVyTmFtZSI6Ilx1NTNGMFx1NTMxN1x1N0IyQ1x1NEUwMFx1NTM0MFx1NTdERlx1NEUyRFx1NUZDMyIsImlzRGVsZXRlIjpmYWxzZSwiY3JlYXRlVGltZSI6IjIwMjItMDItMDdUMTg6MzA6MjQuODUzIiwibW9kaWZ5VGltZSI6bnVsbH0sImFzc2lzdGFudCI6eyJlbXBsb3llZU5vIjoiejAwMDA1IiwiZW1wbG95ZWVOYW1lIjoiXHU3MzhCXHU1MTM3XHU1RUFEIiwiZW5hYmxlU2VuZEVtYWlsIjpmYWxzZSwiZW5hYmxlU2VuZFNtcyI6ZmFsc2UsImVtYWlsIjpudWxsLCJtb2JpbGVQaG9uZSI6bnVsbCwidWlkIjpudWxsLCJtb2RpZnlUaW1lIjpudWxsfSwiYXNzaXN0YW50Q29kZSI6InowMDAwNSIsImFzc2lzdGFudENvZGUyIjoiNzAxMjQ2IiwiYXNzaXN0YW50Q29kZTMiOiJ6MDAwMDIiLCJhc3Npc3RhbnRDb2RlNCI6InowMDAxNiIsImFzc2lzdGFudENvZGU1IjoiIiwiaXNEZWxldGUiOmZhbHNlLCJjcmVhdGVUaW1lIjoiMjAyMi0wMi0wN1QxODo0NTozMi43MDciLCJtb2RpZnlUaW1lIjoiMjAyMi0wMi0wN1QxODo0NTozMi43MDcifSwiam9iSWQiOiJVTSIsImpvYlR5cGUiOiJBMlMiLCJjcmVhdGVUaW1lIjoiMjAyMy0wNy0xNFQxNzowNToxNC45MDciLCJtb2RpZnlUaW1lIjoiMjAyNS0wMS0xMFQxNjo0MToxOC40NjMiLCJzdGF0dXMiOiJCMDciLCJpc0Nsb3NlIjpmYWxzZSwiYWdyZWVtZW50U2lnbmVkIjp0cnVlfSwidXNlckRldGFpbCI6eyJzeXNDb2RlIjo1NCwicGlkIjoiQzE0OTcxMDk0MCIsImFkZERhdGUiOiIyMDIzLTA3LTI4VDE0OjAxOjQwLjgyIiwidXBkRGF0ZSI6IjIwMjQtMDUtMDNUMDk6MzM6NTEuNTQ3IiwiZW5OYW1lIjpudWxsLCJlZWdOYW1lIjpudWxsLCJteVJlZmVycmVyIjpudWxsLCJteVNhbWVFeHBlcmllbmNlIjpudWxsLCJpc1dvcmtIZXJlIjpudWxsLCJsaW5lSUQiOm51bGwsInNleCI6IjEiLCJtYXJyeSI6IjAiLCJibG9vZCI6bnVsbCwiYnJvb2QiOm51bGwsImFkZHIxIjoiXHU2RTJDXHU4QTY2XHU1RTAyXHU2RTJDXHU4QTY2XHU1MzQwXHU2RTJDXHU4QTY2XHU5MUNDXHU2RTJDXHU4QTY2XHU4REVGXHVGRjE0XHU2QkI1XHVGRjE0XHU1REY3XHVGRjE0XHU1RjA0XHVGRjE0XHU4NjVGXHVGRjE0XHU2QTEzIiwiYWRkcjFQb3N0YWxDb2RlIjpudWxsLCJhZGRyMUNpdHkiOm51bGwsImFkZHIxVG93bnMiOm51bGwsImFkZHIxVmlsbGFnZSI6bnVsbCwiYWRkcjFSb2FkU3RyZWV0IjpudWxsLCJhZGRyMVNlY3Rpb24iOm51bGwsImFkZHIxTGFuZSI6bnVsbCwiYWRkcjFBbGxleSI6bnVsbCwiYWRkcjFOdW1iZXIiOm51bGwsImFkZHIxRmxvb3IiOm51bGwsImFkZHIxUmVtYXJrIjpudWxsLCJhZGRyMiI6Ilx1NkUyQ1x1OEE2Nlx1NUUwMlx1NkUyQ1x1OEE2Nlx1NTM0MFx1NkUyQ1x1OEE2Nlx1OTFDQ1x1NkUyQ1x1OEE2Nlx1OERFRlx1RkYxNFx1NkJCNVx1RkYxNFx1NURGN1x1RkYxNFx1NUYwNFx1RkYxNFx1ODY1Rlx1RkYxNFx1NkExMyIsImFkZHIyUG9zdGFsQ29kZSI6bnVsbCwiYWRkcjJDaXR5IjpudWxsLCJhZGRyMlRvd25zIjpudWxsLCJhZGRyMlZpbGxhZ2UiOm51bGwsImFkZHIyUm9hZFN0cmVldCI6bnVsbCwiYWRkcjJTZWN0aW9uIjpudWxsLCJhZGRyMkxhbmUiOm51bGwsImFkZHIyQWxsZXkiOm51bGwsImFkZHIyTnVtYmVyIjpudWxsLCJhZGRyMkZsb29yIjpudWxsLCJhZGRyMlJlbWFyayI6bnVsbCwidGVsMSI6IjA0LTQ0NDQ0NDQ0IiwidGVsMiI6IjA5NDQ0NDQ0NDQiLCJtYWlsIjoidGVzdDRAdGVzdC5jb20iLCJyb21hbk5hbWUiOm51bGwsImNyaU5hbWUiOiJcdTk2NzM0NCIsImNyaVJlbCI6IjMiLCJjcmlUZWwiOiIwNC00NDQ0NDQ0NCIsImRlZ3JlZSI6IjQiLCJzY2hvb2wiOiI1XHU5QUQ4XHU0RTJEIiwibWFqb3IiOiI1XHU5QUQ4XHU0RTJEIiwiZ3JhZGUiOm51bGwsImFzc28iOm51bGwsImFzc29OYW1lIjpudWxsLCJjb20xIjpudWxsLCJleHB0MSI6bnVsbCwidGl0bGUxIjpudWxsLCJwcm9wZXJ0eTEiOm51bGwsImluY29tZTEiOm51bGwsImluZHVzdHJ5MSI6bnVsbCwiY29tMiI6bnVsbCwiZXhwdDIiOm51bGwsInRpdGxlMiI6bnVsbCwicHJvcGVydHkyIjpudWxsLCJpbmNvbWUyIjpudWxsLCJpbmR1c3RyeTIiOm51bGwsImNvbTMiOm51bGwsImV4cHQzIjpudWxsLCJ0aXRsZTMiOm51bGwsInByb3BlcnR5MyI6bnVsbCwiaW5jb21lMyI6bnVsbCwiaW5kdXN0cnkzIjpudWxsLCJwb2wzIjpudWxsLCJwb2xjb20zIjpudWxsLCJwb2x0eXBlMyI6bnVsbCwicGVyY2xtIjpudWxsLCJwZXJsb2FuIjpudWxsLCJwZXJsb2FuVHlwZSI6bnVsbCwicGVySW52IjpudWxsLCJwZXJJbnZUeXBlIjpudWxsLCJmYXRoZXJKb2IiOm51bGwsIm1vdGhlckpvYiI6bnVsbCwicGFydG5lckpvYiI6bnVsbCwiY2VydDEiOm51bGwsImNlcnQyIjpudWxsLCJjZXJ0MyI6bnVsbCwiY2VydEVsc2UiOm51bGwsImNlcnQ0IjpudWxsLCJhcm15IjoiMCIsImN0YmNBY2NvdW50QnJhbmNoIjoiXHU2QzM4XHU1NDA5XHU1MjA2XHU4ODRDNCIsImN0YmNBY2NvdW50QWNjb3VudE51bWJlciI6IjEyMzQ1Njc4OTQ0NCIsIndvcmtPdGhlciI6Ik4iLCJ1c2VkdG9iZUFnZW50IjoiWSIsInVzZWR0b2JlQWdlbnRUVyI6IlkiLCJmZGF0ZU0yIjpudWxsLCJ0ZGF0ZU0xIjpudWxsLCJmZGF0ZVkxIjpudWxsLCJ0ZGF0ZVkyIjpudWxsLCJ0ZGF0ZU0yIjpudWxsLCJ0ZGF0ZVkxIjpudWxsLCJmZGF0ZVkzIjpudWxsLCJ0ZGF0ZVkzIjpudWxsLCJ0ZGF0ZU0zIjpudWxsLCJmZGF0ZU0xIjpudWxsLCJmZGF0ZU0zIjpudWxsLCJmZGF0ZVkyIjpudWxsfSwidXNlcldvcmtzIjpbeyJzZXEiOjI0Niwic3lzQ29kZSI6NTQsImNvbXBhbnlOYW1lIjoiMSIsIndvcmtTdGFydERhdGUiOiIyMDI0LTAxIiwid29ya0VuZERhdGUiOiIyMDI0LTAxIiwiYnJhbmNoTmFtZSI6IjEifV0sInVzZXJXb3JrT3RoZXJzIjpbeyJzZXEiOjExMywic3lzQ29kZSI6NTQsImNvbXBhbnlOYW1lIjoiMSIsIndvcmtTdGFydERhdGUiOiIyMDI0LTAxIiwid29ya0VuZERhdGUiOiIyMDI0LTAxIiwidGl0bGUiOiIxIiwiam9ia2luZCI6bnVsbCwiam9iRGVzYyI6IjEifSx7InNlcSI6MTE0LCJzeXNDb2RlIjo1NCwiY29tcGFueU5hbWUiOiIyIiwid29ya1N0YXJ0RGF0ZSI6IjIwMjQtMDIiLCJ3b3JrRW5kRGF0ZSI6IjIwMjQtMDIiLCJ0aXRsZSI6IjIiLCJqb2JraW5kIjoiXHU5MUQxXHU4NzhEXHU2OTZEIiwiam9iRGVzYyI6IjIifSx7InNlcSI6MTE1LCJzeXNDb2RlIjo1NCwiY29tcGFueU5hbWUiOiIzIiwid29ya1N0YXJ0RGF0ZSI6IjIwMjQtMDMiLCJ3b3JrRW5kRGF0ZSI6IjIwMjQtMDMiLCJ0aXRsZSI6IjMiLCJqb2JraW5kIjoiXHU5MUFCXHU3NjQyXHU2OTZEIiwiam9iRGVzYyI6IjMifV0sInVzZXJCYWNrZ3JvdW5kIjp7InN5c0NvZGUiOjU0LCJjcmVkaXRScHREZWdyZWUiOiIzIiwiY3JlZGl0UnB0RGF0ZSI6IjIwMjItMDMtMDMiLCJsaWZlUmVnaXN0ZXJJZCI6IjAwMDAzMzMzMzMiLCJsaWZlUmVnU3RhdHVzIjoyLCJmaW5jUmVnaXN0ZXJJZCI6IjMzMyIsImdlblJlZ1N0YXR1cyI6MiwicGFyZW50QWdlbnQiOiJZIiwicGFyZW50TmFtZSI6Ilx1NUFCRFx1NUFCRDMiLCJwYXJlbnRSZWxhIjoiMyIsInB1bmlzaEhpc3RvcnkiOiJZIiwicHVuaXNoSGlzRGV0YWlsIjoiMyIsImNyaW1lSGlzdG9yeSI6IlkiLCJjcmltZURldGFpbCI6IjMiLCJsaWFQdW5pc2hIaXN0b3J5IjoiWSIsImxpYVB1bmlzaEhpc0RldGFpbCI6IjMifSwidXBsb2FkRGVmaW5lcyI6W3siam9iVHlwZSI6IkEyIiwiZmlsZVR5cGUiOiJIZWFkMmluY2giLCJmaWxlRGVzYyI6Ilx1NEU4Q1x1NTQwQlx1NUY2OVx1ODI3Mlx1NTkyN1x1OTgyRFx1OENCQyIsImZpbGVIZWFkIjoiXHU0RThDXHU1NDBCXHU1RjY5XHU4MjcyXHU1OTI3XHU5ODJEXHU4Q0JDIiwidXBsb2FkRmlsZURlc2MiOm51bGwsInVwbG9hZGVkIjoxLCJhbGVydE1hcmsiOm51bGwsInVwZGF0ZVRpbWUiOiIyMDIzLTA4LTA5VDEwOjA5OjU4LjU2IiwibXVzdEZsYWciOiJZIiwiZGVzYyI6Ilx1NEU4Q1x1NTQwQlx1NUY2OVx1ODI3Mlx1NTkyN1x1OTgyRFx1OENCQyIsIm5vdEFsZXJ0TWFya2VkIjpmYWxzZSwiYWxlcnRNYXJrZWQiOmZhbHNlfSx7ImpvYlR5cGUiOiJBMiIsImZpbGVUeXBlIjoiSURGcm9udCIsImZpbGVEZXNjIjoiXHU4RUFCXHU1MjA2XHU4QjQ5XHU2QjYzXHU5NzYyIiwiZmlsZUhlYWQiOiJcdThFQUJcdTUyMDZcdThCNDlcdTZCNjNcdTk3NjIiLCJ1cGxvYWRGaWxlRGVzYyI6bnVsbCwidXBsb2FkZWQiOjEsImFsZXJ0TWFyayI6bnVsbCwidXBkYXRlVGltZSI6IjIwMjMtMDctMzFUMTc6MjI6MDIuNjg3IiwibXVzdEZsYWciOiJZIiwiZGVzYyI6Ilx1OEVBQlx1NTIwNlx1OEI0OVx1NkI2M1x1OTc2MiIsIm5vdEFsZXJ0TWFya2VkIjpmYWxzZSwiYWxlcnRNYXJrZWQiOmZhbHNlfSx7ImpvYlR5cGUiOiJBMiIsImZpbGVUeXBlIjoiSURCYWNrIiwiZmlsZURlc2MiOiJcdThFQUJcdTUyMDZcdThCNDlcdTUzQ0RcdTk3NjIiLCJmaWxlSGVhZCI6Ilx1OEVBQlx1NTIwNlx1OEI0OVx1NTNDRFx1OTc2MiIsInVwbG9hZEZpbGVEZXNjIjpudWxsLCJ1cGxvYWRlZCI6MSwiYWxlcnRNYXJrIjpudWxsLCJ1cGRhdGVUaW1lIjoiMjAyMy0wNy0zMVQxNzoyMjowMi42ODciLCJtdXN0RmxhZyI6IlkiLCJkZXNjIjoiXHU4RUFCXHU1MjA2XHU4QjQ5XHU1M0NEXHU5NzYyIiwibm90QWxlcnRNYXJrZWQiOmZhbHNlLCJhbGVydE1hcmtlZCI6ZmFsc2V9LHsiam9iVHlwZSI6IkEyIiwiZmlsZVR5cGUiOiJBY2NvdW50IiwiZmlsZURlc2MiOiJcdTRFMkRcdTRGRTFcdTkyODBcdTUzRjBcdTVFNjNcdTVFMzNcdTYyMzZcdTVGNzFcdTY3MkMiLCJmaWxlSGVhZCI6Ilx1NEUyRFx1NEZFMVx1OTI4MFx1NTNGMFx1NUU2M1x1NUUzM1x1NjIzNlx1NUY3MVx1NjcyQyIsInVwbG9hZEZpbGVEZXNjIjpudWxsLCJ1cGxvYWRlZCI6MSwiYWxlcnRNYXJrIjpudWxsLCJ1cGRhdGVUaW1lIjoiMjAyMy0wNy0zMVQxNzoyMjowMi42ODciLCJtdXN0RmxhZyI6IlkiLCJkZXNjIjoiXHU0RTJEXHU0RkUxXHU5MjgwXHU1M0YwXHU1RTYzXHU1RTMzXHU2MjM2XHU1RjcxXHU2NzJDIiwibm90QWxlcnRNYXJrZWQiOmZhbHNlLCJhbGVydE1hcmtlZCI6ZmFsc2V9LHsiam9iVHlwZSI6IkEyIiwiZmlsZVR5cGUiOiJIaWdoRWR1IiwiZmlsZURlc2MiOiJcdTlBRDhcdTRFMkRcdTgwNzdcdTRFRTVcdTRFMEFcdTVCNzhcdTZCNzdcdThCNDlcdTY2MEUiLCJmaWxlSGVhZCI6Ilx1OUFEOFx1NEUyRFx1ODA3N1x1NEVFNVx1NEUwQVx1NUI3OFx1NkI3N1x1OEI0OVx1NjYwRSIsInVwbG9hZEZpbGVEZXNjIjpudWxsLCJ1cGxvYWRlZCI6MSwiYWxlcnRNYXJrIjpudWxsLCJ1cGRhdGVUaW1lIjoiMjAyMy0wNy0zMVQxNzoyMjowMi42ODciLCJtdXN0RmxhZyI6IlkiLCJkZXNjIjoiXHU5QUQ4XHU0RTJEXHU4MDc3XHU0RUU1XHU0RTBBXHU1Qjc4XHU2Qjc3XHU4QjQ5XHU2NjBFIiwibm90QWxlcnRNYXJrZWQiOmZhbHNlLCJhbGVydE1hcmtlZCI6ZmFsc2V9LHsiam9iVHlwZSI6IkEyIiwiZmlsZVR5cGUiOiJDcmVkaXRSZXBvcnQiLCJmaWxlRGVzYyI6Ilx1NEZFMVx1NzUyOFx1NTgzMVx1NTQ0QSIsImZpbGVIZWFkIjoiXHU0RkUxXHU3NTI4XHU1ODMxXHU1NDRBIiwidXBsb2FkRmlsZURlc2MiOm51bGwsInVwbG9hZGVkIjoxLCJhbGVydE1hcmsiOm51bGwsInVwZGF0ZVRpbWUiOiIyMDIzLTA3LTMxVDE3OjIyOjAyLjY4NyIsIm11c3RGbGFnIjoiWSIsImRlc2MiOiJcdTRGRTFcdTc1MjhcdTU4MzFcdTU0NEEiLCJub3RBbGVydE1hcmtlZCI6ZmFsc2UsImFsZXJ0TWFya2VkIjpmYWxzZX0seyJqb2JUeXBlIjoiQTIiLCJmaWxlVHlwZSI6IlJlZ2JpbGwiLCJmaWxlRGVzYyI6Ilx1NzY3Qlx1OTMwNFx1OENCQlx1NzUyOFx1NTMyRlx1NkIzRVx1NTVBRSIsImZpbGVIZWFkIjoiXHU3NjdCXHU5MzA0XHU4Q0JCXHU3NTI4XHU1MzJGXHU2QjNFXHU1NUFFIiwidXBsb2FkRmlsZURlc2MiOm51bGwsInVwbG9hZGVkIjoxLCJhbGVydE1hcmsiOm51bGwsInVwZGF0ZVRpbWUiOiIyMDIzLTA3LTMxVDE3OjIyOjAyLjY4NyIsIm11c3RGbGFnIjoiWSIsImRlc2MiOiJcdTc2N0JcdTkzMDRcdThDQkJcdTc1MjhcdTUzMkZcdTZCM0VcdTU1QUUiLCJub3RBbGVydE1hcmtlZCI6ZmFsc2UsImFsZXJ0TWFya2VkIjpmYWxzZX1dfTsKCgkJCQkvLyDliJ3lp4vlgLwKCgkJCQl2YXIgbmVzdGVkRW1wdHlWYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7CgoJCQkJCWlmICgkLmlzQXJyYXkodmFsdWUpKSB7CgoJCQkJCQlmb3IgKHZhciB2YWwgb2YgdmFsdWUpIHsKCgkJCQkJCQlpZiAoInN0cmluZyIgPT09IHR5cGVvZih2YWwpKSB7CgoJCQkJCQkJCXZhbCA9IHZhbCB8fCAiIjsKCgkJCQkJCQl9IGVsc2UgewoKCQkJCQkJCQluZXN0ZWRFbXB0eVZhbHVlKHZhbCk7CgoJCQkJCQkJfQoKCQkJCQkJfQoKCQkJCQl9IGVsc2UgaWYgKCQuaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHsKCgkJCQkJCWZvciAodmFyIGtleSBpbiB2YWx1ZSkgewoKCQkJCQkJCWlmICgic3RyaW5nIiA9PT0gdHlwZW9mKHZhbHVlW2tleV0pIHx8IHVuZGVmaW5lZCA9PSB2YWx1ZVtrZXldIHx8IG51bGwgPT0gdmFsdWVba2V5XSkgewoKCQkJCQkJCQl2YWx1ZVtrZXldID0gdmFsdWVba2V5XSB8fCAiIjsKCgkJCQkJCQl9IGVsc2UgewoKCQkJCQkJCQluZXN0ZWRFbXB0eVZhbHVlKHZhbHVlW2tleV0pOwoKCQkJCQkJCX0KCgkJCQkJCX0KCgkJCQkJfQoKCQkJCX07CgoJCQkJbmVzdGVkRW1wdHlWYWx1ZSh1c2VyRGF0YSk7CgoJCQkJdGhpcy51c2VyRGF0YSA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLnVzZXJEYXRhLCB1c2VyRGF0YSk7CgoJCQkJaWYgKHRoaXMudXNlckRhdGEudXNlcldvcmtzICYmIHRoaXMudXNlckRhdGEudXNlcldvcmtzLmxlbmd0aCA+IDApIHsKCgkJCQkJdGhpcy5oYXNXb3JrRXhwID0gdHJ1ZTsKCgkJCQl9CgoJCQkJaWYgKCF0aGlzLnVzZXJEYXRhLnVzZXJEZXRhaWwud29ya090aGVyKSB7CgoJCQkJCWlmICh0aGlzLnVzZXJEYXRhLnVzZXJXb3JrT3RoZXJzICYmIHRoaXMudXNlckRhdGEudXNlcldvcmtPdGhlcnMubGVuZ3RoID4gMCkgewoKCQkJCQkJdGhpcy51c2VyRGF0YS51c2VyRGV0YWlsLndvcmtPdGhlciA9ICJZIjsKCgkJCQkJfSBlbHNlIHsKCgkJCQkJCXRoaXMudXNlckRhdGEudXNlckRldGFpbC53b3JrT3RoZXIgPSAiTiI7CgoJCQkJCX0KCgkJCQl9CgoJCQkJdGhpcy5oYXNXb3JrT3RoZXJFeHAgPSAiWSIgPT0gdGhpcy51c2VyRGF0YS51c2VyRGV0YWlsLndvcmtPdGhlcjsKCgkJCX0sCgoJCQltb3VudGVkKCkgewoKCQkJCXNldFRhYigidGFibGlzdCIpOwoKCQkJCXRoaXMuaW5pdCgpOwoKCQkJfSwKCgkJCW1ldGhvZHM6IHsKCgkJCQlpbml0KCkgewoKCQkJCQl0aGlzLmluaXRSdWxlKCk7CgoJCQkJCWlmIChmYWxzZSA9PT0gdGhpcy51c2VyRGF0YS5pc05ldykgewoKCQkJCQkJdGhpcy5zaG93VGFiQWxlcnQoKTsKCgkJCQkJfQoKCQkJCX0sCgoJCQkJaW5pdFJ1bGUoKSB7CgoJCQkJCXZhciBlcnJvclBsYWNlbWVudCA9IGZ1bmN0aW9uIChlcnJvciwgZWxlbWVudCkgewoKCQkJCQkJdmFyIGVuYW1lID0gZWxlbWVudC5hdHRyKCJuYW1lIik7CgoJCQkJCQlpZiAoL151cGxvYWRGaWxlLy50ZXN0KGVuYW1lKSkgewoKCQkJCQkJCSQoZWxlbWVudCkuY2xvc2VzdCgidGFibGUiKS5uZXh0KCkuYXBwZW5kKGVycm9yKTsKCgkJCQkJCX0gZWxzZSBpZiAoL15hZGRyLy50ZXN0KGVuYW1lKSB8fCAvSGlzdG9yeS8udGVzdChlbmFtZSkgfHwgL15wYXJlbnRbTmFtZXxSZWxhXS8udGVzdChlbmFtZSkpIHsKCgkJCQkJCQkkKGVsZW1lbnQpLmNsb3Nlc3QoInRkIikucGFyZW50KCkuY2hpbGRyZW4oKS5sYXN0KCkuYXBwZW5kKGVycm9yKTsKCgkJCQkJCX0gZWxzZSB7CgoJCQkJCQkJJChlbGVtZW50KS5wYXJlbnQoKS5jaGlsZHJlbigpLmxhc3QoKS5hZnRlcihlcnJvcik7CgoJCQkJCQl9CgoJCQkJCX07CgoJCQkJCXZhciBkZWZhdWx0U2V0dGluZ3MgPSB7CgoJCQkJCQllcnJvckVsZW1lbnQ6ICJkaXYiLAoKCQkJCQkJZXJyb3JQbGFjZW1lbnQ6IGVycm9yUGxhY2VtZW50CgoJCQkJCX0KCgkJCQkJdmFyIGZvcm0wMVNldHRpbmdzID0gewoKCQkJCQkJcnVsZXM6IHt9LAoKCQkJCQkJbWVzc2FnZXM6IHt9CgoJCQkJCX07CgoJCQkJCWZvciAodmFyIGluZGV4IGluIHRoaXMudXNlckRhdGEudXBsb2FkRGVmaW5lcykgewoKCQkJCQkJaWYgKHRoaXMudXNlckRhdGEudXBsb2FkRGVmaW5lc1tpbmRleF0ubXVzdEZsYWcgPT0gIlkiKSB7CgoJCQkJCQkJZm9ybTAxU2V0dGluZ3MucnVsZXNbYHVwbG9hZEZpbGUke3BhcnNlSW50KGluZGV4KSArIDF9YF0gPSB7CgoJCQkJCQkJCQlyZXF1aXJlZDogewoKCQkJCQkJCQkJCWRlcGVuZHM6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCgkJCQkJCQkJCQkJcmV0dXJuICIwIiA9PSAkKGVsZW1lbnQpLnByZXYoKS52YWwoKTsKCgkJCQkJCQkJCQl9CgoJCQkJCQkJCQl9CgoJCQkJCQkJCX07CgoJCQkJCQkJCWZvcm0wMVNldHRpbmdzLm1lc3NhZ2VzW2B1cGxvYWRGaWxlJHtwYXJzZUludChpbmRleCkgKyAxfWBdID0geyByZXF1aXJlZDogYOiri+S4iuWCsyR7dGhpcy51c2VyRGF0YS51cGxvYWREZWZpbmVzW2luZGV4XS5maWxlSGVhZH0keyJIZWFkMmluY2giID09IHRoaXMudXNlckRhdGEudXBsb2FkRGVmaW5lc1tpbmRleF0uZmlsZVR5cGUgPyAiKOS4iuWCs+agvOW8j+mZkCBKUEcpIiA6ICIifWAgfTsKCgkJCQkJCQkKCgkJCQkJCX0KCgkJCQkJfQoKCQkJCQkkKCIjZm9ybTAxIikudmFsaWRhdGUoJC5leHRlbmQodHJ1ZSwge30sIGRlZmF1bHRTZXR0aW5ncywgZm9ybTAxU2V0dGluZ3MpKTsKCgkJCQkJJCgiI2Zvcm0wMiIpLnZhbGlkYXRlKCQuZXh0ZW5kKHRydWUsIHt9LCBkZWZhdWx0U2V0dGluZ3MsIHsKCgkJCQkJCXJ1bGVzOiB7CgoJCQkJCQkJcm9tYW5OYW1lOiB7CgoJCQkJCQkJCWZvcm1hdDogZWdvLnZhbGlkYXRvci5wYXR0ZXJuLnJvbWFuTmFtZQoKCQkJCQkJCX0sCgoJCQkJCQkJYXJteTogewoKCQkJCQkJCQlyZXF1aXJlZDogdHJ1ZQoKCQkJCQkJCX0sCgoJCQkJCQkJY3RiY0FjY291bnRCcmFuY2g6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHRydWUKCgkJCQkJCQl9LAoKCQkJCQkJCWN0YmNBY2NvdW50QWNjb3VudE51bWJlcjogewoKCQkJCQkJCQlyZXF1aXJlZDogdHJ1ZSwKCgkJCQkJCQkJZGlnaXRzOiB0cnVlLAoKCQkJCQkJCQlmb3JtYXQ6IGVnby52YWxpZGF0b3IucGF0dGVybi5hY2NvdW50TnVtYmVyCgoJCQkJCQkJfQoKCQkJCQkJfSwgbWVzc2FnZXM6IHsKCgkJCQkJCQlyb21hbk5hbWU6IHsKCgkJCQkJCQkJZm9ybWF0OiAi5Y6f5L2P5rCR5aeT5ZCN5LiN56ym5ZCI5qKd5Lu277yM6KuL6YeN5paw6Ly45YWlIgoKCQkJCQkJCX0sCgoJCQkJCQkJYXJteTogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+mBuOaTh+WFteW9ueiqv+afpSIsCgoJCQkJCQkJfSwKCgkJCQkJCQljdGJjQWNjb3VudEJyYW5jaDogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+i8uOWFpeS4reS/oemKgOWPsOW5o+mKgOihjOW4s+aIti3liIbooYwiLAoKCQkJCQkJCX0sCgoJCQkJCQkJY3RiY0FjY291bnRBY2NvdW50TnVtYmVyOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL6Ly45YWl5Lit5L+h6YqA5Y+w5bmj6YqA6KGM5biz5oi2LeW4s+iZnyIsCgoJCQkJCQkJCWRpZ2l0czogIuS4reS/oemKgOWPsOW5o+mKgOihjOW4s+aIti3luLPomZ/kuI3nrKblkIjmop3ku7bvvIzoq4vph43mlrDovLjlhaUiLAoKCQkJCQkJCQlmb3JtYXQ6ICLkuK3kv6HpioDlj7DluaPpioDooYzluLPmiLYt5biz6Jmf5LiN56ym5ZCI5qKd5Lu277yM6KuL6YeN5paw6Ly45YWlIgoKCQkJCQkJCX0KCgkJCQkJCX0KCgkJCQkJfSkpOwoKCQkJCQkkKCIjZm9ybTA0IikudmFsaWRhdGUoJC5leHRlbmQodHJ1ZSwge30sIGRlZmF1bHRTZXR0aW5ncywgewoKCQkJCQkJcnVsZXM6IHsKCgkJCQkJCQljcmVkaXRScHREZWdyZWU6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHRydWUsCgoJCQkJCQkJCWNyZWRpdFJwdERlZ3JlZTogdHJ1ZQoKCQkJCQkJCX0sCgoJCQkJCQkJY3JlZGl0UnB0RGF0ZTogewoKCQkJCQkJCQlyZXF1aXJlZDogdHJ1ZQoKCQkJCQkJCX0sCgoJCQkJCQkJbGlmZVJlZ2lzdGVySWQ6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHRydWUsCgoJCQkJCQkJCWZvcm1hdDogZWdvLnZhbGlkYXRvci5wYXR0ZXJuLmxpZmVSZWdpc3RlcklkCgoJCQkJCQkJfSwKCgkJCQkJCQlsaWZlUmVnU3RhdHVzOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiB0cnVlCgoJCQkJCQkJfSwKCgkJCQkJCQlnZW5SZWdTdGF0dXM6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHRydWUKCgkJCQkJCQl9LAoKCQkJCQkJCXBhcmVudE5hbWU6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHsKCgkJCQkJCQkJCWRlcGVuZHM6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCgkJCQkJCQkJCQlyZXR1cm4gIlkiID09ICQoImlucHV0W25hbWU9cGFyZW50QWdlbnRdOmNoZWNrZWQiKS52YWwoKTsKCgkJCQkJCQkJCX0KCgkJCQkJCQkJfQoKCQkJCQkJCX0sCgoJCQkJCQkJcGFyZW50UmVsYTogewoKCQkJCQkJCQlyZXF1aXJlZDogewoKCQkJCQkJCQkJZGVwZW5kczogZnVuY3Rpb24oZWxlbWVudCkgewoKCQkJCQkJCQkJCXJldHVybiAiWSIgPT0gJCgiaW5wdXRbbmFtZT1wYXJlbnRBZ2VudF06Y2hlY2tlZCIpLnZhbCgpOwoKCQkJCQkJCQkJfQoKCQkJCQkJCQl9CgoJCQkJCQkJfSwKCgkJCQkJCQlwdW5pc2hIaXN0b3J5OiB7CgoJCQkJCQkJCXJlcXVpcmVkOiB0cnVlCgoJCQkJCQkJfSwKCgkJCQkJCQlwdW5pc2hIaXNEZXRhaWw6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHsKCgkJCQkJCQkJCWRlcGVuZHM6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCgkJCQkJCQkJCQlyZXR1cm4gIlkiID09ICQoImlucHV0W25hbWU9cHVuaXNoSGlzdG9yeV06Y2hlY2tlZCIpLnZhbCgpOwoKCQkJCQkJCQkJfQoKCQkJCQkJCQl9CgoJCQkJCQkJfSwKCgkJCQkJCQlsaWFQdW5pc2hIaXN0b3J5OiB7CgoJCQkJCQkJCXJlcXVpcmVkOiB0cnVlCgoJCQkJCQkJfSwKCgkJCQkJCQlsaWFQdW5pc2hIaXNEZXRhaWw6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHsKCgkJCQkJCQkJCWRlcGVuZHM6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCgkJCQkJCQkJCQlyZXR1cm4gIlkiID09ICQoImlucHV0W25hbWU9bGlhUHVuaXNoSGlzdG9yeV06Y2hlY2tlZCIpLnZhbCgpOwoKCQkJCQkJCQkJfQoKCQkJCQkJCQl9CgoJCQkJCQkJfSwKCgkJCQkJCQljcmltZUhpc3Rvcnk6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6IHRydWUKCgkJCQkJCQl9LAoKCQkJCQkJCWNyaW1lRGV0YWlsOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiB7CgoJCQkJCQkJCQlkZXBlbmRzOiBmdW5jdGlvbihlbGVtZW50KSB7CgoJCQkJCQkJCQkJcmV0dXJuICJZIiA9PSAkKCJpbnB1dFtuYW1lPWNyaW1lSGlzdG9yeV06Y2hlY2tlZCIpLnZhbCgpOwoKCQkJCQkJCQkJfQoKCQkJCQkJCQl9CgoJCQkJCQkJfQoKCQkJCQkJfSwgbWVzc2FnZXM6IHsKCgkJCQkJCQljcmVkaXRScHREZWdyZWU6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6ICLoq4vovLjlhaXkv6HnlKjloLHlkYrliIbmlbjmiJbnhKHms5XoqZXliIYiLAoKCQkJCQkJCQljcmVkaXRScHREZWdyZWU6ICLoq4vovKrlhaXliIbmlbjmiJbnhKHms5XoqZXliIYiCgoJCQkJCQkJfSwKCgkJCQkJCQljcmVkaXRScHREYXRlOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL6YG45pOH5L+h55So5aCx5ZGK5pel5pyfIgoKCQkJCQkJCX0sCgoJCQkJCQkJbGlmZVJlZ2lzdGVySWQ6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6ICLoq4vovLjlhaXkurrouqvkv53pmqrlkIjmoLzorYnomZ8iCgoJCQkJCQkJfSwKCgkJCQkJCQlsaWZlUmVnU3RhdHVzOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL5Yu+6YG45Lq66Lqr5L+d6Zqq55m76YyE54uA5rOBIgoKCQkJCQkJCX0sCgoJCQkJCQkJZ2VuUmVnU3RhdHVzOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL5Yu+6YG46LKh55Si5L+d6Zqq55m76YyE54uA5rOBIgoKCQkJCQkJCX0sCgoJCQkJCQkJcGFyZW50TmFtZTogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+i8uOWFpeimquWxrOWnk+WQjSIKCgkJCQkJCQl9LAoKCQkJCQkJCXBhcmVudFJlbGE6IHsKCgkJCQkJCQkJcmVxdWlyZWQ6ICLoq4vpgbjmk4fopqrlsazpl5zkv4IiCgoJCQkJCQkJfSwKCgkJCQkJCQlwdW5pc2hIaXN0b3J5OiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL5Yu+6YG45piv5ZCm5pu+6YGV5Y+N5qWt5YuZ5Lq65ZOh566h55CG6KaP5YmH6ICM5Y+X5oey6JmV57SA6YyEIgoKCQkJCQkJCX0sCgoJCQkJCQkJcHVuaXNoSGlzRGV0YWlsOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL6Ly45YWl5Y+X5oey6JmV57SA6YyE6Kmz57Sw6Kqq5piOIgoKCQkJCQkJCX0sCgoJCQkJCQkJbGlhUHVuaXNoSGlzdG9yeTogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+WLvumBuOaYr+WQpuabvuWPl+WFrOacg+aHsuiZlee0gOmMhCIKCgkJCQkJCQl9LAoKCQkJCQkJCWxpYVB1bmlzaEhpc0RldGFpbDogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+i8uOWFpeWFrOacg+aHsuiZlee0gOmMhOips+e0sOiqquaYjiIKCgkJCQkJCQl9LAoKCQkJCQkJCWNyaW1lSGlzdG9yeTogewoKCQkJCQkJCQlyZXF1aXJlZDogIuiri+WLvumBuOaYr+WQpuacieWIkeS6i+eKr+e9que0gOmMhCIKCgkJCQkJCQl9LAoKCQkJCQkJCWNyaW1lRGV0YWlsOiB7CgoJCQkJCQkJCXJlcXVpcmVkOiAi6KuL6Ly45YWl5YiR5LqL54qv572q57SA6YyE6Kmz57Sw6Kqq5piOIgoKCQkJCQkJCX0KCgkJCQkJCX0KCgkJCQkJfSkpOwoKCQkJCX0sCgoJCQkJc2hvd1RhYkFsZXJ0KCkgewoKCQkJCQlmb3IgKHZhciBmb3JtIGluIHRoaXMuYWxlcnQpIHsKCgkJCQkJCXRoaXMuYWxlcnRbYCR7Zm9ybX1gXSA9ICEkKGAjJHtmb3JtfWApLnZhbGlkKCk7CgoJCQkJCX0KCgkJCQl9LAoKCQkJCWdlbmVyYXRlS2V5KGtleSwgaW5kZXgpIHsKCgkJCQkJaWYgKGluZGV4IHx8ICQuaXNOdW1lcmljKGluZGV4KSkgewoKCQkJCQkJcmV0dXJuIGAke2tleX0ke2luZGV4ICsgMX1gOwoKCQkJCQl9CgoJCQkJCXJldHVybiBrZXk7CgoJCQkJfSwKCgkJCQloYW5kbGVDcmVkaXRScHREZWdyZWUoZXZlbnQpIHsKCgkJCQkJaWYgKC9eMC8udGVzdChldmVudC50YXJnZXQudmFsdWUpKSB7CgoJCQkJCQl0aGlzLnVzZXJEYXRhLnVzZXJCYWNrZ3JvdW5kLmNyZWRpdFJwdERlZ3JlZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5zdWJzdHJpbmcoMSk7CgoJCQkJCX0KCgkJCQl9LAoKCQkJCWhhbmRsZURhdGUodGFyZ2V0LCBkYXRlKSB7CgoJCQkJCXZhciBmb3JtID0gJCh0YXJnZXQpLmNsb3Nlc3QoImZvcm0iKS5hdHRyKCJpZCIpOwoKCQkJCQl2YXIgZWxlbWVudCA9ICQodGFyZ2V0KS5hdHRyKCJpZCIpOwoKCQkJCQlzd2l0Y2ggKGVsZW1lbnQpIHsKCgkJCQkJCWNhc2UgImNyZWRpdFJwdERhdGUiOgoKCQkJCQkJCXRoaXMudXNlckRhdGEudXNlckJhY2tncm91bmQuY3JlZGl0UnB0RGF0ZSA9IGRhdGU7CgoJCQkJCQkJYnJlYWs7CgoJCQkJCQlkZWZhdWx0OgoKCQkJCQkJCXZhciBpbmRleCA9IGVsZW1lbnQuc3Vic3RyKC0xKSAtIDE7CgoJCQkJCQkJdmFyIHdvcmsgPSB0aGlzLnVzZXJEYXRhLnVzZXJXb3Jrc1tpbmRleF07CgoJCQkJCQkJd29ya1tlbGVtZW50LnN1YnN0cigwLCBlbGVtZW50Lmxlbmd0aCAtIDEpXSA9IGRhdGU7CgoJCQkJCQkJaWYgKCQodGFyZ2V0KS5wcmV2KCkpIHsKCgkJCQkJCQkJJCh0YXJnZXQpLnByZXYoKS5tb250aHBpY2tlcigib3B0aW9uIiwgIm1heERhdGUiLCBkYXRlKTsKCgkJCQkJCQl9CgoJCQkJCQkJaWYgKCQodGFyZ2V0KS5uZXh0KCkpIHsKCgkJCQkJCQkJJCh0YXJnZXQpLm5leHQoKS5tb250aHBpY2tlcigib3B0aW9uIiwgIm1pbkRhdGUiLCBkYXRlKTsKCgkJCQkJCQl9CgoJCQkJCQkJYnJlYWs7CgoJCQkJCX0KCgkJCQkJJChgIyR7Zm9ybX1gKS52YWxpZGF0ZSgpLmVsZW1lbnQoYCMke2VsZW1lbnR9YCk7CgoJCQkJfSwKCgkJCQloYW5kbGVEZXBlbmRlbmN5KGV2ZW50KSB7CgoJCQkJCXZhciBmb3JtID0gJChldmVudC50YXJnZXQpLmNsb3Nlc3QoImZvcm0iKS5hdHRyKCJpZCIpOwoKCQkJCQl2YXIgZWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpCgoJCQkJCWVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHsKCgkJCQkJCSQoYCMke2Zvcm19YCkudmFsaWRhdGUoKS5lbGVtZW50KGAjJHtpdGVtfWApOwoKCQkJCQl9KTsKCgkJCQl9LAoKCQkJCXNhdmUoZXZlbnQpIHsKCgkJCQkJLy8g5pqr5a2YCgoJCQkJCXRoaXMuc2hvd1RhYkFsZXJ0KCk7CgoJCQkJCWlmICghZWdvLmFqYXgudXBkYXRlVXNlckRhdGFUZW1wKHRoaXMudXNlckRhdGEpKSB7CgoJCQkJCQllZ28uZGlhbG9nLmVycm9yKCLmmqvlrZjlpLHmlZfvvIzoq4vnqI3lgJnlho3oqaYiLCB3aW5kb3cubG9jYXRpb24uaHJlZik7CgoJCQkJCX0gZWxzZSB7CgoJCQkJCQllZ28uZGlhbG9nLmFsZXJ0KCLmmqvlrZjmiJDlip8iLCB3aW5kb3cubG9jYXRpb24uaHJlZik7CgoJCQkJCX0KCgkJCQl9LAoKCQkJCWhhbmRsZUZpbGUodGFyZ2V0LCBzdGF0dXMpIHsKCgkJCQkJJCh0YXJnZXQpLmNsb3Nlc3QoImZvcm0iKS52YWxpZGF0ZSgpLmVsZW1lbnQoYCMkeyQodGFyZ2V0KS5hdHRyKCJpZCIpfWApOwoKCQkJCX0sCgoJCQkJYXBwbHkoZXZlbnQpIHsKCgkJCQkJdGhpcy5zaG93VGFiQWxlcnQoKTsKCgkJCQkJZm9yICh2YXIgZm9ybSBpbiB0aGlzLmFsZXJ0KSB7CgoJCQkJCQlpZiAoISQoYCMke2Zvcm19YCkudmFsaWQoKSkgewoKCQkJCQkJCWVnby5kaWFsb2cuZXJyb3IoIuiri+eiuuiqjeWgseiBmOizh+aWmeWhq+Wvq+WujOaVtO+8jOWGjeihjOmBnuS6pOeUs+iri+OAgiIpOwoKCQkJCQkJCXJldHVybjsKCgkJCQkJCX0KCgkJCQkJfQoKCQkJCQlpZiAoIWVnby5hamF4LnVwZGF0ZVVzZXJEYXRhVGVtcCh0aGlzLnVzZXJEYXRhKSkgeyAvLyDmmqvlrZgKCgkJCQkJCWVnby5kaWFsb2cuZXJyb3IoIumBnuS6pOeUs+iri+WkseaVl++8jOiri+eojeWAmeWGjeippiIsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKCgkJCQkJfSBlbHNlIGlmICghZWdvLmFqYXguYXBwbHlVc2VyRGF0YSh0aGlzLnVzZXJEYXRhLnVzZXIuc3lzQ29kZSkpIHsgLy8g6YGe5Lqk55Sz6KuLCgoJCQkJCQllZ28uZGlhbG9nLmVycm9yKCLpgZ7kuqTnlLPoq4vlpLHmlZfvvIzoq4vnqI3lgJnlho3oqaYiLCB3aW5kb3cubG9jYXRpb24uaHJlZik7CgoJCQkJCX0gZWxzZSB7CgoJCQkJCQlpZiAodGhpcy51c2VyRGF0YS51c2VyLmNvbW1Vbml0LmFnZW50Q2hhbm5lbCA9PSAiQTEiKSB7CgoJCQkJCQkJZWdvLmRpYWxvZy5hbGVydChg5oGt5Zac5oKo5bey5a6M5oiQ5aCx6IGY5paH5Lu26YGe5Lqk77yM5a+p5qC457WQ5p6c5bCH5pyD5Y+m6KGM6YCa55+l44CCIDxici8+PGJyLz7ku6XkuIvmraPmnKzmlofku7boq4vmgqjkuqTntablkITlnLDljYDooYzmlL/liqnnkIbjgII8YnIvPjEuIOWQiOe0hOabuDxici8+Mi4g6IGv5b615YCL5Lq65L+h55So5aCx5ZGKPGJyLz4zLiDkuozlkIvlvanoibLnhafniYcx5by1PGJyLz40LiDkv6HnlKjljaHlhbHpirfmib/oq77ogbLmmI7mm7jlj4roqabljbc8YnIvPjUuIOiHquiyu+WPg+WKoOWcmOmrlOS/nemaqueUs+iri+abuDxici8+Ni4g5aCx6IGYU1LpoIjlj6bnubPkuqTooYzpirfku6Pooajlgpnlv5jpjITjgIFTUuWVhuWTgeWPiuazleimj+iqsueoi+iok+e3tOe0gOmMhCR7IjMiID09IHRoaXMudXNlckRhdGEudXNlckJhY2tncm91bmQuZ2VuUmVnU3RhdHVzID8gIjxici8+Ny4g5Lq66Lqr5L+d6Zqq5qWt5YuZ5ZOh55m76YyE55Sz6KuL5pu45q2j5pysIiA6ICIifWAsIHVybC51c2VyLnBvcnRhbCk7CQkJCQkJCQoKCQkJCQkJfSBlbHNlIHsKCgkJCQkJCQlpZiAodGhpcy51c2VyRGF0YS51c2VyLmpvYlR5cGUgPT0gIkEyUyIgKSB7CgoJCQkJCQkJCWVnby5kaWFsb2cuYWxlcnQoYOaBreWWnOaCqOW3suWujOaIkOWgseiBmOaWh+S7tumBnuS6pO+8jOWvqeaguOe1kOaenOWwh+acg+WPpuihjOmAmuefpeOAgiA8YnIvPjxici8+5Lul5LiL5q2j5pys5paH5Lu26KuL5oKo5Lqk57Wm5ZCE5Zyw5Y2A6KGM5pS/5Yqp55CG44CCPGJyLz4xLiDlkIjntITmm7g8YnIvPjIuIOiBr+W+teWAi+S6uuS/oeeUqOWgseWRijxici8+My4g5LqM5ZCL5b2p6Imy54Wn54mHMeW8tTxici8+NC4g5L+h55So5Y2h5YWx6Yq35om/6Ku+6IGy5piO5pu45Y+K6Kmm5Y23JHsiMyIgPT0gdGhpcy51c2VyRGF0YS51c2VyQmFja2dyb3VuZC5nZW5SZWdTdGF0dXMgPyAiPGJyLz41LiDkurrouqvkv53pmqrmpa3li5nlk6HnmbvpjITnlLPoq4vmm7jmraPmnKwiIDogIiJ9YCwgdXJsLnVzZXIucG9ydGFsKTsKCgkJCQkJCQl9CgoJCQkJCQkJZWxzZSB7CgoJCQkJCQkJCWVnby5kaWFsb2cuYWxlcnQoYOaBreWWnOaCqOW3suWujOaIkOWgseiBmOaWh+S7tumBnuS6pO+8jOWvqeaguOe1kOaenOWwh+acg+WPpuihjOmAmuefpeOAgiA8YnIvPjxici8+5Lul5LiL5q2j5pys5paH5Lu26KuL5oKo5Lqk57Wm5ZCE5Zyw5Y2A6KGM5pS/5Yqp55CG44CCPGJyLz4xLiDlkIjntITmm7g8YnIvPjIuIOiBr+W+teWAi+S6uuS/oeeUqOWgseWRijxici8+My4g5LqM5ZCL5b2p6Imy54Wn54mHMeW8tTxici8+NC4g5L+h55So5Y2h5YWx6Yq35om/6Ku+6IGy5piO5pu45Y+K6Kmm5Y23PGJyLz41LiDlhazosrvlnJjpq5TnnLflsazliqDlhaXooago6IGY5YOx5ZCI57SEKSR7IjMiID09IHRoaXMudXNlckRhdGEudXNlckJhY2tncm91bmQuZ2VuUmVnU3RhdHVzID8gIjxici8+Ni4g5Lq66Lqr5L+d6Zqq5qWt5YuZ5ZOh55m76YyE55Sz6KuL5pu45q2j5pysIiA6ICIifWAsIHVybC51c2VyLnBvcnRhbCk7CQoKCQkJCQkJCX0KCgkJCQkJCX0KCgkJCQkJfQoKCQkJCX0KCgkJCX0KCgkJfSk7CgoJPC9zY3JpcHQ+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==