@datagrok/eda 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/package-test.js +2 -2
- package/dist/package.js +2 -2
- package/package.json +3 -3
- package/src/package-test.ts +6 -3
- package/src/package.ts +5 -5
- package/wasm/callWasm.js +0 -9
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# EDA changelog
|
|
2
|
+
|
|
3
|
+
## 1.1.2 (2023-07-27)
|
|
4
|
+
|
|
5
|
+
This release focuses on improving usability.
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Move Multivariate Analysis using partial least squares (PLS) regression to Top Menu | ML
|
|
10
|
+
* In PLS and PCA, just numerical columns can be selected as features
|
package/dist/package-test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var eda_test;(()=>{"use strict";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{_package:()=>v,test:()=>g,tests:()=>i});const n=DG,o=grok;var s=function(t,e,n,o){return new(n||(n=Promise))((function(s,i){function r(t){try{l(o.next(t))}catch(t){i(t)}}function c(t){try{l(o.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,c)}l((o=o.apply(t,e||[])).next())}))};const i={},r="Auto Tests",c={};var l;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(l||(l={}));class a{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class u{constructor(t,e,n,o){var i;this.category=t,this.name=e,null!=o||(o={}),null!==(i=o.timeout)&&void 0!==i||(o.timeout=3e4),this.options=o,this.test=()=>s(this,void 0,void 0,(function*(){return new Promise(((t,e)=>s(this,void 0,void 0,(function*(){let o="";try{o=yield n()}catch(t){e(t)}t(o)}))))}))}}function d(t,e){return t.replace(new RegExp(e.name,"gi"),e.nqName)}function f(t){var e,l,f,h,v;return s(this,void 0,void 0,(function*(){const g=null===(l=null===(e=o.functions.getCurrentCall())||void 0===e?void 0:e.func)||void 0===l?void 0:l.package;yield function(t,e){return s(this,void 0,void 0,(function*(){if(c[t])return;const e=i;if(void 0!==e[r])return void(c[t]=!0);const n=[],l=yield o.dapi.functions.filter(`package.id = "${t}"`).list(),a=new RegExp(/.*\/\/\s*skip[:\s]*(.*)$/);for(const t of l){const e=t.options.test;if(e&&Array.isArray(e)&&e.length)for(let i=0;i<e.length;i++){const c=e[i].match(a);let l;c&&(null==c?void 0:c.length)>1&&(l=c[1]),n.push(new u(r,1===e.length?t.name:`${t.name} ${i+1}`,(()=>s(this,void 0,void 0,(function*(){if(!0!==(yield o.functions.eval(d(e[i],t))))throw`Failed: ${e[i]}`}))),{skipReason:l}))}}c[t]=!0,n.length&&(e[r]={tests:n})}))}(g.id);const y=[];console.log("Running tests"),null!=t||(t={}),null!==(f=(v=t).testContext)&&void 0!==f||(v.testContext=new a),o.shell.lastError="";for(const[e,n]of Object.entries(i)){if(null!=(null==t?void 0:t.category)&&!e.toLowerCase().startsWith(null==t?void 0:t.category.toLowerCase()))continue;console.log(`Started ${e} category`);try{n.before&&(yield n.before())}catch(t){n.beforeStatus=t.toString()}const o=null!==(h=n.tests)&&void 0!==h?h:[],s=[];for(let e=0;e<o.length;e++)s.push(yield p(o[e],null==t?void 0:t.test));const i=(yield Promise.all(s)).filter((t=>"skipped"!=t.result));try{n.after&&(yield n.after())}catch(t){n.afterStatus=t.toString()}n.afterStatus&&i.push({category:e,name:"init",result:n.afterStatus,success:!1,ms:0,skipped:!1}),n.beforeStatus&&i.push({category:e,name:"init",result:n.beforeStatus,success:!1,ms:0,skipped:!1}),y.push(...i)}if(t.testContext.catchUnhandled&&(yield function(t){return s(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}(1e3),o.shell.lastError.length>0&&y.push({category:"Unhandled exceptions",name:"exceptions",result:o.shell.lastError,success:!1,ms:0,skipped:!1})),t.testContext.report){const t=new n.Logger,e=y.filter((t=>t.success)).length,o=y.filter((t=>t.skipped)).length,s=y.filter((t=>!t.success)),i="Package @package tested: @successful successful, @skipped skipped, @failed failed tests",r={successful:e,skipped:o,failed:s.length,package:g};for(const t of s)Object.assign(r,{[`${t.category} | ${t.name}`]:t.result});t.log(i,r,"package-tested")}return y}))}function p(t,e){var n,o,i;return s(this,void 0,void 0,(function*(){let s;const r=null!=e&&!t.name.toLowerCase().startsWith(e.toLowerCase()),c=(null===(n=t.options)||void 0===n?void 0:n.skipReason)||r,l=r?"skipped":null===(o=t.options)||void 0===o?void 0:o.skipReason;c||console.log(`Started ${t.category} ${t.name}`);const a=new Date;try{s=c?{success:!0,result:l,ms:0,skipped:!0}:{success:!0,result:null!==(i=yield t.test())&&void 0!==i?i:"OK",ms:0,skipped:!1}}catch(t){s={success:!1,result:t.toString(),ms:0,skipped:!1}}const u=new Date;return s.ms=u-a,c||console.log(`Finished ${t.category} ${t.name} for ${s.ms} ms`),s.category=t.category,s.name=t.name,s}))}var h=function(t,e,n,o){return new(n||(n=Promise))((function(s,i){function r(t){try{l(o.next(t))}catch(t){i(t)}}function c(t){try{l(o.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,c)}l((o=o.apply(t,e||[])).next())}))};let v=new n.Package;function g(){return h(this,void 0,void 0,(function*(){
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEdBQVMsQ0FBRSxNQUFPYyxHQUFLSixFQUFPSSxFQUFJLENBQUUsQ0FDMUYsU0FBU0MsRUFBU2YsR0FBUyxJQUFNWSxFQUFLTCxFQUFpQixNQUFFUCxHQUFTLENBQUUsTUFBT2MsR0FBS0osRUFBT0ksRUFBSSxDQUFFLENBQzdGLFNBQVNGLEVBQUtJLEdBSmxCLElBQWVoQixFQUlhZ0IsRUFBT0MsS0FBT1IsRUFBUU8sRUFBT2hCLFFBSjFDQSxFQUl5RGdCLEVBQU9oQixNQUpoREEsYUFBaUJNLEVBQUlOLEVBQVEsSUFBSU0sR0FBRSxTQUFVRyxHQUFXQSxFQUFRVCxFQUFRLEtBSWpCa0IsS0FBS1AsRUFBV0ksRUFBVyxDQUM3R0gsR0FBTUwsRUFBWUEsRUFBVVksTUFBTWYsRUFBU0MsR0FBYyxLQUFLUSxPQUNsRSxHQUNKLEVBR08sSUFBSThGLEVBQVcsSUFBSSxVQUluQixTQUFTLElBQ1osT0FBTyxFQUFVNUUsVUFBTSxPQUFRLEdBQVEsWUFDbkMsSUFBSXFELFFBQWF2QyxJQUNqQixPQUFPLHdCQUF5QnVDLEVBQ3BDLEdBQ0osQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VkYS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL2VkYS9leHRlcm5hbCB2YXIgXCJER1wiIiwid2VicGFjazovL2VkYS9leHRlcm5hbCB2YXIgXCJncm9rXCIiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3Rlc3QuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vc3JjL3BhY2thZ2UtdGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSBERzsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gZ3JvazsiLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmV4cG9ydCBjb25zdCB0ZXN0cyA9IHt9O1xuY29uc3QgYXV0b1Rlc3RzQ2F0TmFtZSA9ICdBdXRvIFRlc3RzJztcbmNvbnN0IHdhc1JlZ2lzdGVyZWQgPSB7fTtcbmV4cG9ydCBsZXQgY3VycmVudENhdGVnb3J5O1xuZXhwb3J0IHZhciBhc3N1cmU7XG4oZnVuY3Rpb24gKGFzc3VyZSkge1xuICAgIGZ1bmN0aW9uIG5vdE51bGwodmFsdWUsIG5hbWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZSA9PSBudWxsID8gJ1ZhbHVlJyA6IG5hbWV9IG5vdCBkZWZpbmVkYCk7XG4gICAgfVxuICAgIGFzc3VyZS5ub3ROdWxsID0gbm90TnVsbDtcbn0pKGFzc3VyZSB8fCAoYXNzdXJlID0ge30pKTtcbmV4cG9ydCBjbGFzcyBUZXN0Q29udGV4dCB7XG4gICAgY29uc3RydWN0b3IoY2F0Y2hVbmhhbmRsZWQsIHJlcG9ydCkge1xuICAgICAgICB0aGlzLmNhdGNoVW5oYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXBvcnQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNhdGNoVW5oYW5kbGVkICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLmNhdGNoVW5oYW5kbGVkID0gY2F0Y2hVbmhhbmRsZWQ7XG4gICAgICAgIGlmIChyZXBvcnQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRoaXMucmVwb3J0ID0gcmVwb3J0O1xuICAgIH1cbiAgICA7XG59XG5leHBvcnQgY2xhc3MgVGVzdCB7XG4gICAgY29uc3RydWN0b3IoY2F0ZWdvcnksIG5hbWUsIHRlc3QsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB0aGlzLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IChvcHRpb25zID0ge30pO1xuICAgICAgICAoX2EgPSBvcHRpb25zLnRpbWVvdXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChvcHRpb25zLnRpbWVvdXQgPSAzMDAwMCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGVzdCA9ICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHlpZWxkIHRlc3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0RXZlbnQoZXZlbnQsIGhhbmRsZXIsIHRyaWdnZXIsIG1zID0gMCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGxldCBzdWI7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzdWIgPSBldmVudC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVyKGFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoJ09LJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXG4gICAgICAgICAgICAgICAgcmVqZWN0KCd0aW1lb3V0Jyk7XG4gICAgICAgICAgICB9LCBtcyk7XG4gICAgICAgICAgICB0cmlnZ2VyKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRlc3QobmFtZSwgdGVzdCwgb3B0aW9ucykge1xuICAgIGlmICh0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID09IHVuZGVmaW5lZClcbiAgICAgICAgdGVzdHNbY3VycmVudENhdGVnb3J5XSA9IHt9O1xuICAgIGlmICh0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldLnRlc3RzID09IHVuZGVmaW5lZClcbiAgICAgICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS50ZXN0cyA9IFtdO1xuICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0udGVzdHMucHVzaChuZXcgVGVzdChjdXJyZW50Q2F0ZWdvcnksIG5hbWUsIHRlc3QsIG9wdGlvbnMpKTtcbn1cbi8qIFRlc3RzIHR3byBvYmplY3RzIGZvciBlcXVhbGl0eSwgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGV5IGFyZSBub3QgZXF1YWwuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0KGFjdHVhbCwgZXhwZWN0ZWQgPSB0cnVlLCBlcnJvcikge1xuICAgIGlmIChlcnJvcilcbiAgICAgICAgZXJyb3IgPSBgJHtlcnJvcn0sIGA7XG4gICAgZWxzZVxuICAgICAgICBlcnJvciA9ICcnO1xuICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3J9RXhwZWN0ZWQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2FjdHVhbH1cImApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEZsb2F0KGFjdHVhbCwgZXhwZWN0ZWQsIHRvbGVyYW5jZSA9IDAuMDAxLCBlcnJvcikge1xuICAgIGlmICgoYWN0dWFsID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJiYgZXhwZWN0ZWQgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgfHxcbiAgICAgICAgKGFjdHVhbCA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICYmIGV4cGVjdGVkID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHx8XG4gICAgICAgIChhY3R1YWwgPT09IE51bWJlci5OYU4gJiYgZXhwZWN0ZWQgPT09IE51bWJlci5OYU4pIHx8IChpc05hTihhY3R1YWwpICYmIGlzTmFOKGV4cGVjdGVkKSkpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBhcmVFcXVhbCA9IE1hdGguYWJzKGFjdHVhbCAtIGV4cGVjdGVkKSA8IHRvbGVyYW5jZTtcbiAgICBleHBlY3QoYXJlRXF1YWwsIHRydWUsIGAke2Vycm9yICE9PSBudWxsICYmIGVycm9yICE9PSB2b2lkIDAgPyBlcnJvciA6ICcnfSAodG9sZXJhbmNlID0gJHt0b2xlcmFuY2V9KWApO1xuICAgIGlmICghYXJlRXF1YWwpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtleHBlY3RlZH0sIGdvdCAke2FjdHVhbH0gKHRvbGVyYW5jZSA9ICR7dG9sZXJhbmNlfSlgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RUYWJsZShhY3R1YWwsIGV4cGVjdGVkLCBlcnJvcikge1xuICAgIGNvbnN0IGV4cGVjdGVkUm93Q291bnQgPSBleHBlY3RlZC5yb3dDb3VudDtcbiAgICBjb25zdCBhY3R1YWxSb3dDb3VudCA9IGFjdHVhbC5yb3dDb3VudDtcbiAgICBleHBlY3QoYWN0dWFsUm93Q291bnQsIGV4cGVjdGVkUm93Q291bnQsIGAke2Vycm9yICE9PSBudWxsICYmIGVycm9yICE9PSB2b2lkIDAgPyBlcnJvciA6ICcnfSwgcm93IGNvdW50YCk7XG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgZXhwZWN0ZWQuY29sdW1ucykge1xuICAgICAgICBjb25zdCBhY3R1YWxDb2x1bW4gPSBhY3R1YWwuY29sdW1ucy5ieU5hbWUoY29sdW1uLm5hbWUpO1xuICAgICAgICBpZiAoYWN0dWFsQ29sdW1uID09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAke2NvbHVtbi5uYW1lfSBub3QgZm91bmRgKTtcbiAgICAgICAgaWYgKGFjdHVhbENvbHVtbi50eXBlICE9IGNvbHVtbi50eXBlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJHtjb2x1bW4ubmFtZX0gdHlwZSBleHBlY3RlZCAke2NvbHVtbi50eXBlfSBnb3QgJHthY3R1YWxDb2x1bW4udHlwZX1gKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHBlY3RlZFJvd0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uLmdldChpKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWN0dWFsQ29sdW1uLmdldChpKTtcbiAgICAgICAgICAgIGlmIChjb2x1bW4udHlwZSA9PSBERy5UWVBFLkZMT0FUKVxuICAgICAgICAgICAgICAgIGV4cGVjdEZsb2F0KGFjdHVhbFZhbHVlLCB2YWx1ZSwgMC4wMDAxLCBlcnJvcik7XG4gICAgICAgICAgICBlbHNlIGlmIChjb2x1bW4udHlwZSA9PSBERy5UWVBFLkRBVEVfVElNRSlcbiAgICAgICAgICAgICAgICBleHBlY3QoYWN0dWFsVmFsdWUuaXNTYW1lKHZhbHVlKSwgdHJ1ZSwgZXJyb3IpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGV4cGVjdChhY3R1YWxWYWx1ZSwgdmFsdWUsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RPYmplY3QoYWN0dWFsLCBleHBlY3RlZCkge1xuICAgIGZvciAoY29uc3QgW2V4cGVjdGVkS2V5LCBleHBlY3RlZFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpIHtcbiAgICAgICAgaWYgKCFhY3R1YWwuaGFzT3duUHJvcGVydHkoZXhwZWN0ZWRLZXkpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBwcm9wZXJ0eSBcIiR7ZXhwZWN0ZWRLZXl9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWN0dWFsW2V4cGVjdGVkS2V5XTtcbiAgICAgICAgaWYgKGFjdHVhbFZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgZXhwZWN0ZWRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5KVxuICAgICAgICAgICAgZXhwZWN0QXJyYXkoYWN0dWFsVmFsdWUsIGV4cGVjdGVkVmFsdWUpO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxWYWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiBleHBlY3RlZFZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICAgICAgZXhwZWN0T2JqZWN0KGFjdHVhbFZhbHVlLCBleHBlY3RlZFZhbHVlKTtcbiAgICAgICAgZWxzZSBpZiAoTnVtYmVyLmlzRmluaXRlKGFjdHVhbFZhbHVlKSAmJiBOdW1iZXIuaXNGaW5pdGUoZXhwZWN0ZWRWYWx1ZSkpXG4gICAgICAgICAgICBleHBlY3RGbG9hdChhY3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSk7XG4gICAgICAgIGVsc2UgaWYgKGFjdHVhbFZhbHVlICE9IGV4cGVjdGVkVmFsdWUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICgke2V4cGVjdGVkVmFsdWV9KSBmb3Iga2V5ICcke2V4cGVjdGVkS2V5fScsIGdvdCAoJHthY3R1YWxWYWx1ZX0pYCk7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEFycmF5KGFjdHVhbCwgZXhwZWN0ZWQpIHtcbiAgICBjb25zdCBhY3R1YWxMZW5ndGggPSBhY3R1YWwubGVuZ3RoO1xuICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gZXhwZWN0ZWQubGVuZ3RoO1xuICAgIGlmIChhY3R1YWxMZW5ndGggIT0gZXhwZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBcnJheXMgYXJlIG9mIGRpZmZlcmVudCBsZW5ndGg6IGFjdHVhbCBhcnJheSBsZW5ndGggaXMgJHthY3R1YWxMZW5ndGh9IGAgK1xuICAgICAgICAgICAgYGFuZCBleHBlY3RlZCBhcnJheSBsZW5ndGggaXMgJHtleHBlY3RlZExlbmd0aH1gKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3R1YWxMZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYWN0dWFsW2ldIGluc3RhbmNlb2YgQXJyYXkgJiYgZXhwZWN0ZWRbaV0gaW5zdGFuY2VvZiBBcnJheSlcbiAgICAgICAgICAgIGV4cGVjdEFycmF5KGFjdHVhbFtpXSwgZXhwZWN0ZWRbaV0pO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxbaV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgZXhwZWN0ZWRbaV0gaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAgICAgICBleHBlY3RPYmplY3QoYWN0dWFsW2ldLCBleHBlY3RlZFtpXSk7XG4gICAgICAgIGVsc2UgaWYgKGFjdHVhbFtpXSAhPSBleHBlY3RlZFtpXSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtleHBlY3RlZFtpXX0gYXQgcG9zaXRpb24gJHtpfSwgZ290ICR7YWN0dWFsW2ldfWApO1xuICAgIH1cbn1cbi8qIERlZmluZXMgYSB0ZXN0IHN1aXRlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3J5KGNhdGVnb3J5LCB0ZXN0cykge1xuICAgIGN1cnJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5O1xuICAgIHRlc3RzKCk7XG59XG4vKiBEZWZpbmVzIGEgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSB0ZXN0cyBpbiB0aGlzIGNhdGVnb3J5IGFyZSBleGVjdXRlZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZWZvcmUoYmVmb3JlKSB7XG4gICAgaWYgKHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPT0gdW5kZWZpbmVkKVxuICAgICAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID0ge307XG4gICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS5iZWZvcmUgPSBiZWZvcmU7XG59XG4vKiBEZWZpbmVzIGEgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHRlc3RzIGluIHRoaXMgY2F0ZWdvcnkgYXJlIGV4ZWN1dGVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFmdGVyKGFmdGVyKSB7XG4gICAgaWYgKHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPT0gdW5kZWZpbmVkKVxuICAgICAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID0ge307XG4gICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS5hZnRlciA9IGFmdGVyO1xufVxuZnVuY3Rpb24gYWRkTmFtZXNwYWNlKHMsIGYpIHtcbiAgICByZXR1cm4gcy5yZXBsYWNlKG5ldyBSZWdFeHAoZi5uYW1lLCAnZ2knKSwgZi5ucU5hbWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGluaXRBdXRvVGVzdHMocGFja2FnZUlkLCBtb2R1bGUpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAod2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBtb2R1bGVUZXN0cyA9IG1vZHVsZSA/IG1vZHVsZS50ZXN0cyA6IHRlc3RzO1xuICAgICAgICBpZiAobW9kdWxlVGVzdHNbYXV0b1Rlc3RzQ2F0TmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgd2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2R1bGVBdXRvVGVzdHMgPSBbXTtcbiAgICAgICAgY29uc3QgcGFja0Z1bmN0aW9ucyA9IHlpZWxkIGdyb2suZGFwaS5mdW5jdGlvbnMuZmlsdGVyKGBwYWNrYWdlLmlkID0gXCIke3BhY2thZ2VJZH1cImApLmxpc3QoKTtcbiAgICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCgvLipcXC9cXC9cXHMqc2tpcFs6XFxzXSooLiopJC8pO1xuICAgICAgICBmb3IgKGNvbnN0IGYgb2YgcGFja0Z1bmN0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgdGVzdHMgPSBmLm9wdGlvbnNbJ3Rlc3QnXTtcbiAgICAgICAgICAgIGlmICghKHRlc3RzICYmIEFycmF5LmlzQXJyYXkodGVzdHMpICYmIHRlc3RzLmxlbmd0aCkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2tpcFJlYXNvbnMgPSB0ZXN0c1tpXS5tYXRjaChyZWcpO1xuICAgICAgICAgICAgICAgIGxldCBza2lwUmVhc29uO1xuICAgICAgICAgICAgICAgIGlmIChza2lwUmVhc29ucyAmJiAoc2tpcFJlYXNvbnMgPT09IG51bGwgfHwgc2tpcFJlYXNvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNraXBSZWFzb25zLmxlbmd0aCkgPiAxKVxuICAgICAgICAgICAgICAgICAgICBza2lwUmVhc29uID0gc2tpcFJlYXNvbnNbMV07XG4gICAgICAgICAgICAgICAgbW9kdWxlQXV0b1Rlc3RzLnB1c2gobmV3IFRlc3QoYXV0b1Rlc3RzQ2F0TmFtZSwgdGVzdHMubGVuZ3RoID09PSAxID8gZi5uYW1lIDogYCR7Zi5uYW1lfSAke2kgKyAxfWAsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0geWllbGQgZ3Jvay5mdW5jdGlvbnMuZXZhbChhZGROYW1lc3BhY2UodGVzdHNbaV0sIGYpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPT0gdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGBGYWlsZWQ6ICR7dGVzdHNbaV19YDtcbiAgICAgICAgICAgICAgICB9KSwgeyBza2lwUmVhc29uOiBza2lwUmVhc29uIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3YXNSZWdpc3RlcmVkW3BhY2thZ2VJZF0gPSB0cnVlO1xuICAgICAgICBpZiAoIW1vZHVsZUF1dG9UZXN0cy5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG1vZHVsZVRlc3RzW2F1dG9UZXN0c0NhdE5hbWVdID0geyB0ZXN0czogbW9kdWxlQXV0b1Rlc3RzIH07XG4gICAgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVuVGVzdHMob3B0aW9ucykge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICB2YXIgX2U7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3QgcGFja2FnZV8gPSAoX2IgPSAoX2EgPSBncm9rLmZ1bmN0aW9ucy5nZXRDdXJyZW50Q2FsbCgpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZnVuYykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnBhY2thZ2U7XG4gICAgICAgIHlpZWxkIGluaXRBdXRvVGVzdHMocGFja2FnZV8uaWQpO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGNvbnNvbGUubG9nKGBSdW5uaW5nIHRlc3RzYCk7XG4gICAgICAgIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IChvcHRpb25zID0ge30pO1xuICAgICAgICAoX2MgPSAoX2UgPSBvcHRpb25zKS50ZXN0Q29udGV4dCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKF9lLnRlc3RDb250ZXh0ID0gbmV3IFRlc3RDb250ZXh0KCkpO1xuICAgICAgICBncm9rLnNoZWxsLmxhc3RFcnJvciA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0cykpIHtcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmNhdGVnb3J5KSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWtleS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmNhdGVnb3J5LnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdGFydGVkICR7a2V5fSBjYXRlZ29yeWApO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuYmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZS5iZWZvcmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuYmVmb3JlU3RhdHVzID0geC50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdCA9IChfZCA9IHZhbHVlLnRlc3RzKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHlpZWxkIGV4ZWNUZXN0KHRbaV0sIG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy50ZXN0KSk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gKHlpZWxkIFByb21pc2UuYWxsKHJlcykpLmZpbHRlcigoZCkgPT4gZC5yZXN1bHQgIT0gJ3NraXBwZWQnKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmFmdGVyKVxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZS5hZnRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5hZnRlclN0YXR1cyA9IHgudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZS5hZnRlclN0YXR1cylcbiAgICAgICAgICAgICAgICBkYXRhLnB1c2goeyBjYXRlZ29yeToga2V5LCBuYW1lOiAnaW5pdCcsIHJlc3VsdDogdmFsdWUuYWZ0ZXJTdGF0dXMsIHN1Y2Nlc3M6IGZhbHNlLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICBpZiAodmFsdWUuYmVmb3JlU3RhdHVzKVxuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7IGNhdGVnb3J5OiBrZXksIG5hbWU6ICdpbml0JywgcmVzdWx0OiB2YWx1ZS5iZWZvcmVTdGF0dXMsIHN1Y2Nlc3M6IGZhbHNlLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICByZXN1bHRzLnB1c2goLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMudGVzdENvbnRleHQuY2F0Y2hVbmhhbmRsZWQpIHtcbiAgICAgICAgICAgIHlpZWxkIGRlbGF5KDEwMDApO1xuICAgICAgICAgICAgaWYgKGdyb2suc2hlbGwubGFzdEVycm9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ1VuaGFuZGxlZCBleGNlcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2V4Y2VwdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IGdyb2suc2hlbGwubGFzdEVycm9yLCBzdWNjZXNzOiBmYWxzZSwgbXM6IDAsIHNraXBwZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMudGVzdENvbnRleHQucmVwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgREcuTG9nZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsID0gcmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3VjY2VzcykubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc2tpcHBlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnNraXBwZWQpLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gJ1BhY2thZ2UgQHBhY2thZ2UgdGVzdGVkOiBAc3VjY2Vzc2Z1bCBzdWNjZXNzZnVsLCBAc2tpcHBlZCBza2lwcGVkLCBAZmFpbGVkIGZhaWxlZCB0ZXN0cyc7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc2Z1bDogc3VjY2Vzc2Z1bCxcbiAgICAgICAgICAgICAgICBza2lwcGVkOiBza2lwcGVkLFxuICAgICAgICAgICAgICAgIGZhaWxlZDogZmFpbGVkLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWNrYWdlOiBwYWNrYWdlX1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBmYWlsZWQpXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHsgW2Ake3IuY2F0ZWdvcnl9IHwgJHtyLm5hbWV9YF06IHIucmVzdWx0IH0pO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhkZXNjcmlwdGlvbiwgcGFyYW1zLCAncGFja2FnZS10ZXN0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGV4ZWNUZXN0KHQsIHByZWRpY2F0ZSkge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGxldCByO1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBwcmVkaWNhdGUgIT0gdW5kZWZpbmVkICYmICghdC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwcmVkaWNhdGUudG9Mb3dlckNhc2UoKSkpO1xuICAgICAgICBjb25zdCBza2lwID0gKChfYSA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNraXBSZWFzb24pIHx8IGZpbHRlcjtcbiAgICAgICAgY29uc3Qgc2tpcFJlYXNvbiA9IGZpbHRlciA/ICdza2lwcGVkJyA6IChfYiA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNraXBSZWFzb247XG4gICAgICAgIGlmICghc2tpcClcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdGFydGVkICR7dC5jYXRlZ29yeX0gJHt0Lm5hbWV9YCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChza2lwKVxuICAgICAgICAgICAgICAgIHIgPSB7IHN1Y2Nlc3M6IHRydWUsIHJlc3VsdDogc2tpcFJlYXNvbiwgbXM6IDAsIHNraXBwZWQ6IHRydWUgfTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByID0geyBzdWNjZXNzOiB0cnVlLCByZXN1bHQ6IChfYyA9IHlpZWxkIHQudGVzdCgpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAnT0snLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoeCkge1xuICAgICAgICAgICAgciA9IHsgc3VjY2VzczogZmFsc2UsIHJlc3VsdDogeC50b1N0cmluZygpLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdG9wID0gbmV3IERhdGUoKTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByLm1zID0gc3RvcCAtIHN0YXJ0O1xuICAgICAgICBpZiAoIXNraXApXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmluaXNoZWQgJHt0LmNhdGVnb3J5fSAke3QubmFtZX0gZm9yICR7ci5tc30gbXNgKTtcbiAgICAgICAgci5jYXRlZ29yeSA9IHQuY2F0ZWdvcnk7XG4gICAgICAgIHIubmFtZSA9IHQubmFtZTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgfSk7XG59XG4vKiBXYWl0cyBbbXNdIG1pbGxpc2Vjb25kcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KG1zKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgeWllbGQgbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgbXMpKTtcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhd2FpdENoZWNrKGNoZWNrSGFuZGxlciwgZXJyb3IgPSAnVGltZW91dCBleGNlZWRlZCcsIHdhaXQgPSA1MDAsIGludGVydmFsID0gNTApIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICB9LCB3YWl0KTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoZWNrSGFuZGxlcigpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlhbG9nUHJlc2VudChkaWFsb2dUaXRsZSkge1xuICAgIGNvbnN0IGRpYWxvZ3MgPSBERy5EaWFsb2cuZ2V0T3BlbkRpYWxvZ3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpYWxvZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGRpYWxvZ3NbaV0udGl0bGUgPT0gZGlhbG9nVGl0bGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRlc3RWaWV3ZXIodiwgZGYsIGRldGVjdFNlbWFudGljVHlwZXMgPSBmYWxzZSkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmIChkZXRlY3RTZW1hbnRpY1R5cGVzKVxuICAgICAgICAgICAgeWllbGQgZ3Jvay5kYXRhLmRldGVjdFNlbWFudGljVHlwZXMoZGYpO1xuICAgICAgICBjb25zdCB0diA9IGdyb2suc2hlbGwuYWRkVGFibGVWaWV3KGRmKTtcbiAgICAgICAgY29uc3Qgdmlld2VyTmFtZSA9IGBbbmFtZT12aWV3ZXItJHt2LnJlcGxhY2UoL1xccysvZywgJy0nKX0gaV1gO1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9IGAke3ZpZXdlck5hbWV9IGNhbnZhcywke3ZpZXdlck5hbWV9IHN2Zywke3ZpZXdlck5hbWV9IGltZyxcbiAgICAke3ZpZXdlck5hbWV9IGlucHV0LCR7dmlld2VyTmFtZX0gaDEsJHt2aWV3ZXJOYW1lfSBhYDtcbiAgICAgICAgY29uc3QgcmVzID0gW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgdmlld2VyID0gdHYuYWRkVmlld2VyKHYpO1xuICAgICAgICAgICAgeWllbGQgYXdhaXRDaGVjaygoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPT0gbnVsbCwgJ2Nhbm5vdCBsb2FkIHZpZXdlcicsIDMwMDApO1xuICAgICAgICAgICAgcmVzLnB1c2goQXJyYXkuZnJvbSh0di52aWV3ZXJzKS5sZW5ndGgpO1xuICAgICAgICAgICAgQXJyYXkuZnJvbShkZi5yb3coMCkuY2VsbHMpLmZvckVhY2goKGMpID0+IGMudmFsdWUgPSBudWxsKTtcbiAgICAgICAgICAgIGRmLnJvd3Muc2VsZWN0KChyb3cpID0+IHJvdy5pZHggPiAxICYmIHJvdy5pZHggPCA3KTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSA3OyBpIDwgMTI7IGkrKylcbiAgICAgICAgICAgICAgICBkZi5maWx0ZXIuc2V0KGksIGZhbHNlKTtcbiAgICAgICAgICAgIGRmLmN1cnJlbnRSb3dJZHggPSAxO1xuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB2aWV3ZXIuZ2V0T3B0aW9ucyh0cnVlKS5sb29rO1xuICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7fTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5maWx0ZXIoKGspID0+IHR5cGVvZiBwcm9wc1trXSA9PT0gJ2Jvb2xlYW4nKS5mb3JFYWNoKChrKSA9PiBuZXdQcm9wc1trXSA9ICFwcm9wc1trXSk7XG4gICAgICAgICAgICB2aWV3ZXIuc2V0T3B0aW9ucyhuZXdQcm9wcyk7XG4gICAgICAgICAgICB5aWVsZCBkZWxheSgyNTApO1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gdHYuc2F2ZUxheW91dCgpO1xuICAgICAgICAgICAgY29uc3Qgb2xkUHJvcHMgPSB2aWV3ZXIuZ2V0T3B0aW9ucygpLmxvb2s7XG4gICAgICAgICAgICB0di5yZXNldExheW91dCgpO1xuICAgICAgICAgICAgcmVzLnB1c2goQXJyYXkuZnJvbSh0di52aWV3ZXJzKS5sZW5ndGgpO1xuICAgICAgICAgICAgdHYubG9hZExheW91dChsYXlvdXQpO1xuICAgICAgICAgICAgeWllbGQgYXdhaXRDaGVjaygoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPT0gbnVsbCwgJ2Nhbm5vdCBsb2FkIHZpZXdlciBmcm9tIGxheW91dCcsIDMwMDApO1xuICAgICAgICAgICAgeWllbGQgZGVsYXkoMjUwKTtcbiAgICAgICAgICAgIHJlcy5wdXNoKEFycmF5LmZyb20odHYudmlld2VycykubGVuZ3RoKTtcbiAgICAgICAgICAgIHZpZXdlciA9IEFycmF5LmZyb20odHYudmlld2VycykuZmluZCgodikgPT4gdi50eXBlICE9PSAnR3JpZCcpO1xuICAgICAgICAgICAgZXhwZWN0QXJyYXkocmVzLCBbMiwgMSwgMl0pO1xuICAgICAgICAgICAgZXhwZWN0KEpTT04uc3RyaW5naWZ5KHZpZXdlci5nZXRPcHRpb25zKCkubG9vayksIEpTT04uc3RyaW5naWZ5KG9sZFByb3BzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICB0di5jbG9zZSgpO1xuICAgICAgICAgICAgZ3Jvay5zaGVsbC5jbG9zZVRhYmxlKGRmKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdWemRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SbGMzUXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFc1QwRkJUeXhMUVVGTExFbEJRVWtzVFVGQlRTeHRRa0ZCYlVJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4TlFVRk5MR2xDUVVGcFFpeERRVUZETzBGQlMzUkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzUjBGTFpDeEZRVUZGTEVOQlFVTTdRVUZGVUN4TlFVRk5MR2RDUVVGblFpeEhRVUZITEZsQlFWa3NRMEZCUXp0QlFVTjBReXhOUVVGTkxHRkJRV0VzUjBGQk5rSXNSVUZCUlN4RFFVRkRPMEZCUTI1RUxFMUJRVTBzUTBGQlF5eEpRVUZKTEdWQlFYVkNMRU5CUVVNN1FVRkZia01zVFVGQlRTeExRVUZYTEUxQlFVMHNRMEZMZEVJN1FVRk1SQ3hYUVVGcFFpeE5RVUZOTzBsQlEzSkNMRk5CUVdkQ0xFOUJRVThzUTBGQlF5eExRVUZWTEVWQlFVVXNTVUZCWVR0UlFVTXZReXhKUVVGSkxFdEJRVXNzU1VGQlNTeEpRVUZKTzFsQlEyWXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXhIUVVGSExFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeGpRVUZqTEVOQlFVTXNRMEZCUXp0SlFVTndSU3hEUVVGRE8wbEJTR1VzWTBGQlR5eFZRVWQwUWl4RFFVRkJPMEZCUTBnc1EwRkJReXhGUVV4blFpeE5RVUZOTEV0QlFVNHNUVUZCVFN4UlFVdDBRanRCUVZGRUxFMUJRVTBzVDBGQlR5eFhRVUZYTzBsQlNYUkNMRmxCUVZrc1kwRkJkMElzUlVGQlJTeE5RVUZuUWp0UlFVaDBSQ3h0UWtGQll5eEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTjBRaXhYUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETzFGQlIySXNTVUZCU1N4alFVRmpMRXRCUVVzc1UwRkJVenRaUVVGRkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NZMEZCWXl4RFFVRkRPMUZCUTNaRkxFbEJRVWtzVFVGQlRTeExRVUZMTEZOQlFWTTdXVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEpRVU5xUkN4RFFVRkRPMGxCUVVFc1EwRkJRenREUVVOSU8wRkJSVVFzVFVGQlRTeFBRVUZQTEVsQlFVazdTVUZOWml4WlFVRlpMRkZCUVdkQ0xFVkJRVVVzU1VGQldTeEZRVUZGTEVsQlFYZENMRVZCUVVVc1QwRkJjVUk3TzFGQlEzcEdMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzFGQlEzcENMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEycENMRTlCUVU4c1lVRkJVQ3hQUVVGUExHTkJRVkFzVDBGQlR5eEpRVUZRTEU5QlFVOHNSMEZCU3l4RlFVRkZMRVZCUVVNN1VVRkRaaXhOUVVGQkxFOUJRVThzUTBGQlF5eFBRVUZQTEc5RFFVRm1MRTlCUVU4c1EwRkJReXhQUVVGUExFZEJRVXNzUzBGQlN5eEZRVUZETzFGQlF6RkNMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzVDBGQlR5eERRVUZETzFGQlEzWkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzUjBGQmRVSXNSVUZCUlR0WlFVTnVReXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVOHNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRk8yZENRVU16UXl4SlFVRkpMRTFCUVUwc1IwRkJSeXhGUVVGRkxFTkJRVU03WjBKQlEyaENMRWxCUVVrN2IwSkJRMFlzVFVGQlRTeEhRVUZITEUxQlFVMHNTVUZCU1N4RlFVRkZMRU5CUVVNN2FVSkJRM1pDTzJkQ1FVRkRMRTlCUVU4c1EwRkJUU3hGUVVGRk8yOUNRVU5tTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRFdEdG5Ra0ZEUkN4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJFSXNRMEZCUXl4RFFVRkJMRU5CUVVNc1EwRkJRenRSUVVOTUxFTkJRVU1zUTBGQlFTeERRVUZETzBsQlEwb3NRMEZCUXp0RFFVTkdPMEZCUlVRc1RVRkJUU3hWUVVGblFpeFRRVUZUTEVOQlFVa3NTMEZCYjBJc1JVRkRja1FzVDBGQk1FSXNSVUZCUlN4UFFVRnRRaXhGUVVGRkxFdEJRV0VzUTBGQlF6czdVVUZETDBRc1NVRkJTU3hIUVVGcFFpeERRVUZETzFGQlEzUkNMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVN1dVRkRja01zUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJUdG5Ra0ZETjBJc1NVRkJTVHR2UWtGRFJpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN2FVSkJRMlk3WjBKQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVN2IwSkJRMVlzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOWU8yZENRVU5FTEVkQlFVY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRuUWtGRGJFSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRMmhDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTBnc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEWkN4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03WjBKQlEyeENMSGRFUVVGM1JEdG5Ra0ZEZUVRc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFsQlEzQkNMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVU5RTEU5QlFVOHNSVUZCUlN4RFFVRkRPMUZCUTFvc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBOQlFVRTdRVUZGUkN4TlFVRk5MRlZCUVZVc1NVRkJTU3hEUVVGRExFbEJRVmtzUlVGQlJTeEpRVUYzUWl4RlFVRkZMRTlCUVhGQ08wbEJRMmhHTEVsQlFVa3NTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxGTkJRVk03VVVGRGNrTXNTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU01UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eExRVUZMTEVsQlFVa3NVMEZCVXp0UlFVTXpReXhMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTXNTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOd1F5eExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1MwRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4bFFVRmxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNKR0xFTkJRVU03UVVGRlJDeG5Sa0ZCWjBZN1FVRkRhRVlzVFVGQlRTeFZRVUZWTEUxQlFVMHNRMEZCUXl4TlFVRlhMRVZCUVVVc1YwRkJaMElzU1VGQlNTeEZRVUZGTEV0QlFXTTdTVUZEZEVVc1NVRkJTU3hMUVVGTE8xRkJRMUFzUzBGQlN5eEhRVUZITEVkQlFVY3NTMEZCU3l4SlFVRkpMRU5CUVVNN08xRkJRMnhDTEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRhRUlzU1VGQlNTeE5RVUZOTEV0QlFVc3NVVUZCVVR0UlFVTnlRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEVkQlFVY3NTMEZCU3l4aFFVRmhMRkZCUVZFc1YwRkJWeXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzBGQlEzWkZMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzVjBGQlZ5eERRVUZETEUxQlFXTXNSVUZCUlN4UlFVRm5RaXhGUVVGRkxGTkJRVk1zUjBGQlJ5eExRVUZMTEVWQlFVVXNTMEZCWXp0SlFVTTNSaXhKUVVGSkxFTkJRVU1zVFVGQlRTeExRVUZMTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzU1VGQlNTeFJRVUZSTEV0QlFVc3NUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6bEZMRU5CUVVNc1RVRkJUU3hMUVVGTExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1NVRkJTU3hSUVVGUkxFdEJRVXNzVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJRemxGTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTFCUVUwc1EwRkJReXhIUVVGSExFbEJRVWtzVVVGQlVTeExRVUZMTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03VVVGRE1VWXNUMEZCVHp0SlFVTlVMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dEpRVU42UkN4TlFVRk5MRU5CUVVNc1VVRkJVU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEV0QlFVc3NZVUZCVEN4TFFVRkxMR05CUVV3c1MwRkJTeXhIUVVGSkxFVkJRVVVzYVVKQlFXbENMRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGNFVXNTVUZCU1N4RFFVRkRMRkZCUVZFN1VVRkRXQ3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEZsQlFWa3NVVUZCVVN4VFFVRlRMRTFCUVUwc2FVSkJRV2xDTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRkRVlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WFFVRlhMRU5CUVVNc1RVRkJhVUlzUlVGQlJTeFJRVUZ0UWl4RlFVRkZMRXRCUVdNN1NVRkRhRVlzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETzBsQlF6TkRMRTFCUVUwc1kwRkJZeXhIUVVGSExFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTTdTVUZEZGtNc1RVRkJUU3hEUVVGRExHTkJRV01zUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hIUVVGSExFdEJRVXNzWVVGQlRDeExRVUZMTEdOQlFVd3NTMEZCU3l4SFFVRkpMRVZCUVVVc1lVRkJZU3hEUVVGRExFTkJRVU03U1VGRmRFVXNTMEZCU3l4TlFVRk5MRTFCUVUwc1NVRkJTU3hSUVVGUkxFTkJRVU1zVDBGQlR5eEZRVUZGTzFGQlEzSkRMRTFCUVUwc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU40UkN4SlFVRkpMRmxCUVZrc1NVRkJTU3hKUVVGSk8xbEJRM1JDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hOUVVGTkxFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnlSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrN1dVRkRiRU1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRTFCUVUwc1EwRkJReXhKUVVGSkxHdENRVUZyUWl4TlFVRk5MRU5CUVVNc1NVRkJTU3hSUVVGUkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTJwSExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhuUWtGQlowSXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6VkNMRTFCUVUwc1YwRkJWeXhIUVVGSExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRlRU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN6dG5Ra0ZET1VJc1YwRkJWeXhEUVVGRExGZEJRVmNzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8ybENRVU0xUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRPMmRDUVVOMlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN08yZENRVVV2UXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0VFFVTnlRenRMUVVOR08wRkJRMGdzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WlFVRlpMRU5CUVVNc1RVRkJPRUlzUlVGQlJTeFJRVUZuUXp0SlFVTXpSaXhMUVVGTExFMUJRVTBzUTBGQlF5eFhRVUZYTEVWQlFVVXNZVUZCWVN4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnVSU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4WFFVRlhMRU5CUVVNN1dVRkRja01zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4elFrRkJjMElzVjBGQlZ5eGhRVUZoTEVOQlFVTXNRMEZCUXp0UlFVVnNSU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zU1VGQlNTeFhRVUZYTEZsQlFWa3NTMEZCU3l4SlFVRkpMR0ZCUVdFc1dVRkJXU3hMUVVGTE8xbEJRMmhGTEZkQlFWY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1lVRkJZU3hEUVVGRExFTkJRVU03WVVGRGNrTXNTVUZCU1N4WFFVRlhMRmxCUVZrc1RVRkJUU3hKUVVGSkxHRkJRV0VzV1VGQldTeE5RVUZOTzFsQlEzWkZMRmxCUVZrc1EwRkJReXhYUVVGWExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTTdZVUZEZEVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zWVVGQllTeERRVUZETzFsQlEzSkZMRmRCUVZjc1EwRkJReXhYUVVGWExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTTdZVUZEY2tNc1NVRkJTU3hYUVVGWExFbEJRVWtzWVVGQllUdFpRVU51UXl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHRkJRV0VzWVVGQllTeGpRVUZqTEZkQlFWY3NWMEZCVnl4WFFVRlhMRWRCUVVjc1EwRkJReXhEUVVGRE8wdEJRMnBITzBGQlEwZ3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hYUVVGWExFTkJRVU1zVFVGQmMwSXNSVUZCUlN4UlFVRjNRanRKUVVNeFJTeE5RVUZOTEZsQlFWa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRMjVETEUxQlFVMHNZMEZCWXl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRmRrTXNTVUZCU1N4WlFVRlpMRWxCUVVrc1kwRkJZeXhGUVVGRk8xRkJRMnhETEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc01FUkJRVEJFTEZsQlFWa3NSMEZCUnp0WlFVTjJSaXhuUTBGQlowTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1EwRkJRenRMUVVOeVJEdEpRVVZFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFpRVUZaTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRja01zU1VGQlNTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRmxCUVZrc1MwRkJTeXhKUVVGSkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNXVUZCV1N4TFFVRkxPMWxCUXpWRUxGZEJRVmNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEYWtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEZsQlFWa3NUVUZCVFN4SlFVRkpMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zV1VGQldTeE5RVUZOTzFsQlEyNUZMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRGJFTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXZRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEZsQlFWa3NVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4VFFVRlRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdTMEZEYWtZN1FVRkRTQ3hEUVVGRE8wRkJSVVFzTWtKQlFUSkNPMEZCUXpOQ0xFMUJRVTBzVlVGQlZTeFJRVUZSTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hMUVVGcFFqdEpRVU14UkN4bFFVRmxMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRek5DTEV0QlFVc3NSVUZCUlN4RFFVRkRPMEZCUTFZc1EwRkJRenRCUVVWRUxIVkdRVUYxUmp0QlFVTjJSaXhOUVVGTkxGVkJRVlVzVFVGQlRTeERRVUZETEUxQlFUSkNPMGxCUTJoRUxFbEJRVWtzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRk5CUVZNN1VVRkRja01zUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVNNVFpeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVU42UXl4RFFVRkRPMEZCUlVRc2MwWkJRWE5HTzBGQlEzUkdMRTFCUVUwc1ZVRkJWU3hMUVVGTExFTkJRVU1zUzBGQk1FSTdTVUZET1VNc1NVRkJTU3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NVMEZCVXp0UlFVTnlReXhMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUXpsQ0xFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRM1pETEVOQlFVTTdRVUZGUkN4VFFVRlRMRmxCUVZrc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlZUdEpRVU42UXl4UFFVRlBMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRka1FzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCWjBJc1lVRkJZU3hEUVVGRExGTkJRV2xDTEVWQlFVVXNUVUZCV1RzN1VVRkRha1VzU1VGQlNTeGhRVUZoTEVOQlFVTXNVMEZCVXl4RFFVRkRPMWxCUVVVc1QwRkJUenRSUVVOeVF5eE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVOc1JDeEpRVUZKTEZkQlFWY3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eExRVUZMTEZOQlFWTXNSVUZCUlR0WlFVTXZReXhoUVVGaExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMWxCUTJoRExFOUJRVTg3VTBGRFVqdFJRVU5FTEUxQlFVMHNaVUZCWlN4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVNelFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzVTBGQlV5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVNM1JpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRPMUZCUTI1RUxFdEJRVXNzVFVGQlRTeERRVUZETEVsQlFVa3NZVUZCWVN4RlFVRkZPMWxCUXpkQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZCUlN4VFFVRlRPMWxCUXk5RUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOeVF5eE5RVUZOTEZkQlFWY3NSMEZCU1N4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMmRDUVVOd1JDeEpRVUZKTEZWQlFWVXNRMEZCUXp0blFrRkRaaXhKUVVGSkxGZEJRVmNzU1VGQlNTeERRVUZCTEZkQlFWY3NZVUZCV0N4WFFVRlhMSFZDUVVGWUxGZEJRVmNzUTBGQlJTeE5RVUZOTEVsQlFVY3NRMEZCUXp0dlFrRkJSU3hWUVVGVkxFZEJRVWNzVjBGQlZ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVONFJTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVRkZMRXRCUVVzc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZGTEVkQlFWTXNSVUZCUlR0dlFrRkROMGNzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUTJwRkxEUkRRVUUwUXp0dlFrRkROVU1zU1VGQlNTeEhRVUZITEV0QlFVc3NTVUZCU1R0M1FrRkJSU3hOUVVGTkxGZEJRVmNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMmhFTEVOQlFVTXNRMEZCUVN4RlFVRkZMRVZCUVVNc1ZVRkJWU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTXZRanRUUVVOR08xRkJRMFFzWVVGQllTeERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOb1F5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwN1dVRkJSU3hQUVVGUE8xRkJRM0JETEZkQlFWY3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEhRVUZITEVWQlFVTXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1JVRkJReXhEUVVGRE8wbEJRek5FTEVOQlFVTTdRMEZCUVR0QlFVVkVMRTFCUVUwc1ZVRkJaMElzVVVGQlVTeERRVUZETEU5QlFYVkZPenM3TzFGQlEzQkhMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVUVzVFVGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMR05CUVdNc1JVRkJSU3d3UTBGQlJTeEpRVUZKTERCRFFVRkZMRTlCUVU4c1EwRkJRenRSUVVOb1JTeE5RVUZOTEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4UFFVRlBMRWRCUTNWRUxFVkJRVVVzUTBGQlF6dFJRVU4yUlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETzFGQlF6ZENMRTlCUVU4c1lVRkJVQ3hQUVVGUExHTkJRVkFzVDBGQlR5eEpRVUZRTEU5QlFVOHNSMEZCU3l4RlFVRkZMRVZCUVVNN1VVRkRaaXhaUVVGQkxFOUJRVkVzUlVGQlF5eFhRVUZYTEhWRFFVRllMRmRCUVZjc1IwRkJTeXhKUVVGSkxGZEJRVmNzUlVGQlJTeEZRVUZETzFGQlF6TkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTXhRaXhMUVVGTExFMUJRVTBzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlR0WlFVTm9SQ3hKUVVGSkxFTkJRVUVzVDBGQlR5eGhRVUZRTEU5QlFVOHNkVUpCUVZBc1QwRkJUeXhEUVVGRkxGRkJRVkVzUzBGQlNTeFRRVUZUTEVWQlFVVTdaMEpCUTJ4RExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzWVVGQlVDeFBRVUZQTEhWQ1FVRlFMRTlCUVU4c1EwRkJSU3hSUVVGUkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdiMEpCUTJoRkxGTkJRVk03WVVGRFdqdFpRVU5FTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eERRVUZETzFsQlEzWkRMRWxCUVVrN1owSkJRMFlzU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFR0dlFrRkRaQ3hOUVVGTkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0aFFVTjRRanRaUVVGRExFOUJRVThzUTBGQlRTeEZRVUZGTzJkQ1FVTm1MRXRCUVVzc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRPMkZCUTI1RE8xbEJRMFFzVFVGQlRTeERRVUZETEVkQlFVY3NUVUZCUVN4TFFVRkxMRU5CUVVNc1MwRkJTeXh0UTBGQlNTeEZRVUZGTEVOQlFVTTdXVUZETlVJc1RVRkJUU3hIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETzFsQlEyWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU12UWl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUExHRkJRVkFzVDBGQlR5eDFRa0ZCVUN4UFFVRlBMRU5CUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5vUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFMUJRVTBzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeFRRVUZUTEVOQlFVTXNRMEZCUXp0WlFVTXpSU3hKUVVGSk8yZENRVU5HTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzN2IwSkJRMklzVFVGQlRTeExRVUZMTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1lVRkRka0k3V1VGQlF5eFBRVUZQTEVOQlFVMHNSVUZCUlR0blFrRkRaaXhMUVVGTExFTkJRVU1zVjBGQlZ5eEhRVUZITEVOQlFVTXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRoUVVOc1F6dFpRVU5FTEVsQlFVa3NTMEZCU3l4RFFVRkRMRmRCUVZjN1owSkJRMjVDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFhRVUZYTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVNc1EwRkJReXhEUVVGRE8xbEJRemRITEVsQlFVa3NTMEZCU3l4RFFVRkRMRmxCUVZrN1owSkJRM0JDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFpRVUZaTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVNc1EwRkJReXhEUVVGRE8xbEJRemxITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU4yUWp0UlFVTkVMRWxCUVVrc1QwRkJUeXhEUVVGRExGZEJRVmNzUTBGQlF5eGpRVUZqTEVWQlFVVTdXVUZEZEVNc1RVRkJUU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZEYkVJc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU51UXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8yOUNRVU5ZTEZGQlFWRXNSVUZCUlN4elFrRkJjMEk3YjBKQlEyaERMRWxCUVVrc1JVRkJSU3haUVVGWk8yOUNRVU5zUWl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxPMmxDUVVOd1JTeERRVUZETEVOQlFVTTdZVUZEU2p0VFFVTkdPMUZCUTBRc1NVRkJTU3hQUVVGUExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNSVUZCUlR0WlFVTTVRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVNdlFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlF6TkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1dVRkRlRVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03V1VGRGFrUXNUVUZCVFN4WFFVRlhMRWRCUVVjc2VVWkJRWGxHTEVOQlFVTTdXVUZET1Vjc1RVRkJUU3hOUVVGTkxFZEJRVWM3WjBKQlEySXNWVUZCVlN4RlFVRkZMRlZCUVZVN1owSkJRM1JDTEU5QlFVOHNSVUZCUlN4UFFVRlBPMmRDUVVOb1FpeE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRTFCUVUwN1owSkJRM0pDTEU5QlFVOHNSVUZCUlN4UlFVRlJPMkZCUTJ4Q0xFTkJRVU03V1VGRFJpeExRVUZMTEUxQlFVMHNRMEZCUXl4SlFVRkpMRTFCUVUwN1owSkJRVVVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZGQlFWRXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkRMRU5CUVVNc1EwRkJRenRaUVVONlJpeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1JVRkJSU3hOUVVGTkxFVkJRVVVzWjBKQlFXZENMRU5CUVVNc1EwRkJRenRUUVVOdVJEdFJRVU5FTEU5QlFVOHNUMEZCVHl4RFFVRkRPenREUVVOb1FqdEJRVVZFTEZOQlFXVXNVVUZCVVN4RFFVRkRMRU5CUVU4c1JVRkJSU3hUUVVFMlFqczdPMUZCUXpWRUxFbEJRVWtzUTBGQmRVY3NRMEZCUXp0UlFVTTFSeXhOUVVGTkxFMUJRVTBzUjBGQlJ5eFRRVUZUTEVsQlFVa3NVMEZCVXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhUUVVGVExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKSExFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVRXNUVUZCUVN4RFFVRkRMRU5CUVVNc1QwRkJUeXd3UTBGQlJTeFZRVUZWTEV0QlFVa3NUVUZCVFN4RFFVRkRPMUZCUXpkRExFMUJRVTBzVlVGQlZTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZCTEVOQlFVTXNRMEZCUXl4UFFVRlBMREJEUVVGRkxGVkJRVlVzUTBGQlF6dFJRVU01UkN4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOUUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTJwRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRla0lzU1VGQlNUdFpRVU5HTEVsQlFVa3NTVUZCU1R0blFrRkRUaXhEUVVGRExFZEJRVWNzUlVGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hWUVVGWExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU03TzJkQ1FVVXZSQ3hEUVVGRExFZEJRVWNzUlVGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGQkxFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4dFEwRkJTU3hKUVVGSkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRExFTkJRVU03VTBGRE9VVTdVVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSVHRaUVVObUxFTkJRVU1zUjBGQlJ5eEZRVUZETEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eFJRVUZSTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVTXNRMEZCUXp0VFFVTnVSVHRSUVVORUxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRlRUlzWVVGQllUdFJRVU5pTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1NVRkJTU3hIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU53UWl4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOUUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEZGQlFWRXNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGFrVXNRMEZCUXl4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlEzaENMRU5CUVVNc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTm9RaXhQUVVGUExFTkJRVU1zUTBGQlF6czdRMEZEVmp0QlFVVkVMRFpDUVVFMlFqdEJRVU0zUWl4TlFVRk5MRlZCUVdkQ0xFdEJRVXNzUTBGQlF5eEZRVUZWT3p0UlFVTndReXhOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUTBGQlF6dERRVUZCTzBGQlJVUXNUVUZCVFN4VlFVRm5RaXhWUVVGVkxFTkJRVU1zV1VGQk1rSXNSVUZETVVRc1VVRkJaMElzYTBKQlFXdENMRVZCUVVVc1QwRkJaU3hIUVVGSExFVkJRVVVzVjBGQmJVSXNSVUZCUlRzN1VVRkROMFVzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU55UXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRk8yZENRVU5rTEdGQlFXRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRuUWtGRE1VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETTBJc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlExUXNZVUZCWVR0WlFVTmlMRTFCUVUwc1ZVRkJWU3hIUVVGWkxGZEJRVmNzUTBGQlF5eEhRVUZITEVWQlFVVTdaMEpCUXpORExFbEJRVWtzV1VGQldTeEZRVUZGTEVWQlFVVTdiMEpCUTJ4Q0xHRkJRV0VzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0dlFrRkRNVUlzVDBGQlR5eEZRVUZGTEVOQlFVTTdhVUpCUTFnN1dVRkRTQ3hEUVVGRExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdVVUZEWml4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOTUxFTkJRVU03UTBGQlFUdEJRVVZFTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1YwRkJiVUk3U1VGRGFrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0SlFVTXpReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTjJReXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRWxCUVVrc1YwRkJWenRaUVVOcVF5eFBRVUZQTEVsQlFVa3NRMEZCUXp0TFFVTm1PMGxCUTBRc1QwRkJUeXhMUVVGTExFTkJRVU03UVVGRFppeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRm5RaXhWUVVGVkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVWQlFXZENMRVZCUVVVc2MwSkJRU3RDTEV0QlFVczdPMUZCUTJoSExFbEJRVWtzYlVKQlFXMUNPMWxCUVVVc1RVRkJUU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEycEZMRTFCUVUwc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRM1pETEUxQlFVMHNWVUZCVlN4SFFVRkhMR2RDUVVGblFpeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETzFGQlF5OUVMRTFCUVUwc1VVRkJVU3hIUVVGSExFZEJRVWNzVlVGQlZTeFhRVUZYTEZWQlFWVXNVVUZCVVN4VlFVRlZPMDFCUTJwRkxGVkJRVlVzVlVGQlZTeFZRVUZWTEU5QlFVOHNWVUZCVlN4SlFVRkpMRU5CUVVNN1VVRkRlRVFzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRPMUZCUTJZc1NVRkJTVHRaUVVOR0xFbEJRVWtzVFVGQlRTeEhRVUZITEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE4wSXNUVUZCVFN4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJRemxFTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6bENMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEZUVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVNelJDeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOd1JDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkJSU3hGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRGNrUXNSVUZCUlN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGNrSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRNME1zVFVGQlRTeFJRVUZSTEVkQlFUUkNMRVZCUVVVc1EwRkJRenRaUVVNM1F5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NVMEZCVXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONFJ5eE5RVUZOTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xbEJRelZDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRVZCUVVVc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU12UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRPMWxCUXpGRExFVkJRVVVzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0WlFVTnFRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRkRUlzVFVGQlRTeFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4SlFVRkpMRVZCUXpsRUxHZERRVUZuUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRekZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBDTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGVFTXNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhOUVVGTkxFTkJRVVVzUTBGQlF6dFpRVU5vUlN4WFFVRlhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRelZDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkROVVU3WjBKQlFWTTdXVUZEVWl4RlFVRkZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFdDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dFRRVU16UWp0SlFVTklMRU5CUVVNN1EwRkJRU0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0FxSUdGeklHZHliMnNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJkeWIyc25PMXh1YVcxd2IzSjBJQ29nWVhNZ1JFY2dabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMMlJuSnp0Y2JtbHRjRzl5ZENCN1QySnpaWEoyWVdKc1pTd2dVM1ZpYzJOeWFYQjBhVzl1ZlNCbWNtOXRJQ2R5ZUdwekp6dGNibWx0Y0c5eWRDQlVhVzFsYjNWMElEMGdUbTlrWlVwVExsUnBiV1Z2ZFhRN1hHNXBiWEJ2Y25RZ2UwUmhkR0ZHY21GdFpYMGdabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMMlJuSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUhSbGMzUnpPaUI3WEc0Z0lGdHJaWGs2SUhOMGNtbHVaMTA2SUh0Y2JpQWdJQ0IwWlhOMGN6ODZJRlJsYzNSYlhTd2dZbVZtYjNKbFB6b2dLQ2tnUFQ0Z1VISnZiV2x6WlR4MmIybGtQaXdnWVdaMFpYSS9PaUFvS1NBOVBpQlFjbTl0YVhObFBIWnZhV1ErTEZ4dUlDQWdJR0psWm05eVpWTjBZWFIxY3o4NklITjBjbWx1Wnl3Z1lXWjBaWEpUZEdGMGRYTS9PaUJ6ZEhKcGJtZGNiaUFnZlZ4dWZTQTlJSHQ5TzF4dVhHNWpiMjV6ZENCaGRYUnZWR1Z6ZEhORFlYUk9ZVzFsSUQwZ0owRjFkRzhnVkdWemRITW5PMXh1WTI5dWMzUWdkMkZ6VW1WbmFYTjBaWEpsWkRvZ2UxdHJaWGs2SUhOMGNtbHVaMTA2SUdKdmIyeGxZVzU5SUQwZ2UzMDdYRzVsZUhCdmNuUWdiR1YwSUdOMWNuSmxiblJEWVhSbFoyOXllVG9nYzNSeWFXNW5PMXh1WEc1bGVIQnZjblFnYm1GdFpYTndZV05sSUdGemMzVnlaU0I3WEc0Z0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzUk9kV3hzS0haaGJIVmxPaUJoYm5rc0lHNWhiV1UvT2lCemRISnBibWNwSUh0Y2JpQWdJQ0JwWmlBb2RtRnNkV1VnUFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdKSHR1WVcxbElEMDlJRzUxYkd3Z1B5QW5WbUZzZFdVbklEb2dibUZ0WlgwZ2JtOTBJR1JsWm1sdVpXUmdLVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZSbGMzUlBjSFJwYjI1eklIdGNiaUFnZEdsdFpXOTFkRDg2SUc1MWJXSmxjanRjYmlBZ2RXNW9ZVzVrYkdWa1JYaGpaWEIwYVc5dVZHbHRaVzkxZEQ4NklHNTFiV0psY2p0Y2JpQWdjMnRwY0ZKbFlYTnZiajg2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHTnNZWE56SUZSbGMzUkRiMjUwWlhoMElIdGNiaUFnWTJGMFkyaFZibWhoYm1Sc1pXUWdQU0IwY25WbE8xeHVJQ0J5WlhCdmNuUWdQU0JtWVd4elpUdGNibHh1SUNCamIyNXpkSEoxWTNSdmNpaGpZWFJqYUZWdWFHRnVaR3hsWkQ4NklHSnZiMnhsWVc0c0lISmxjRzl5ZEQ4NklHSnZiMnhsWVc0cElIdGNiaUFnSUNCcFppQW9ZMkYwWTJoVmJtaGhibVJzWldRZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZEdocGN5NWpZWFJqYUZWdWFHRnVaR3hsWkNBOUlHTmhkR05vVlc1b1lXNWtiR1ZrTzF4dUlDQWdJR2xtSUNoeVpYQnZjblFnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwY3k1eVpYQnZjblFnUFNCeVpYQnZjblE3WEc0Z0lIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJVWlhOMElIdGNiaUFnZEdWemREb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4aGJuaytPMXh1SUNCdVlXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdOaGRHVm5iM0o1T2lCemRISnBibWM3WEc0Z0lHOXdkR2x2Ym5NL09pQlVaWE4wVDNCMGFXOXVjenRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWhqWVhSbFoyOXllVG9nYzNSeWFXNW5MQ0J1WVcxbE9pQnpkSEpwYm1jc0lIUmxjM1E2SUNncElEMCtJRkJ5YjIxcGMyVThZVzU1UGl3Z2IzQjBhVzl1Y3o4NklGUmxjM1JQY0hScGIyNXpLU0I3WEc0Z0lDQWdkR2hwY3k1allYUmxaMjl5ZVNBOUlHTmhkR1ZuYjNKNU8xeHVJQ0FnSUhSb2FYTXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lDQWdiM0IwYVc5dWN5QS9QejBnZTMwN1hHNGdJQ0FnYjNCMGFXOXVjeTUwYVcxbGIzVjBJRDgvUFNBek1EQXdNRHRjYmlBZ0lDQjBhR2x6TG05d2RHbHZibk1nUFNCdmNIUnBiMjV6TzF4dUlDQWdJSFJvYVhNdWRHVnpkQ0E5SUdGemVXNWpJQ2dwT2lCUWNtOXRhWE5sUEdGdWVUNGdQVDRnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0dGemVXNWpJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2RDQTlJQ2NuTzF4dUlDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQ0E5SUdGM1lXbDBJSFJsYzNRb0tUdGNiaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9aVG9nWVc1NUtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WcVpXTjBLR1VwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxjMjlzZG1Vb2NtVnpkV3gwS1R0Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUhSbGMzUkZkbVZ1ZER4VVBpaGxkbVZ1ZERvZ1QySnpaWEoyWVdKc1pUeFVQaXhjYmlBZ2FHRnVaR3hsY2pvZ0tHRnlaM002SUZRcElEMCtJSFp2YVdRc0lIUnlhV2RuWlhJNklDZ3BJRDArSUhadmFXUXNJRzF6T2lCdWRXMWlaWElnUFNBd0tUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnYkdWMElITjFZam9nVTNWaWMyTnlhWEIwYVc5dU8xeHVJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUhOMVlpQTlJR1YyWlc1MExuTjFZbk5qY21saVpTZ29ZWEpuY3lrZ1BUNGdlMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2FHRnVaR3hsY2loaGNtZHpLVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wS0dVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNCeVpYTnZiSFpsS0NkUFN5Y3BPMXh1SUNBZ0lIMHBPMXh1SUNBZ0lITmxkRlJwYldWdmRYUW9LQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ2MzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFhCeWIyMXBjMlV0Y21WcVpXTjBMV1Z5Y205eWMxeHVJQ0FnSUNBZ2NtVnFaV04wS0NkMGFXMWxiM1YwSnlrN1hHNGdJQ0FnZlN3Z2JYTXBPMXh1SUNBZ0lIUnlhV2RuWlhJb0tUdGNiaUFnZlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwWlhOMEtHNWhiV1U2SUhOMGNtbHVaeXdnZEdWemREb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4aGJuaytMQ0J2Y0hScGIyNXpQem9nVkdWemRFOXdkR2x2Ym5NcE9pQjJiMmxrSUh0Y2JpQWdhV1lnS0hSbGMzUnpXMk4xY25KbGJuUkRZWFJsWjI5eWVWMGdQVDBnZFc1a1pXWnBibVZrS1Z4dUlDQWdJSFJsYzNSelcyTjFjbkpsYm5SRFlYUmxaMjl5ZVYwZ1BTQjdmVHRjYmlBZ2FXWWdLSFJsYzNSelcyTjFjbkpsYm5SRFlYUmxaMjl5ZVYwdWRHVnpkSE1nUFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUhSbGMzUnpXMk4xY25KbGJuUkRZWFJsWjI5eWVWMHVkR1Z6ZEhNZ1BTQmJYVHRjYmlBZ2RHVnpkSE5iWTNWeWNtVnVkRU5oZEdWbmIzSjVYUzUwWlhOMGN5RXVjSFZ6YUNodVpYY2dWR1Z6ZENoamRYSnlaVzUwUTJGMFpXZHZjbmtzSUc1aGJXVXNJSFJsYzNRc0lHOXdkR2x2Ym5NcEtUdGNibjFjYmx4dUx5b2dWR1Z6ZEhNZ2RIZHZJRzlpYW1WamRITWdabTl5SUdWeGRXRnNhWFI1TENCMGFISnZkM01nWVc0Z1pYaGpaWEIwYVc5dUlHbG1JSFJvWlhrZ1lYSmxJRzV2ZENCbGNYVmhiQzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbGVIQmxZM1FvWVdOMGRXRnNPaUJoYm5rc0lHVjRjR1ZqZEdWa09pQmhibmtnUFNCMGNuVmxMQ0JsY25KdmNqODZJSE4wY21sdVp5azZJSFp2YVdRZ2UxeHVJQ0JwWmlBb1pYSnliM0lwWEc0Z0lDQWdaWEp5YjNJZ1BTQmdKSHRsY25KdmNuMHNJR0E3WEc0Z0lHVnNjMlVnWlhKeWIzSWdQU0FuSnp0Y2JpQWdhV1lnS0dGamRIVmhiQ0FoUFQwZ1pYaHdaV04wWldRcFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0FrZTJWeWNtOXlmVVY0Y0dWamRHVmtJRndpSkh0bGVIQmxZM1JsWkgxY0lpd2daMjkwSUZ3aUpIdGhZM1IxWVd4OVhDSmdLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjRjR1ZqZEVac2IyRjBLR0ZqZEhWaGJEb2diblZ0WW1WeUxDQmxlSEJsWTNSbFpEb2diblZ0WW1WeUxDQjBiMnhsY21GdVkyVWdQU0F3TGpBd01Td2daWEp5YjNJL09pQnpkSEpwYm1jcE9pQjJiMmxrSUh0Y2JpQWdhV1lnS0NoaFkzUjFZV3dnUFQwOUlFNTFiV0psY2k1UVQxTkpWRWxXUlY5SlRrWkpUa2xVV1NBbUppQmxlSEJsWTNSbFpDQTlQVDBnVG5WdFltVnlMbEJQVTBsVVNWWkZYMGxPUmtsT1NWUlpLU0I4ZkZ4dUlDQWdJQ0FnS0dGamRIVmhiQ0E5UFQwZ1RuVnRZbVZ5TGs1RlIwRlVTVlpGWDBsT1JrbE9TVlJaSUNZbUlHVjRjR1ZqZEdWa0lEMDlQU0JPZFcxaVpYSXVUa1ZIUVZSSlZrVmZTVTVHU1U1SlZGa3BJSHg4WEc0Z0lDQWdJQ0FvWVdOMGRXRnNJRDA5UFNCT2RXMWlaWEl1VG1GT0lDWW1JR1Y0Y0dWamRHVmtJRDA5UFNCT2RXMWlaWEl1VG1GT0tTQjhmQ0FvYVhOT1lVNG9ZV04wZFdGc0tTQW1KaUJwYzA1aFRpaGxlSEJsWTNSbFpDa3BLVnh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdZMjl1YzNRZ1lYSmxSWEYxWVd3Z1BTQk5ZWFJvTG1GaWN5aGhZM1IxWVd3Z0xTQmxlSEJsWTNSbFpDa2dQQ0IwYjJ4bGNtRnVZMlU3WEc0Z0lHVjRjR1ZqZENoaGNtVkZjWFZoYkN3Z2RISjFaU3dnWUNSN1pYSnliM0lnUHo4Z0p5ZDlJQ2gwYjJ4bGNtRnVZMlVnUFNBa2UzUnZiR1Z5WVc1alpYMHBZQ2s3WEc0Z0lHbG1JQ2doWVhKbFJYRjFZV3dwWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkZlSEJsWTNSbFpDQWtlMlY0Y0dWamRHVmtmU3dnWjI5MElDUjdZV04wZFdGc2ZTQW9kRzlzWlhKaGJtTmxJRDBnSkh0MGIyeGxjbUZ1WTJWOUtXQXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYaHdaV04wVkdGaWJHVW9ZV04wZFdGc09pQkVZWFJoUm5KaGJXVXNJR1Y0Y0dWamRHVmtPaUJFWVhSaFJuSmhiV1VzSUdWeWNtOXlQem9nYzNSeWFXNW5LVG9nZG05cFpDQjdYRzRnSUdOdmJuTjBJR1Y0Y0dWamRHVmtVbTkzUTI5MWJuUWdQU0JsZUhCbFkzUmxaQzV5YjNkRGIzVnVkRHRjYmlBZ1kyOXVjM1FnWVdOMGRXRnNVbTkzUTI5MWJuUWdQU0JoWTNSMVlXd3VjbTkzUTI5MWJuUTdYRzRnSUdWNGNHVmpkQ2hoWTNSMVlXeFNiM2REYjNWdWRDd2daWGh3WldOMFpXUlNiM2REYjNWdWRDd2dZQ1I3WlhKeWIzSWdQejhnSnlkOUxDQnliM2NnWTI5MWJuUmdLVHRjYmx4dUlDQm1iM0lnS0dOdmJuTjBJR052YkhWdGJpQnZaaUJsZUhCbFkzUmxaQzVqYjJ4MWJXNXpLU0I3WEc0Z0lDQWdZMjl1YzNRZ1lXTjBkV0ZzUTI5c2RXMXVJRDBnWVdOMGRXRnNMbU52YkhWdGJuTXVZbmxPWVcxbEtHTnZiSFZ0Ymk1dVlXMWxLVHRjYmlBZ0lDQnBaaUFvWVdOMGRXRnNRMjlzZFcxdUlEMDlJRzUxYkd3cFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUVOdmJIVnRiaUFrZTJOdmJIVnRiaTV1WVcxbGZTQnViM1FnWm05MWJtUmdLVHRjYmlBZ0lDQnBaaUFvWVdOMGRXRnNRMjlzZFcxdUxuUjVjR1VnSVQwZ1kyOXNkVzF1TG5SNWNHVXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFTnZiSFZ0YmlBa2UyTnZiSFZ0Ymk1dVlXMWxmU0IwZVhCbElHVjRjR1ZqZEdWa0lDUjdZMjlzZFcxdUxuUjVjR1Y5SUdkdmRDQWtlMkZqZEhWaGJFTnZiSFZ0Ymk1MGVYQmxmV0FwTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWlhod1pXTjBaV1JTYjNkRGIzVnVkRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMllXeDFaU0E5SUdOdmJIVnRiaTVuWlhRb2FTazdYRzRnSUNBZ0lDQmpiMjV6ZENCaFkzUjFZV3hXWVd4MVpTQTlJR0ZqZEhWaGJFTnZiSFZ0Ymk1blpYUW9hU2s3WEc0Z0lDQWdJQ0JwWmlBb1kyOXNkVzF1TG5SNWNHVWdQVDBnUkVjdVZGbFFSUzVHVEU5QlZDbGNiaUFnSUNBZ0lDQWdaWGh3WldOMFJteHZZWFFvWVdOMGRXRnNWbUZzZFdVc0lIWmhiSFZsTENBd0xqQXdNREVzSUdWeWNtOXlLVHRjYmlBZ0lDQWdJR1ZzYzJVZ2FXWWdLR052YkhWdGJpNTBlWEJsSUQwOUlFUkhMbFJaVUVVdVJFRlVSVjlVU1UxRktWeHVJQ0FnSUNBZ0lDQmxlSEJsWTNRb1lXTjBkV0ZzVm1Gc2RXVXVhWE5UWVcxbEtIWmhiSFZsS1N3Z2RISjFaU3dnWlhKeWIzSXBPMXh1SUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCbGVIQmxZM1FvWVdOMGRXRnNWbUZzZFdVc0lIWmhiSFZsTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZUhCbFkzUlBZbXBsWTNRb1lXTjBkV0ZzT2lCN0lGdHJaWGs2SUhOMGNtbHVaMTA2SUdGdWVTQjlMQ0JsZUhCbFkzUmxaRG9nZXlCYmEyVjVPaUJ6ZEhKcGJtZGRPaUJoYm5rZ2ZTa2dlMXh1SUNCbWIzSWdLR052Ym5OMElGdGxlSEJsWTNSbFpFdGxlU3dnWlhod1pXTjBaV1JXWVd4MVpWMGdiMllnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9aWGh3WldOMFpXUXBLU0I3WEc0Z0lDQWdhV1lnS0NGaFkzUjFZV3d1YUdGelQzZHVVSEp2Y0dWeWRIa29aWGh3WldOMFpXUkxaWGtwS1Z4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JGZUhCbFkzUmxaQ0J3Y205d1pYSjBlU0JjSWlSN1pYaHdaV04wWldSTFpYbDlYQ0lnYm05MElHWnZkVzVrWUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JoWTNSMVlXeFdZV3gxWlNBOUlHRmpkSFZoYkZ0bGVIQmxZM1JsWkV0bGVWMDdYRzRnSUNBZ2FXWWdLR0ZqZEhWaGJGWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1FYSnlZWGtnSmlZZ1pYaHdaV04wWldSV1lXeDFaU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVLVnh1SUNBZ0lDQWdaWGh3WldOMFFYSnlZWGtvWVdOMGRXRnNWbUZzZFdVc0lHVjRjR1ZqZEdWa1ZtRnNkV1VwTzF4dUlDQWdJR1ZzYzJVZ2FXWWdLR0ZqZEhWaGJGWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1QySnFaV04wSUNZbUlHVjRjR1ZqZEdWa1ZtRnNkV1VnYVc1emRHRnVZMlZ2WmlCUFltcGxZM1FwWEc0Z0lDQWdJQ0JsZUhCbFkzUlBZbXBsWTNRb1lXTjBkV0ZzVm1Gc2RXVXNJR1Y0Y0dWamRHVmtWbUZzZFdVcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0U1MWJXSmxjaTVwYzBacGJtbDBaU2hoWTNSMVlXeFdZV3gxWlNrZ0ppWWdUblZ0WW1WeUxtbHpSbWx1YVhSbEtHVjRjR1ZqZEdWa1ZtRnNkV1VwS1Z4dUlDQWdJQ0FnWlhod1pXTjBSbXh2WVhRb1lXTjBkV0ZzVm1Gc2RXVXNJR1Y0Y0dWamRHVmtWbUZzZFdVcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0dGamRIVmhiRlpoYkhWbElDRTlJR1Y0Y0dWamRHVmtWbUZzZFdVcFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUVWNGNHVmpkR1ZrSUNna2UyVjRjR1ZqZEdWa1ZtRnNkV1Y5S1NCbWIzSWdhMlY1SUNja2UyVjRjR1ZqZEdWa1MyVjVmU2NzSUdkdmRDQW9KSHRoWTNSMVlXeFdZV3gxWlgwcFlDazdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0Y0dWamRFRnljbUY1S0dGamRIVmhiRG9nUVhKeVlYbE1hV3RsUEdGdWVUNHNJR1Y0Y0dWamRHVmtPaUJCY25KaGVVeHBhMlU4WVc1NVBpa2dlMXh1SUNCamIyNXpkQ0JoWTNSMVlXeE1aVzVuZEdnZ1BTQmhZM1IxWVd3dWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCbGVIQmxZM1JsWkV4bGJtZDBhQ0E5SUdWNGNHVmpkR1ZrTG14bGJtZDBhRHRjYmx4dUlDQnBaaUFvWVdOMGRXRnNUR1Z1WjNSb0lDRTlJR1Y0Y0dWamRHVmtUR1Z1WjNSb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCQmNuSmhlWE1nWVhKbElHOW1JR1JwWm1abGNtVnVkQ0JzWlc1bmRHZzZJR0ZqZEhWaGJDQmhjbkpoZVNCc1pXNW5kR2dnYVhNZ0pIdGhZM1IxWVd4TVpXNW5kR2g5SUdBZ0sxeHVJQ0FnSUNBZ1lHRnVaQ0JsZUhCbFkzUmxaQ0JoY25KaGVTQnNaVzVuZEdnZ2FYTWdKSHRsZUhCbFkzUmxaRXhsYm1kMGFIMWdLVHRjYmlBZ2ZWeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1lXTjBkV0ZzVEdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9ZV04wZFdGc1cybGRJR2x1YzNSaGJtTmxiMllnUVhKeVlYa2dKaVlnWlhod1pXTjBaV1JiYVYwZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNsY2JpQWdJQ0FnSUdWNGNHVmpkRUZ5Y21GNUtHRmpkSFZoYkZ0cFhTd2daWGh3WldOMFpXUmJhVjBwTzF4dUlDQWdJR1ZzYzJVZ2FXWWdLR0ZqZEhWaGJGdHBYU0JwYm5OMFlXNWpaVzltSUU5aWFtVmpkQ0FtSmlCbGVIQmxZM1JsWkZ0cFhTQnBibk4wWVc1alpXOW1JRTlpYW1WamRDbGNiaUFnSUNBZ0lHVjRjR1ZqZEU5aWFtVmpkQ2hoWTNSMVlXeGJhVjBzSUdWNGNHVmpkR1ZrVzJsZEtUdGNiaUFnSUNCbGJITmxJR2xtSUNoaFkzUjFZV3hiYVYwZ0lUMGdaWGh3WldOMFpXUmJhVjBwWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRVY0Y0dWamRHVmtJQ1I3Wlhod1pXTjBaV1JiYVYxOUlHRjBJSEJ2YzJsMGFXOXVJQ1I3YVgwc0lHZHZkQ0FrZTJGamRIVmhiRnRwWFgxZ0tUdGNiaUFnZlZ4dWZWeHVYRzR2S2lCRVpXWnBibVZ6SUdFZ2RHVnpkQ0J6ZFdsMFpTNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqWVhSbFoyOXllU2hqWVhSbFoyOXllVG9nYzNSeWFXNW5MQ0IwWlhOMGN6b2dLQ2tnUFQ0Z2RtOXBaQ2s2SUhadmFXUWdlMXh1SUNCamRYSnlaVzUwUTJGMFpXZHZjbmtnUFNCallYUmxaMjl5ZVR0Y2JpQWdkR1Z6ZEhNb0tUdGNibjFjYmx4dUx5b2dSR1ZtYVc1bGN5QmhJR1oxYm1OMGFXOXVJSFJ2SUdKbElHVjRaV04xZEdWa0lHSmxabTl5WlNCMGFHVWdkR1Z6ZEhNZ2FXNGdkR2hwY3lCallYUmxaMjl5ZVNCaGNtVWdaWGhsWTNWMFpXUXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWW1WbWIzSmxLR0psWm05eVpUb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4MmIybGtQaWs2SUhadmFXUWdlMXh1SUNCcFppQW9kR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFNBOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ2RHVnpkSE5iWTNWeWNtVnVkRU5oZEdWbmIzSjVYU0E5SUh0OU8xeHVJQ0IwWlhOMGMxdGpkWEp5Wlc1MFEyRjBaV2R2Y25sZExtSmxabTl5WlNBOUlHSmxabTl5WlR0Y2JuMWNibHh1THlvZ1JHVm1hVzVsY3lCaElHWjFibU4wYVc5dUlIUnZJR0psSUdWNFpXTjFkR1ZrSUdGbWRHVnlJSFJvWlNCMFpYTjBjeUJwYmlCMGFHbHpJR05oZEdWbmIzSjVJR0Z5WlNCbGVHVmpkWFJsWkM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmhablJsY2loaFpuUmxjam9nS0NrZ1BUNGdVSEp2YldselpUeDJiMmxrUGlrNklIWnZhV1FnZTF4dUlDQnBaaUFvZEdWemRITmJZM1Z5Y21WdWRFTmhkR1ZuYjNKNVhTQTlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdkR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFNBOUlIdDlPMXh1SUNCMFpYTjBjMXRqZFhKeVpXNTBRMkYwWldkdmNubGRMbUZtZEdWeUlEMGdZV1owWlhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdGa1pFNWhiV1Z6Y0dGalpTaHpPaUJ6ZEhKcGJtY3NJR1k2SUVSSExrWjFibU1wT2lCemRISnBibWNnZTF4dUlDQnlaWFIxY200Z2N5NXlaWEJzWVdObEtHNWxkeUJTWldkRmVIQW9aaTV1WVcxbExDQW5aMmtuS1N3Z1ppNXVjVTVoYldVcE8xeHVmVnh1WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdhVzVwZEVGMWRHOVVaWE4wY3lod1lXTnJZV2RsU1dRNklITjBjbWx1Wnl3Z2JXOWtkV3hsUHpvZ1lXNTVLU0I3WEc0Z0lHbG1JQ2gzWVhOU1pXZHBjM1JsY21Wa1czQmhZMnRoWjJWSlpGMHBJSEpsZEhWeWJqdGNiaUFnWTI5dWMzUWdiVzlrZFd4bFZHVnpkSE1nUFNCdGIyUjFiR1VnUHlCdGIyUjFiR1V1ZEdWemRITWdPaUIwWlhOMGN6dGNiaUFnYVdZZ0tHMXZaSFZzWlZSbGMzUnpXMkYxZEc5VVpYTjBjME5oZEU1aGJXVmRJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNCM1lYTlNaV2RwYzNSbGNtVmtXM0JoWTJ0aFoyVkpaRjBnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1SUNCamIyNXpkQ0J0YjJSMWJHVkJkWFJ2VkdWemRITWdQU0JiWFR0Y2JpQWdZMjl1YzNRZ2NHRmphMFoxYm1OMGFXOXVjeUE5SUdGM1lXbDBJR2R5YjJzdVpHRndhUzVtZFc1amRHbHZibk11Wm1sc2RHVnlLR0J3WVdOcllXZGxMbWxrSUQwZ1hDSWtlM0JoWTJ0aFoyVkpaSDFjSW1BcExteHBjM1FvS1R0Y2JpQWdZMjl1YzNRZ2NtVm5JRDBnYm1WM0lGSmxaMFY0Y0NndkxpcGNYQzljWEM5Y1hITXFjMnRwY0ZzNlhGeHpYU29vTGlvcEpDOHBPMXh1SUNCbWIzSWdLR052Ym5OMElHWWdiMllnY0dGamEwWjFibU4wYVc5dWN5a2dlMXh1SUNBZ0lHTnZibk4wSUhSbGMzUnpJRDBnWmk1dmNIUnBiMjV6V3lkMFpYTjBKMTA3WEc0Z0lDQWdhV1lnS0NFb2RHVnpkSE1nSmlZZ1FYSnlZWGt1YVhOQmNuSmhlU2gwWlhOMGN5a2dKaVlnZEdWemRITXViR1Z1WjNSb0tTa2dZMjl1ZEdsdWRXVTdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBaWE4wY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2MydHBjRkpsWVhOdmJuTWdQU0FvZEdWemRITmJhVjBnWVhNZ2MzUnlhVzVuS1M1dFlYUmphQ2h5WldjcE8xeHVJQ0FnSUNBZ2JHVjBJSE5yYVhCU1pXRnpiMjQ3WEc0Z0lDQWdJQ0JwWmlBb2MydHBjRkpsWVhOdmJuTWdKaVlnYzJ0cGNGSmxZWE52Ym5NL0xteGxibWQwYUNBK0lERXBJSE5yYVhCU1pXRnpiMjRnUFNCemEybHdVbVZoYzI5dWMxc3hYVHRjYmlBZ0lDQWdJRzF2WkhWc1pVRjFkRzlVWlhOMGN5NXdkWE5vS0c1bGR5QlVaWE4wS0dGMWRHOVVaWE4wYzBOaGRFNWhiV1VzSUhSbGMzUnpMbXhsYm1kMGFDQTlQVDBnTVNBL0lHWXVibUZ0WlNBNklHQWtlMll1Ym1GdFpYMGdKSHRwSUNzZ01YMWdMQ0JoYzNsdVl5QW9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKbGN5QTlJR0YzWVdsMElHZHliMnN1Wm5WdVkzUnBiMjV6TG1WMllXd29ZV1JrVG1GdFpYTndZV05sS0hSbGMzUnpXMmxkTENCbUtTazdYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxMGFISnZkeTFzYVhSbGNtRnNYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTWdJVDA5SUhSeWRXVXBJSFJvY205M0lHQkdZV2xzWldRNklDUjdkR1Z6ZEhOYmFWMTlZRHRjYmlBZ0lDQWdJSDBzSUh0emEybHdVbVZoYzI5dU9pQnphMmx3VW1WaGMyOXVmU2twTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0IzWVhOU1pXZHBjM1JsY21Wa1czQmhZMnRoWjJWSlpGMGdQU0IwY25WbE8xeHVJQ0JwWmlBb0lXMXZaSFZzWlVGMWRHOVVaWE4wY3k1c1pXNW5kR2dwSUhKbGRIVnlianRjYmlBZ2JXOWtkV3hsVkdWemRITmJZWFYwYjFSbGMzUnpRMkYwVG1GdFpWMGdQU0I3ZEdWemRITTZJRzF2WkhWc1pVRjFkRzlVWlhOMGMzMDdYRzU5WEc1Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJ5ZFc1VVpYTjBjeWh2Y0hScGIyNXpQem9nZTJOaGRHVm5iM0o1UHpvZ2MzUnlhVzVuTENCMFpYTjBQem9nYzNSeWFXNW5MQ0IwWlhOMFEyOXVkR1Y0ZEQ4NklGUmxjM1JEYjI1MFpYaDBmU2tnZTF4dUlDQmpiMjV6ZENCd1lXTnJZV2RsWHlBOUlHZHliMnN1Wm5WdVkzUnBiMjV6TG1kbGRFTjFjbkpsYm5SRFlXeHNLQ2svTG1aMWJtTS9MbkJoWTJ0aFoyVTdYRzRnSUdGM1lXbDBJR2x1YVhSQmRYUnZWR1Z6ZEhNb2NHRmphMkZuWlY4dWFXUXBPMXh1SUNCamIyNXpkQ0J5WlhOMWJIUnpPaUI3SUdOaGRHVm5iM0o1UHpvZ2MzUnlhVzVuTENCdVlXMWxQem9nYzNSeWFXNW5MQ0J6ZFdOalpYTnpPaUJpYjI5c1pXRnVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkRG9nYzNSeWFXNW5MQ0J0Y3pvZ2JuVnRZbVZ5TENCemEybHdjR1ZrT2lCaWIyOXNaV0Z1SUgxYlhTQTlJRnRkTzF4dUlDQmpiMjV6YjJ4bExteHZaeWhnVW5WdWJtbHVaeUIwWlhOMGMyQXBPMXh1SUNCdmNIUnBiMjV6SUQ4L1BTQjdmVHRjYmlBZ2IzQjBhVzl1Y3lFdWRHVnpkRU52Ym5SbGVIUWdQejg5SUc1bGR5QlVaWE4wUTI5dWRHVjRkQ2dwTzF4dUlDQm5jbTlyTG5Ob1pXeHNMbXhoYzNSRmNuSnZjaUE5SUNjbk8xeHVJQ0JtYjNJZ0tHTnZibk4wSUZ0clpYa3NJSFpoYkhWbFhTQnZaaUJQWW1wbFkzUXVaVzUwY21sbGN5aDBaWE4wY3lrcElIdGNiaUFnSUNCcFppQW9iM0IwYVc5dWN6OHVZMkYwWldkdmNua2dJVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCcFppQW9JV3RsZVM1MGIweHZkMlZ5UTJGelpTZ3BMbk4wWVhKMGMxZHBkR2dvYjNCMGFXOXVjejh1WTJGMFpXZHZjbmt1ZEc5TWIzZGxja05oYzJVb0tTa3BYRzRnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpiMnhsTG14dlp5aGdVM1JoY25SbFpDQWtlMnRsZVgwZ1kyRjBaV2R2Y25sZ0tUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdhV1lnS0haaGJIVmxMbUpsWm05eVpTbGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RtRnNkV1V1WW1WbWIzSmxLQ2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9lRG9nWVc1NUtTQjdYRzRnSUNBZ0lDQjJZV3gxWlM1aVpXWnZjbVZUZEdGMGRYTWdQU0I0TG5SdlUzUnlhVzVuS0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElIUWdQU0IyWVd4MVpTNTBaWE4wY3lBL1B5QmJYVHRjYmlBZ0lDQmpiMjV6ZENCeVpYTWdQU0JiWFR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhRdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnlaWE11Y0hWemFDaGhkMkZwZENCbGVHVmpWR1Z6ZENoMFcybGRMQ0J2Y0hScGIyNXpQeTUwWlhOMEtTazdYRzRnSUNBZ1kyOXVjM1FnWkdGMFlTQTlJQ2hoZDJGcGRDQlFjbTl0YVhObExtRnNiQ2h5WlhNcEtTNW1hV3gwWlhJb0tHUXBJRDArSUdRdWNtVnpkV3gwSUNFOUlDZHphMmx3Y0dWa0p5azdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaUzVoWm5SbGNpbGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RtRnNkV1V1WVdaMFpYSW9LVHRjYmlBZ0lDQjlJR05oZEdOb0lDaDRPaUJoYm5rcElIdGNiaUFnSUNBZ0lIWmhiSFZsTG1GbWRHVnlVM1JoZEhWeklEMGdlQzUwYjFOMGNtbHVaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZG1Gc2RXVXVZV1owWlhKVGRHRjBkWE1wWEc0Z0lDQWdJQ0JrWVhSaExuQjFjMmdvZTJOaGRHVm5iM0o1T2lCclpYa3NJRzVoYldVNklDZHBibWwwSnl3Z2NtVnpkV3gwT2lCMllXeDFaUzVoWm5SbGNsTjBZWFIxY3l3Z2MzVmpZMlZ6Y3pvZ1ptRnNjMlVzSUcxek9pQXdMQ0J6YTJsd2NHVmtPaUJtWVd4elpYMHBPMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTNWlaV1p2Y21WVGRHRjBkWE1wWEc0Z0lDQWdJQ0JrWVhSaExuQjFjMmdvZTJOaGRHVm5iM0o1T2lCclpYa3NJRzVoYldVNklDZHBibWwwSnl3Z2NtVnpkV3gwT2lCMllXeDFaUzVpWldadmNtVlRkR0YwZFhNc0lITjFZMk5sYzNNNklHWmhiSE5sTENCdGN6b2dNQ3dnYzJ0cGNIQmxaRG9nWm1Gc2MyVjlLVHRjYmlBZ0lDQnlaWE4xYkhSekxuQjFjMmdvTGk0dVpHRjBZU2s3WEc0Z0lIMWNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWRHVnpkRU52Ym5SbGVIUXVZMkYwWTJoVmJtaGhibVJzWldRcElIdGNiaUFnSUNCaGQyRnBkQ0JrWld4aGVTZ3hNREF3S1R0Y2JpQWdJQ0JwWmlBb1ozSnZheTV6YUdWc2JDNXNZWE4wUlhKeWIzSXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnY21WemRXeDBjeTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdZMkYwWldkdmNuazZJQ2RWYm1oaGJtUnNaV1FnWlhoalpYQjBhVzl1Y3ljc1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUNkbGVHTmxjSFJwYjI1ekp5eGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4ME9pQm5jbTlyTG5Ob1pXeHNMbXhoYzNSRmNuSnZjaXdnYzNWalkyVnpjem9nWm1Gc2MyVXNJRzF6T2lBd0xDQnphMmx3Y0dWa09pQm1ZV3h6WlZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdsbUlDaHZjSFJwYjI1ekxuUmxjM1JEYjI1MFpYaDBMbkpsY0c5eWRDa2dlMXh1SUNBZ0lHTnZibk4wSUd4dloyZGxjaUE5SUc1bGR5QkVSeTVNYjJkblpYSW9LVHRjYmlBZ0lDQmpiMjV6ZENCemRXTmpaWE56Wm5Wc0lEMGdjbVZ6ZFd4MGN5NW1hV3gwWlhJb0tISXBJRDArSUhJdWMzVmpZMlZ6Y3lrdWJHVnVaM1JvTzF4dUlDQWdJR052Ym5OMElITnJhWEJ3WldRZ1BTQnlaWE4xYkhSekxtWnBiSFJsY2lnb2Npa2dQVDRnY2k1emEybHdjR1ZrS1M1c1pXNW5kR2c3WEc0Z0lDQWdZMjl1YzNRZ1ptRnBiR1ZrSUQwZ2NtVnpkV3gwY3k1bWFXeDBaWElvS0hJcElEMCtJQ0Z5TG5OMVkyTmxjM01wTzF4dUlDQWdJR052Ym5OMElHUmxjMk55YVhCMGFXOXVJRDBnSjFCaFkydGhaMlVnUUhCaFkydGhaMlVnZEdWemRHVmtPaUJBYzNWalkyVnpjMloxYkNCemRXTmpaWE56Wm5Wc0xDQkFjMnRwY0hCbFpDQnphMmx3Y0dWa0xDQkFabUZwYkdWa0lHWmhhV3hsWkNCMFpYTjBjeWM3WEc0Z0lDQWdZMjl1YzNRZ2NHRnlZVzF6SUQwZ2UxeHVJQ0FnSUNBZ2MzVmpZMlZ6YzJaMWJEb2djM1ZqWTJWemMyWjFiQ3hjYmlBZ0lDQWdJSE5yYVhCd1pXUTZJSE5yYVhCd1pXUXNYRzRnSUNBZ0lDQm1ZV2xzWldRNklHWmhhV3hsWkM1c1pXNW5kR2dzWEc0Z0lDQWdJQ0J3WVdOcllXZGxPaUJ3WVdOcllXZGxYMXh1SUNBZ0lIMDdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnlJRzltSUdaaGFXeGxaQ2tnVDJKcVpXTjBMbUZ6YzJsbmJpaHdZWEpoYlhNc0lIdGJZQ1I3Y2k1allYUmxaMjl5ZVgwZ2ZDQWtlM0l1Ym1GdFpYMWdYVG9nY2k1eVpYTjFiSFI5S1R0Y2JpQWdJQ0JzYjJkblpYSXViRzluS0dSbGMyTnlhWEIwYVc5dUxDQndZWEpoYlhNc0lDZHdZV05yWVdkbExYUmxjM1JsWkNjcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFJ6TzF4dWZWeHVYRzVoYzNsdVl5Qm1kVzVqZEdsdmJpQmxlR1ZqVkdWemRDaDBPaUJVWlhOMExDQndjbVZrYVdOaGRHVTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQnNaWFFnY2pvZ2V5QmpZWFJsWjI5eWVUODZJSE4wY21sdVp5d2dibUZ0WlQ4NklITjBjbWx1Wnl3Z2MzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYml3Z2NtVnpkV3gwT2lCemRISnBibWNzSUcxek9pQnVkVzFpWlhJc0lITnJhWEJ3WldRNklHSnZiMnhsWVc0Z2ZUdGNiaUFnWTI5dWMzUWdabWxzZEdWeUlEMGdjSEpsWkdsallYUmxJQ0U5SUhWdVpHVm1hVzVsWkNBbUppQW9JWFF1Ym1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwTG5OMFlYSjBjMWRwZEdnb2NISmxaR2xqWVhSbExuUnZURzkzWlhKRFlYTmxLQ2twS1R0Y2JpQWdZMjl1YzNRZ2MydHBjQ0E5SUhRdWIzQjBhVzl1Y3o4dWMydHBjRkpsWVhOdmJpQjhmQ0JtYVd4MFpYSTdYRzRnSUdOdmJuTjBJSE5yYVhCU1pXRnpiMjRnUFNCbWFXeDBaWElnUHlBbmMydHBjSEJsWkNjZ09pQjBMbTl3ZEdsdmJuTS9Mbk5yYVhCU1pXRnpiMjQ3WEc0Z0lHbG1JQ2doYzJ0cGNDbGNiaUFnSUNCamIyNXpiMnhsTG14dlp5aGdVM1JoY25SbFpDQWtlM1F1WTJGMFpXZHZjbmw5SUNSN2RDNXVZVzFsZldBcE8xeHVJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUhSeWVTQjdYRzRnSUNBZ2FXWWdLSE5yYVhBcFhHNGdJQ0FnSUNCeUlEMGdlM04xWTJObGMzTTZJSFJ5ZFdVc0lISmxjM1ZzZERvZ2MydHBjRkpsWVhOdmJpRXNJRzF6T2lBd0xDQnphMmx3Y0dWa09pQjBjblZsZlR0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeUlEMGdlM04xWTJObGMzTTZJSFJ5ZFdVc0lISmxjM1ZzZERvZ1lYZGhhWFFnZEM1MFpYTjBLQ2tnUHo4Z0owOUxKeXdnYlhNNklEQXNJSE5yYVhCd1pXUTZJR1poYkhObGZUdGNiaUFnZlNCallYUmphQ0FvZURvZ1lXNTVLU0I3WEc0Z0lDQWdjaUE5SUh0emRXTmpaWE56T2lCbVlXeHpaU3dnY21WemRXeDBPaUI0TG5SdlUzUnlhVzVuS0Nrc0lHMXpPaUF3TENCemEybHdjR1ZrT2lCbVlXeHpaWDA3WEc0Z0lIMWNiaUFnWTI5dWMzUWdjM1J2Y0NBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUM4dklFQjBjeTFwWjI1dmNtVmNiaUFnY2k1dGN5QTlJSE4wYjNBZ0xTQnpkR0Z5ZER0Y2JpQWdhV1lnS0NGemEybHdLVnh1SUNBZ0lHTnZibk52YkdVdWJHOW5LR0JHYVc1cGMyaGxaQ0FrZTNRdVkyRjBaV2R2Y25sOUlDUjdkQzV1WVcxbGZTQm1iM0lnSkh0eUxtMXpmU0J0YzJBcE8xeHVJQ0J5TG1OaGRHVm5iM0o1SUQwZ2RDNWpZWFJsWjI5eWVUdGNiaUFnY2k1dVlXMWxJRDBnZEM1dVlXMWxPMXh1SUNCeVpYUjFjbTRnY2p0Y2JuMWNibHh1THlvZ1YyRnBkSE1nVzIxelhTQnRhV3hzYVhObFkyOXVaSE1nS2k5Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJrWld4aGVTaHRjem9nYm5WdFltVnlLU0I3WEc0Z0lHRjNZV2wwSUc1bGR5QlFjbTl0YVhObEtDaHlLU0E5UGlCelpYUlVhVzFsYjNWMEtISXNJRzF6S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQmhkMkZwZEVOb1pXTnJLR05vWldOclNHRnVaR3hsY2pvZ0tDa2dQVDRnWW05dmJHVmhiaXhjYmlBZ1pYSnliM0k2SUhOMGNtbHVaeUE5SUNkVWFXMWxiM1YwSUdWNFkyVmxaR1ZrSnl3Z2QyRnBkRG9nYm5WdFltVnlJRDBnTlRBd0xDQnBiblJsY25aaGJEb2diblZ0WW1WeUlEMGdOVEFwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabExDQnlaV3BsWTNRcElEMCtJSHRjYmlBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lIdGNiaUFnSUNBZ0lHTnNaV0Z5U1c1MFpYSjJZV3dvYVc1MFpYSjJZV3hKWkNrN1hHNGdJQ0FnSUNCeVpXcGxZM1FvYm1WM0lFVnljbTl5S0dWeWNtOXlLU2s3WEc0Z0lDQWdmU3dnZDJGcGRDazdYRzRnSUNBZ0x5OGdRSFJ6TFdsbmJtOXlaVnh1SUNBZ0lHTnZibk4wSUdsdWRHVnlkbUZzU1dRNklGUnBiV1Z2ZFhRZ1BTQnpaWFJKYm5SbGNuWmhiQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnBaaUFvWTJobFkydElZVzVrYkdWeUtDa3BJSHRjYmlBZ0lDQWdJQ0FnWTJ4bFlYSkpiblJsY25aaGJDaHBiblJsY25aaGJFbGtLVHRjYmlBZ0lDQWdJQ0FnY21WemIyeDJaU2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzSUdsdWRHVnlkbUZzS1R0Y2JpQWdmU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMFJwWVd4dloxQnlaWE5sYm5Rb1pHbGhiRzluVkdsMGJHVTZJSE4wY21sdVp5azZJR0p2YjJ4bFlXNGdlMXh1SUNCamIyNXpkQ0JrYVdGc2IyZHpJRDBnUkVjdVJHbGhiRzluTG1kbGRFOXdaVzVFYVdGc2IyZHpLQ2s3WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR2xoYkc5bmN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJR2xtSUNoa2FXRnNiMmR6VzJsZExuUnBkR3hsSUQwOUlHUnBZV3h2WjFScGRHeGxLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdkR1Z6ZEZacFpYZGxjaWgyT2lCemRISnBibWNzSUdSbU9pQkVSeTVFWVhSaFJuSmhiV1VzSUdSbGRHVmpkRk5sYldGdWRHbGpWSGx3WlhNNklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQnBaaUFvWkdWMFpXTjBVMlZ0WVc1MGFXTlVlWEJsY3lrZ1lYZGhhWFFnWjNKdmF5NWtZWFJoTG1SbGRHVmpkRk5sYldGdWRHbGpWSGx3WlhNb1pHWXBPMXh1SUNCamIyNXpkQ0IwZGlBOUlHZHliMnN1YzJobGJHd3VZV1JrVkdGaWJHVldhV1YzS0dSbUtUdGNiaUFnWTI5dWMzUWdkbWxsZDJWeVRtRnRaU0E5SUdCYmJtRnRaVDEyYVdWM1pYSXRKSHQyTG5KbGNHeGhZMlVvTDF4Y2N5c3ZaeXdnSnkwbktYMGdhVjFnTzF4dUlDQmpiMjV6ZENCelpXeGxZM1J2Y2lBOUlHQWtlM1pwWlhkbGNrNWhiV1Y5SUdOaGJuWmhjeXdrZTNacFpYZGxjazVoYldWOUlITjJaeXdrZTNacFpYZGxjazVoYldWOUlHbHRaeXhjYmlBZ0lDQWtlM1pwWlhkbGNrNWhiV1Y5SUdsdWNIVjBMQ1I3ZG1sbGQyVnlUbUZ0WlgwZ2FERXNKSHQyYVdWM1pYSk9ZVzFsZlNCaFlEdGNiaUFnWTI5dWMzUWdjbVZ6SUQwZ1cxMDdYRzRnSUhSeWVTQjdYRzRnSUNBZ2JHVjBJSFpwWlhkbGNpQTlJSFIyTG1Ga1pGWnBaWGRsY2loMktUdGNiaUFnSUNCaGQyRnBkQ0JoZDJGcGRFTm9aV05yS0NncElEMCtJR1J2WTNWdFpXNTBMbkYxWlhKNVUyVnNaV04wYjNJb2MyVnNaV04wYjNJcElDRTlQU0J1ZFd4c0xGeHVJQ0FnSUNBZ0oyTmhibTV2ZENCc2IyRmtJSFpwWlhkbGNpY3NJRE13TURBcE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCQmNuSmhlUzVtY205dEtHUm1Mbkp2ZHlnd0tTNWpaV3hzY3lrdVptOXlSV0ZqYUNnb1l5a2dQVDRnWXk1MllXeDFaU0E5SUc1MWJHd3BPMXh1SUNBZ0lHUm1Mbkp2ZDNNdWMyVnNaV04wS0NoeWIzY3BJRDArSUhKdmR5NXBaSGdnUGlBeElDWW1JSEp2ZHk1cFpIZ2dQQ0EzS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ056c2dhU0E4SURFeU95QnBLeXNwSUdSbUxtWnBiSFJsY2k1elpYUW9hU3dnWm1Gc2MyVXBPMXh1SUNBZ0lHUm1MbU4xY25KbGJuUlNiM2RKWkhnZ1BTQXhPMXh1SUNBZ0lHTnZibk4wSUhCeWIzQnpJRDBnZG1sbGQyVnlMbWRsZEU5d2RHbHZibk1vZEhKMVpTa3ViRzl2YXp0Y2JpQWdJQ0JqYjI1emRDQnVaWGRRY205d2N6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1ltOXZiR1ZoYmo0Z1BTQjdmVHRjYmlBZ0lDQlBZbXBsWTNRdWEyVjVjeWh3Y205d2N5a3VabWxzZEdWeUtDaHJLU0E5UGlCMGVYQmxiMllnY0hKdmNITmJhMTBnUFQwOUlDZGliMjlzWldGdUp5a3VabTl5UldGamFDZ29heWtnUFQ0Z2JtVjNVSEp2Y0hOYmExMGdQU0FoY0hKdmNITmJhMTBwTzF4dUlDQWdJSFpwWlhkbGNpNXpaWFJQY0hScGIyNXpLRzVsZDFCeWIzQnpLVHRjYmlBZ0lDQmhkMkZwZENCa1pXeGhlU2d5TlRBcE8xeHVJQ0FnSUdOdmJuTjBJR3hoZVc5MWRDQTlJSFIyTG5OaGRtVk1ZWGx2ZFhRb0tUdGNiaUFnSUNCamIyNXpkQ0J2YkdSUWNtOXdjeUE5SUhacFpYZGxjaTVuWlhSUGNIUnBiMjV6S0NrdWJHOXZhenRjYmlBZ0lDQjBkaTV5WlhObGRFeGhlVzkxZENncE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCMGRpNXNiMkZrVEdGNWIzVjBLR3hoZVc5MWRDazdYRzRnSUNBZ1lYZGhhWFFnWVhkaGFYUkRhR1ZqYXlnb0tTQTlQaUJrYjJOMWJXVnVkQzV4ZFdWeWVWTmxiR1ZqZEc5eUtITmxiR1ZqZEc5eUtTQWhQVDBnYm5Wc2JDeGNiaUFnSUNBZ0lDZGpZVzV1YjNRZ2JHOWhaQ0IyYVdWM1pYSWdabkp2YlNCc1lYbHZkWFFuTENBek1EQXdLVHRjYmlBZ0lDQmhkMkZwZENCa1pXeGhlU2d5TlRBcE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCMmFXVjNaWElnUFNCQmNuSmhlUzVtY205dEtIUjJMblpwWlhkbGNuTXBMbVpwYm1Rb0tIWXBJRDArSUhZdWRIbHdaU0FoUFQwZ0owZHlhV1FuS1NFN1hHNGdJQ0FnWlhod1pXTjBRWEp5WVhrb2NtVnpMQ0JiTWl3Z01Td2dNbDBwTzF4dUlDQWdJR1Y0Y0dWamRDaEtVMDlPTG5OMGNtbHVaMmxtZVNoMmFXVjNaWEl1WjJWMFQzQjBhVzl1Y3lncExteHZiMnNwTENCS1UwOU9Mbk4wY21sdVoybG1lU2h2YkdSUWNtOXdjeWtwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lIUjJMbU5zYjNObEtDazdYRzRnSUNBZ1ozSnZheTV6YUdWc2JDNWpiRzl6WlZSaFlteGxLR1JtS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIERHIGZyb20gXCJkYXRhZ3Jvay1hcGkvZGdcIjtcbmltcG9ydCB7IHJ1blRlc3RzLCB0ZXN0cyB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3Rlc3QnO1xuZXhwb3J0IGxldCBfcGFja2FnZSA9IG5ldyBERy5QYWNrYWdlKCk7XG5leHBvcnQgeyB0ZXN0cyB9O1xuLy9uYW1lOiB0ZXN0XG4vL291dHB1dDogZGF0YWZyYW1lIHJlc3VsdFxuZXhwb3J0IGZ1bmN0aW9uIHRlc3QoKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgbGV0IGRhdGEgPSB5aWVsZCBydW5UZXN0cygpO1xuICAgICAgICByZXR1cm4gREcuRGF0YUZyYW1lLmZyb21PYmplY3RzKGRhdGEpO1xuICAgIH0pO1xufVxuIl0sIm5hbWVzIjpbIl9fd2VicGFja19yZXF1aXJlX18iLCJleHBvcnRzIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJvYmoiLCJwcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ2YWx1ZSIsIkRHIiwiZ3JvayIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwidGVzdHMiLCJhdXRvVGVzdHNDYXROYW1lIiwid2FzUmVnaXN0ZXJlZCIsImFzc3VyZSIsIm5vdE51bGwiLCJuYW1lIiwiRXJyb3IiLCJUZXN0Q29udGV4dCIsImNvbnN0cnVjdG9yIiwiY2F0Y2hVbmhhbmRsZWQiLCJyZXBvcnQiLCJ0aGlzIiwidW5kZWZpbmVkIiwiVGVzdCIsImNhdGVnb3J5IiwidGVzdCIsIm9wdGlvbnMiLCJfYSIsInRpbWVvdXQiLCJhZGROYW1lc3BhY2UiLCJzIiwiZiIsInJlcGxhY2UiLCJSZWdFeHAiLCJucU5hbWUiLCJydW5UZXN0cyIsIl9iIiwiX2MiLCJfZCIsIl9lIiwicGFja2FnZV8iLCJmdW5jIiwicGFja2FnZSIsInBhY2thZ2VJZCIsIm1vZHVsZSIsIm1vZHVsZVRlc3RzIiwibW9kdWxlQXV0b1Rlc3RzIiwicGFja0Z1bmN0aW9ucyIsImxpc3QiLCJyZWciLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJpIiwic2tpcFJlYXNvbnMiLCJtYXRjaCIsInNraXBSZWFzb24iLCJwdXNoIiwiaW5pdEF1dG9UZXN0cyIsImlkIiwicmVzdWx0cyIsImNvbnNvbGUiLCJsb2ciLCJ0ZXN0Q29udGV4dCIsImVudHJpZXMiLCJ0b0xvd2VyQ2FzZSIsInN0YXJ0c1dpdGgiLCJiZWZvcmUiLCJ4IiwiYmVmb3JlU3RhdHVzIiwidG9TdHJpbmciLCJ0IiwicmVzIiwiZXhlY1Rlc3QiLCJkYXRhIiwiYWxsIiwiZmlsdGVyIiwiZCIsImFmdGVyIiwiYWZ0ZXJTdGF0dXMiLCJzdWNjZXNzIiwibXMiLCJza2lwcGVkIiwiciIsInNldFRpbWVvdXQiLCJkZWxheSIsImxvZ2dlciIsInN1Y2Nlc3NmdWwiLCJmYWlsZWQiLCJkZXNjcmlwdGlvbiIsInBhcmFtcyIsImFzc2lnbiIsInByZWRpY2F0ZSIsInNraXAiLCJzdGFydCIsIkRhdGUiLCJzdG9wIiwiX3BhY2thZ2UiXSwic291cmNlUm9vdCI6IiJ9
|
|
1
|
+
var eda_test;(()=>{"use strict";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{_package:()=>v,test:()=>g,tests:()=>i});const n=DG,o=grok;var s=function(t,e,n,o){return new(n||(n=Promise))((function(s,i){function r(t){try{l(o.next(t))}catch(t){i(t)}}function c(t){try{l(o.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,c)}l((o=o.apply(t,e||[])).next())}))};const i={},r="Auto Tests",c={};var l;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(l||(l={}));class a{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class u{constructor(t,e,n,o){var i;this.category=t,this.name=e,null!=o||(o={}),null!==(i=o.timeout)&&void 0!==i||(o.timeout=3e4),this.options=o,this.test=()=>s(this,void 0,void 0,(function*(){return new Promise(((t,e)=>s(this,void 0,void 0,(function*(){let o="";try{o=yield n()}catch(t){e(t)}t(o)}))))}))}}function d(t,e){return t.replace(new RegExp(e.name,"gi"),e.nqName)}function f(t){var e,l,f,h,v;return s(this,void 0,void 0,(function*(){const g=null===(l=null===(e=o.functions.getCurrentCall())||void 0===e?void 0:e.func)||void 0===l?void 0:l.package;yield function(t,e){return s(this,void 0,void 0,(function*(){if(c[t])return;const e=i;if(void 0!==e[r])return void(c[t]=!0);const n=[],l=yield o.dapi.functions.filter(`package.id = "${t}"`).list(),a=new RegExp(/.*\/\/\s*skip[:\s]*(.*)$/);for(const t of l){const e=t.options.test;if(e&&Array.isArray(e)&&e.length)for(let i=0;i<e.length;i++){const c=e[i].match(a);let l;c&&(null==c?void 0:c.length)>1&&(l=c[1]),n.push(new u(r,1===e.length?t.name:`${t.name} ${i+1}`,(()=>s(this,void 0,void 0,(function*(){if(!0!==(yield o.functions.eval(d(e[i],t))))throw`Failed: ${e[i]}`}))),{skipReason:l}))}}c[t]=!0,n.length&&(e[r]={tests:n})}))}(g.id);const y=[];console.log("Running tests"),null!=t||(t={}),null!==(f=(v=t).testContext)&&void 0!==f||(v.testContext=new a),o.shell.lastError="";for(const[e,n]of Object.entries(i)){if(null!=(null==t?void 0:t.category)&&!e.toLowerCase().startsWith(null==t?void 0:t.category.toLowerCase()))continue;console.log(`Started ${e} category`);try{n.before&&(yield n.before())}catch(t){n.beforeStatus=t.toString()}const o=null!==(h=n.tests)&&void 0!==h?h:[],s=[];for(let e=0;e<o.length;e++)s.push(yield p(o[e],null==t?void 0:t.test));const i=(yield Promise.all(s)).filter((t=>"skipped"!=t.result));try{n.after&&(yield n.after())}catch(t){n.afterStatus=t.toString()}n.afterStatus&&i.push({category:e,name:"init",result:n.afterStatus,success:!1,ms:0,skipped:!1}),n.beforeStatus&&i.push({category:e,name:"init",result:n.beforeStatus,success:!1,ms:0,skipped:!1}),y.push(...i)}if(t.testContext.catchUnhandled&&(yield function(t){return s(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}(1e3),o.shell.lastError.length>0&&y.push({category:"Unhandled exceptions",name:"exceptions",result:o.shell.lastError,success:!1,ms:0,skipped:!1})),t.testContext.report){const t=new n.Logger,e=y.filter((t=>t.success)).length,o=y.filter((t=>t.skipped)).length,s=y.filter((t=>!t.success)),i="Package @package tested: @successful successful, @skipped skipped, @failed failed tests",r={successful:e,skipped:o,failed:s.length,package:g};for(const t of s)Object.assign(r,{[`${t.category} | ${t.name}`]:t.result});t.log(i,r,"package-tested")}return y}))}function p(t,e){var n,o,i;return s(this,void 0,void 0,(function*(){let s;const r=null!=e&&!t.name.toLowerCase().startsWith(e.toLowerCase()),c=(null===(n=t.options)||void 0===n?void 0:n.skipReason)||r,l=r?"skipped":null===(o=t.options)||void 0===o?void 0:o.skipReason;c||console.log(`Started ${t.category} ${t.name}`);const a=new Date;try{s=c?{success:!0,result:l,ms:0,skipped:!0}:{success:!0,result:null!==(i=yield t.test())&&void 0!==i?i:"OK",ms:0,skipped:!1}}catch(t){s={success:!1,result:t.toString(),ms:0,skipped:!1}}const u=new Date;return s.ms=u-a,c||console.log(`Finished ${t.category} ${t.name} for ${s.ms} ms`),s.category=t.category,s.name=t.name,s}))}var h=function(t,e,n,o){return new(n||(n=Promise))((function(s,i){function r(t){try{l(o.next(t))}catch(t){i(t)}}function c(t){try{l(o.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,c)}l((o=o.apply(t,e||[])).next())}))};let v=new n.Package;function g(t,e,o){return h(this,void 0,void 0,(function*(){const s=yield f({category:t,test:e,testContext:o});return n.DataFrame.fromObjects(s)}))}eda_test=e})();
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEdBQVMsQ0FBRSxNQUFPYyxHQUFLSixFQUFPSSxFQUFJLENBQUUsQ0FDMUYsU0FBU0MsRUFBU2YsR0FBUyxJQUFNWSxFQUFLTCxFQUFpQixNQUFFUCxHQUFTLENBQUUsTUFBT2MsR0FBS0osRUFBT0ksRUFBSSxDQUFFLENBQzdGLFNBQVNGLEVBQUtJLEdBSmxCLElBQWVoQixFQUlhZ0IsRUFBT0MsS0FBT1IsRUFBUU8sRUFBT2hCLFFBSjFDQSxFQUl5RGdCLEVBQU9oQixNQUpoREEsYUFBaUJNLEVBQUlOLEVBQVEsSUFBSU0sR0FBRSxTQUFVRyxHQUFXQSxFQUFRVCxFQUFRLEtBSWpCa0IsS0FBS1AsRUFBV0ksRUFBVyxDQUM3R0gsR0FBTUwsRUFBWUEsRUFBVVksTUFBTWYsRUFBU0MsR0FBYyxLQUFLUSxPQUNsRSxHQUNKLEVBR08sSUFBSThGLEVBQVcsSUFBSSxVQU9uQixTQUFTLEVBQUt6RSxFQUFVQyxFQUFNc0MsR0FDakMsT0FBTyxFQUFVMUMsVUFBTSxPQUFRLEdBQVEsWUFDbkMsTUFBTXFELFFBQWF2QyxFQUFTLENBQUVYLFdBQVVDLE9BQU1zQyxnQkFDOUMsT0FBTyx3QkFBeUJXLEVBQ3BDLEdBQ0osQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VkYS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL2VkYS9leHRlcm5hbCB2YXIgXCJER1wiIiwid2VicGFjazovL2VkYS9leHRlcm5hbCB2YXIgXCJncm9rXCIiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3Rlc3QuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vc3JjL3BhY2thZ2UtdGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSBERzsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gZ3JvazsiLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmV4cG9ydCBjb25zdCB0ZXN0cyA9IHt9O1xuY29uc3QgYXV0b1Rlc3RzQ2F0TmFtZSA9ICdBdXRvIFRlc3RzJztcbmNvbnN0IHdhc1JlZ2lzdGVyZWQgPSB7fTtcbmV4cG9ydCBsZXQgY3VycmVudENhdGVnb3J5O1xuZXhwb3J0IHZhciBhc3N1cmU7XG4oZnVuY3Rpb24gKGFzc3VyZSkge1xuICAgIGZ1bmN0aW9uIG5vdE51bGwodmFsdWUsIG5hbWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZSA9PSBudWxsID8gJ1ZhbHVlJyA6IG5hbWV9IG5vdCBkZWZpbmVkYCk7XG4gICAgfVxuICAgIGFzc3VyZS5ub3ROdWxsID0gbm90TnVsbDtcbn0pKGFzc3VyZSB8fCAoYXNzdXJlID0ge30pKTtcbmV4cG9ydCBjbGFzcyBUZXN0Q29udGV4dCB7XG4gICAgY29uc3RydWN0b3IoY2F0Y2hVbmhhbmRsZWQsIHJlcG9ydCkge1xuICAgICAgICB0aGlzLmNhdGNoVW5oYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXBvcnQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNhdGNoVW5oYW5kbGVkICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLmNhdGNoVW5oYW5kbGVkID0gY2F0Y2hVbmhhbmRsZWQ7XG4gICAgICAgIGlmIChyZXBvcnQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRoaXMucmVwb3J0ID0gcmVwb3J0O1xuICAgIH1cbiAgICA7XG59XG5leHBvcnQgY2xhc3MgVGVzdCB7XG4gICAgY29uc3RydWN0b3IoY2F0ZWdvcnksIG5hbWUsIHRlc3QsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB0aGlzLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IChvcHRpb25zID0ge30pO1xuICAgICAgICAoX2EgPSBvcHRpb25zLnRpbWVvdXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChvcHRpb25zLnRpbWVvdXQgPSAzMDAwMCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGVzdCA9ICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHlpZWxkIHRlc3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0RXZlbnQoZXZlbnQsIGhhbmRsZXIsIHRyaWdnZXIsIG1zID0gMCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGxldCBzdWI7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzdWIgPSBldmVudC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVyKGFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoJ09LJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXG4gICAgICAgICAgICAgICAgcmVqZWN0KCd0aW1lb3V0Jyk7XG4gICAgICAgICAgICB9LCBtcyk7XG4gICAgICAgICAgICB0cmlnZ2VyKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRlc3QobmFtZSwgdGVzdCwgb3B0aW9ucykge1xuICAgIGlmICh0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID09IHVuZGVmaW5lZClcbiAgICAgICAgdGVzdHNbY3VycmVudENhdGVnb3J5XSA9IHt9O1xuICAgIGlmICh0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldLnRlc3RzID09IHVuZGVmaW5lZClcbiAgICAgICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS50ZXN0cyA9IFtdO1xuICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0udGVzdHMucHVzaChuZXcgVGVzdChjdXJyZW50Q2F0ZWdvcnksIG5hbWUsIHRlc3QsIG9wdGlvbnMpKTtcbn1cbi8qIFRlc3RzIHR3byBvYmplY3RzIGZvciBlcXVhbGl0eSwgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGV5IGFyZSBub3QgZXF1YWwuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0KGFjdHVhbCwgZXhwZWN0ZWQgPSB0cnVlLCBlcnJvcikge1xuICAgIGlmIChlcnJvcilcbiAgICAgICAgZXJyb3IgPSBgJHtlcnJvcn0sIGA7XG4gICAgZWxzZVxuICAgICAgICBlcnJvciA9ICcnO1xuICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3J9RXhwZWN0ZWQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2FjdHVhbH1cImApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEZsb2F0KGFjdHVhbCwgZXhwZWN0ZWQsIHRvbGVyYW5jZSA9IDAuMDAxLCBlcnJvcikge1xuICAgIGlmICgoYWN0dWFsID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJiYgZXhwZWN0ZWQgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgfHxcbiAgICAgICAgKGFjdHVhbCA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICYmIGV4cGVjdGVkID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHx8XG4gICAgICAgIChhY3R1YWwgPT09IE51bWJlci5OYU4gJiYgZXhwZWN0ZWQgPT09IE51bWJlci5OYU4pIHx8IChpc05hTihhY3R1YWwpICYmIGlzTmFOKGV4cGVjdGVkKSkpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBhcmVFcXVhbCA9IE1hdGguYWJzKGFjdHVhbCAtIGV4cGVjdGVkKSA8IHRvbGVyYW5jZTtcbiAgICBleHBlY3QoYXJlRXF1YWwsIHRydWUsIGAke2Vycm9yICE9PSBudWxsICYmIGVycm9yICE9PSB2b2lkIDAgPyBlcnJvciA6ICcnfSAodG9sZXJhbmNlID0gJHt0b2xlcmFuY2V9KWApO1xuICAgIGlmICghYXJlRXF1YWwpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtleHBlY3RlZH0sIGdvdCAke2FjdHVhbH0gKHRvbGVyYW5jZSA9ICR7dG9sZXJhbmNlfSlgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RUYWJsZShhY3R1YWwsIGV4cGVjdGVkLCBlcnJvcikge1xuICAgIGNvbnN0IGV4cGVjdGVkUm93Q291bnQgPSBleHBlY3RlZC5yb3dDb3VudDtcbiAgICBjb25zdCBhY3R1YWxSb3dDb3VudCA9IGFjdHVhbC5yb3dDb3VudDtcbiAgICBleHBlY3QoYWN0dWFsUm93Q291bnQsIGV4cGVjdGVkUm93Q291bnQsIGAke2Vycm9yICE9PSBudWxsICYmIGVycm9yICE9PSB2b2lkIDAgPyBlcnJvciA6ICcnfSwgcm93IGNvdW50YCk7XG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgZXhwZWN0ZWQuY29sdW1ucykge1xuICAgICAgICBjb25zdCBhY3R1YWxDb2x1bW4gPSBhY3R1YWwuY29sdW1ucy5ieU5hbWUoY29sdW1uLm5hbWUpO1xuICAgICAgICBpZiAoYWN0dWFsQ29sdW1uID09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAke2NvbHVtbi5uYW1lfSBub3QgZm91bmRgKTtcbiAgICAgICAgaWYgKGFjdHVhbENvbHVtbi50eXBlICE9IGNvbHVtbi50eXBlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJHtjb2x1bW4ubmFtZX0gdHlwZSBleHBlY3RlZCAke2NvbHVtbi50eXBlfSBnb3QgJHthY3R1YWxDb2x1bW4udHlwZX1gKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHBlY3RlZFJvd0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uLmdldChpKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWN0dWFsQ29sdW1uLmdldChpKTtcbiAgICAgICAgICAgIGlmIChjb2x1bW4udHlwZSA9PSBERy5UWVBFLkZMT0FUKVxuICAgICAgICAgICAgICAgIGV4cGVjdEZsb2F0KGFjdHVhbFZhbHVlLCB2YWx1ZSwgMC4wMDAxLCBlcnJvcik7XG4gICAgICAgICAgICBlbHNlIGlmIChjb2x1bW4udHlwZSA9PSBERy5UWVBFLkRBVEVfVElNRSlcbiAgICAgICAgICAgICAgICBleHBlY3QoYWN0dWFsVmFsdWUuaXNTYW1lKHZhbHVlKSwgdHJ1ZSwgZXJyb3IpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGV4cGVjdChhY3R1YWxWYWx1ZSwgdmFsdWUsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RPYmplY3QoYWN0dWFsLCBleHBlY3RlZCkge1xuICAgIGZvciAoY29uc3QgW2V4cGVjdGVkS2V5LCBleHBlY3RlZFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpIHtcbiAgICAgICAgaWYgKCFhY3R1YWwuaGFzT3duUHJvcGVydHkoZXhwZWN0ZWRLZXkpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBwcm9wZXJ0eSBcIiR7ZXhwZWN0ZWRLZXl9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWN0dWFsW2V4cGVjdGVkS2V5XTtcbiAgICAgICAgaWYgKGFjdHVhbFZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgZXhwZWN0ZWRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5KVxuICAgICAgICAgICAgZXhwZWN0QXJyYXkoYWN0dWFsVmFsdWUsIGV4cGVjdGVkVmFsdWUpO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxWYWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiBleHBlY3RlZFZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICAgICAgZXhwZWN0T2JqZWN0KGFjdHVhbFZhbHVlLCBleHBlY3RlZFZhbHVlKTtcbiAgICAgICAgZWxzZSBpZiAoTnVtYmVyLmlzRmluaXRlKGFjdHVhbFZhbHVlKSAmJiBOdW1iZXIuaXNGaW5pdGUoZXhwZWN0ZWRWYWx1ZSkpXG4gICAgICAgICAgICBleHBlY3RGbG9hdChhY3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSk7XG4gICAgICAgIGVsc2UgaWYgKGFjdHVhbFZhbHVlICE9IGV4cGVjdGVkVmFsdWUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICgke2V4cGVjdGVkVmFsdWV9KSBmb3Iga2V5ICcke2V4cGVjdGVkS2V5fScsIGdvdCAoJHthY3R1YWxWYWx1ZX0pYCk7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEFycmF5KGFjdHVhbCwgZXhwZWN0ZWQpIHtcbiAgICBjb25zdCBhY3R1YWxMZW5ndGggPSBhY3R1YWwubGVuZ3RoO1xuICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gZXhwZWN0ZWQubGVuZ3RoO1xuICAgIGlmIChhY3R1YWxMZW5ndGggIT0gZXhwZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBcnJheXMgYXJlIG9mIGRpZmZlcmVudCBsZW5ndGg6IGFjdHVhbCBhcnJheSBsZW5ndGggaXMgJHthY3R1YWxMZW5ndGh9IGAgK1xuICAgICAgICAgICAgYGFuZCBleHBlY3RlZCBhcnJheSBsZW5ndGggaXMgJHtleHBlY3RlZExlbmd0aH1gKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3R1YWxMZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYWN0dWFsW2ldIGluc3RhbmNlb2YgQXJyYXkgJiYgZXhwZWN0ZWRbaV0gaW5zdGFuY2VvZiBBcnJheSlcbiAgICAgICAgICAgIGV4cGVjdEFycmF5KGFjdHVhbFtpXSwgZXhwZWN0ZWRbaV0pO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxbaV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgZXhwZWN0ZWRbaV0gaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAgICAgICBleHBlY3RPYmplY3QoYWN0dWFsW2ldLCBleHBlY3RlZFtpXSk7XG4gICAgICAgIGVsc2UgaWYgKGFjdHVhbFtpXSAhPSBleHBlY3RlZFtpXSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJHtleHBlY3RlZFtpXX0gYXQgcG9zaXRpb24gJHtpfSwgZ290ICR7YWN0dWFsW2ldfWApO1xuICAgIH1cbn1cbi8qIERlZmluZXMgYSB0ZXN0IHN1aXRlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3J5KGNhdGVnb3J5LCB0ZXN0cykge1xuICAgIGN1cnJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5O1xuICAgIHRlc3RzKCk7XG59XG4vKiBEZWZpbmVzIGEgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSB0ZXN0cyBpbiB0aGlzIGNhdGVnb3J5IGFyZSBleGVjdXRlZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZWZvcmUoYmVmb3JlKSB7XG4gICAgaWYgKHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPT0gdW5kZWZpbmVkKVxuICAgICAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID0ge307XG4gICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS5iZWZvcmUgPSBiZWZvcmU7XG59XG4vKiBEZWZpbmVzIGEgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIHRlc3RzIGluIHRoaXMgY2F0ZWdvcnkgYXJlIGV4ZWN1dGVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFmdGVyKGFmdGVyKSB7XG4gICAgaWYgKHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPT0gdW5kZWZpbmVkKVxuICAgICAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldID0ge307XG4gICAgdGVzdHNbY3VycmVudENhdGVnb3J5XS5hZnRlciA9IGFmdGVyO1xufVxuZnVuY3Rpb24gYWRkTmFtZXNwYWNlKHMsIGYpIHtcbiAgICByZXR1cm4gcy5yZXBsYWNlKG5ldyBSZWdFeHAoZi5uYW1lLCAnZ2knKSwgZi5ucU5hbWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGluaXRBdXRvVGVzdHMocGFja2FnZUlkLCBtb2R1bGUpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAod2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBtb2R1bGVUZXN0cyA9IG1vZHVsZSA/IG1vZHVsZS50ZXN0cyA6IHRlc3RzO1xuICAgICAgICBpZiAobW9kdWxlVGVzdHNbYXV0b1Rlc3RzQ2F0TmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgd2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2R1bGVBdXRvVGVzdHMgPSBbXTtcbiAgICAgICAgY29uc3QgcGFja0Z1bmN0aW9ucyA9IHlpZWxkIGdyb2suZGFwaS5mdW5jdGlvbnMuZmlsdGVyKGBwYWNrYWdlLmlkID0gXCIke3BhY2thZ2VJZH1cImApLmxpc3QoKTtcbiAgICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCgvLipcXC9cXC9cXHMqc2tpcFs6XFxzXSooLiopJC8pO1xuICAgICAgICBmb3IgKGNvbnN0IGYgb2YgcGFja0Z1bmN0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgdGVzdHMgPSBmLm9wdGlvbnNbJ3Rlc3QnXTtcbiAgICAgICAgICAgIGlmICghKHRlc3RzICYmIEFycmF5LmlzQXJyYXkodGVzdHMpICYmIHRlc3RzLmxlbmd0aCkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2tpcFJlYXNvbnMgPSB0ZXN0c1tpXS5tYXRjaChyZWcpO1xuICAgICAgICAgICAgICAgIGxldCBza2lwUmVhc29uO1xuICAgICAgICAgICAgICAgIGlmIChza2lwUmVhc29ucyAmJiAoc2tpcFJlYXNvbnMgPT09IG51bGwgfHwgc2tpcFJlYXNvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNraXBSZWFzb25zLmxlbmd0aCkgPiAxKVxuICAgICAgICAgICAgICAgICAgICBza2lwUmVhc29uID0gc2tpcFJlYXNvbnNbMV07XG4gICAgICAgICAgICAgICAgbW9kdWxlQXV0b1Rlc3RzLnB1c2gobmV3IFRlc3QoYXV0b1Rlc3RzQ2F0TmFtZSwgdGVzdHMubGVuZ3RoID09PSAxID8gZi5uYW1lIDogYCR7Zi5uYW1lfSAke2kgKyAxfWAsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0geWllbGQgZ3Jvay5mdW5jdGlvbnMuZXZhbChhZGROYW1lc3BhY2UodGVzdHNbaV0sIGYpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPT0gdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGBGYWlsZWQ6ICR7dGVzdHNbaV19YDtcbiAgICAgICAgICAgICAgICB9KSwgeyBza2lwUmVhc29uOiBza2lwUmVhc29uIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3YXNSZWdpc3RlcmVkW3BhY2thZ2VJZF0gPSB0cnVlO1xuICAgICAgICBpZiAoIW1vZHVsZUF1dG9UZXN0cy5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG1vZHVsZVRlc3RzW2F1dG9UZXN0c0NhdE5hbWVdID0geyB0ZXN0czogbW9kdWxlQXV0b1Rlc3RzIH07XG4gICAgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVuVGVzdHMob3B0aW9ucykge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICB2YXIgX2U7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3QgcGFja2FnZV8gPSAoX2IgPSAoX2EgPSBncm9rLmZ1bmN0aW9ucy5nZXRDdXJyZW50Q2FsbCgpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZnVuYykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnBhY2thZ2U7XG4gICAgICAgIHlpZWxkIGluaXRBdXRvVGVzdHMocGFja2FnZV8uaWQpO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGNvbnNvbGUubG9nKGBSdW5uaW5nIHRlc3RzYCk7XG4gICAgICAgIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IChvcHRpb25zID0ge30pO1xuICAgICAgICAoX2MgPSAoX2UgPSBvcHRpb25zKS50ZXN0Q29udGV4dCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKF9lLnRlc3RDb250ZXh0ID0gbmV3IFRlc3RDb250ZXh0KCkpO1xuICAgICAgICBncm9rLnNoZWxsLmxhc3RFcnJvciA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0cykpIHtcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmNhdGVnb3J5KSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWtleS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmNhdGVnb3J5LnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdGFydGVkICR7a2V5fSBjYXRlZ29yeWApO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuYmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZS5iZWZvcmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuYmVmb3JlU3RhdHVzID0geC50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdCA9IChfZCA9IHZhbHVlLnRlc3RzKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHlpZWxkIGV4ZWNUZXN0KHRbaV0sIG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy50ZXN0KSk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gKHlpZWxkIFByb21pc2UuYWxsKHJlcykpLmZpbHRlcigoZCkgPT4gZC5yZXN1bHQgIT0gJ3NraXBwZWQnKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmFmdGVyKVxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZS5hZnRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5hZnRlclN0YXR1cyA9IHgudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZS5hZnRlclN0YXR1cylcbiAgICAgICAgICAgICAgICBkYXRhLnB1c2goeyBjYXRlZ29yeToga2V5LCBuYW1lOiAnaW5pdCcsIHJlc3VsdDogdmFsdWUuYWZ0ZXJTdGF0dXMsIHN1Y2Nlc3M6IGZhbHNlLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICBpZiAodmFsdWUuYmVmb3JlU3RhdHVzKVxuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7IGNhdGVnb3J5OiBrZXksIG5hbWU6ICdpbml0JywgcmVzdWx0OiB2YWx1ZS5iZWZvcmVTdGF0dXMsIHN1Y2Nlc3M6IGZhbHNlLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICByZXN1bHRzLnB1c2goLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMudGVzdENvbnRleHQuY2F0Y2hVbmhhbmRsZWQpIHtcbiAgICAgICAgICAgIHlpZWxkIGRlbGF5KDEwMDApO1xuICAgICAgICAgICAgaWYgKGdyb2suc2hlbGwubGFzdEVycm9yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ1VuaGFuZGxlZCBleGNlcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2V4Y2VwdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IGdyb2suc2hlbGwubGFzdEVycm9yLCBzdWNjZXNzOiBmYWxzZSwgbXM6IDAsIHNraXBwZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMudGVzdENvbnRleHQucmVwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgREcuTG9nZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsID0gcmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3VjY2VzcykubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc2tpcHBlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnNraXBwZWQpLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gJ1BhY2thZ2UgQHBhY2thZ2UgdGVzdGVkOiBAc3VjY2Vzc2Z1bCBzdWNjZXNzZnVsLCBAc2tpcHBlZCBza2lwcGVkLCBAZmFpbGVkIGZhaWxlZCB0ZXN0cyc7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc2Z1bDogc3VjY2Vzc2Z1bCxcbiAgICAgICAgICAgICAgICBza2lwcGVkOiBza2lwcGVkLFxuICAgICAgICAgICAgICAgIGZhaWxlZDogZmFpbGVkLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWNrYWdlOiBwYWNrYWdlX1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBmYWlsZWQpXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHsgW2Ake3IuY2F0ZWdvcnl9IHwgJHtyLm5hbWV9YF06IHIucmVzdWx0IH0pO1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhkZXNjcmlwdGlvbiwgcGFyYW1zLCAncGFja2FnZS10ZXN0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGV4ZWNUZXN0KHQsIHByZWRpY2F0ZSkge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGxldCByO1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBwcmVkaWNhdGUgIT0gdW5kZWZpbmVkICYmICghdC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwcmVkaWNhdGUudG9Mb3dlckNhc2UoKSkpO1xuICAgICAgICBjb25zdCBza2lwID0gKChfYSA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNraXBSZWFzb24pIHx8IGZpbHRlcjtcbiAgICAgICAgY29uc3Qgc2tpcFJlYXNvbiA9IGZpbHRlciA/ICdza2lwcGVkJyA6IChfYiA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNraXBSZWFzb247XG4gICAgICAgIGlmICghc2tpcClcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdGFydGVkICR7dC5jYXRlZ29yeX0gJHt0Lm5hbWV9YCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChza2lwKVxuICAgICAgICAgICAgICAgIHIgPSB7IHN1Y2Nlc3M6IHRydWUsIHJlc3VsdDogc2tpcFJlYXNvbiwgbXM6IDAsIHNraXBwZWQ6IHRydWUgfTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByID0geyBzdWNjZXNzOiB0cnVlLCByZXN1bHQ6IChfYyA9IHlpZWxkIHQudGVzdCgpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAnT0snLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoeCkge1xuICAgICAgICAgICAgciA9IHsgc3VjY2VzczogZmFsc2UsIHJlc3VsdDogeC50b1N0cmluZygpLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdG9wID0gbmV3IERhdGUoKTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByLm1zID0gc3RvcCAtIHN0YXJ0O1xuICAgICAgICBpZiAoIXNraXApXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmluaXNoZWQgJHt0LmNhdGVnb3J5fSAke3QubmFtZX0gZm9yICR7ci5tc30gbXNgKTtcbiAgICAgICAgci5jYXRlZ29yeSA9IHQuY2F0ZWdvcnk7XG4gICAgICAgIHIubmFtZSA9IHQubmFtZTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgfSk7XG59XG4vKiBXYWl0cyBbbXNdIG1pbGxpc2Vjb25kcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KG1zKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgeWllbGQgbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgbXMpKTtcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhd2FpdENoZWNrKGNoZWNrSGFuZGxlciwgZXJyb3IgPSAnVGltZW91dCBleGNlZWRlZCcsIHdhaXQgPSA1MDAsIGludGVydmFsID0gNTApIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICB9LCB3YWl0KTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoZWNrSGFuZGxlcigpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlhbG9nUHJlc2VudChkaWFsb2dUaXRsZSkge1xuICAgIGNvbnN0IGRpYWxvZ3MgPSBERy5EaWFsb2cuZ2V0T3BlbkRpYWxvZ3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpYWxvZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGRpYWxvZ3NbaV0udGl0bGUgPT0gZGlhbG9nVGl0bGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRlc3RWaWV3ZXIodiwgZGYsIGRldGVjdFNlbWFudGljVHlwZXMgPSBmYWxzZSkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmIChkZXRlY3RTZW1hbnRpY1R5cGVzKVxuICAgICAgICAgICAgeWllbGQgZ3Jvay5kYXRhLmRldGVjdFNlbWFudGljVHlwZXMoZGYpO1xuICAgICAgICBjb25zdCB0diA9IGdyb2suc2hlbGwuYWRkVGFibGVWaWV3KGRmKTtcbiAgICAgICAgY29uc3Qgdmlld2VyTmFtZSA9IGBbbmFtZT12aWV3ZXItJHt2LnJlcGxhY2UoL1xccysvZywgJy0nKX0gaV1gO1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9IGAke3ZpZXdlck5hbWV9IGNhbnZhcywke3ZpZXdlck5hbWV9IHN2Zywke3ZpZXdlck5hbWV9IGltZyxcbiAgICAke3ZpZXdlck5hbWV9IGlucHV0LCR7dmlld2VyTmFtZX0gaDEsJHt2aWV3ZXJOYW1lfSBhYDtcbiAgICAgICAgY29uc3QgcmVzID0gW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgdmlld2VyID0gdHYuYWRkVmlld2VyKHYpO1xuICAgICAgICAgICAgeWllbGQgYXdhaXRDaGVjaygoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPT0gbnVsbCwgJ2Nhbm5vdCBsb2FkIHZpZXdlcicsIDMwMDApO1xuICAgICAgICAgICAgcmVzLnB1c2goQXJyYXkuZnJvbSh0di52aWV3ZXJzKS5sZW5ndGgpO1xuICAgICAgICAgICAgQXJyYXkuZnJvbShkZi5yb3coMCkuY2VsbHMpLmZvckVhY2goKGMpID0+IGMudmFsdWUgPSBudWxsKTtcbiAgICAgICAgICAgIGRmLnJvd3Muc2VsZWN0KChyb3cpID0+IHJvdy5pZHggPiAxICYmIHJvdy5pZHggPCA3KTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSA3OyBpIDwgMTI7IGkrKylcbiAgICAgICAgICAgICAgICBkZi5maWx0ZXIuc2V0KGksIGZhbHNlKTtcbiAgICAgICAgICAgIGRmLmN1cnJlbnRSb3dJZHggPSAxO1xuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB2aWV3ZXIuZ2V0T3B0aW9ucyh0cnVlKS5sb29rO1xuICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7fTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5maWx0ZXIoKGspID0+IHR5cGVvZiBwcm9wc1trXSA9PT0gJ2Jvb2xlYW4nKS5mb3JFYWNoKChrKSA9PiBuZXdQcm9wc1trXSA9ICFwcm9wc1trXSk7XG4gICAgICAgICAgICB2aWV3ZXIuc2V0T3B0aW9ucyhuZXdQcm9wcyk7XG4gICAgICAgICAgICB5aWVsZCBkZWxheSgyNTApO1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gdHYuc2F2ZUxheW91dCgpO1xuICAgICAgICAgICAgY29uc3Qgb2xkUHJvcHMgPSB2aWV3ZXIuZ2V0T3B0aW9ucygpLmxvb2s7XG4gICAgICAgICAgICB0di5yZXNldExheW91dCgpO1xuICAgICAgICAgICAgcmVzLnB1c2goQXJyYXkuZnJvbSh0di52aWV3ZXJzKS5sZW5ndGgpO1xuICAgICAgICAgICAgdHYubG9hZExheW91dChsYXlvdXQpO1xuICAgICAgICAgICAgeWllbGQgYXdhaXRDaGVjaygoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPT0gbnVsbCwgJ2Nhbm5vdCBsb2FkIHZpZXdlciBmcm9tIGxheW91dCcsIDMwMDApO1xuICAgICAgICAgICAgeWllbGQgZGVsYXkoMjUwKTtcbiAgICAgICAgICAgIHJlcy5wdXNoKEFycmF5LmZyb20odHYudmlld2VycykubGVuZ3RoKTtcbiAgICAgICAgICAgIHZpZXdlciA9IEFycmF5LmZyb20odHYudmlld2VycykuZmluZCgodikgPT4gdi50eXBlICE9PSAnR3JpZCcpO1xuICAgICAgICAgICAgZXhwZWN0QXJyYXkocmVzLCBbMiwgMSwgMl0pO1xuICAgICAgICAgICAgZXhwZWN0KEpTT04uc3RyaW5naWZ5KHZpZXdlci5nZXRPcHRpb25zKCkubG9vayksIEpTT04uc3RyaW5naWZ5KG9sZFByb3BzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICB0di5jbG9zZSgpO1xuICAgICAgICAgICAgZ3Jvay5zaGVsbC5jbG9zZVRhYmxlKGRmKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdWemRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SbGMzUXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFc1QwRkJUeXhMUVVGTExFbEJRVWtzVFVGQlRTeHRRa0ZCYlVJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4TlFVRk5MR2xDUVVGcFFpeERRVUZETzBGQlMzUkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzUjBGTFpDeEZRVUZGTEVOQlFVTTdRVUZGVUN4TlFVRk5MR2RDUVVGblFpeEhRVUZITEZsQlFWa3NRMEZCUXp0QlFVTjBReXhOUVVGTkxHRkJRV0VzUjBGQk5rSXNSVUZCUlN4RFFVRkRPMEZCUTI1RUxFMUJRVTBzUTBGQlF5eEpRVUZKTEdWQlFYVkNMRU5CUVVNN1FVRkZia01zVFVGQlRTeExRVUZYTEUxQlFVMHNRMEZMZEVJN1FVRk1SQ3hYUVVGcFFpeE5RVUZOTzBsQlEzSkNMRk5CUVdkQ0xFOUJRVThzUTBGQlF5eExRVUZWTEVWQlFVVXNTVUZCWVR0UlFVTXZReXhKUVVGSkxFdEJRVXNzU1VGQlNTeEpRVUZKTzFsQlEyWXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXhIUVVGSExFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeGpRVUZqTEVOQlFVTXNRMEZCUXp0SlFVTndSU3hEUVVGRE8wbEJTR1VzWTBGQlR5eFZRVWQwUWl4RFFVRkJPMEZCUTBnc1EwRkJReXhGUVV4blFpeE5RVUZOTEV0QlFVNHNUVUZCVFN4UlFVdDBRanRCUVZGRUxFMUJRVTBzVDBGQlR5eFhRVUZYTzBsQlNYUkNMRmxCUVZrc1kwRkJkMElzUlVGQlJTeE5RVUZuUWp0UlFVaDBSQ3h0UWtGQll5eEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTjBRaXhYUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETzFGQlIySXNTVUZCU1N4alFVRmpMRXRCUVVzc1UwRkJVenRaUVVGRkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NZMEZCWXl4RFFVRkRPMUZCUTNaRkxFbEJRVWtzVFVGQlRTeExRVUZMTEZOQlFWTTdXVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEpRVU5xUkN4RFFVRkRPMGxCUVVFc1EwRkJRenREUVVOSU8wRkJSVVFzVFVGQlRTeFBRVUZQTEVsQlFVazdTVUZOWml4WlFVRlpMRkZCUVdkQ0xFVkJRVVVzU1VGQldTeEZRVUZGTEVsQlFYZENMRVZCUVVVc1QwRkJjVUk3TzFGQlEzcEdMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzFGQlEzcENMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEycENMRTlCUVU4c1lVRkJVQ3hQUVVGUExHTkJRVkFzVDBGQlR5eEpRVUZRTEU5QlFVOHNSMEZCU3l4RlFVRkZMRVZCUVVNN1VVRkRaaXhOUVVGQkxFOUJRVThzUTBGQlF5eFBRVUZQTEc5RFFVRm1MRTlCUVU4c1EwRkJReXhQUVVGUExFZEJRVXNzUzBGQlN5eEZRVUZETzFGQlF6RkNMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzVDBGQlR5eERRVUZETzFGQlEzWkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzUjBGQmRVSXNSVUZCUlR0WlFVTnVReXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVOHNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRk8yZENRVU16UXl4SlFVRkpMRTFCUVUwc1IwRkJSeXhGUVVGRkxFTkJRVU03WjBKQlEyaENMRWxCUVVrN2IwSkJRMFlzVFVGQlRTeEhRVUZITEUxQlFVMHNTVUZCU1N4RlFVRkZMRU5CUVVNN2FVSkJRM1pDTzJkQ1FVRkRMRTlCUVU4c1EwRkJUU3hGUVVGRk8yOUNRVU5tTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRFdEdG5Ra0ZEUkN4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJFSXNRMEZCUXl4RFFVRkJMRU5CUVVNc1EwRkJRenRSUVVOTUxFTkJRVU1zUTBGQlFTeERRVUZETzBsQlEwb3NRMEZCUXp0RFFVTkdPMEZCUlVRc1RVRkJUU3hWUVVGblFpeFRRVUZUTEVOQlFVa3NTMEZCYjBJc1JVRkRja1FzVDBGQk1FSXNSVUZCUlN4UFFVRnRRaXhGUVVGRkxFdEJRV0VzUTBGQlF6czdVVUZETDBRc1NVRkJTU3hIUVVGcFFpeERRVUZETzFGQlEzUkNMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVN1dVRkRja01zUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJUdG5Ra0ZETjBJc1NVRkJTVHR2UWtGRFJpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN2FVSkJRMlk3WjBKQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVN2IwSkJRMVlzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOWU8yZENRVU5FTEVkQlFVY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRuUWtGRGJFSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRMmhDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTBnc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEWkN4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03WjBKQlEyeENMSGRFUVVGM1JEdG5Ra0ZEZUVRc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFsQlEzQkNMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVU5RTEU5QlFVOHNSVUZCUlN4RFFVRkRPMUZCUTFvc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBOQlFVRTdRVUZGUkN4TlFVRk5MRlZCUVZVc1NVRkJTU3hEUVVGRExFbEJRVmtzUlVGQlJTeEpRVUYzUWl4RlFVRkZMRTlCUVhGQ08wbEJRMmhHTEVsQlFVa3NTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxGTkJRVk03VVVGRGNrTXNTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU01UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eExRVUZMTEVsQlFVa3NVMEZCVXp0UlFVTXpReXhMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTXNTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOd1F5eExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1MwRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4bFFVRmxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNKR0xFTkJRVU03UVVGRlJDeG5Sa0ZCWjBZN1FVRkRhRVlzVFVGQlRTeFZRVUZWTEUxQlFVMHNRMEZCUXl4TlFVRlhMRVZCUVVVc1YwRkJaMElzU1VGQlNTeEZRVUZGTEV0QlFXTTdTVUZEZEVVc1NVRkJTU3hMUVVGTE8xRkJRMUFzUzBGQlN5eEhRVUZITEVkQlFVY3NTMEZCU3l4SlFVRkpMRU5CUVVNN08xRkJRMnhDTEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRhRUlzU1VGQlNTeE5RVUZOTEV0QlFVc3NVVUZCVVR0UlFVTnlRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEVkQlFVY3NTMEZCU3l4aFFVRmhMRkZCUVZFc1YwRkJWeXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzBGQlEzWkZMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzVjBGQlZ5eERRVUZETEUxQlFXTXNSVUZCUlN4UlFVRm5RaXhGUVVGRkxGTkJRVk1zUjBGQlJ5eExRVUZMTEVWQlFVVXNTMEZCWXp0SlFVTTNSaXhKUVVGSkxFTkJRVU1zVFVGQlRTeExRVUZMTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzU1VGQlNTeFJRVUZSTEV0QlFVc3NUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6bEZMRU5CUVVNc1RVRkJUU3hMUVVGTExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1NVRkJTU3hSUVVGUkxFdEJRVXNzVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJRemxGTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTFCUVUwc1EwRkJReXhIUVVGSExFbEJRVWtzVVVGQlVTeExRVUZMTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03VVVGRE1VWXNUMEZCVHp0SlFVTlVMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dEpRVU42UkN4TlFVRk5MRU5CUVVNc1VVRkJVU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEV0QlFVc3NZVUZCVEN4TFFVRkxMR05CUVV3c1MwRkJTeXhIUVVGSkxFVkJRVVVzYVVKQlFXbENMRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGNFVXNTVUZCU1N4RFFVRkRMRkZCUVZFN1VVRkRXQ3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEZsQlFWa3NVVUZCVVN4VFFVRlRMRTFCUVUwc2FVSkJRV2xDTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRkRVlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WFFVRlhMRU5CUVVNc1RVRkJhVUlzUlVGQlJTeFJRVUZ0UWl4RlFVRkZMRXRCUVdNN1NVRkRhRVlzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETzBsQlF6TkRMRTFCUVUwc1kwRkJZeXhIUVVGSExFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTTdTVUZEZGtNc1RVRkJUU3hEUVVGRExHTkJRV01zUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hIUVVGSExFdEJRVXNzWVVGQlRDeExRVUZMTEdOQlFVd3NTMEZCU3l4SFFVRkpMRVZCUVVVc1lVRkJZU3hEUVVGRExFTkJRVU03U1VGRmRFVXNTMEZCU3l4TlFVRk5MRTFCUVUwc1NVRkJTU3hSUVVGUkxFTkJRVU1zVDBGQlR5eEZRVUZGTzFGQlEzSkRMRTFCUVUwc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU40UkN4SlFVRkpMRmxCUVZrc1NVRkJTU3hKUVVGSk8xbEJRM1JDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hOUVVGTkxFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnlSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrN1dVRkRiRU1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRTFCUVUwc1EwRkJReXhKUVVGSkxHdENRVUZyUWl4TlFVRk5MRU5CUVVNc1NVRkJTU3hSUVVGUkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTJwSExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhuUWtGQlowSXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6VkNMRTFCUVUwc1YwRkJWeXhIUVVGSExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRlRU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN6dG5Ra0ZET1VJc1YwRkJWeXhEUVVGRExGZEJRVmNzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8ybENRVU0xUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRPMmRDUVVOMlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN08yZENRVVV2UXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0VFFVTnlRenRMUVVOR08wRkJRMGdzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WlFVRlpMRU5CUVVNc1RVRkJPRUlzUlVGQlJTeFJRVUZuUXp0SlFVTXpSaXhMUVVGTExFMUJRVTBzUTBGQlF5eFhRVUZYTEVWQlFVVXNZVUZCWVN4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnVSU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4WFFVRlhMRU5CUVVNN1dVRkRja01zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4elFrRkJjMElzVjBGQlZ5eGhRVUZoTEVOQlFVTXNRMEZCUXp0UlFVVnNSU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zU1VGQlNTeFhRVUZYTEZsQlFWa3NTMEZCU3l4SlFVRkpMR0ZCUVdFc1dVRkJXU3hMUVVGTE8xbEJRMmhGTEZkQlFWY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1lVRkJZU3hEUVVGRExFTkJRVU03WVVGRGNrTXNTVUZCU1N4WFFVRlhMRmxCUVZrc1RVRkJUU3hKUVVGSkxHRkJRV0VzV1VGQldTeE5RVUZOTzFsQlEzWkZMRmxCUVZrc1EwRkJReXhYUVVGWExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTTdZVUZEZEVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zWVVGQllTeERRVUZETzFsQlEzSkZMRmRCUVZjc1EwRkJReXhYUVVGWExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTTdZVUZEY2tNc1NVRkJTU3hYUVVGWExFbEJRVWtzWVVGQllUdFpRVU51UXl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHRkJRV0VzWVVGQllTeGpRVUZqTEZkQlFWY3NWMEZCVnl4WFFVRlhMRWRCUVVjc1EwRkJReXhEUVVGRE8wdEJRMnBITzBGQlEwZ3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hYUVVGWExFTkJRVU1zVFVGQmMwSXNSVUZCUlN4UlFVRjNRanRKUVVNeFJTeE5RVUZOTEZsQlFWa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRMjVETEUxQlFVMHNZMEZCWXl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRmRrTXNTVUZCU1N4WlFVRlpMRWxCUVVrc1kwRkJZeXhGUVVGRk8xRkJRMnhETEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc01FUkJRVEJFTEZsQlFWa3NSMEZCUnp0WlFVTjJSaXhuUTBGQlowTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1EwRkJRenRMUVVOeVJEdEpRVVZFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFpRVUZaTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRja01zU1VGQlNTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRmxCUVZrc1MwRkJTeXhKUVVGSkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNXVUZCV1N4TFFVRkxPMWxCUXpWRUxGZEJRVmNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEYWtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEZsQlFWa3NUVUZCVFN4SlFVRkpMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zV1VGQldTeE5RVUZOTzFsQlEyNUZMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRGJFTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXZRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEZsQlFWa3NVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4VFFVRlRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdTMEZEYWtZN1FVRkRTQ3hEUVVGRE8wRkJSVVFzTWtKQlFUSkNPMEZCUXpOQ0xFMUJRVTBzVlVGQlZTeFJRVUZSTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hMUVVGcFFqdEpRVU14UkN4bFFVRmxMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRek5DTEV0QlFVc3NSVUZCUlN4RFFVRkRPMEZCUTFZc1EwRkJRenRCUVVWRUxIVkdRVUYxUmp0QlFVTjJSaXhOUVVGTkxGVkJRVlVzVFVGQlRTeERRVUZETEUxQlFUSkNPMGxCUTJoRUxFbEJRVWtzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRk5CUVZNN1VVRkRja01zUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVNNVFpeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVU42UXl4RFFVRkRPMEZCUlVRc2MwWkJRWE5HTzBGQlEzUkdMRTFCUVUwc1ZVRkJWU3hMUVVGTExFTkJRVU1zUzBGQk1FSTdTVUZET1VNc1NVRkJTU3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NVMEZCVXp0UlFVTnlReXhMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUXpsQ0xFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRM1pETEVOQlFVTTdRVUZGUkN4VFFVRlRMRmxCUVZrc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlZUdEpRVU42UXl4UFFVRlBMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRka1FzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCWjBJc1lVRkJZU3hEUVVGRExGTkJRV2xDTEVWQlFVVXNUVUZCV1RzN1VVRkRha1VzU1VGQlNTeGhRVUZoTEVOQlFVTXNVMEZCVXl4RFFVRkRPMWxCUVVVc1QwRkJUenRSUVVOeVF5eE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVOc1JDeEpRVUZKTEZkQlFWY3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eExRVUZMTEZOQlFWTXNSVUZCUlR0WlFVTXZReXhoUVVGaExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMWxCUTJoRExFOUJRVTg3VTBGRFVqdFJRVU5FTEUxQlFVMHNaVUZCWlN4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVNelFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzVTBGQlV5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVNM1JpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRPMUZCUTI1RUxFdEJRVXNzVFVGQlRTeERRVUZETEVsQlFVa3NZVUZCWVN4RlFVRkZPMWxCUXpkQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZCUlN4VFFVRlRPMWxCUXk5RUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOeVF5eE5RVUZOTEZkQlFWY3NSMEZCU1N4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMmRDUVVOd1JDeEpRVUZKTEZWQlFWVXNRMEZCUXp0blFrRkRaaXhKUVVGSkxGZEJRVmNzU1VGQlNTeERRVUZCTEZkQlFWY3NZVUZCV0N4WFFVRlhMSFZDUVVGWUxGZEJRVmNzUTBGQlJTeE5RVUZOTEVsQlFVY3NRMEZCUXp0dlFrRkJSU3hWUVVGVkxFZEJRVWNzVjBGQlZ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVONFJTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVRkZMRXRCUVVzc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZGTEVkQlFWTXNSVUZCUlR0dlFrRkROMGNzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUTJwRkxEUkRRVUUwUXp0dlFrRkROVU1zU1VGQlNTeEhRVUZITEV0QlFVc3NTVUZCU1R0M1FrRkJSU3hOUVVGTkxGZEJRVmNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMmhFTEVOQlFVTXNRMEZCUVN4RlFVRkZMRVZCUVVNc1ZVRkJWU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTXZRanRUUVVOR08xRkJRMFFzWVVGQllTeERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOb1F5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwN1dVRkJSU3hQUVVGUE8xRkJRM0JETEZkQlFWY3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEhRVUZITEVWQlFVTXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1JVRkJReXhEUVVGRE8wbEJRek5FTEVOQlFVTTdRMEZCUVR0QlFVVkVMRTFCUVUwc1ZVRkJaMElzVVVGQlVTeERRVUZETEU5QlFYVkZPenM3TzFGQlEzQkhMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVUVzVFVGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMR05CUVdNc1JVRkJSU3d3UTBGQlJTeEpRVUZKTERCRFFVRkZMRTlCUVU4c1EwRkJRenRSUVVOb1JTeE5RVUZOTEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4UFFVRlBMRWRCUTNWRUxFVkJRVVVzUTBGQlF6dFJRVU4yUlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETzFGQlF6ZENMRTlCUVU4c1lVRkJVQ3hQUVVGUExHTkJRVkFzVDBGQlR5eEpRVUZRTEU5QlFVOHNSMEZCU3l4RlFVRkZMRVZCUVVNN1VVRkRaaXhaUVVGQkxFOUJRVkVzUlVGQlF5eFhRVUZYTEhWRFFVRllMRmRCUVZjc1IwRkJTeXhKUVVGSkxGZEJRVmNzUlVGQlJTeEZRVUZETzFGQlF6TkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTXhRaXhMUVVGTExFMUJRVTBzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlR0WlFVTm9SQ3hKUVVGSkxFTkJRVUVzVDBGQlR5eGhRVUZRTEU5QlFVOHNkVUpCUVZBc1QwRkJUeXhEUVVGRkxGRkJRVkVzUzBGQlNTeFRRVUZUTEVWQlFVVTdaMEpCUTJ4RExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzWVVGQlVDeFBRVUZQTEhWQ1FVRlFMRTlCUVU4c1EwRkJSU3hSUVVGUkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdiMEpCUTJoRkxGTkJRVk03WVVGRFdqdFpRVU5FTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eERRVUZETzFsQlEzWkRMRWxCUVVrN1owSkJRMFlzU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFR0dlFrRkRaQ3hOUVVGTkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0aFFVTjRRanRaUVVGRExFOUJRVThzUTBGQlRTeEZRVUZGTzJkQ1FVTm1MRXRCUVVzc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRPMkZCUTI1RE8xbEJRMFFzVFVGQlRTeERRVUZETEVkQlFVY3NUVUZCUVN4TFFVRkxMRU5CUVVNc1MwRkJTeXh0UTBGQlNTeEZRVUZGTEVOQlFVTTdXVUZETlVJc1RVRkJUU3hIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETzFsQlEyWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU12UWl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUExHRkJRVkFzVDBGQlR5eDFRa0ZCVUN4UFFVRlBMRU5CUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5vUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFMUJRVTBzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeFRRVUZUTEVOQlFVTXNRMEZCUXp0WlFVTXpSU3hKUVVGSk8yZENRVU5HTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzN2IwSkJRMklzVFVGQlRTeExRVUZMTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1lVRkRka0k3V1VGQlF5eFBRVUZQTEVOQlFVMHNSVUZCUlR0blFrRkRaaXhMUVVGTExFTkJRVU1zVjBGQlZ5eEhRVUZITEVOQlFVTXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRoUVVOc1F6dFpRVU5FTEVsQlFVa3NTMEZCU3l4RFFVRkRMRmRCUVZjN1owSkJRMjVDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFhRVUZYTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVNc1EwRkJReXhEUVVGRE8xbEJRemRITEVsQlFVa3NTMEZCU3l4RFFVRkRMRmxCUVZrN1owSkJRM0JDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFpRVUZaTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVNc1EwRkJReXhEUVVGRE8xbEJRemxITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU4yUWp0UlFVTkVMRWxCUVVrc1QwRkJUeXhEUVVGRExGZEJRVmNzUTBGQlF5eGpRVUZqTEVWQlFVVTdXVUZEZEVNc1RVRkJUU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZEYkVJc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU51UXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8yOUNRVU5ZTEZGQlFWRXNSVUZCUlN4elFrRkJjMEk3YjBKQlEyaERMRWxCUVVrc1JVRkJSU3haUVVGWk8yOUNRVU5zUWl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxPMmxDUVVOd1JTeERRVUZETEVOQlFVTTdZVUZEU2p0VFFVTkdPMUZCUTBRc1NVRkJTU3hQUVVGUExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNSVUZCUlR0WlFVTTVRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVNdlFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlF6TkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1dVRkRlRVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03V1VGRGFrUXNUVUZCVFN4WFFVRlhMRWRCUVVjc2VVWkJRWGxHTEVOQlFVTTdXVUZET1Vjc1RVRkJUU3hOUVVGTkxFZEJRVWM3WjBKQlEySXNWVUZCVlN4RlFVRkZMRlZCUVZVN1owSkJRM1JDTEU5QlFVOHNSVUZCUlN4UFFVRlBPMmRDUVVOb1FpeE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRTFCUVUwN1owSkJRM0pDTEU5QlFVOHNSVUZCUlN4UlFVRlJPMkZCUTJ4Q0xFTkJRVU03V1VGRFJpeExRVUZMTEUxQlFVMHNRMEZCUXl4SlFVRkpMRTFCUVUwN1owSkJRVVVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZGQlFWRXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkRMRU5CUVVNc1EwRkJRenRaUVVONlJpeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1JVRkJSU3hOUVVGTkxFVkJRVVVzWjBKQlFXZENMRU5CUVVNc1EwRkJRenRUUVVOdVJEdFJRVU5FTEU5QlFVOHNUMEZCVHl4RFFVRkRPenREUVVOb1FqdEJRVVZFTEZOQlFXVXNVVUZCVVN4RFFVRkRMRU5CUVU4c1JVRkJSU3hUUVVFMlFqczdPMUZCUXpWRUxFbEJRVWtzUTBGQmRVY3NRMEZCUXp0UlFVTTFSeXhOUVVGTkxFMUJRVTBzUjBGQlJ5eFRRVUZUTEVsQlFVa3NVMEZCVXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhUUVVGVExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKSExFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVRXNUVUZCUVN4RFFVRkRMRU5CUVVNc1QwRkJUeXd3UTBGQlJTeFZRVUZWTEV0QlFVa3NUVUZCVFN4RFFVRkRPMUZCUXpkRExFMUJRVTBzVlVGQlZTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZCTEVOQlFVTXNRMEZCUXl4UFFVRlBMREJEUVVGRkxGVkJRVlVzUTBGQlF6dFJRVU01UkN4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOUUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTJwRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRla0lzU1VGQlNUdFpRVU5HTEVsQlFVa3NTVUZCU1R0blFrRkRUaXhEUVVGRExFZEJRVWNzUlVGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hWUVVGWExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU03TzJkQ1FVVXZSQ3hEUVVGRExFZEJRVWNzUlVGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGQkxFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4dFEwRkJTU3hKUVVGSkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRExFTkJRVU03VTBGRE9VVTdVVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSVHRaUVVObUxFTkJRVU1zUjBGQlJ5eEZRVUZETEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eFJRVUZSTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVTXNRMEZCUXp0VFFVTnVSVHRSUVVORUxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRlRUlzWVVGQllUdFJRVU5pTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1NVRkJTU3hIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU53UWl4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOUUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEZGQlFWRXNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGFrVXNRMEZCUXl4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlEzaENMRU5CUVVNc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTm9RaXhQUVVGUExFTkJRVU1zUTBGQlF6czdRMEZEVmp0QlFVVkVMRFpDUVVFMlFqdEJRVU0zUWl4TlFVRk5MRlZCUVdkQ0xFdEJRVXNzUTBGQlF5eEZRVUZWT3p0UlFVTndReXhOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUTBGQlF6dERRVUZCTzBGQlJVUXNUVUZCVFN4VlFVRm5RaXhWUVVGVkxFTkJRVU1zV1VGQk1rSXNSVUZETVVRc1VVRkJaMElzYTBKQlFXdENMRVZCUVVVc1QwRkJaU3hIUVVGSExFVkJRVVVzVjBGQmJVSXNSVUZCUlRzN1VVRkROMFVzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU55UXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRk8yZENRVU5rTEdGQlFXRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRuUWtGRE1VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETTBJc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlExUXNZVUZCWVR0WlFVTmlMRTFCUVUwc1ZVRkJWU3hIUVVGWkxGZEJRVmNzUTBGQlF5eEhRVUZITEVWQlFVVTdaMEpCUXpORExFbEJRVWtzV1VGQldTeEZRVUZGTEVWQlFVVTdiMEpCUTJ4Q0xHRkJRV0VzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0dlFrRkRNVUlzVDBGQlR5eEZRVUZGTEVOQlFVTTdhVUpCUTFnN1dVRkRTQ3hEUVVGRExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdVVUZEWml4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOTUxFTkJRVU03UTBGQlFUdEJRVVZFTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1YwRkJiVUk3U1VGRGFrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0SlFVTXpReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTjJReXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRWxCUVVrc1YwRkJWenRaUVVOcVF5eFBRVUZQTEVsQlFVa3NRMEZCUXp0TFFVTm1PMGxCUTBRc1QwRkJUeXhMUVVGTExFTkJRVU03UVVGRFppeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRm5RaXhWUVVGVkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVWQlFXZENMRVZCUVVVc2MwSkJRU3RDTEV0QlFVczdPMUZCUTJoSExFbEJRVWtzYlVKQlFXMUNPMWxCUVVVc1RVRkJUU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEycEZMRTFCUVUwc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRM1pETEUxQlFVMHNWVUZCVlN4SFFVRkhMR2RDUVVGblFpeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETzFGQlF5OUVMRTFCUVUwc1VVRkJVU3hIUVVGSExFZEJRVWNzVlVGQlZTeFhRVUZYTEZWQlFWVXNVVUZCVVN4VlFVRlZPMDFCUTJwRkxGVkJRVlVzVlVGQlZTeFZRVUZWTEU5QlFVOHNWVUZCVlN4SlFVRkpMRU5CUVVNN1VVRkRlRVFzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRPMUZCUTJZc1NVRkJTVHRaUVVOR0xFbEJRVWtzVFVGQlRTeEhRVUZITEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE4wSXNUVUZCVFN4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJRemxFTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6bENMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEZUVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVNelJDeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOd1JDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkJSU3hGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRGNrUXNSVUZCUlN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGNrSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRNME1zVFVGQlRTeFJRVUZSTEVkQlFUUkNMRVZCUVVVc1EwRkJRenRaUVVNM1F5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NVMEZCVXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONFJ5eE5RVUZOTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xbEJRelZDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRVZCUVVVc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU12UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRPMWxCUXpGRExFVkJRVVVzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0WlFVTnFRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRkRUlzVFVGQlRTeFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4SlFVRkpMRVZCUXpsRUxHZERRVUZuUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRekZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBDTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGVFTXNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhOUVVGTkxFTkJRVVVzUTBGQlF6dFpRVU5vUlN4WFFVRlhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRelZDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkROVVU3WjBKQlFWTTdXVUZEVWl4RlFVRkZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFdDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dFRRVU16UWp0SlFVTklMRU5CUVVNN1EwRkJRU0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0FxSUdGeklHZHliMnNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJkeWIyc25PMXh1YVcxd2IzSjBJQ29nWVhNZ1JFY2dabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMMlJuSnp0Y2JtbHRjRzl5ZENCN1QySnpaWEoyWVdKc1pTd2dVM1ZpYzJOeWFYQjBhVzl1ZlNCbWNtOXRJQ2R5ZUdwekp6dGNibWx0Y0c5eWRDQlVhVzFsYjNWMElEMGdUbTlrWlVwVExsUnBiV1Z2ZFhRN1hHNXBiWEJ2Y25RZ2UwUmhkR0ZHY21GdFpYMGdabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMMlJuSnp0Y2JseHVaWGh3YjNKMElHTnZibk4wSUhSbGMzUnpPaUI3WEc0Z0lGdHJaWGs2SUhOMGNtbHVaMTA2SUh0Y2JpQWdJQ0IwWlhOMGN6ODZJRlJsYzNSYlhTd2dZbVZtYjNKbFB6b2dLQ2tnUFQ0Z1VISnZiV2x6WlR4MmIybGtQaXdnWVdaMFpYSS9PaUFvS1NBOVBpQlFjbTl0YVhObFBIWnZhV1ErTEZ4dUlDQWdJR0psWm05eVpWTjBZWFIxY3o4NklITjBjbWx1Wnl3Z1lXWjBaWEpUZEdGMGRYTS9PaUJ6ZEhKcGJtZGNiaUFnZlZ4dWZTQTlJSHQ5TzF4dVhHNWpiMjV6ZENCaGRYUnZWR1Z6ZEhORFlYUk9ZVzFsSUQwZ0owRjFkRzhnVkdWemRITW5PMXh1WTI5dWMzUWdkMkZ6VW1WbmFYTjBaWEpsWkRvZ2UxdHJaWGs2SUhOMGNtbHVaMTA2SUdKdmIyeGxZVzU5SUQwZ2UzMDdYRzVsZUhCdmNuUWdiR1YwSUdOMWNuSmxiblJEWVhSbFoyOXllVG9nYzNSeWFXNW5PMXh1WEc1bGVIQnZjblFnYm1GdFpYTndZV05sSUdGemMzVnlaU0I3WEc0Z0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzUk9kV3hzS0haaGJIVmxPaUJoYm5rc0lHNWhiV1UvT2lCemRISnBibWNwSUh0Y2JpQWdJQ0JwWmlBb2RtRnNkV1VnUFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdKSHR1WVcxbElEMDlJRzUxYkd3Z1B5QW5WbUZzZFdVbklEb2dibUZ0WlgwZ2JtOTBJR1JsWm1sdVpXUmdLVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZSbGMzUlBjSFJwYjI1eklIdGNiaUFnZEdsdFpXOTFkRDg2SUc1MWJXSmxjanRjYmlBZ2RXNW9ZVzVrYkdWa1JYaGpaWEIwYVc5dVZHbHRaVzkxZEQ4NklHNTFiV0psY2p0Y2JpQWdjMnRwY0ZKbFlYTnZiajg2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHTnNZWE56SUZSbGMzUkRiMjUwWlhoMElIdGNiaUFnWTJGMFkyaFZibWhoYm1Sc1pXUWdQU0IwY25WbE8xeHVJQ0J5WlhCdmNuUWdQU0JtWVd4elpUdGNibHh1SUNCamIyNXpkSEoxWTNSdmNpaGpZWFJqYUZWdWFHRnVaR3hsWkQ4NklHSnZiMnhsWVc0c0lISmxjRzl5ZEQ4NklHSnZiMnhsWVc0cElIdGNiaUFnSUNCcFppQW9ZMkYwWTJoVmJtaGhibVJzWldRZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZEdocGN5NWpZWFJqYUZWdWFHRnVaR3hsWkNBOUlHTmhkR05vVlc1b1lXNWtiR1ZrTzF4dUlDQWdJR2xtSUNoeVpYQnZjblFnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwY3k1eVpYQnZjblFnUFNCeVpYQnZjblE3WEc0Z0lIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJVWlhOMElIdGNiaUFnZEdWemREb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4aGJuaytPMXh1SUNCdVlXMWxPaUJ6ZEhKcGJtYzdYRzRnSUdOaGRHVm5iM0o1T2lCemRISnBibWM3WEc0Z0lHOXdkR2x2Ym5NL09pQlVaWE4wVDNCMGFXOXVjenRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWhqWVhSbFoyOXllVG9nYzNSeWFXNW5MQ0J1WVcxbE9pQnpkSEpwYm1jc0lIUmxjM1E2SUNncElEMCtJRkJ5YjIxcGMyVThZVzU1UGl3Z2IzQjBhVzl1Y3o4NklGUmxjM1JQY0hScGIyNXpLU0I3WEc0Z0lDQWdkR2hwY3k1allYUmxaMjl5ZVNBOUlHTmhkR1ZuYjNKNU8xeHVJQ0FnSUhSb2FYTXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lDQWdiM0IwYVc5dWN5QS9QejBnZTMwN1hHNGdJQ0FnYjNCMGFXOXVjeTUwYVcxbGIzVjBJRDgvUFNBek1EQXdNRHRjYmlBZ0lDQjBhR2x6TG05d2RHbHZibk1nUFNCdmNIUnBiMjV6TzF4dUlDQWdJSFJvYVhNdWRHVnpkQ0E5SUdGemVXNWpJQ2dwT2lCUWNtOXRhWE5sUEdGdWVUNGdQVDRnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0dGemVXNWpJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2RDQTlJQ2NuTzF4dUlDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQ0E5SUdGM1lXbDBJSFJsYzNRb0tUdGNiaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9aVG9nWVc1NUtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WcVpXTjBLR1VwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxjMjlzZG1Vb2NtVnpkV3gwS1R0Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUhSbGMzUkZkbVZ1ZER4VVBpaGxkbVZ1ZERvZ1QySnpaWEoyWVdKc1pUeFVQaXhjYmlBZ2FHRnVaR3hsY2pvZ0tHRnlaM002SUZRcElEMCtJSFp2YVdRc0lIUnlhV2RuWlhJNklDZ3BJRDArSUhadmFXUXNJRzF6T2lCdWRXMWlaWElnUFNBd0tUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnYkdWMElITjFZam9nVTNWaWMyTnlhWEIwYVc5dU8xeHVJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUhOMVlpQTlJR1YyWlc1MExuTjFZbk5qY21saVpTZ29ZWEpuY3lrZ1BUNGdlMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2FHRnVaR3hsY2loaGNtZHpLVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wS0dVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNCeVpYTnZiSFpsS0NkUFN5Y3BPMXh1SUNBZ0lIMHBPMXh1SUNBZ0lITmxkRlJwYldWdmRYUW9LQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ2MzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFhCeWIyMXBjMlV0Y21WcVpXTjBMV1Z5Y205eWMxeHVJQ0FnSUNBZ2NtVnFaV04wS0NkMGFXMWxiM1YwSnlrN1hHNGdJQ0FnZlN3Z2JYTXBPMXh1SUNBZ0lIUnlhV2RuWlhJb0tUdGNiaUFnZlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwWlhOMEtHNWhiV1U2SUhOMGNtbHVaeXdnZEdWemREb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4aGJuaytMQ0J2Y0hScGIyNXpQem9nVkdWemRFOXdkR2x2Ym5NcE9pQjJiMmxrSUh0Y2JpQWdhV1lnS0hSbGMzUnpXMk4xY25KbGJuUkRZWFJsWjI5eWVWMGdQVDBnZFc1a1pXWnBibVZrS1Z4dUlDQWdJSFJsYzNSelcyTjFjbkpsYm5SRFlYUmxaMjl5ZVYwZ1BTQjdmVHRjYmlBZ2FXWWdLSFJsYzNSelcyTjFjbkpsYm5SRFlYUmxaMjl5ZVYwdWRHVnpkSE1nUFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUhSbGMzUnpXMk4xY25KbGJuUkRZWFJsWjI5eWVWMHVkR1Z6ZEhNZ1BTQmJYVHRjYmlBZ2RHVnpkSE5iWTNWeWNtVnVkRU5oZEdWbmIzSjVYUzUwWlhOMGN5RXVjSFZ6YUNodVpYY2dWR1Z6ZENoamRYSnlaVzUwUTJGMFpXZHZjbmtzSUc1aGJXVXNJSFJsYzNRc0lHOXdkR2x2Ym5NcEtUdGNibjFjYmx4dUx5b2dWR1Z6ZEhNZ2RIZHZJRzlpYW1WamRITWdabTl5SUdWeGRXRnNhWFI1TENCMGFISnZkM01nWVc0Z1pYaGpaWEIwYVc5dUlHbG1JSFJvWlhrZ1lYSmxJRzV2ZENCbGNYVmhiQzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbGVIQmxZM1FvWVdOMGRXRnNPaUJoYm5rc0lHVjRjR1ZqZEdWa09pQmhibmtnUFNCMGNuVmxMQ0JsY25KdmNqODZJSE4wY21sdVp5azZJSFp2YVdRZ2UxeHVJQ0JwWmlBb1pYSnliM0lwWEc0Z0lDQWdaWEp5YjNJZ1BTQmdKSHRsY25KdmNuMHNJR0E3WEc0Z0lHVnNjMlVnWlhKeWIzSWdQU0FuSnp0Y2JpQWdhV1lnS0dGamRIVmhiQ0FoUFQwZ1pYaHdaV04wWldRcFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0FrZTJWeWNtOXlmVVY0Y0dWamRHVmtJRndpSkh0bGVIQmxZM1JsWkgxY0lpd2daMjkwSUZ3aUpIdGhZM1IxWVd4OVhDSmdLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjRjR1ZqZEVac2IyRjBLR0ZqZEhWaGJEb2diblZ0WW1WeUxDQmxlSEJsWTNSbFpEb2diblZ0WW1WeUxDQjBiMnhsY21GdVkyVWdQU0F3TGpBd01Td2daWEp5YjNJL09pQnpkSEpwYm1jcE9pQjJiMmxrSUh0Y2JpQWdhV1lnS0NoaFkzUjFZV3dnUFQwOUlFNTFiV0psY2k1UVQxTkpWRWxXUlY5SlRrWkpUa2xVV1NBbUppQmxlSEJsWTNSbFpDQTlQVDBnVG5WdFltVnlMbEJQVTBsVVNWWkZYMGxPUmtsT1NWUlpLU0I4ZkZ4dUlDQWdJQ0FnS0dGamRIVmhiQ0E5UFQwZ1RuVnRZbVZ5TGs1RlIwRlVTVlpGWDBsT1JrbE9TVlJaSUNZbUlHVjRjR1ZqZEdWa0lEMDlQU0JPZFcxaVpYSXVUa1ZIUVZSSlZrVmZTVTVHU1U1SlZGa3BJSHg4WEc0Z0lDQWdJQ0FvWVdOMGRXRnNJRDA5UFNCT2RXMWlaWEl1VG1GT0lDWW1JR1Y0Y0dWamRHVmtJRDA5UFNCT2RXMWlaWEl1VG1GT0tTQjhmQ0FvYVhOT1lVNG9ZV04wZFdGc0tTQW1KaUJwYzA1aFRpaGxlSEJsWTNSbFpDa3BLVnh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdZMjl1YzNRZ1lYSmxSWEYxWVd3Z1BTQk5ZWFJvTG1GaWN5aGhZM1IxWVd3Z0xTQmxlSEJsWTNSbFpDa2dQQ0IwYjJ4bGNtRnVZMlU3WEc0Z0lHVjRjR1ZqZENoaGNtVkZjWFZoYkN3Z2RISjFaU3dnWUNSN1pYSnliM0lnUHo4Z0p5ZDlJQ2gwYjJ4bGNtRnVZMlVnUFNBa2UzUnZiR1Z5WVc1alpYMHBZQ2s3WEc0Z0lHbG1JQ2doWVhKbFJYRjFZV3dwWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkZlSEJsWTNSbFpDQWtlMlY0Y0dWamRHVmtmU3dnWjI5MElDUjdZV04wZFdGc2ZTQW9kRzlzWlhKaGJtTmxJRDBnSkh0MGIyeGxjbUZ1WTJWOUtXQXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYaHdaV04wVkdGaWJHVW9ZV04wZFdGc09pQkVZWFJoUm5KaGJXVXNJR1Y0Y0dWamRHVmtPaUJFWVhSaFJuSmhiV1VzSUdWeWNtOXlQem9nYzNSeWFXNW5LVG9nZG05cFpDQjdYRzRnSUdOdmJuTjBJR1Y0Y0dWamRHVmtVbTkzUTI5MWJuUWdQU0JsZUhCbFkzUmxaQzV5YjNkRGIzVnVkRHRjYmlBZ1kyOXVjM1FnWVdOMGRXRnNVbTkzUTI5MWJuUWdQU0JoWTNSMVlXd3VjbTkzUTI5MWJuUTdYRzRnSUdWNGNHVmpkQ2hoWTNSMVlXeFNiM2REYjNWdWRDd2daWGh3WldOMFpXUlNiM2REYjNWdWRDd2dZQ1I3WlhKeWIzSWdQejhnSnlkOUxDQnliM2NnWTI5MWJuUmdLVHRjYmx4dUlDQm1iM0lnS0dOdmJuTjBJR052YkhWdGJpQnZaaUJsZUhCbFkzUmxaQzVqYjJ4MWJXNXpLU0I3WEc0Z0lDQWdZMjl1YzNRZ1lXTjBkV0ZzUTI5c2RXMXVJRDBnWVdOMGRXRnNMbU52YkhWdGJuTXVZbmxPWVcxbEtHTnZiSFZ0Ymk1dVlXMWxLVHRjYmlBZ0lDQnBaaUFvWVdOMGRXRnNRMjlzZFcxdUlEMDlJRzUxYkd3cFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUVOdmJIVnRiaUFrZTJOdmJIVnRiaTV1WVcxbGZTQnViM1FnWm05MWJtUmdLVHRjYmlBZ0lDQnBaaUFvWVdOMGRXRnNRMjlzZFcxdUxuUjVjR1VnSVQwZ1kyOXNkVzF1TG5SNWNHVXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFTnZiSFZ0YmlBa2UyTnZiSFZ0Ymk1dVlXMWxmU0IwZVhCbElHVjRjR1ZqZEdWa0lDUjdZMjlzZFcxdUxuUjVjR1Y5SUdkdmRDQWtlMkZqZEhWaGJFTnZiSFZ0Ymk1MGVYQmxmV0FwTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWlhod1pXTjBaV1JTYjNkRGIzVnVkRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMllXeDFaU0E5SUdOdmJIVnRiaTVuWlhRb2FTazdYRzRnSUNBZ0lDQmpiMjV6ZENCaFkzUjFZV3hXWVd4MVpTQTlJR0ZqZEhWaGJFTnZiSFZ0Ymk1blpYUW9hU2s3WEc0Z0lDQWdJQ0JwWmlBb1kyOXNkVzF1TG5SNWNHVWdQVDBnUkVjdVZGbFFSUzVHVEU5QlZDbGNiaUFnSUNBZ0lDQWdaWGh3WldOMFJteHZZWFFvWVdOMGRXRnNWbUZzZFdVc0lIWmhiSFZsTENBd0xqQXdNREVzSUdWeWNtOXlLVHRjYmlBZ0lDQWdJR1ZzYzJVZ2FXWWdLR052YkhWdGJpNTBlWEJsSUQwOUlFUkhMbFJaVUVVdVJFRlVSVjlVU1UxRktWeHVJQ0FnSUNBZ0lDQmxlSEJsWTNRb1lXTjBkV0ZzVm1Gc2RXVXVhWE5UWVcxbEtIWmhiSFZsS1N3Z2RISjFaU3dnWlhKeWIzSXBPMXh1SUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCbGVIQmxZM1FvWVdOMGRXRnNWbUZzZFdVc0lIWmhiSFZsTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZUhCbFkzUlBZbXBsWTNRb1lXTjBkV0ZzT2lCN0lGdHJaWGs2SUhOMGNtbHVaMTA2SUdGdWVTQjlMQ0JsZUhCbFkzUmxaRG9nZXlCYmEyVjVPaUJ6ZEhKcGJtZGRPaUJoYm5rZ2ZTa2dlMXh1SUNCbWIzSWdLR052Ym5OMElGdGxlSEJsWTNSbFpFdGxlU3dnWlhod1pXTjBaV1JXWVd4MVpWMGdiMllnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9aWGh3WldOMFpXUXBLU0I3WEc0Z0lDQWdhV1lnS0NGaFkzUjFZV3d1YUdGelQzZHVVSEp2Y0dWeWRIa29aWGh3WldOMFpXUkxaWGtwS1Z4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JGZUhCbFkzUmxaQ0J3Y205d1pYSjBlU0JjSWlSN1pYaHdaV04wWldSTFpYbDlYQ0lnYm05MElHWnZkVzVrWUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JoWTNSMVlXeFdZV3gxWlNBOUlHRmpkSFZoYkZ0bGVIQmxZM1JsWkV0bGVWMDdYRzRnSUNBZ2FXWWdLR0ZqZEhWaGJGWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1FYSnlZWGtnSmlZZ1pYaHdaV04wWldSV1lXeDFaU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVLVnh1SUNBZ0lDQWdaWGh3WldOMFFYSnlZWGtvWVdOMGRXRnNWbUZzZFdVc0lHVjRjR1ZqZEdWa1ZtRnNkV1VwTzF4dUlDQWdJR1ZzYzJVZ2FXWWdLR0ZqZEhWaGJGWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1QySnFaV04wSUNZbUlHVjRjR1ZqZEdWa1ZtRnNkV1VnYVc1emRHRnVZMlZ2WmlCUFltcGxZM1FwWEc0Z0lDQWdJQ0JsZUhCbFkzUlBZbXBsWTNRb1lXTjBkV0ZzVm1Gc2RXVXNJR1Y0Y0dWamRHVmtWbUZzZFdVcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0U1MWJXSmxjaTVwYzBacGJtbDBaU2hoWTNSMVlXeFdZV3gxWlNrZ0ppWWdUblZ0WW1WeUxtbHpSbWx1YVhSbEtHVjRjR1ZqZEdWa1ZtRnNkV1VwS1Z4dUlDQWdJQ0FnWlhod1pXTjBSbXh2WVhRb1lXTjBkV0ZzVm1Gc2RXVXNJR1Y0Y0dWamRHVmtWbUZzZFdVcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0dGamRIVmhiRlpoYkhWbElDRTlJR1Y0Y0dWamRHVmtWbUZzZFdVcFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUVWNGNHVmpkR1ZrSUNna2UyVjRjR1ZqZEdWa1ZtRnNkV1Y5S1NCbWIzSWdhMlY1SUNja2UyVjRjR1ZqZEdWa1MyVjVmU2NzSUdkdmRDQW9KSHRoWTNSMVlXeFdZV3gxWlgwcFlDazdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0Y0dWamRFRnljbUY1S0dGamRIVmhiRG9nUVhKeVlYbE1hV3RsUEdGdWVUNHNJR1Y0Y0dWamRHVmtPaUJCY25KaGVVeHBhMlU4WVc1NVBpa2dlMXh1SUNCamIyNXpkQ0JoWTNSMVlXeE1aVzVuZEdnZ1BTQmhZM1IxWVd3dWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCbGVIQmxZM1JsWkV4bGJtZDBhQ0E5SUdWNGNHVmpkR1ZrTG14bGJtZDBhRHRjYmx4dUlDQnBaaUFvWVdOMGRXRnNUR1Z1WjNSb0lDRTlJR1Y0Y0dWamRHVmtUR1Z1WjNSb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCQmNuSmhlWE1nWVhKbElHOW1JR1JwWm1abGNtVnVkQ0JzWlc1bmRHZzZJR0ZqZEhWaGJDQmhjbkpoZVNCc1pXNW5kR2dnYVhNZ0pIdGhZM1IxWVd4TVpXNW5kR2g5SUdBZ0sxeHVJQ0FnSUNBZ1lHRnVaQ0JsZUhCbFkzUmxaQ0JoY25KaGVTQnNaVzVuZEdnZ2FYTWdKSHRsZUhCbFkzUmxaRXhsYm1kMGFIMWdLVHRjYmlBZ2ZWeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1lXTjBkV0ZzVEdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9ZV04wZFdGc1cybGRJR2x1YzNSaGJtTmxiMllnUVhKeVlYa2dKaVlnWlhod1pXTjBaV1JiYVYwZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNsY2JpQWdJQ0FnSUdWNGNHVmpkRUZ5Y21GNUtHRmpkSFZoYkZ0cFhTd2daWGh3WldOMFpXUmJhVjBwTzF4dUlDQWdJR1ZzYzJVZ2FXWWdLR0ZqZEhWaGJGdHBYU0JwYm5OMFlXNWpaVzltSUU5aWFtVmpkQ0FtSmlCbGVIQmxZM1JsWkZ0cFhTQnBibk4wWVc1alpXOW1JRTlpYW1WamRDbGNiaUFnSUNBZ0lHVjRjR1ZqZEU5aWFtVmpkQ2hoWTNSMVlXeGJhVjBzSUdWNGNHVmpkR1ZrVzJsZEtUdGNiaUFnSUNCbGJITmxJR2xtSUNoaFkzUjFZV3hiYVYwZ0lUMGdaWGh3WldOMFpXUmJhVjBwWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRVY0Y0dWamRHVmtJQ1I3Wlhod1pXTjBaV1JiYVYxOUlHRjBJSEJ2YzJsMGFXOXVJQ1I3YVgwc0lHZHZkQ0FrZTJGamRIVmhiRnRwWFgxZ0tUdGNiaUFnZlZ4dWZWeHVYRzR2S2lCRVpXWnBibVZ6SUdFZ2RHVnpkQ0J6ZFdsMFpTNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqWVhSbFoyOXllU2hqWVhSbFoyOXllVG9nYzNSeWFXNW5MQ0IwWlhOMGN6b2dLQ2tnUFQ0Z2RtOXBaQ2s2SUhadmFXUWdlMXh1SUNCamRYSnlaVzUwUTJGMFpXZHZjbmtnUFNCallYUmxaMjl5ZVR0Y2JpQWdkR1Z6ZEhNb0tUdGNibjFjYmx4dUx5b2dSR1ZtYVc1bGN5QmhJR1oxYm1OMGFXOXVJSFJ2SUdKbElHVjRaV04xZEdWa0lHSmxabTl5WlNCMGFHVWdkR1Z6ZEhNZ2FXNGdkR2hwY3lCallYUmxaMjl5ZVNCaGNtVWdaWGhsWTNWMFpXUXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWW1WbWIzSmxLR0psWm05eVpUb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4MmIybGtQaWs2SUhadmFXUWdlMXh1SUNCcFppQW9kR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFNBOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ2RHVnpkSE5iWTNWeWNtVnVkRU5oZEdWbmIzSjVYU0E5SUh0OU8xeHVJQ0IwWlhOMGMxdGpkWEp5Wlc1MFEyRjBaV2R2Y25sZExtSmxabTl5WlNBOUlHSmxabTl5WlR0Y2JuMWNibHh1THlvZ1JHVm1hVzVsY3lCaElHWjFibU4wYVc5dUlIUnZJR0psSUdWNFpXTjFkR1ZrSUdGbWRHVnlJSFJvWlNCMFpYTjBjeUJwYmlCMGFHbHpJR05oZEdWbmIzSjVJR0Z5WlNCbGVHVmpkWFJsWkM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmhablJsY2loaFpuUmxjam9nS0NrZ1BUNGdVSEp2YldselpUeDJiMmxrUGlrNklIWnZhV1FnZTF4dUlDQnBaaUFvZEdWemRITmJZM1Z5Y21WdWRFTmhkR1ZuYjNKNVhTQTlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdkR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFNBOUlIdDlPMXh1SUNCMFpYTjBjMXRqZFhKeVpXNTBRMkYwWldkdmNubGRMbUZtZEdWeUlEMGdZV1owWlhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdGa1pFNWhiV1Z6Y0dGalpTaHpPaUJ6ZEhKcGJtY3NJR1k2SUVSSExrWjFibU1wT2lCemRISnBibWNnZTF4dUlDQnlaWFIxY200Z2N5NXlaWEJzWVdObEtHNWxkeUJTWldkRmVIQW9aaTV1WVcxbExDQW5aMmtuS1N3Z1ppNXVjVTVoYldVcE8xeHVmVnh1WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdhVzVwZEVGMWRHOVVaWE4wY3lod1lXTnJZV2RsU1dRNklITjBjbWx1Wnl3Z2JXOWtkV3hsUHpvZ1lXNTVLU0I3WEc0Z0lHbG1JQ2gzWVhOU1pXZHBjM1JsY21Wa1czQmhZMnRoWjJWSlpGMHBJSEpsZEhWeWJqdGNiaUFnWTI5dWMzUWdiVzlrZFd4bFZHVnpkSE1nUFNCdGIyUjFiR1VnUHlCdGIyUjFiR1V1ZEdWemRITWdPaUIwWlhOMGN6dGNiaUFnYVdZZ0tHMXZaSFZzWlZSbGMzUnpXMkYxZEc5VVpYTjBjME5oZEU1aGJXVmRJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNCM1lYTlNaV2RwYzNSbGNtVmtXM0JoWTJ0aFoyVkpaRjBnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1SUNCamIyNXpkQ0J0YjJSMWJHVkJkWFJ2VkdWemRITWdQU0JiWFR0Y2JpQWdZMjl1YzNRZ2NHRmphMFoxYm1OMGFXOXVjeUE5SUdGM1lXbDBJR2R5YjJzdVpHRndhUzVtZFc1amRHbHZibk11Wm1sc2RHVnlLR0J3WVdOcllXZGxMbWxrSUQwZ1hDSWtlM0JoWTJ0aFoyVkpaSDFjSW1BcExteHBjM1FvS1R0Y2JpQWdZMjl1YzNRZ2NtVm5JRDBnYm1WM0lGSmxaMFY0Y0NndkxpcGNYQzljWEM5Y1hITXFjMnRwY0ZzNlhGeHpYU29vTGlvcEpDOHBPMXh1SUNCbWIzSWdLR052Ym5OMElHWWdiMllnY0dGamEwWjFibU4wYVc5dWN5a2dlMXh1SUNBZ0lHTnZibk4wSUhSbGMzUnpJRDBnWmk1dmNIUnBiMjV6V3lkMFpYTjBKMTA3WEc0Z0lDQWdhV1lnS0NFb2RHVnpkSE1nSmlZZ1FYSnlZWGt1YVhOQmNuSmhlU2gwWlhOMGN5a2dKaVlnZEdWemRITXViR1Z1WjNSb0tTa2dZMjl1ZEdsdWRXVTdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBaWE4wY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2MydHBjRkpsWVhOdmJuTWdQU0FvZEdWemRITmJhVjBnWVhNZ2MzUnlhVzVuS1M1dFlYUmphQ2h5WldjcE8xeHVJQ0FnSUNBZ2JHVjBJSE5yYVhCU1pXRnpiMjQ3WEc0Z0lDQWdJQ0JwWmlBb2MydHBjRkpsWVhOdmJuTWdKaVlnYzJ0cGNGSmxZWE52Ym5NL0xteGxibWQwYUNBK0lERXBJSE5yYVhCU1pXRnpiMjRnUFNCemEybHdVbVZoYzI5dWMxc3hYVHRjYmlBZ0lDQWdJRzF2WkhWc1pVRjFkRzlVWlhOMGN5NXdkWE5vS0c1bGR5QlVaWE4wS0dGMWRHOVVaWE4wYzBOaGRFNWhiV1VzSUhSbGMzUnpMbXhsYm1kMGFDQTlQVDBnTVNBL0lHWXVibUZ0WlNBNklHQWtlMll1Ym1GdFpYMGdKSHRwSUNzZ01YMWdMQ0JoYzNsdVl5QW9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKbGN5QTlJR0YzWVdsMElHZHliMnN1Wm5WdVkzUnBiMjV6TG1WMllXd29ZV1JrVG1GdFpYTndZV05sS0hSbGMzUnpXMmxkTENCbUtTazdYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxMGFISnZkeTFzYVhSbGNtRnNYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTWdJVDA5SUhSeWRXVXBJSFJvY205M0lHQkdZV2xzWldRNklDUjdkR1Z6ZEhOYmFWMTlZRHRjYmlBZ0lDQWdJSDBzSUh0emEybHdVbVZoYzI5dU9pQnphMmx3VW1WaGMyOXVmU2twTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0IzWVhOU1pXZHBjM1JsY21Wa1czQmhZMnRoWjJWSlpGMGdQU0IwY25WbE8xeHVJQ0JwWmlBb0lXMXZaSFZzWlVGMWRHOVVaWE4wY3k1c1pXNW5kR2dwSUhKbGRIVnlianRjYmlBZ2JXOWtkV3hsVkdWemRITmJZWFYwYjFSbGMzUnpRMkYwVG1GdFpWMGdQU0I3ZEdWemRITTZJRzF2WkhWc1pVRjFkRzlVWlhOMGMzMDdYRzU5WEc1Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJ5ZFc1VVpYTjBjeWh2Y0hScGIyNXpQem9nZTJOaGRHVm5iM0o1UHpvZ2MzUnlhVzVuTENCMFpYTjBQem9nYzNSeWFXNW5MQ0IwWlhOMFEyOXVkR1Y0ZEQ4NklGUmxjM1JEYjI1MFpYaDBmU2tnZTF4dUlDQmpiMjV6ZENCd1lXTnJZV2RsWHlBOUlHZHliMnN1Wm5WdVkzUnBiMjV6TG1kbGRFTjFjbkpsYm5SRFlXeHNLQ2svTG1aMWJtTS9MbkJoWTJ0aFoyVTdYRzRnSUdGM1lXbDBJR2x1YVhSQmRYUnZWR1Z6ZEhNb2NHRmphMkZuWlY4dWFXUXBPMXh1SUNCamIyNXpkQ0J5WlhOMWJIUnpPaUI3SUdOaGRHVm5iM0o1UHpvZ2MzUnlhVzVuTENCdVlXMWxQem9nYzNSeWFXNW5MQ0J6ZFdOalpYTnpPaUJpYjI5c1pXRnVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkRG9nYzNSeWFXNW5MQ0J0Y3pvZ2JuVnRZbVZ5TENCemEybHdjR1ZrT2lCaWIyOXNaV0Z1SUgxYlhTQTlJRnRkTzF4dUlDQmpiMjV6YjJ4bExteHZaeWhnVW5WdWJtbHVaeUIwWlhOMGMyQXBPMXh1SUNCdmNIUnBiMjV6SUQ4L1BTQjdmVHRjYmlBZ2IzQjBhVzl1Y3lFdWRHVnpkRU52Ym5SbGVIUWdQejg5SUc1bGR5QlVaWE4wUTI5dWRHVjRkQ2dwTzF4dUlDQm5jbTlyTG5Ob1pXeHNMbXhoYzNSRmNuSnZjaUE5SUNjbk8xeHVJQ0JtYjNJZ0tHTnZibk4wSUZ0clpYa3NJSFpoYkhWbFhTQnZaaUJQWW1wbFkzUXVaVzUwY21sbGN5aDBaWE4wY3lrcElIdGNiaUFnSUNCcFppQW9iM0IwYVc5dWN6OHVZMkYwWldkdmNua2dJVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCcFppQW9JV3RsZVM1MGIweHZkMlZ5UTJGelpTZ3BMbk4wWVhKMGMxZHBkR2dvYjNCMGFXOXVjejh1WTJGMFpXZHZjbmt1ZEc5TWIzZGxja05oYzJVb0tTa3BYRzRnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpiMnhsTG14dlp5aGdVM1JoY25SbFpDQWtlMnRsZVgwZ1kyRjBaV2R2Y25sZ0tUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdhV1lnS0haaGJIVmxMbUpsWm05eVpTbGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RtRnNkV1V1WW1WbWIzSmxLQ2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9lRG9nWVc1NUtTQjdYRzRnSUNBZ0lDQjJZV3gxWlM1aVpXWnZjbVZUZEdGMGRYTWdQU0I0TG5SdlUzUnlhVzVuS0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElIUWdQU0IyWVd4MVpTNTBaWE4wY3lBL1B5QmJYVHRjYmlBZ0lDQmpiMjV6ZENCeVpYTWdQU0JiWFR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhRdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnlaWE11Y0hWemFDaGhkMkZwZENCbGVHVmpWR1Z6ZENoMFcybGRMQ0J2Y0hScGIyNXpQeTUwWlhOMEtTazdYRzRnSUNBZ1kyOXVjM1FnWkdGMFlTQTlJQ2hoZDJGcGRDQlFjbTl0YVhObExtRnNiQ2h5WlhNcEtTNW1hV3gwWlhJb0tHUXBJRDArSUdRdWNtVnpkV3gwSUNFOUlDZHphMmx3Y0dWa0p5azdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaUzVoWm5SbGNpbGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RtRnNkV1V1WVdaMFpYSW9LVHRjYmlBZ0lDQjlJR05oZEdOb0lDaDRPaUJoYm5rcElIdGNiaUFnSUNBZ0lIWmhiSFZsTG1GbWRHVnlVM1JoZEhWeklEMGdlQzUwYjFOMGNtbHVaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZG1Gc2RXVXVZV1owWlhKVGRHRjBkWE1wWEc0Z0lDQWdJQ0JrWVhSaExuQjFjMmdvZTJOaGRHVm5iM0o1T2lCclpYa3NJRzVoYldVNklDZHBibWwwSnl3Z2NtVnpkV3gwT2lCMllXeDFaUzVoWm5SbGNsTjBZWFIxY3l3Z2MzVmpZMlZ6Y3pvZ1ptRnNjMlVzSUcxek9pQXdMQ0J6YTJsd2NHVmtPaUJtWVd4elpYMHBPMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTNWlaV1p2Y21WVGRHRjBkWE1wWEc0Z0lDQWdJQ0JrWVhSaExuQjFjMmdvZTJOaGRHVm5iM0o1T2lCclpYa3NJRzVoYldVNklDZHBibWwwSnl3Z2NtVnpkV3gwT2lCMllXeDFaUzVpWldadmNtVlRkR0YwZFhNc0lITjFZMk5sYzNNNklHWmhiSE5sTENCdGN6b2dNQ3dnYzJ0cGNIQmxaRG9nWm1Gc2MyVjlLVHRjYmlBZ0lDQnlaWE4xYkhSekxuQjFjMmdvTGk0dVpHRjBZU2s3WEc0Z0lIMWNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWRHVnpkRU52Ym5SbGVIUXVZMkYwWTJoVmJtaGhibVJzWldRcElIdGNiaUFnSUNCaGQyRnBkQ0JrWld4aGVTZ3hNREF3S1R0Y2JpQWdJQ0JwWmlBb1ozSnZheTV6YUdWc2JDNXNZWE4wUlhKeWIzSXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnY21WemRXeDBjeTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdZMkYwWldkdmNuazZJQ2RWYm1oaGJtUnNaV1FnWlhoalpYQjBhVzl1Y3ljc1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUNkbGVHTmxjSFJwYjI1ekp5eGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4ME9pQm5jbTlyTG5Ob1pXeHNMbXhoYzNSRmNuSnZjaXdnYzNWalkyVnpjem9nWm1Gc2MyVXNJRzF6T2lBd0xDQnphMmx3Y0dWa09pQm1ZV3h6WlZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdsbUlDaHZjSFJwYjI1ekxuUmxjM1JEYjI1MFpYaDBMbkpsY0c5eWRDa2dlMXh1SUNBZ0lHTnZibk4wSUd4dloyZGxjaUE5SUc1bGR5QkVSeTVNYjJkblpYSW9LVHRjYmlBZ0lDQmpiMjV6ZENCemRXTmpaWE56Wm5Wc0lEMGdjbVZ6ZFd4MGN5NW1hV3gwWlhJb0tISXBJRDArSUhJdWMzVmpZMlZ6Y3lrdWJHVnVaM1JvTzF4dUlDQWdJR052Ym5OMElITnJhWEJ3WldRZ1BTQnlaWE4xYkhSekxtWnBiSFJsY2lnb2Npa2dQVDRnY2k1emEybHdjR1ZrS1M1c1pXNW5kR2c3WEc0Z0lDQWdZMjl1YzNRZ1ptRnBiR1ZrSUQwZ2NtVnpkV3gwY3k1bWFXeDBaWElvS0hJcElEMCtJQ0Z5TG5OMVkyTmxjM01wTzF4dUlDQWdJR052Ym5OMElHUmxjMk55YVhCMGFXOXVJRDBnSjFCaFkydGhaMlVnUUhCaFkydGhaMlVnZEdWemRHVmtPaUJBYzNWalkyVnpjMloxYkNCemRXTmpaWE56Wm5Wc0xDQkFjMnRwY0hCbFpDQnphMmx3Y0dWa0xDQkFabUZwYkdWa0lHWmhhV3hsWkNCMFpYTjBjeWM3WEc0Z0lDQWdZMjl1YzNRZ2NHRnlZVzF6SUQwZ2UxeHVJQ0FnSUNBZ2MzVmpZMlZ6YzJaMWJEb2djM1ZqWTJWemMyWjFiQ3hjYmlBZ0lDQWdJSE5yYVhCd1pXUTZJSE5yYVhCd1pXUXNYRzRnSUNBZ0lDQm1ZV2xzWldRNklHWmhhV3hsWkM1c1pXNW5kR2dzWEc0Z0lDQWdJQ0J3WVdOcllXZGxPaUJ3WVdOcllXZGxYMXh1SUNBZ0lIMDdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnlJRzltSUdaaGFXeGxaQ2tnVDJKcVpXTjBMbUZ6YzJsbmJpaHdZWEpoYlhNc0lIdGJZQ1I3Y2k1allYUmxaMjl5ZVgwZ2ZDQWtlM0l1Ym1GdFpYMWdYVG9nY2k1eVpYTjFiSFI5S1R0Y2JpQWdJQ0JzYjJkblpYSXViRzluS0dSbGMyTnlhWEIwYVc5dUxDQndZWEpoYlhNc0lDZHdZV05yWVdkbExYUmxjM1JsWkNjcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFJ6TzF4dWZWeHVYRzVoYzNsdVl5Qm1kVzVqZEdsdmJpQmxlR1ZqVkdWemRDaDBPaUJVWlhOMExDQndjbVZrYVdOaGRHVTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQnNaWFFnY2pvZ2V5QmpZWFJsWjI5eWVUODZJSE4wY21sdVp5d2dibUZ0WlQ4NklITjBjbWx1Wnl3Z2MzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYml3Z2NtVnpkV3gwT2lCemRISnBibWNzSUcxek9pQnVkVzFpWlhJc0lITnJhWEJ3WldRNklHSnZiMnhsWVc0Z2ZUdGNiaUFnWTI5dWMzUWdabWxzZEdWeUlEMGdjSEpsWkdsallYUmxJQ0U5SUhWdVpHVm1hVzVsWkNBbUppQW9JWFF1Ym1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwTG5OMFlYSjBjMWRwZEdnb2NISmxaR2xqWVhSbExuUnZURzkzWlhKRFlYTmxLQ2twS1R0Y2JpQWdZMjl1YzNRZ2MydHBjQ0E5SUhRdWIzQjBhVzl1Y3o4dWMydHBjRkpsWVhOdmJpQjhmQ0JtYVd4MFpYSTdYRzRnSUdOdmJuTjBJSE5yYVhCU1pXRnpiMjRnUFNCbWFXeDBaWElnUHlBbmMydHBjSEJsWkNjZ09pQjBMbTl3ZEdsdmJuTS9Mbk5yYVhCU1pXRnpiMjQ3WEc0Z0lHbG1JQ2doYzJ0cGNDbGNiaUFnSUNCamIyNXpiMnhsTG14dlp5aGdVM1JoY25SbFpDQWtlM1F1WTJGMFpXZHZjbmw5SUNSN2RDNXVZVzFsZldBcE8xeHVJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUhSeWVTQjdYRzRnSUNBZ2FXWWdLSE5yYVhBcFhHNGdJQ0FnSUNCeUlEMGdlM04xWTJObGMzTTZJSFJ5ZFdVc0lISmxjM1ZzZERvZ2MydHBjRkpsWVhOdmJpRXNJRzF6T2lBd0xDQnphMmx3Y0dWa09pQjBjblZsZlR0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeUlEMGdlM04xWTJObGMzTTZJSFJ5ZFdVc0lISmxjM1ZzZERvZ1lYZGhhWFFnZEM1MFpYTjBLQ2tnUHo4Z0owOUxKeXdnYlhNNklEQXNJSE5yYVhCd1pXUTZJR1poYkhObGZUdGNiaUFnZlNCallYUmphQ0FvZURvZ1lXNTVLU0I3WEc0Z0lDQWdjaUE5SUh0emRXTmpaWE56T2lCbVlXeHpaU3dnY21WemRXeDBPaUI0TG5SdlUzUnlhVzVuS0Nrc0lHMXpPaUF3TENCemEybHdjR1ZrT2lCbVlXeHpaWDA3WEc0Z0lIMWNiaUFnWTI5dWMzUWdjM1J2Y0NBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUM4dklFQjBjeTFwWjI1dmNtVmNiaUFnY2k1dGN5QTlJSE4wYjNBZ0xTQnpkR0Z5ZER0Y2JpQWdhV1lnS0NGemEybHdLVnh1SUNBZ0lHTnZibk52YkdVdWJHOW5LR0JHYVc1cGMyaGxaQ0FrZTNRdVkyRjBaV2R2Y25sOUlDUjdkQzV1WVcxbGZTQm1iM0lnSkh0eUxtMXpmU0J0YzJBcE8xeHVJQ0J5TG1OaGRHVm5iM0o1SUQwZ2RDNWpZWFJsWjI5eWVUdGNiaUFnY2k1dVlXMWxJRDBnZEM1dVlXMWxPMXh1SUNCeVpYUjFjbTRnY2p0Y2JuMWNibHh1THlvZ1YyRnBkSE1nVzIxelhTQnRhV3hzYVhObFkyOXVaSE1nS2k5Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJrWld4aGVTaHRjem9nYm5WdFltVnlLU0I3WEc0Z0lHRjNZV2wwSUc1bGR5QlFjbTl0YVhObEtDaHlLU0E5UGlCelpYUlVhVzFsYjNWMEtISXNJRzF6S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQmhkMkZwZEVOb1pXTnJLR05vWldOclNHRnVaR3hsY2pvZ0tDa2dQVDRnWW05dmJHVmhiaXhjYmlBZ1pYSnliM0k2SUhOMGNtbHVaeUE5SUNkVWFXMWxiM1YwSUdWNFkyVmxaR1ZrSnl3Z2QyRnBkRG9nYm5WdFltVnlJRDBnTlRBd0xDQnBiblJsY25aaGJEb2diblZ0WW1WeUlEMGdOVEFwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabExDQnlaV3BsWTNRcElEMCtJSHRjYmlBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lIdGNiaUFnSUNBZ0lHTnNaV0Z5U1c1MFpYSjJZV3dvYVc1MFpYSjJZV3hKWkNrN1hHNGdJQ0FnSUNCeVpXcGxZM1FvYm1WM0lFVnljbTl5S0dWeWNtOXlLU2s3WEc0Z0lDQWdmU3dnZDJGcGRDazdYRzRnSUNBZ0x5OGdRSFJ6TFdsbmJtOXlaVnh1SUNBZ0lHTnZibk4wSUdsdWRHVnlkbUZzU1dRNklGUnBiV1Z2ZFhRZ1BTQnpaWFJKYm5SbGNuWmhiQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnBaaUFvWTJobFkydElZVzVrYkdWeUtDa3BJSHRjYmlBZ0lDQWdJQ0FnWTJ4bFlYSkpiblJsY25aaGJDaHBiblJsY25aaGJFbGtLVHRjYmlBZ0lDQWdJQ0FnY21WemIyeDJaU2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzSUdsdWRHVnlkbUZzS1R0Y2JpQWdmU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMFJwWVd4dloxQnlaWE5sYm5Rb1pHbGhiRzluVkdsMGJHVTZJSE4wY21sdVp5azZJR0p2YjJ4bFlXNGdlMXh1SUNCamIyNXpkQ0JrYVdGc2IyZHpJRDBnUkVjdVJHbGhiRzluTG1kbGRFOXdaVzVFYVdGc2IyZHpLQ2s3WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR2xoYkc5bmN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJR2xtSUNoa2FXRnNiMmR6VzJsZExuUnBkR3hsSUQwOUlHUnBZV3h2WjFScGRHeGxLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdkR1Z6ZEZacFpYZGxjaWgyT2lCemRISnBibWNzSUdSbU9pQkVSeTVFWVhSaFJuSmhiV1VzSUdSbGRHVmpkRk5sYldGdWRHbGpWSGx3WlhNNklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQnBaaUFvWkdWMFpXTjBVMlZ0WVc1MGFXTlVlWEJsY3lrZ1lYZGhhWFFnWjNKdmF5NWtZWFJoTG1SbGRHVmpkRk5sYldGdWRHbGpWSGx3WlhNb1pHWXBPMXh1SUNCamIyNXpkQ0IwZGlBOUlHZHliMnN1YzJobGJHd3VZV1JrVkdGaWJHVldhV1YzS0dSbUtUdGNiaUFnWTI5dWMzUWdkbWxsZDJWeVRtRnRaU0E5SUdCYmJtRnRaVDEyYVdWM1pYSXRKSHQyTG5KbGNHeGhZMlVvTDF4Y2N5c3ZaeXdnSnkwbktYMGdhVjFnTzF4dUlDQmpiMjV6ZENCelpXeGxZM1J2Y2lBOUlHQWtlM1pwWlhkbGNrNWhiV1Y5SUdOaGJuWmhjeXdrZTNacFpYZGxjazVoYldWOUlITjJaeXdrZTNacFpYZGxjazVoYldWOUlHbHRaeXhjYmlBZ0lDQWtlM1pwWlhkbGNrNWhiV1Y5SUdsdWNIVjBMQ1I3ZG1sbGQyVnlUbUZ0WlgwZ2FERXNKSHQyYVdWM1pYSk9ZVzFsZlNCaFlEdGNiaUFnWTI5dWMzUWdjbVZ6SUQwZ1cxMDdYRzRnSUhSeWVTQjdYRzRnSUNBZ2JHVjBJSFpwWlhkbGNpQTlJSFIyTG1Ga1pGWnBaWGRsY2loMktUdGNiaUFnSUNCaGQyRnBkQ0JoZDJGcGRFTm9aV05yS0NncElEMCtJR1J2WTNWdFpXNTBMbkYxWlhKNVUyVnNaV04wYjNJb2MyVnNaV04wYjNJcElDRTlQU0J1ZFd4c0xGeHVJQ0FnSUNBZ0oyTmhibTV2ZENCc2IyRmtJSFpwWlhkbGNpY3NJRE13TURBcE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCQmNuSmhlUzVtY205dEtHUm1Mbkp2ZHlnd0tTNWpaV3hzY3lrdVptOXlSV0ZqYUNnb1l5a2dQVDRnWXk1MllXeDFaU0E5SUc1MWJHd3BPMXh1SUNBZ0lHUm1Mbkp2ZDNNdWMyVnNaV04wS0NoeWIzY3BJRDArSUhKdmR5NXBaSGdnUGlBeElDWW1JSEp2ZHk1cFpIZ2dQQ0EzS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ056c2dhU0E4SURFeU95QnBLeXNwSUdSbUxtWnBiSFJsY2k1elpYUW9hU3dnWm1Gc2MyVXBPMXh1SUNBZ0lHUm1MbU4xY25KbGJuUlNiM2RKWkhnZ1BTQXhPMXh1SUNBZ0lHTnZibk4wSUhCeWIzQnpJRDBnZG1sbGQyVnlMbWRsZEU5d2RHbHZibk1vZEhKMVpTa3ViRzl2YXp0Y2JpQWdJQ0JqYjI1emRDQnVaWGRRY205d2N6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1ltOXZiR1ZoYmo0Z1BTQjdmVHRjYmlBZ0lDQlBZbXBsWTNRdWEyVjVjeWh3Y205d2N5a3VabWxzZEdWeUtDaHJLU0E5UGlCMGVYQmxiMllnY0hKdmNITmJhMTBnUFQwOUlDZGliMjlzWldGdUp5a3VabTl5UldGamFDZ29heWtnUFQ0Z2JtVjNVSEp2Y0hOYmExMGdQU0FoY0hKdmNITmJhMTBwTzF4dUlDQWdJSFpwWlhkbGNpNXpaWFJQY0hScGIyNXpLRzVsZDFCeWIzQnpLVHRjYmlBZ0lDQmhkMkZwZENCa1pXeGhlU2d5TlRBcE8xeHVJQ0FnSUdOdmJuTjBJR3hoZVc5MWRDQTlJSFIyTG5OaGRtVk1ZWGx2ZFhRb0tUdGNiaUFnSUNCamIyNXpkQ0J2YkdSUWNtOXdjeUE5SUhacFpYZGxjaTVuWlhSUGNIUnBiMjV6S0NrdWJHOXZhenRjYmlBZ0lDQjBkaTV5WlhObGRFeGhlVzkxZENncE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCMGRpNXNiMkZrVEdGNWIzVjBLR3hoZVc5MWRDazdYRzRnSUNBZ1lYZGhhWFFnWVhkaGFYUkRhR1ZqYXlnb0tTQTlQaUJrYjJOMWJXVnVkQzV4ZFdWeWVWTmxiR1ZqZEc5eUtITmxiR1ZqZEc5eUtTQWhQVDBnYm5Wc2JDeGNiaUFnSUNBZ0lDZGpZVzV1YjNRZ2JHOWhaQ0IyYVdWM1pYSWdabkp2YlNCc1lYbHZkWFFuTENBek1EQXdLVHRjYmlBZ0lDQmhkMkZwZENCa1pXeGhlU2d5TlRBcE8xeHVJQ0FnSUhKbGN5NXdkWE5vS0VGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3ViR1Z1WjNSb0tUdGNiaUFnSUNCMmFXVjNaWElnUFNCQmNuSmhlUzVtY205dEtIUjJMblpwWlhkbGNuTXBMbVpwYm1Rb0tIWXBJRDArSUhZdWRIbHdaU0FoUFQwZ0owZHlhV1FuS1NFN1hHNGdJQ0FnWlhod1pXTjBRWEp5WVhrb2NtVnpMQ0JiTWl3Z01Td2dNbDBwTzF4dUlDQWdJR1Y0Y0dWamRDaEtVMDlPTG5OMGNtbHVaMmxtZVNoMmFXVjNaWEl1WjJWMFQzQjBhVzl1Y3lncExteHZiMnNwTENCS1UwOU9Mbk4wY21sdVoybG1lU2h2YkdSUWNtOXdjeWtwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lIUjJMbU5zYjNObEtDazdYRzRnSUNBZ1ozSnZheTV6YUdWc2JDNWpiRzl6WlZSaFlteGxLR1JtS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIERHIGZyb20gXCJkYXRhZ3Jvay1hcGkvZGdcIjtcbmltcG9ydCB7IHJ1blRlc3RzLCB0ZXN0cyB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3Rlc3QnO1xuZXhwb3J0IGxldCBfcGFja2FnZSA9IG5ldyBERy5QYWNrYWdlKCk7XG5leHBvcnQgeyB0ZXN0cyB9O1xuLy9uYW1lOiB0ZXN0XG4vL2lucHV0OiBzdHJpbmcgY2F0ZWdvcnkge29wdGlvbmFsOiB0cnVlfVxuLy9pbnB1dDogc3RyaW5nIHRlc3Qge29wdGlvbmFsOiB0cnVlfVxuLy9pbnB1dDogb2JqZWN0IHRlc3RDb250ZXh0IHtvcHRpb25hbDogdHJ1ZX1cbi8vb3V0cHV0OiBkYXRhZnJhbWUgcmVzdWx0XG5leHBvcnQgZnVuY3Rpb24gdGVzdChjYXRlZ29yeSwgdGVzdCwgdGVzdENvbnRleHQpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgcnVuVGVzdHMoeyBjYXRlZ29yeSwgdGVzdCwgdGVzdENvbnRleHQgfSk7XG4gICAgICAgIHJldHVybiBERy5EYXRhRnJhbWUuZnJvbU9iamVjdHMoZGF0YSk7XG4gICAgfSk7XG59XG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsImV4cG9ydHMiLCJkZWZpbml0aW9uIiwia2V5IiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIm9iaiIsInByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwiREciLCJncm9rIiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJ0ZXN0cyIsImF1dG9UZXN0c0NhdE5hbWUiLCJ3YXNSZWdpc3RlcmVkIiwiYXNzdXJlIiwibm90TnVsbCIsIm5hbWUiLCJFcnJvciIsIlRlc3RDb250ZXh0IiwiY29uc3RydWN0b3IiLCJjYXRjaFVuaGFuZGxlZCIsInJlcG9ydCIsInRoaXMiLCJ1bmRlZmluZWQiLCJUZXN0IiwiY2F0ZWdvcnkiLCJ0ZXN0Iiwib3B0aW9ucyIsIl9hIiwidGltZW91dCIsImFkZE5hbWVzcGFjZSIsInMiLCJmIiwicmVwbGFjZSIsIlJlZ0V4cCIsIm5xTmFtZSIsInJ1blRlc3RzIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJwYWNrYWdlXyIsImZ1bmMiLCJwYWNrYWdlIiwicGFja2FnZUlkIiwibW9kdWxlIiwibW9kdWxlVGVzdHMiLCJtb2R1bGVBdXRvVGVzdHMiLCJwYWNrRnVuY3Rpb25zIiwibGlzdCIsInJlZyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImkiLCJza2lwUmVhc29ucyIsIm1hdGNoIiwic2tpcFJlYXNvbiIsInB1c2giLCJpbml0QXV0b1Rlc3RzIiwiaWQiLCJyZXN1bHRzIiwiY29uc29sZSIsImxvZyIsInRlc3RDb250ZXh0IiwiZW50cmllcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsImJlZm9yZSIsIngiLCJiZWZvcmVTdGF0dXMiLCJ0b1N0cmluZyIsInQiLCJyZXMiLCJleGVjVGVzdCIsImRhdGEiLCJhbGwiLCJmaWx0ZXIiLCJkIiwiYWZ0ZXIiLCJhZnRlclN0YXR1cyIsInN1Y2Nlc3MiLCJtcyIsInNraXBwZWQiLCJyIiwic2V0VGltZW91dCIsImRlbGF5IiwibG9nZ2VyIiwic3VjY2Vzc2Z1bCIsImZhaWxlZCIsImRlc2NyaXB0aW9uIiwicGFyYW1zIiwiYXNzaWduIiwicHJlZGljYXRlIiwic2tpcCIsInN0YXJ0IiwiRGF0ZSIsInN0b3AiLCJfcGFja2FnZSJdLCJzb3VyY2VSb290IjoiIn0=
|