serve-sim 0.1.12 → 0.1.13

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/dist/serve-sim.js CHANGED
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  var We=Object.defineProperty;var Ge=(e)=>e;function Me(e,_){this[e]=Ge.bind(null,_)}var Pe=(e,_)=>{for(var t in _)We(e,t,{get:_[t],enumerable:!0,configurable:!0,set:Me.bind(_,t)})};var ee=(e,_)=>()=>(e&&(_=e(e=0)),_);var U="AXe is not installed. Install it from https://github.com/cameroncooke/AXe.";import{execFile as je}from"child_process";import{promisify as Qe}from"util";async function __(e,_){let{stdout:t}=await e_(e,_,{timeout:Je,maxBuffer:8388608});return t.toString()}function t_(e){return e[0]?.frame??{x:0,y:0,width:1,height:1}}function s_(e,_){return Math.abs(e.x-_.x)<0.5&&Math.abs(e.y-_.y)<0.5&&Math.abs(e.width-_.width)<0.5&&Math.abs(e.height-_.height)<0.5}function S_(e){let _=t_(e),t=[],s=(S,i)=>{if(t.length>=I)return;let C=S.frame;if(!s_(C,_))t.push({id:S.AXUniqueId??i,path:i,label:S.AXLabel??"",value:S.AXValue??"",role:S.role_description,type:S.type,enabled:S.enabled!==!1,frame:C});for(let n=0;n<S.children.length&&t.length<I;n++)s(S.children[n],`${i}.${n}`)};for(let S=0;S<e.length&&t.length<I;S++)s(e[S],String(S));return{screen:{width:_.width,height:_.height},elements:t}}async function i_(e){let _=await __("axe",["describe-ui","--udid",e]);return S_(JSON.parse(_))}function r_(e){return e?.code==="ENOENT"}function C_(e){return e?.errors?.includes(U)??!1}function o_(e){return e.elements.length>0&&e.screen.width>1&&e.screen.height>1}async function n_(e){let _=[];try{let t=await i_(e);if(!o_(t))throw Error(`axe returned ${t.elements.length} elements in ${t.screen.width}x${t.screen.height} AX space`);return{...t,errors:_}}catch(t){let s=t;_.push(r_(t)?U:s.stderr||s.message||String(t))}return{screen:{width:1,height:1},elements:[],errors:_}}function A_(e){return`data: ${JSON.stringify(e)}
3
3
 
4
- `}function $_({udid:e}){let _=new Set,t=null,s=null,S=Se,i=!1,C=()=>{if(_.size===0||t)return;t=setTimeout(A,S)},A=async()=>{if(t=null,i||_.size===0){C();return}i=!0;try{let n=await n_(e),r=A_(n);if(r!==s){for(let o of _)o.write(r);S=Se}else S=Math.min(S*2,Ze);if(s=r,C_(n))S=Ye}finally{i=!1,C()}};return{addClient(n){if(_.add(n),s)n.write(s);return A(),()=>{if(_.delete(n),_.size===0&&t)clearTimeout(t),t=null}}}}function ie(){let e=new Map;return{get(_){let t=e.get(_);if(t)return t;let s=$_({udid:_});return e.set(_,s),s}}}var Je=3500,I=500,Se=500,Ze=2000,Ye=15000,e_;var re=ee(()=>{e_=Qe(je)});var Ae={};Pe(Ae,{simMiddleware:()=>b_,selectServeSimState:()=>T});import{readdirSync as y_,readFileSync as a_,existsSync as c_,unlinkSync as Ce}from"fs";import{execSync as R_,spawn as oe,exec as B_,execFile as f_}from"child_process";import{tmpdir as p_}from"os";import{join as X}from"path";function d_(e){return!E_.test(e)}function u_(e,_){if(D_.has(_))return Promise.resolve(!0);return new Promise((t)=>{f_("xcrun",["simctl","get_app_container",e,_,"app"],{timeout:2000},(s,S)=>{if(s)return t(!1);let i=S.trim();if(!i)return t(!1);for(let C of T_)if(c_(X(i,C)))return t(!0);t(!1)})})}function l_(){let e=Date.now();if(h.booted&&e-h.at<1500)return h.booted;try{let _=R_("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let S of Object.values(t.devices))for(let i of S)if(i.state==="Booted")s.add(i.udid);return h={at:e,booted:s},s}catch{return null}}function d(){let e;try{e=y_(ne).filter((s)=>s.startsWith("server-")&&s.endsWith(".json"))}catch{return[]}let _=l_(),t=[];for(let s of e){let S=X(ne,s);try{let i=JSON.parse(a_(S,"utf-8"));try{process.kill(i.pid,0)}catch{try{Ce(S)}catch{}continue}if(_&&!_.has(i.device)){try{process.kill(i.pid,"SIGTERM")}catch{}try{Ce(S)}catch{}continue}t.push(i)}catch{}}return t}function T(e,_){if(_)return e.find((t)=>t.device===_)??null;return e[0]??null}function v_(e){let _=e.indexOf("?");if(_===-1)return null;return new URLSearchParams(e.slice(_+1)).get("device")}function q(e,_,t){return`${`${e}${_}`}?device=${encodeURIComponent(t)}`}function g_(){if(!k)k=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciBIMSx3LEY5LG04LGswLEQ5LE45LFA5LGgxLFYxLHQwLFU5LGYxLGcxLG0xLEk5LHoxPXt9LFcxPVtdLHg4PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksbjA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBPMChYLEcpe2Zvcih2YXIgSiBpbiBHKVhbSl09R1tKXTtyZXR1cm4gWH1mdW5jdGlvbiBkMShYKXtYJiZYLnBhcmVudE5vZGUmJlgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChYKX1mdW5jdGlvbiBIMChYLEcsSil7dmFyIFkscSxaLF89e307Zm9yKFogaW4gRylaPT0ia2V5Ij9ZPUdbWl06Wj09InJlZiI/cT1HW1pdOl9bWl09R1taXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihfLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9IMS5jYWxsKGFyZ3VtZW50cywyKTpKKSx0eXBlb2YgWD09ImZ1bmN0aW9uIiYmWC5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKFogaW4gWC5kZWZhdWx0UHJvcHMpX1taXT09PXZvaWQgMCYmKF9bWl09WC5kZWZhdWx0UHJvcHNbWl0pO3JldHVybiBMMShYLF8sWSxxLG51bGwpfWZ1bmN0aW9uIEwxKFgsRyxKLFkscSl7dmFyIFo9e3R5cGU6WCxwcm9wczpHLGtleTpKLHJlZjpZLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpxPT1udWxsPysrRjk6cSxfX2k6LTEsX191OjB9O3JldHVybiBxPT1udWxsJiZ3LnZub2RlIT1udWxsJiZ3LnZub2RlKFopLFp9ZnVuY3Rpb24gbChYKXtyZXR1cm4gWC5jaGlsZHJlbn1mdW5jdGlvbiB0KFgsRyl7dGhpcy5wcm9wcz1YLHRoaXMuY29udGV4dD1HfWZ1bmN0aW9uIHgwKFgsRyl7aWYoRz09bnVsbClyZXR1cm4gWC5fXz94MChYLl9fLFguX19pKzEpOm51bGw7Zm9yKHZhciBKO0c8WC5fX2subGVuZ3RoO0crKylpZigoSj1YLl9fa1tHXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mIFgudHlwZT09ImZ1bmN0aW9uIj94MChYKTpudWxsfWZ1bmN0aW9uIHA4KFgpe2lmKFguX19QJiZYLl9fZCl7dmFyIEc9WC5fX3YsSj1HLl9fZSxZPVtdLHE9W10sWj1PMCh7fSxHKTtaLl9fdj1HLl9fdisxLHcudm5vZGUmJncudm5vZGUoWiksdTEoWC5fX1AsWixHLFguX19uLFguX19QLm5hbWVzcGFjZVVSSSwzMiZHLl9fdT9bSl06bnVsbCxZLEo9PW51bGw/eDAoRyk6SiwhISgzMiZHLl9fdSkscSksWi5fX3Y9Ry5fX3YsWi5fXy5fX2tbWi5fX2ldPVosVDkoWSxaLHEpLEcuX19lPUcuX189bnVsbCxaLl9fZSE9SiYmTTkoWil9fWZ1bmN0aW9uIE05KFgpe2lmKChYPVguX18pIT1udWxsJiZYLl9fYyE9bnVsbClyZXR1cm4gWC5fX2U9WC5fX2MuYmFzZT1udWxsLFguX19rLnNvbWUoZnVuY3Rpb24oRyl7aWYoRyE9bnVsbCYmRy5fX2UhPW51bGwpcmV0dXJuIFguX19lPVguX19jLmJhc2U9Ry5fX2V9KSxNOShYKX1mdW5jdGlvbiB4MShYKXsoIVguX19kJiYoWC5fX2Q9ITApJiZrMC5wdXNoKFgpJiYhSzEuX19yKyt8fEQ5IT13LmRlYm91bmNlUmVuZGVyaW5nKSYmKChEOT13LmRlYm91bmNlUmVuZGVyaW5nKXx8TjkpKEsxKX1mdW5jdGlvbiBLMSgpe3RyeXtmb3IodmFyIFgsRz0xO2swLmxlbmd0aDspazAubGVuZ3RoPkcmJmswLnNvcnQoUDkpLFg9azAuc2hpZnQoKSxHPWswLmxlbmd0aCxwOChYKX1maW5hbGx5e2swLmxlbmd0aD1LMS5fX3I9MH19ZnVuY3Rpb24gQTkoWCxHLEosWSxxLFosXywkLHosTCxCKXt2YXIgVixILE8sVSxQLEYsQSxJPVkmJlkuX19rfHxXMSxzPUcubGVuZ3RoO2Zvcih6PWY4KEosRyxJLHoscyksVj0wO1Y8cztWKyspKE89Si5fX2tbVl0pIT1udWxsJiYoSD1PLl9faSE9LTEmJklbTy5fX2ldfHx6MSxPLl9faT1WLEY9dTEoWCxPLEgscSxaLF8sJCx6LEwsQiksVT1PLl9fZSxPLnJlZiYmSC5yZWYhPU8ucmVmJiYoSC5yZWYmJmMxKEgucmVmLG51bGwsTyksQi5wdXNoKE8ucmVmLE8uX19jfHxVLE8pKSxQPT1udWxsJiZVIT1udWxsJiYoUD1VKSwoQT0hISg0Jk8uX191KSl8fEguX19rPT09Ty5fX2s/KHo9dzkoTyx6LFgsQSksQSYmSC5fX2UmJihILl9fZT1udWxsKSk6dHlwZW9mIE8udHlwZT09ImZ1bmN0aW9uIiYmRiE9PXZvaWQgMD96PUY6VSYmKHo9VS5uZXh0U2libGluZyksTy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9UCx6fWZ1bmN0aW9uIGY4KFgsRyxKLFkscSl7dmFyIFosXywkLHosTCxCPUoubGVuZ3RoLFY9QixIPTA7Zm9yKFguX19rPUFycmF5KHEpLFo9MDtaPHE7WisrKShfPUdbWl0pIT1udWxsJiZ0eXBlb2YgXyE9ImJvb2xlYW4iJiZ0eXBlb2YgXyE9ImZ1bmN0aW9uIj8odHlwZW9mIF89PSJzdHJpbmcifHx0eXBlb2YgXz09Im51bWJlciJ8fHR5cGVvZiBfPT0iYmlnaW50Inx8Xy5jb25zdHJ1Y3Rvcj09U3RyaW5nP189WC5fX2tbWl09TDEobnVsbCxfLG51bGwsbnVsbCxudWxsKTpuMChfKT9fPVguX19rW1pdPUwxKGwse2NoaWxkcmVuOl99LG51bGwsbnVsbCxudWxsKTpfLmNvbnN0cnVjdG9yPT09dm9pZCAwJiZfLl9fYj4wP189WC5fX2tbWl09TDEoXy50eXBlLF8ucHJvcHMsXy5rZXksXy5yZWY/Xy5yZWY6bnVsbCxfLl9fdik6WC5fX2tbWl09Xyx6PVorSCxfLl9fPVgsXy5fX2I9WC5fX2IrMSwkPW51bGwsKEw9Xy5fX2k9ZDgoXyxKLHosVikpIT0tMSYmKFYtLSwoJD1KW0xdKSYmKCQuX191fD0yKSksJD09bnVsbHx8JC5fX3Y9PW51bGw/KEw9PS0xJiYocT5CP0gtLTpxPEImJkgrKyksdHlwZW9mIF8udHlwZSE9ImZ1bmN0aW9uIiYmKF8uX191fD00KSk6TCE9eiYmKEw9PXotMT9ILS06TD09eisxP0grKzooTD56P0gtLTpIKyssXy5fX3V8PTQpKSk6WC5fX2tbWl09bnVsbDtpZihWKWZvcihaPTA7WjxCO1orKykoJD1KW1pdKSE9bnVsbCYmKDImJC5fX3UpPT0wJiYoJC5fX2U9PVkmJihZPXgwKCQpKSxFOSgkLCQpKTtyZXR1cm4gWX1mdW5jdGlvbiB3OShYLEcsSixZKXt2YXIgcSxaO2lmKHR5cGVvZiBYLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihxPVguX19rLFo9MDtxJiZaPHEubGVuZ3RoO1orKylxW1pdJiYocVtaXS5fXz1YLEc9dzkocVtaXSxHLEosWSkpO3JldHVybiBHfVguX19lIT1HJiYoWSYmKEcmJlgudHlwZSYmIUcucGFyZW50Tm9kZSYmKEc9eDAoWCkpLEouaW5zZXJ0QmVmb3JlKFguX19lLEd8fG51bGwpKSxHPVguX19lKTtkbyBHPUcmJkcubmV4dFNpYmxpbmc7d2hpbGUoRyE9bnVsbCYmRy5ub2RlVHlwZT09OCk7cmV0dXJuIEd9ZnVuY3Rpb24gQjAoWCxHKXtyZXR1cm4gRz1HfHxbXSxYPT1udWxsfHx0eXBlb2YgWD09ImJvb2xlYW4ifHwobjAoWCk/WC5zb21lKGZ1bmN0aW9uKEope0IwKEosRyl9KTpHLnB1c2goWCkpLEd9ZnVuY3Rpb24gZDgoWCxHLEosWSl7dmFyIHEsWixfLCQ9WC5rZXksej1YLnR5cGUsTD1HW0pdLEI9TCE9bnVsbCYmKDImTC5fX3UpPT0wO2lmKEw9PT1udWxsJiYkPT1udWxsfHxCJiYkPT1MLmtleSYmej09TC50eXBlKXJldHVybiBKO2lmKFk+KEI/MTowKSl7Zm9yKHE9Si0xLFo9SisxO3E+PTB8fFo8Ry5sZW5ndGg7KWlmKChMPUdbXz1xPj0wP3EtLTpaKytdKSE9bnVsbCYmKDImTC5fX3UpPT0wJiYkPT1MLmtleSYmej09TC50eXBlKXJldHVybiBffXJldHVybi0xfWZ1bmN0aW9uIE85KFgsRyxKKXtHWzBdPT0iLSI/WC5zZXRQcm9wZXJ0eShHLEo9PW51bGw/IiI6Sik6WFtHXT1KPT1udWxsPyIiOnR5cGVvZiBKIT0ibnVtYmVyInx8eDgudGVzdChHKT9KOkorInB4In1mdW5jdGlvbiAkMShYLEcsSixZLHEpe3ZhciBaLF87WDppZihHPT0ic3R5bGUiKWlmKHR5cGVvZiBKPT0ic3RyaW5nIilYLnN0eWxlLmNzc1RleHQ9SjtlbHNle2lmKHR5cGVvZiBZPT0ic3RyaW5nIiYmKFguc3R5bGUuY3NzVGV4dD1ZPSIiKSxZKWZvcihHIGluIFkpSiYmRyBpbiBKfHxPOShYLnN0eWxlLEcsIiIpO2lmKEopZm9yKEcgaW4gSilZJiZKW0ddPT1ZW0ddfHxPOShYLnN0eWxlLEcsSltHXSl9ZWxzZSBpZihHWzBdPT0ibyImJkdbMV09PSJuIilaPUchPShHPUcucmVwbGFjZShVOSwiJDEiKSksXz1HLnRvTG93ZXJDYXNlKCksRz1fIGluIFh8fEc9PSJvbkZvY3VzT3V0Inx8Rz09Im9uRm9jdXNJbiI/Xy5zbGljZSgyKTpHLnNsaWNlKDIpLFgubHx8KFgubD17fSksWC5sW0crWl09SixKP1k/Slt0MF09WVt0MF06KEpbdDBdPWYxLFguYWRkRXZlbnRMaXN0ZW5lcihHLFo/bTE6ZzEsWikpOlgucmVtb3ZlRXZlbnRMaXN0ZW5lcihHLFo/bTE6ZzEsWik7ZWxzZXtpZihxPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKUc9Ry5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihHIT0id2lkdGgiJiZHIT0iaGVpZ2h0IiYmRyE9ImhyZWYiJiZHIT0ibGlzdCImJkchPSJmb3JtIiYmRyE9InRhYkluZGV4IiYmRyE9ImRvd25sb2FkIiYmRyE9InJvd1NwYW4iJiZHIT0iY29sU3BhbiImJkchPSJyb2xlIiYmRyE9InBvcG92ZXIiJiZHIGluIFgpdHJ5e1hbR109Sj09bnVsbD8iIjpKO2JyZWFrIFh9Y2F0Y2goJCl7fXR5cGVvZiBKPT0iZnVuY3Rpb24ifHwoSj09bnVsbHx8Sj09PSExJiZHWzRdIT0iLSI/WC5yZW1vdmVBdHRyaWJ1dGUoRyk6WC5zZXRBdHRyaWJ1dGUoRyxHPT0icG9wb3ZlciImJko9PTE/IiI6SikpfX1mdW5jdGlvbiBCOShYKXtyZXR1cm4gZnVuY3Rpb24oRyl7aWYodGhpcy5sKXt2YXIgSj10aGlzLmxbRy50eXBlK1hdO2lmKEdbVjFdPT1udWxsKUdbVjFdPWYxKys7ZWxzZSBpZihHW1YxXTxKW3QwXSlyZXR1cm47cmV0dXJuIEoody5ldmVudD93LmV2ZW50KEcpOkcpfX19ZnVuY3Rpb24gdTEoWCxHLEosWSxxLFosXywkLHosTCl7dmFyIEIsVixILE8sVSxQLEYsQSxJLHMsaCxjLGUsbixfMCxmPUcudHlwZTtpZihHLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKHo9ISEoMzImSi5fX3UpLFo9WyQ9Ry5fX2U9Si5fX2VdKSwoQj13Ll9fYikmJkIoRyk7WDppZih0eXBlb2YgZj09ImZ1bmN0aW9uIil0cnl7aWYoQT1HLnByb3BzLEk9Zi5wcm90b3R5cGUmJmYucHJvdG90eXBlLnJlbmRlcixzPShCPWYuY29udGV4dFR5cGUpJiZZW0IuX19jXSxoPUI/cz9zLnByb3BzLnZhbHVlOkIuX186WSxKLl9fYz9GPShWPUcuX19jPUouX19jKS5fXz1WLl9fRTooST9HLl9fYz1WPW5ldyBmKEEsaCk6KEcuX19jPVY9bmV3IHQoQSxoKSxWLmNvbnN0cnVjdG9yPWYsVi5yZW5kZXI9YzgpLHMmJnMuc3ViKFYpLFYuc3RhdGV8fChWLnN0YXRlPXt9KSxWLl9fbj1ZLEg9Vi5fX2Q9ITAsVi5fX2g9W10sVi5fc2I9W10pLEkmJlYuX19zPT1udWxsJiYoVi5fX3M9Vi5zdGF0ZSksSSYmZi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMhPW51bGwmJihWLl9fcz09Vi5zdGF0ZSYmKFYuX19zPU8wKHt9LFYuX19zKSksTzAoVi5fX3MsZi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoQSxWLl9fcykpKSxPPVYucHJvcHMsVT1WLnN0YXRlLFYuX192PUcsSClJJiZmLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmVi5jb21wb25lbnRXaWxsTW91bnQhPW51bGwmJlYuY29tcG9uZW50V2lsbE1vdW50KCksSSYmVi5jb21wb25lbnREaWRNb3VudCE9bnVsbCYmVi5fX2gucHVzaChWLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKEkmJmYuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZBIT09TyYmVi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1udWxsJiZWLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoQSxoKSxHLl9fdj09Si5fX3Z8fCFWLl9fZSYmVi5zaG91bGRDb21wb25lbnRVcGRhdGUhPW51bGwmJlYuc2hvdWxkQ29tcG9uZW50VXBkYXRlKEEsVi5fX3MsaCk9PT0hMSl7Ry5fX3YhPUouX192JiYoVi5wcm9wcz1BLFYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEpLEcuX19lPUouX19lLEcuX19rPUouX19rLEcuX19rLnNvbWUoZnVuY3Rpb24oeSl7eSYmKHkuX189Ryl9KSxXMS5wdXNoLmFwcGx5KFYuX19oLFYuX3NiKSxWLl9zYj1bXSxWLl9faC5sZW5ndGgmJl8ucHVzaChWKTticmVhayBYfVYuY29tcG9uZW50V2lsbFVwZGF0ZSE9bnVsbCYmVi5jb21wb25lbnRXaWxsVXBkYXRlKEEsVi5fX3MsaCksSSYmVi5jb21wb25lbnREaWRVcGRhdGUhPW51bGwmJlYuX19oLnB1c2goZnVuY3Rpb24oKXtWLmNvbXBvbmVudERpZFVwZGF0ZShPLFUsUCl9KX1pZihWLmNvbnRleHQ9aCxWLnByb3BzPUEsVi5fX1A9WCxWLl9fZT0hMSxjPXcuX19yLGU9MCxJKVYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEsYyYmYyhHKSxCPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFcxLnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdO2Vsc2UgZG8gVi5fX2Q9ITEsYyYmYyhHKSxCPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFYuc3RhdGU9Vi5fX3M7d2hpbGUoVi5fX2QmJisrZTwyNSk7Vi5zdGF0ZT1WLl9fcyxWLmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFk9TzAoTzAoe30sWSksVi5nZXRDaGlsZENvbnRleHQoKSkpLEkmJiFIJiZWLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoUD1WLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKE8sVSkpLG49QiE9bnVsbCYmQi50eXBlPT09bCYmQi5rZXk9PW51bGw/azkoQi5wcm9wcy5jaGlsZHJlbik6QiwkPUE5KFgsbjAobik/bjpbbl0sRyxKLFkscSxaLF8sJCx6LEwpLFYuYmFzZT1HLl9fZSxHLl9fdSY9LTE2MSxWLl9faC5sZW5ndGgmJl8ucHVzaChWKSxGJiYoVi5fX0U9Vi5fXz1udWxsKX1jYXRjaCh5KXtpZihHLl9fdj1udWxsLHp8fFohPW51bGwpaWYoeS50aGVuKXtmb3IoRy5fX3V8PXo/MTYwOjEyODskJiYkLm5vZGVUeXBlPT04JiYkLm5leHRTaWJsaW5nOykkPSQubmV4dFNpYmxpbmc7WltaLmluZGV4T2YoJCldPW51bGwsRy5fX2U9JH1lbHNle2ZvcihfMD1aLmxlbmd0aDtfMC0tOylkMShaW18wXSk7cDEoRyl9ZWxzZSBHLl9fZT1KLl9fZSxHLl9faz1KLl9fayx5LnRoZW58fHAxKEcpO3cuX19lKHksRyxKKX1lbHNlIFo9PW51bGwmJkcuX192PT1KLl9fdj8oRy5fX2s9Si5fX2ssRy5fX2U9Si5fX2UpOiQ9Ry5fX2U9dTgoSi5fX2UsRyxKLFkscSxaLF8seixMKTtyZXR1cm4oQj13LmRpZmZlZCkmJkIoRyksMTI4JkcuX191P3ZvaWQgMDokfWZ1bmN0aW9uIHAxKFgpe1gmJihYLl9fYyYmKFguX19jLl9fZT0hMCksWC5fX2smJlguX19rLnNvbWUocDEpKX1mdW5jdGlvbiBUOShYLEcsSil7Zm9yKHZhciBZPTA7WTxKLmxlbmd0aDtZKyspYzEoSltZXSxKWysrWV0sSlsrK1ldKTt3Ll9fYyYmdy5fX2MoRyxYKSxYLnNvbWUoZnVuY3Rpb24ocSl7dHJ5e1g9cS5fX2gscS5fX2g9W10sWC5zb21lKGZ1bmN0aW9uKFope1ouY2FsbChxKX0pfWNhdGNoKFope3cuX19lKFoscS5fX3YpfX0pfWZ1bmN0aW9uIGs5KFgpe3JldHVybiB0eXBlb2YgWCE9Im9iamVjdCJ8fFg9PW51bGx8fFguX19iPjA/WDpuMChYKT9YLm1hcChrOSk6TzAoe30sWCl9ZnVuY3Rpb24gdTgoWCxHLEosWSxxLFosXywkLHope3ZhciBMLEIsVixILE8sVSxQLEY9Si5wcm9wc3x8ejEsQT1HLnByb3BzLEk9Ry50eXBlO2lmKEk9PSJzdmciP3E9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjpJPT0ibWF0aCI/cT0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6cXx8KHE9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxaIT1udWxsKXtmb3IoTD0wO0w8Wi5sZW5ndGg7TCsrKWlmKChPPVpbTF0pJiYic2V0QXR0cmlidXRlImluIE89PSEhSSYmKEk/Ty5sb2NhbE5hbWU9PUk6Ty5ub2RlVHlwZT09Mykpe1g9TyxaW0xdPW51bGw7YnJlYWt9fWlmKFg9PW51bGwpe2lmKEk9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEEpO1g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHEsSSxBLmlzJiZBKSwkJiYody5fX20mJncuX19tKEcsWiksJD0hMSksWj1udWxsfWlmKEk9PW51bGwpRj09PUF8fCQmJlguZGF0YT09QXx8KFguZGF0YT1BKTtlbHNle2lmKFo9WiYmSDEuY2FsbChYLmNoaWxkTm9kZXMpLCEkJiZaIT1udWxsKWZvcihGPXt9LEw9MDtMPFguYXR0cmlidXRlcy5sZW5ndGg7TCsrKUZbKE89WC5hdHRyaWJ1dGVzW0xdKS5uYW1lXT1PLnZhbHVlO2ZvcihMIGluIEYpTz1GW0xdLEw9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Vj1POkw9PSJjaGlsZHJlbiJ8fChMIGluIEEpfHxMPT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBBKXx8TD09ImNoZWNrZWQiJiYoImRlZmF1bHRDaGVja2VkImluIEEpfHwkMShYLEwsbnVsbCxPLHEpO2ZvcihMIGluIEEpTz1BW0xdLEw9PSJjaGlsZHJlbiI/SD1POkw9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Qj1POkw9PSJ2YWx1ZSI/VT1POkw9PSJjaGVja2VkIj9QPU86JCYmdHlwZW9mIE8hPSJmdW5jdGlvbiJ8fEZbTF09PT1PfHwkMShYLEwsTyxGW0xdLHEpO2lmKEIpJHx8ViYmKEIuX19odG1sPT1WLl9faHRtbHx8Qi5fX2h0bWw9PVguaW5uZXJIVE1MKXx8KFguaW5uZXJIVE1MPUIuX19odG1sKSxHLl9faz1bXTtlbHNlIGlmKFYmJihYLmlubmVySFRNTD0iIiksQTkoRy50eXBlPT0idGVtcGxhdGUiP1guY29udGVudDpYLG4wKEgpP0g6W0hdLEcsSixZLEk9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6cSxaLF8sWj9aWzBdOkouX19rJiZ4MChKLDApLCQseiksWiE9bnVsbClmb3IoTD1aLmxlbmd0aDtMLS07KWQxKFpbTF0pOyR8fChMPSJ2YWx1ZSIsST09InByb2dyZXNzIiYmVT09bnVsbD9YLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpVIT1udWxsJiYoVSE9PVhbTF18fEk9PSJwcm9ncmVzcyImJiFVfHxJPT0ib3B0aW9uIiYmVSE9RltMXSkmJiQxKFgsTCxVLEZbTF0scSksTD0iY2hlY2tlZCIsUCE9bnVsbCYmUCE9WFtMXSYmJDEoWCxMLFAsRltMXSxxKSl9cmV0dXJuIFh9ZnVuY3Rpb24gYzEoWCxHLEope3RyeXtpZih0eXBlb2YgWD09ImZ1bmN0aW9uIil7dmFyIFk9dHlwZW9mIFguX191PT0iZnVuY3Rpb24iO1kmJlguX191KCksWSYmRz09bnVsbHx8KFguX191PVgoRykpfWVsc2UgWC5jdXJyZW50PUd9Y2F0Y2gocSl7dy5fX2UocSxKKX19ZnVuY3Rpb24gRTkoWCxHLEope3ZhciBZLHE7aWYody51bm1vdW50JiZ3LnVubW91bnQoWCksKFk9WC5yZWYpJiYoWS5jdXJyZW50JiZZLmN1cnJlbnQhPVguX19lfHxjMShZLG51bGwsRykpLChZPVguX19jKSE9bnVsbCl7aWYoWS5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7WS5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKFope3cuX19lKFosRyl9WS5iYXNlPVkuX19QPW51bGx9aWYoWT1YLl9faylmb3IocT0wO3E8WS5sZW5ndGg7cSsrKVlbcV0mJkU5KFlbcV0sRyxKfHx0eXBlb2YgWC50eXBlIT0iZnVuY3Rpb24iKTtKfHxkMShYLl9fZSksWC5fX2M9WC5fXz1YLl9fZT12b2lkIDB9ZnVuY3Rpb24gYzgoWCxHLEope3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKFgsSil9ZnVuY3Rpb24gRDEoWCxHLEope3ZhciBZLHEsWixfO0c9PWRvY3VtZW50JiYoRz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLHcuX18mJncuX18oWCxHKSxxPShZPXR5cGVvZiBKPT0iZnVuY3Rpb24iKT9udWxsOkomJkouX19rfHxHLl9fayxaPVtdLF89W10sdTEoRyxYPSghWSYmSnx8RykuX19rPUgwKGwsbnVsbCxbWF0pLHF8fHoxLHoxLEcubmFtZXNwYWNlVVJJLCFZJiZKP1tKXTpxP251bGw6Ry5maXJzdENoaWxkP0gxLmNhbGwoRy5jaGlsZE5vZGVzKTpudWxsLFosIVkmJko/SjpxP3EuX19lOkcuZmlyc3RDaGlsZCxZLF8pLFQ5KFosWCxfKX1mdW5jdGlvbiBGMChYKXtmdW5jdGlvbiBHKEope3ZhciBZLHE7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoWT1uZXcgU2V0LChxPXt9KVtHLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBxfSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WT1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihaKXt0aGlzLnByb3BzLnZhbHVlIT1aLnZhbHVlJiZZLmZvckVhY2goZnVuY3Rpb24oXyl7Xy5fX2U9ITAseDEoXyl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24oWil7WS5hZGQoWik7dmFyIF89Wi5jb21wb25lbnRXaWxsVW5tb3VudDtaLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WSYmWS5kZWxldGUoWiksXyYmXy5jYWxsKFopfX0pLEouY2hpbGRyZW59cmV0dXJuIEcuX19jPSJfX2NDIitJOSsrLEcuX189WCxHLlByb3ZpZGVyPUcuX19sPShHLkNvbnN1bWVyPWZ1bmN0aW9uKEosWSl7cmV0dXJuIEouY2hpbGRyZW4oWSl9KS5jb250ZXh0VHlwZT1HLEd9SDE9VzEuc2xpY2Usdz17X19lOmZ1bmN0aW9uKFgsRyxKLFkpe2Zvcih2YXIgcSxaLF87Rz1HLl9fOylpZigocT1HLl9fYykmJiFxLl9fKXRyeXtpZigoWj1xLmNvbnN0cnVjdG9yKSYmWi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihxLnNldFN0YXRlKFouZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKFgpKSxfPXEuX19kKSxxLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYocS5jb21wb25lbnREaWRDYXRjaChYLFl8fHt9KSxfPXEuX19kKSxfKXJldHVybiBxLl9fRT1xfWNhdGNoKCQpe1g9JH10aHJvdyBYfX0sRjk9MCxtOD1mdW5jdGlvbihYKXtyZXR1cm4gWCE9bnVsbCYmWC5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sdC5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oWCxHKXt2YXIgSjtKPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1PMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgWD09ImZ1bmN0aW9uIiYmKFg9WChPMCh7fSxKKSx0aGlzLnByb3BzKSksWCYmTzAoSixYKSxYIT1udWxsJiZ0aGlzLl9fdiYmKEcmJnRoaXMuX3NiLnB1c2goRykseDEodGhpcykpfSx0LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihYKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLFgmJnRoaXMuX19oLnB1c2goWCkseDEodGhpcykpfSx0LnByb3RvdHlwZS5yZW5kZXI9bCxrMD1bXSxOOT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsUDk9ZnVuY3Rpb24oWCxHKXtyZXR1cm4gWC5fX3YuX19iLUcuX192Ll9fYn0sSzEuX19yPTAsaDE9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxWMT0iX19kIitoMSx0MD0iX19hIitoMSxVOT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSxmMT0wLGcxPUI5KCExKSxtMT1COSghMCksSTk9MDt2YXIgcDAseCxsMSxDOSxlMD0wLGc5PVtdLGE9dyxSOT1hLl9fYixiOT1hLl9fcixqOT1hLmRpZmZlZCxTOT1hLl9fYyx2OT1hLnVubW91bnQseTk9YS5fXztmdW5jdGlvbiBCMShYLEcpe2EuX19oJiZhLl9faCh4LFgsZTB8fEcpLGUwPTA7dmFyIEo9eC5fX0h8fCh4Ll9fSD17X186W10sX19oOltdfSk7cmV0dXJuIFg+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bWF19ZnVuY3Rpb24gayhYKXtyZXR1cm4gZTA9MSxpMSh4OSxYKX1mdW5jdGlvbiBpMShYLEcsSil7dmFyIFk9QjEocDArKywyKTtpZihZLnQ9WCwhWS5fX2MmJihZLl9fPVtKP0ooRyk6eDkodm9pZCAwLEcpLGZ1bmN0aW9uKCQpe3ZhciB6PVkuX19OP1kuX19OWzBdOlkuX19bMF0sTD1ZLnQoeiwkKTt6IT09TCYmKFkuX19OPVtMLFkuX19bMV1dLFkuX19jLnNldFN0YXRlKHt9KSl9XSxZLl9fYz14LCF4Ll9fZikpe3ZhciBxPWZ1bmN0aW9uKCQseixMKXtpZighWS5fX2MuX19IKXJldHVybiEwO3ZhciBCPVkuX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24oSCl7cmV0dXJuIEguX19jfSk7aWYoQi5ldmVyeShmdW5jdGlvbihIKXtyZXR1cm4hSC5fX059KSlyZXR1cm4hWnx8Wi5jYWxsKHRoaXMsJCx6LEwpO3ZhciBWPVkuX19jLnByb3BzIT09JDtyZXR1cm4gQi5zb21lKGZ1bmN0aW9uKEgpe2lmKEguX19OKXt2YXIgTz1ILl9fWzBdO0guX189SC5fX04sSC5fX049dm9pZCAwLE8hPT1ILl9fWzBdJiYoVj0hMCl9fSksWiYmWi5jYWxsKHRoaXMsJCx6LEwpfHxWfTt4Ll9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOlosY29tcG9uZW50V2lsbFVwZGF0ZTpffT14O3guY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbigkLHosTCl7aWYodGhpcy5fX2Upe3ZhciBCPVo7Wj12b2lkIDAscSgkLHosTCksWj1CfV8mJl8uY2FsbCh0aGlzLCQseixMKX0seC5zaG91bGRDb21wb25lbnRVcGRhdGU9cX1yZXR1cm4gWS5fX058fFkuX199ZnVuY3Rpb24gaihYLEcpe3ZhciBKPUIxKHAwKyssMyk7IWEuX19zJiZtOShKLl9fSCxHKSYmKEouX189WCxKLnU9Ryx4Ll9fSC5fX2gucHVzaChKKSl9ZnVuY3Rpb24gYihYKXtyZXR1cm4gZTA9NSx5MChmdW5jdGlvbigpe3JldHVybntjdXJyZW50Olh9fSxbXSl9ZnVuY3Rpb24geTAoWCxHKXt2YXIgSj1CMShwMCsrLDcpO3JldHVybiBtOShKLl9fSCxHKSYmKEouX189WCgpLEouX19IPUcsSi5fX2g9WCksSi5fX31mdW5jdGlvbiBSKFgsRyl7cmV0dXJuIGUwPTgseTAoZnVuY3Rpb24oKXtyZXR1cm4gWH0sRyl9ZnVuY3Rpb24gRTAoWCl7dmFyIEc9eC5jb250ZXh0W1guX19jXSxKPUIxKHAwKyssOSk7cmV0dXJuIEouYz1YLEc/KEouX189PW51bGwmJihKLl9fPSEwLEcuc3ViKHgpKSxHLnByb3BzLnZhbHVlKTpYLl9ffWZ1bmN0aW9uIGw4KCl7Zm9yKHZhciBYO1g9Zzkuc2hpZnQoKTspe3ZhciBHPVguX19IO2lmKFguX19QJiZHKXRyeXtHLl9faC5zb21lKE8xKSxHLl9faC5zb21lKGExKSxHLl9faD1bXX1jYXRjaChKKXtHLl9faD1bXSxhLl9fZShKLFguX192KX19fWEuX19iPWZ1bmN0aW9uKFgpe3g9bnVsbCxSOSYmUjkoWCl9LGEuX189ZnVuY3Rpb24oWCxHKXtYJiZHLl9fayYmRy5fX2suX19tJiYoWC5fX209Ry5fX2suX19tKSx5OSYmeTkoWCxHKX0sYS5fX3I9ZnVuY3Rpb24oWCl7YjkmJmI5KFgpLHAwPTA7dmFyIEc9KHg9WC5fX2MpLl9fSDtHJiYobDE9PT14PyhHLl9faD1bXSx4Ll9faD1bXSxHLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihHLl9faC5zb21lKE8xKSxHLl9faC5zb21lKGExKSxHLl9faD1bXSxwMD0wKSksbDE9eH0sYS5kaWZmZWQ9ZnVuY3Rpb24oWCl7ajkmJmo5KFgpO3ZhciBHPVguX19jO0cmJkcuX19IJiYoRy5fX0guX19oLmxlbmd0aCYmKGc5LnB1c2goRykhPT0xJiZDOT09PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKEM5PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8YTgpKGw4KSksRy5fX0guX18uc29tZShmdW5jdGlvbihKKXtKLnUmJihKLl9fSD1KLnUpLEoudT12b2lkIDB9KSksbDE9eD1udWxsfSxhLl9fYz1mdW5jdGlvbihYLEcpe0cuc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShPMSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFkpe3JldHVybiFZLl9ffHxhMShZKX0pfWNhdGNoKFkpe0cuc29tZShmdW5jdGlvbihxKXtxLl9faCYmKHEuX19oPVtdKX0pLEc9W10sYS5fX2UoWSxKLl9fdil9fSksUzkmJlM5KFgsRyl9LGEudW5tb3VudD1mdW5jdGlvbihYKXt2OSYmdjkoWCk7dmFyIEcsSj1YLl9fYztKJiZKLl9fSCYmKEouX19ILl9fLnNvbWUoZnVuY3Rpb24oWSl7dHJ5e08xKFkpfWNhdGNoKHEpe0c9cX19KSxKLl9fSD12b2lkIDAsRyYmYS5fX2UoRyxKLl9fdikpfTt2YXIgaDk9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBhOChYKXt2YXIgRyxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFkpLGg5JiZjYW5jZWxBbmltYXRpb25GcmFtZShHKSxzZXRUaW1lb3V0KFgpfSxZPXNldFRpbWVvdXQoSiwzNSk7aDkmJihHPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gTzEoWCl7dmFyIEc9eCxKPVguX19jO3R5cGVvZiBKPT0iZnVuY3Rpb24iJiYoWC5fX2M9dm9pZCAwLEooKSkseD1HfWZ1bmN0aW9uIGExKFgpe3ZhciBHPXg7WC5fX2M9WC5fXygpLHg9R31mdW5jdGlvbiBtOShYLEcpe3JldHVybiFYfHxYLmxlbmd0aCE9PUcubGVuZ3RofHxHLnNvbWUoZnVuY3Rpb24oSixZKXtyZXR1cm4gSiE9PVhbWV19KX1mdW5jdGlvbiB4OShYLEcpe3JldHVybiB0eXBlb2YgRz09ImZ1bmN0aW9uIj9HKFgpOkd9ZnVuY3Rpb24gZTgoWCxHKXtmb3IodmFyIEogaW4gRylYW0pdPUdbSl07cmV0dXJuIFh9ZnVuY3Rpb24gcDkoWCxHKXtmb3IodmFyIEogaW4gWClpZihKIT09Il9fc291cmNlIiYmIShKIGluIEcpKXJldHVybiEwO2Zvcih2YXIgWSBpbiBHKWlmKFkhPT0iX19zb3VyY2UiJiZYW1ldIT09R1tZXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBmOShYLEcpe3RoaXMucHJvcHM9WCx0aGlzLmNvbnRleHQ9R30oZjkucHJvdG90eXBlPW5ldyB0KS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCxmOS5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKFgsRyl7cmV0dXJuIHA5KHRoaXMucHJvcHMsWCl8fHA5KHRoaXMuc3RhdGUsRyl9O3ZhciBkOT13Ll9fYjt3Ll9fYj1mdW5jdGlvbihYKXtYLnR5cGUmJlgudHlwZS5fX2YmJlgucmVmJiYoWC5wcm9wcy5yZWY9WC5yZWYsWC5yZWY9bnVsbCksZDkmJmQ5KFgpfTt2YXIgWDQ9dy5fX2U7dy5fX2U9ZnVuY3Rpb24oWCxHLEosWSl7aWYoWC50aGVuKXtmb3IodmFyIHEsWj1HO1o9Wi5fXzspaWYoKHE9Wi5fX2MpJiZxLl9fYylyZXR1cm4gRy5fX2U9PW51bGwmJihHLl9fZT1KLl9fZSxHLl9faz1KLl9faykscS5fX2MoWCxHKX1YNChYLEcsSixZKX07dmFyIHU5PXcudW5tb3VudDtmdW5jdGlvbiByOShYLEcsSil7cmV0dXJuIFgmJihYLl9fYyYmWC5fX2MuX19IJiYoWC5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWSl7dHlwZW9mIFkuX19jPT0iZnVuY3Rpb24iJiZZLl9fYygpfSksWC5fX2MuX19IPW51bGwpLChYPWU4KHt9LFgpKS5fX2MhPW51bGwmJihYLl9fYy5fX1A9PT1KJiYoWC5fX2MuX19QPUcpLFguX19jLl9fZT0hMCxYLl9fYz1udWxsKSxYLl9faz1YLl9fayYmWC5fX2subWFwKGZ1bmN0aW9uKFkpe3JldHVybiByOShZLEcsSil9KSksWH1mdW5jdGlvbiBzOShYLEcsSil7cmV0dXJuIFgmJkomJihYLl9fdj1udWxsLFguX19rPVguX19rJiZYLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIHM5KFksRyxKKX0pLFguX19jJiZYLl9fYy5fX1A9PT1HJiYoWC5fX2UmJkouYXBwZW5kQ2hpbGQoWC5fX2UpLFguX19jLl9fZT0hMCxYLl9fYy5fX1A9SikpLFh9ZnVuY3Rpb24gbzEoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gdDkoWCl7dmFyIEc9WC5fXyYmWC5fXy5fX2M7cmV0dXJuIEcmJkcuX19hJiZHLl9fYShYKX1mdW5jdGlvbiBGMSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfXcudW5tb3VudD1mdW5jdGlvbihYKXt2YXIgRz1YLl9fYztHJiYoRy5fX3o9ITApLEcmJkcuX19SJiZHLl9fUigpLEcmJjMyJlguX191JiYoWC50eXBlPW51bGwpLHU5JiZ1OShYKX0sKG8xLnByb3RvdHlwZT1uZXcgdCkuX19jPWZ1bmN0aW9uKFgsRyl7dmFyIEo9Ry5fX2MsWT10aGlzO1kubz09bnVsbCYmKFkubz1bXSksWS5vLnB1c2goSik7dmFyIHE9dDkoWS5fX3YpLFo9ITEsXz1mdW5jdGlvbigpe1p8fFkuX196fHwoWj0hMCxKLl9fUj1udWxsLHE/cSh6KTp6KCkpfTtKLl9fUj1fO3ZhciAkPUouX19QO0ouX19QPW51bGw7dmFyIHo9ZnVuY3Rpb24oKXtpZighLS1ZLl9fdSl7aWYoWS5zdGF0ZS5fX2Epe3ZhciBMPVkuc3RhdGUuX19hO1kuX192Ll9fa1swXT1zOShMLEwuX19jLl9fUCxMLl9fYy5fX08pfXZhciBCO2ZvcihZLnNldFN0YXRlKHtfX2E6WS5fX2I9bnVsbH0pO0I9WS5vLnBvcCgpOylCLl9fUD0kLEIuZm9yY2VVcGRhdGUoKX19O1kuX191Kyt8fDMyJkcuX191fHxZLnNldFN0YXRlKHtfX2E6WS5fX2I9WS5fX3YuX19rWzBdfSksWC50aGVuKF8sXyl9LG8xLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sbzEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihYLEcpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFk9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09cjkodGhpcy5fX2IsSixZLl9fTz1ZLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgcT1HLl9fYSYmSDAobCxudWxsLFguZmFsbGJhY2spO3JldHVybiBxJiYocS5fX3UmPS0zMyksW0gwKGwsbnVsbCxHLl9fYT9udWxsOlguY2hpbGRyZW4pLHFdfTt2YXIgYzk9ZnVuY3Rpb24oWCxHLEope2lmKCsrSlsxXT09PUpbMF0mJlgubC5kZWxldGUoRyksWC5wcm9wcy5yZXZlYWxPcmRlciYmKFgucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCFYLmwuc2l6ZSkpZm9yKEo9WC5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7WC5pPUo9SlsyXX19OyhGMS5wcm90b3R5cGU9bmV3IHQpLl9fYT1mdW5jdGlvbihYKXt2YXIgRz10aGlzLEo9dDkoRy5fX3YpLFk9Ry5sLmdldChYKTtyZXR1cm4gWVswXSsrLGZ1bmN0aW9uKHEpe3ZhciBaPWZ1bmN0aW9uKCl7Ry5wcm9wcy5yZXZlYWxPcmRlcj8oWS5wdXNoKHEpLGM5KEcsWCxZKSk6cSgpfTtKP0ooWik6WigpfX0sRjEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihYKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgRz1CMChYLmNoaWxkcmVuKTtYLnJldmVhbE9yZGVyJiZYLnJldmVhbE9yZGVyWzBdPT09ImIiJiZHLnJldmVyc2UoKTtmb3IodmFyIEo9Ry5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KEdbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIFguY2hpbGRyZW59LEYxLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9RjEucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIFg9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihHLEope2M5KFgsSixHKX0pfTt2YXIgRzQ9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsSjQ9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFk0PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sWjQ9L1tBLVowLTldL2cscTQ9dHlwZW9mIGRvY3VtZW50PCJ1IixRND1mdW5jdGlvbihYKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoWCl9O2Z1bmN0aW9uIG45KFgsRyxKKXtyZXR1cm4gRy5fX2s9PW51bGwmJihHLnRleHRDb250ZW50PSIiKSxEMShYLEcpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksWD9YLl9fYzpudWxsfXQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oWCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFgse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrWF19LHNldDpmdW5jdGlvbihHKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxYLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6R30pfX0pfSk7dmFyIGw5PXcuZXZlbnQ7dy5ldmVudD1mdW5jdGlvbihYKXtyZXR1cm4gbDkmJihYPWw5KFgpKSxYLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LFguaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LFguaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sWC5uYXRpdmVFdmVudD1YfTt2YXIgZTksXzQ9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LGE5PXcudm5vZGU7dy52bm9kZT1mdW5jdGlvbihYKXt0eXBlb2YgWC50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oRyl7dmFye3Byb3BzOkosdHlwZTpZfT1HLHE9e30sWj1ZLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBfIGluIEope3ZhciAkPUpbX107aWYoIShfPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJiQ9PW51bGx8fHE0JiZfPT09ImNoaWxkcmVuIiYmWT09PSJub3NjcmlwdCJ8fF89PT0iY2xhc3MifHxfPT09ImNsYXNzTmFtZSIpKXt2YXIgej1fLnRvTG93ZXJDYXNlKCk7Xz09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9fPSJ2YWx1ZSI6Xz09PSJkb3dubG9hZCImJiQ9PT0hMD8kPSIiOno9PT0idHJhbnNsYXRlIiYmJD09PSJubyI/JD0hMTp6WzBdPT09Im8iJiZ6WzFdPT09Im4iP3o9PT0ib25kb3VibGVjbGljayI/Xz0ib25kYmxjbGljayI6eiE9PSJvbmNoYW5nZSJ8fFkhPT0iaW5wdXQiJiZZIT09InRleHRhcmVhInx8UTQoSi50eXBlKT96PT09Im9uZm9jdXMiP189Im9uZm9jdXNpbiI6ej09PSJvbmJsdXIiP189Im9uZm9jdXNvdXQiOlk0LnRlc3QoXykmJihfPXopOno9Xz0ib25pbnB1dCI6WiYmSjQudGVzdChfKT9fPV8ucmVwbGFjZShaNCwiLSQmIikudG9Mb3dlckNhc2UoKTokPT09bnVsbCYmKCQ9dm9pZCAwKSx6PT09Im9uaW5wdXQiJiZxW189el0mJihfPSJvbmlucHV0Q2FwdHVyZSIpLHFbX109JH19WT09InNlbGVjdCImJihxLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHEudmFsdWUpJiYocS52YWx1ZT1CMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9cS52YWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMX0pKSxxLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKHEudmFsdWU9QjAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihMKXtMLnByb3BzLnNlbGVjdGVkPXEubXVsdGlwbGU/cS5kZWZhdWx0VmFsdWUuaW5kZXhPZihMLnByb3BzLnZhbHVlKSE9LTE6cS5kZWZhdWx0VmFsdWU9PUwucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8ocS5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxLCJjbGFzc05hbWUiLF80KSk6Si5jbGFzc05hbWUmJihxLmNsYXNzPXEuY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxHLnByb3BzPXF9KFgpLFguJCR0eXBlb2Y9RzQsYTkmJmE5KFgpfTt2YXIgaTk9dy5fX3I7dy5fX3I9ZnVuY3Rpb24oWCl7aTkmJmk5KFgpLGU5PVguX19jfTt2YXIgbzk9dy5kaWZmZWQ7dy5kaWZmZWQ9ZnVuY3Rpb24oWCl7bzkmJm85KFgpO3Zhcntwcm9wczpHLF9fZTpKfT1YO0ohPW51bGwmJlgudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBHJiZHLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9Ry52YWx1ZT09bnVsbD8iIjpHLnZhbHVlKSxlOT1udWxsfTtmdW5jdGlvbiBYOChYKXtyZXR1cm4hIVguX19rJiYoRDEobnVsbCxYKSwhMCl9ZnVuY3Rpb24gRzgoWCl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihHKXtuOShHLFgpfSx1bm1vdW50OmZ1bmN0aW9uKCl7WDgoWCl9fX12YXIgSjg9Imh0dHBzOi8vZ2l0aHViLmNvbS9jYW1lcm9uY29va2UvQVhlIixZOD0iQVhlIGlzIG5vdCBpbnN0YWxsZWQuIEluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY2FtZXJvbmNvb2tlL0FYZS4iO2Z1bmN0aW9uIFc4KFgsRyl7Zm9yKHZhciBKIGluIEcpWFtKXT1HW0pdO3JldHVybiBYfWZ1bmN0aW9uIHQxKFgsRyl7Zm9yKHZhciBKIGluIFgpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBHKSlyZXR1cm4hMDtmb3IodmFyIFkgaW4gRylpZihZIT09Il9fc291cmNlIiYmWFtZXSE9PUdbWV0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gWjgoWCxHKXt0aGlzLnByb3BzPVgsdGhpcy5jb250ZXh0PUd9ZnVuY3Rpb24gbjEoWCxHKXtmdW5jdGlvbiBKKHEpe3ZhciBaPXRoaXMucHJvcHMucmVmO3JldHVybiBaIT1xLnJlZiYmWiYmKHR5cGVvZiBaPT0iZnVuY3Rpb24iP1oobnVsbCk6Wi5jdXJyZW50PW51bGwpLEc/IUcodGhpcy5wcm9wcyxxKXx8WiE9cS5yZWY6dDEodGhpcy5wcm9wcyxxKX1mdW5jdGlvbiBZKHEpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1KLEgwKFgscSl9cmV0dXJuIFkuZGlzcGxheU5hbWU9Ik1lbW8oIisoWC5kaXNwbGF5TmFtZXx8WC5uYW1lKSsiKSIsWS5fX2Y9WS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxZLnR5cGU9WCxZfShaOC5wcm90b3R5cGU9bmV3IHQpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLFo4LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWCxHKXtyZXR1cm4gdDEodGhpcy5wcm9wcyxYKXx8dDEodGhpcy5zdGF0ZSxHKX07dmFyIHE4PXcuX19iO3cuX19iPWZ1bmN0aW9uKFgpe1gudHlwZSYmWC50eXBlLl9fZiYmWC5yZWYmJihYLnByb3BzLnJlZj1YLnJlZixYLnJlZj1udWxsKSxxOCYmcTgoWCl9O3ZhciAkND10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiBmMChYKXtmdW5jdGlvbiBHKEope3ZhciBZPVc4KHt9LEopO3JldHVybiBkZWxldGUgWS5yZWYsWChZLEoucmVmfHxudWxsKX1yZXR1cm4gRy4kJHR5cGVvZj0kNCxHLnJlbmRlcj1YLEcucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9Ry5fX2Y9ITAsRy5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhYLmRpc3BsYXlOYW1lfHxYLm5hbWUpKyIpIixHfXZhciBWND13Ll9fZTt3Ll9fZT1mdW5jdGlvbihYLEcsSixZKXtpZihYLnRoZW4pe2Zvcih2YXIgcSxaPUc7Wj1aLl9fOylpZigocT1aLl9fYykmJnEuX19jKXJldHVybiBHLl9fZT09bnVsbCYmKEcuX19lPUouX19lLEcuX19rPUouX19rKSxxLl9fYyhYLEcpfVY0KFgsRyxKLFkpfTt2YXIgUTg9dy51bm1vdW50O2Z1bmN0aW9uIEs4KFgsRyxKKXtyZXR1cm4gWCYmKFguX19jJiZYLl9fYy5fX0gmJihYLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihZKXt0eXBlb2YgWS5fX2M9PSJmdW5jdGlvbiImJlkuX19jKCl9KSxYLl9fYy5fX0g9bnVsbCksKFg9Vzgoe30sWCkpLl9fYyE9bnVsbCYmKFguX19jLl9fUD09PUomJihYLl9fYy5fX1A9RyksWC5fX2MuX19lPSEwLFguX19jPW51bGwpLFguX19rPVguX19rJiZYLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIEs4KFksRyxKKX0pKSxYfWZ1bmN0aW9uIEg4KFgsRyxKKXtyZXR1cm4gWCYmSiYmKFguX192PW51bGwsWC5fX2s9WC5fX2smJlguX19rLm1hcChmdW5jdGlvbihZKXtyZXR1cm4gSDgoWSxHLEopfSksWC5fX2MmJlguX19jLl9fUD09PUcmJihYLl9fZSYmSi5hcHBlbmRDaGlsZChYLl9fZSksWC5fX2MuX19lPSEwLFguX19jLl9fUD1KKSksWH1mdW5jdGlvbiBzMSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBEOChYKXt2YXIgRz1YLl9fJiZYLl9fLl9fYztyZXR1cm4gRyYmRy5fX2EmJkcuX19hKFgpfWZ1bmN0aW9uIE4xKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9dy51bm1vdW50PWZ1bmN0aW9uKFgpe3ZhciBHPVguX19jO0cmJihHLl9fej0hMCksRyYmRy5fX1ImJkcuX19SKCksRyYmMzImWC5fX3UmJihYLnR5cGU9bnVsbCksUTgmJlE4KFgpfSwoczEucHJvdG90eXBlPW5ldyB0KS5fX2M9ZnVuY3Rpb24oWCxHKXt2YXIgSj1HLl9fYyxZPXRoaXM7WS5vPT1udWxsJiYoWS5vPVtdKSxZLm8ucHVzaChKKTt2YXIgcT1EOChZLl9fdiksWj0hMSxfPWZ1bmN0aW9uKCl7Wnx8WS5fX3p8fChaPSEwLEouX19SPW51bGwscT9xKHopOnooKSl9O0ouX19SPV87dmFyICQ9Si5fX1A7Si5fX1A9bnVsbDt2YXIgej1mdW5jdGlvbigpe2lmKCEtLVkuX191KXtpZihZLnN0YXRlLl9fYSl7dmFyIEw9WS5zdGF0ZS5fX2E7WS5fX3YuX19rWzBdPUg4KEwsTC5fX2MuX19QLEwuX19jLl9fTyl9dmFyIEI7Zm9yKFkuc2V0U3RhdGUoe19fYTpZLl9fYj1udWxsfSk7Qj1ZLm8ucG9wKCk7KUIuX19QPSQsQi5mb3JjZVVwZGF0ZSgpfX07WS5fX3UrK3x8MzImRy5fX3V8fFkuc2V0U3RhdGUoe19fYTpZLl9fYj1ZLl9fdi5fX2tbMF19KSxYLnRoZW4oXyxfKX0sczEucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxzMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKFgsRyl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWT10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1LOCh0aGlzLl9fYixKLFkuX19PPVkuX19QKX10aGlzLl9fYj1udWxsfXZhciBxPUcuX19hJiZIMChsLG51bGwsWC5mYWxsYmFjayk7cmV0dXJuIHEmJihxLl9fdSY9LTMzKSxbSDAobCxudWxsLEcuX19hP251bGw6WC5jaGlsZHJlbikscV19O3ZhciBfOD1mdW5jdGlvbihYLEcsSil7aWYoKytKWzFdPT09SlswXSYmWC5sLmRlbGV0ZShHKSxYLnByb3BzLnJldmVhbE9yZGVyJiYoWC5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IVgubC5zaXplKSlmb3IoSj1YLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhaztYLmk9Sj1KWzJdfX07KE4xLnByb3RvdHlwZT1uZXcgdCkuX19hPWZ1bmN0aW9uKFgpe3ZhciBHPXRoaXMsSj1EOChHLl9fdiksWT1HLmwuZ2V0KFgpO3JldHVybiBZWzBdKyssZnVuY3Rpb24ocSl7dmFyIFo9ZnVuY3Rpb24oKXtHLnByb3BzLnJldmVhbE9yZGVyPyhZLnB1c2gocSksXzgoRyxYLFkpKTpxKCl9O0o/SihaKTpaKCl9fSxOMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKFgpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBHPUIwKFguY2hpbGRyZW4pO1gucmV2ZWFsT3JkZXImJlgucmV2ZWFsT3JkZXJbMF09PT0iYiImJkcucmV2ZXJzZSgpO2Zvcih2YXIgSj1HLmxlbmd0aDtKLS07KXRoaXMubC5zZXQoR1tKXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gWC5jaGlsZHJlbn0sTjEucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1OMS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgWD10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKEcsSil7XzgoWCxKLEcpfSl9O3ZhciBMND10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyx6ND0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sVzQ9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxLND0vW0EtWjAtOV0vZyxIND10eXBlb2YgZG9jdW1lbnQ8InUiLEQ0PWZ1bmN0aW9uKFgpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChYKX07dC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbihYKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsWCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitYXX0sc2V0OmZ1bmN0aW9uKEcpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFgse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpHfSl9fSl9KTt2YXIgJDg9dy5ldmVudDt3LmV2ZW50PWZ1bmN0aW9uKFgpe3JldHVybiAkOCYmKFg9JDgoWCkpLFgucGVyc2lzdD1mdW5jdGlvbigpe30sWC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sWC5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxYLm5hdGl2ZUV2ZW50PVh9O3ZhciBPOCxPND17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sVjg9dy52bm9kZTt3LnZub2RlPWZ1bmN0aW9uKFgpe3R5cGVvZiBYLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihHKXt2YXJ7cHJvcHM6Six0eXBlOll9PUcscT17fSxaPVkuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIF8gaW4gSil7dmFyICQ9SltfXTtpZighKF89PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmJD09bnVsbHx8SDQmJl89PT0iY2hpbGRyZW4iJiZZPT09Im5vc2NyaXB0Inx8Xz09PSJjbGFzcyJ8fF89PT0iY2xhc3NOYW1lIikpe3ZhciB6PV8udG9Mb3dlckNhc2UoKTtfPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP189InZhbHVlIjpfPT09ImRvd25sb2FkIiYmJD09PSEwPyQ9IiI6ej09PSJ0cmFuc2xhdGUiJiYkPT09Im5vIj8kPSExOnpbMF09PT0ibyImJnpbMV09PT0ibiI/ej09PSJvbmRvdWJsZWNsaWNrIj9fPSJvbmRibGNsaWNrIjp6IT09Im9uY2hhbmdlInx8WSE9PSJpbnB1dCImJlkhPT0idGV4dGFyZWEifHxENChKLnR5cGUpP3o9PT0ib25mb2N1cyI/Xz0ib25mb2N1c2luIjp6PT09Im9uYmx1ciI/Xz0ib25mb2N1c291dCI6VzQudGVzdChfKSYmKF89eik6ej1fPSJvbmlucHV0IjpaJiZ6NC50ZXN0KF8pP189Xy5yZXBsYWNlKEs0LCItJCYiKS50b0xvd2VyQ2FzZSgpOiQ9PT1udWxsJiYoJD12b2lkIDApLHo9PT0ib25pbnB1dCImJnFbXz16XSYmKF89Im9uaW5wdXRDYXB0dXJlIikscVtfXT0kfX1ZPT0ic2VsZWN0IiYmKHEubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkocS52YWx1ZSkmJihxLnZhbHVlPUIwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTCl7TC5wcm9wcy5zZWxlY3RlZD1xLnZhbHVlLmluZGV4T2YoTC5wcm9wcy52YWx1ZSkhPS0xfSkpLHEuZGVmYXVsdFZhbHVlIT1udWxsJiYocS52YWx1ZT1CMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9cS5tdWx0aXBsZT9xLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMTpxLmRlZmF1bHRWYWx1ZT09TC5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhxLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KHEsImNsYXNzTmFtZSIsTzQpKTpKLmNsYXNzTmFtZSYmKHEuY2xhc3M9cS5jbGFzc05hbWU9Si5jbGFzc05hbWUpLEcucHJvcHM9cX0oWCksWC4kJHR5cGVvZj1MNCxWOCYmVjgoWCl9O3ZhciBMOD13Ll9fcjt3Ll9fcj1mdW5jdGlvbihYKXtMOCYmTDgoWCksTzg9WC5fX2N9O3ZhciB6OD13LmRpZmZlZDt3LmRpZmZlZD1mdW5jdGlvbihYKXt6OCYmejgoWCk7dmFye3Byb3BzOkcsX19lOkp9PVg7SiE9bnVsbCYmWC50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIEcmJkcudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1HLnZhbHVlPT1udWxsPyIiOkcudmFsdWUpLE84PW51bGx9O3ZhciBDMD0zO2Z1bmN0aW9uIGUxKFgpe3JldHVybiBYPT09ImxhbmRzY2FwZV9sZWZ0Inx8WD09PSJsYW5kc2NhcGVfcmlnaHQifWZ1bmN0aW9uIFgxKFgpe3JldHVybiEhWCYmKGUxKFgub3JpZW50YXRpb24pfHxYLndpZHRoPlguaGVpZ2h0KX1mdW5jdGlvbiBQMShYKXtpZighWHx8WC53aWR0aDw9MHx8WC5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IEc9ZTEoWC5vcmllbnRhdGlvbil8fFgud2lkdGg+WC5oZWlnaHQsSj1HP01hdGgubWF4KFgud2lkdGgsWC5oZWlnaHQpOk1hdGgubWluKFgud2lkdGgsWC5oZWlnaHQpLFk9Rz9NYXRoLm1pbihYLndpZHRoLFguaGVpZ2h0KTpNYXRoLm1heChYLndpZHRoLFguaGVpZ2h0KTtpZihKPT09WC53aWR0aCYmWT09PVguaGVpZ2h0KXJldHVybiBYO3JldHVybnsuLi5YLHdpZHRoOkosaGVpZ2h0Oll9fWZ1bmN0aW9uIEcxKFgpe2xldCBHPVAxKFgpLEo9QjgoWD8ub3JpZW50YXRpb24pLFk9TWF0aC5hYnMoSik9PT05MCxxPSEhWCYmWC53aWR0aD5YLmhlaWdodCxaPUo9PT0xODB8fFkmJiFxO3JldHVybntkaXNwbGF5Q29uZmlnOkcscm90YXRpb25EZWdyZWVzOlo/SjowLG5lZWRzQ3NzUm90YXRpb246WixpbnB1dE9yaWVudGF0aW9uOlo/WD8ub3JpZW50YXRpb246dm9pZCAwfX1mdW5jdGlvbiBCOChYKXtzd2l0Y2goWCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJuIDkwO2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm4tOTA7Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJuIDE4MDtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBKMShYLEcsSil7c3dpdGNoKFgpe2Nhc2UibGFuZHNjYXBlX2xlZnQiOnJldHVybnt4OkoseToxLUd9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57eDoxLUoseTpHfTtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm57eDoxLUcseToxLUp9O2RlZmF1bHQ6cmV0dXJue3g6Ryx5Okp9fX1mdW5jdGlvbiBYOShYLEcpe3N3aXRjaChYKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goRyl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIEd9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChHKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gR31jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goRyl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIEd9ZGVmYXVsdDpyZXR1cm4gR319dmFyIEI0PTA7ZnVuY3Rpb24gUShYLEcsSixZLHEsWil7R3x8KEc9e30pO3ZhciBfLCQsej1HO2lmKCJyZWYiaW4geilmb3IoJCBpbiB6PXt9LEcpJD09InJlZiI/Xz1HWyRdOnpbJF09R1skXTt2YXIgTD17dHlwZTpYLHByb3BzOnosa2V5OkoscmVmOl8sX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tQjQsX19pOi0xLF9fdTowLF9fc291cmNlOnEsX19zZWxmOlp9O2lmKHR5cGVvZiBYPT0iZnVuY3Rpb24iJiYoXz1YLmRlZmF1bHRQcm9wcykpZm9yKCQgaW4gXyl6WyRdPT09dm9pZCAwJiYoelskXT1fWyRdKTtyZXR1cm4gdy52bm9kZSYmdy52bm9kZShMKSxMfXZhciBGOD1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLEY0PTMsTjQ9NCxQND01O2Z1bmN0aW9uIFUxKHt1cmw6WCx3c1VybDpHLHN0eWxlOkosaW1hZ2VTdHlsZTpZLGNsYXNzTmFtZTpxLG9uSG9tZVByZXNzOlosb25TdHJlYW1Ub3VjaDpfLG9uU3RyZWFtTXVsdGlUb3VjaDokLG9uU3RyZWFtQnV0dG9uOnosc3Vic2NyaWJlRnJhbWU6TCxzdHJlYW1GcmFtZTpCLHN0cmVhbUNvbmZpZzpWLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOkgsaGlkZUNvbnRyb2xzOk8sb25TdHJlYW1pbmdDaGFuZ2U6VSxjb25uZWN0aW9uUXVhbGl0eTpQfSl7bGV0IEY9ISFfLEE9YihudWxsKSxJPWIobnVsbCkscz1iKG51bGwpLGg9YihudWxsKSxbYyxlXT1rKCExKSxbbixfMF09ayhudWxsKSxbZix5XT1rKG51bGwpLGQ9YihudWxsKSxZMT1iKEgpO1kxLmN1cnJlbnQ9SDtsZXQgYzA9YihudWxsKSxbUjAsYjFdPWsobnVsbCk7aigoKT0+e2xldCBEPWMwLmN1cnJlbnQ7aWYoIUR8fHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpcmV0dXJuO2xldCBXPW5ldyBSZXNpemVPYnNlcnZlcigoTik9PntsZXQgTT1OWzBdPy5jb250ZW50UmVjdDtpZihNKWIxKHt3aWR0aDpNLndpZHRoLGhlaWdodDpNLmhlaWdodH0pfSk7cmV0dXJuIFcub2JzZXJ2ZShEKSwoKT0+Vy5kaXNjb25uZWN0KCl9LFtdKTtsZXRbUDAsbDBdPWsoMCksVTA9YigwKSxbaDAsZzBdPWsoITEpLEwwPWIobnVsbCk7aigoKT0+e2lmKFA9PT0icG9vciIpe2lmKGcwKCEwKSxMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KTtMMC5jdXJyZW50PXNldFRpbWVvdXQoKCk9PntnMCghMSksTDAuY3VycmVudD1udWxsfSwzMDAwKX1lbHNlIGlmKGcwKCExKSxMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KSxMMC5jdXJyZW50PW51bGw7cmV0dXJuKCk9PntpZihMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KX19LFtQXSk7bGV0IGEwPWAke1h9L3N0cmVhbS5tanBlZ2A7aigoKT0+e2QuY3VycmVudD1udWxsLHkobnVsbCl9LFtYXSk7bGV0IEkwPVIoKEQpPT57aWYoIUR8fEQud2lkdGg8PTB8fEQuaGVpZ2h0PD0wKXJldHVybjtsZXQgVz1kLmN1cnJlbnQsTj1ELm9yaWVudGF0aW9uPT09dm9pZCAwJiZXPy5vcmllbnRhdGlvbj97Li4uRCxvcmllbnRhdGlvbjpXLm9yaWVudGF0aW9ufTpEO2lmKFcmJlcud2lkdGg9PT1OLndpZHRoJiZXLmhlaWdodD09PU4uaGVpZ2h0JiZXLm9yaWVudGF0aW9uPT09Ti5vcmllbnRhdGlvbilyZXR1cm47ZC5jdXJyZW50PU4seShOKSxZMS5jdXJyZW50Py4oTil9LFtdKSxpMD1iKFUpO2kwLmN1cnJlbnQ9VSxqKCgpPT57aTAuY3VycmVudD8uKGMpfSxbY10pLGooKCk9PntpZihGJiZWKUkwKFYpfSxbRixWLEkwXSk7bGV0IE0wPWIoITEpO00wLmN1cnJlbnQ9YztsZXQgQTA9YihudWxsKTtqKCgpPT57aWYoIUZ8fCFMKXJldHVybjtsZXQgVz1zZXRUaW1lb3V0KCgpPT57aWYoIU0wLmN1cnJlbnQpXzAoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKSxOPUwoKE0pPT57VTAuY3VycmVudCsrLEQwLmN1cnJlbnQ9RGF0ZS5ub3coKTtsZXQgRT1JLmN1cnJlbnQ7aWYoRSl7aWYoQTAuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKEEwLmN1cnJlbnQpO0EwLmN1cnJlbnQ9TSxFLnNyYz1NfWlmKCFNMC5jdXJyZW50KWNsZWFyVGltZW91dChXKSxlKCEwKSxfMChudWxsKX0pO3JldHVybigpPT57aWYoY2xlYXJUaW1lb3V0KFcpLE4/LigpLEEwLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTChBMC5jdXJyZW50KSxBMC5jdXJyZW50PW51bGx9fSxbRixMXSk7bGV0IFgwPVIoKEQpPT57bGV0IFc9RzEoZC5jdXJyZW50KS5pbnB1dE9yaWVudGF0aW9uLE49SjEoVyxELngsRC55KSxNPUQuZWRnZT09PXZvaWQgMD92b2lkIDA6WDkoVyxELmVkZ2UpLEU9TT09PXZvaWQgMD97dHlwZTpELnR5cGUsLi4uTn06e3R5cGU6RC50eXBlLC4uLk4sZWRnZTpNfTtpZihGKXtfPy4oRSk7cmV0dXJufWxldCBtPWguY3VycmVudDtpZighbXx8bS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBvPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShFKSkscj1uZXcgVWludDhBcnJheSgxK28ubGVuZ3RoKTtyWzBdPUY0LHIuc2V0KG8sMSksbS5zZW5kKHIpfSxbRixfXSksYjA9UigoRCk9PntpZihGKXt6Py4oRCk7cmV0dXJufWxldCBXPWguY3VycmVudDtpZighV3x8Vy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBOPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7YnV0dG9uOkR9KSksTT1uZXcgVWludDhBcnJheSgxK04ubGVuZ3RoKTtNWzBdPU40LE0uc2V0KE4sMSksVy5zZW5kKE0pfSxbRix6XSksejA9UigoRCk9PntsZXQgVz1HMShkLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sTj1KMShXLEQueDEsRC55MSksTT1KMShXLEQueDIsRC55MiksRT17dHlwZTpELnR5cGUseDE6Ti54LHkxOk4ueSx4MjpNLngseTI6TS55fTtpZihGKXskPy4oRSk7cmV0dXJufWxldCBtPWguY3VycmVudDtpZighbXx8bS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBvPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShFKSkscj1uZXcgVWludDhBcnJheSgxK28ubGVuZ3RoKTtyWzBdPVA0LHIuc2V0KG8sMSksbS5zZW5kKHIpfSxbRiwkXSk7aigoKT0+e2lmKEYpcmV0dXJuO2xldCBEPW5ldyBBYm9ydENvbnRyb2xsZXIsVz0oKT0+e2ZldGNoKGAke1h9L2NvbmZpZ2Ase3NpZ25hbDpELnNpZ25hbH0pLnRoZW4oKFExKT0+UTEuanNvbigpKS50aGVuKChRMSk9PntJMChRMSl9KS5jYXRjaCgoKT0+e30pfTtXKCk7bGV0IE49c2V0SW50ZXJ2YWwoVywxMDAwKSxNPUc/P1gucmVwbGFjZSgvXmh0dHAvLCJ3cyIpKyIvd3MiLEU9bmV3IFdlYlNvY2tldChNKTtFLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIixoLmN1cnJlbnQ9RSxFLm9ub3Blbj0oKT0+e2UoITApLF8wKG51bGwpfSxFLm9uY2xvc2U9KCk9PntlKCExKX0sRS5vbmVycm9yPSgpPT57XzAoIldlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCIpLGUoITEpfTtsZXQgbT1uZXcgQWJvcnRDb250cm9sbGVyLG89c2V0SW50ZXJ2YWwoKCk9PntsMChVMC5jdXJyZW50KSxVMC5jdXJyZW50PTB9LDEwMDApLHI9ITEsVzk9c2V0VGltZW91dCgoKT0+e2lmKCFyKV8wKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk7cmV0dXJuKGFzeW5jKCk9Pnt0cnl7bGV0IEs5PShhd2FpdCBmZXRjaChhMCx7c2lnbmFsOm0uc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFLOSlyZXR1cm47bGV0IFMxPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSgiLS1mcmFtZSIpO3doaWxlKCEwKXtsZXR7ZG9uZTpnOCx2YWx1ZTp2MX09YXdhaXQgSzkucmVhZCgpO2lmKGc4KWJyZWFrO2lmKHYxKWZvcihsZXQgeTE9MDt5MTw9djEubGVuZ3RoLVMxLmxlbmd0aDt5MSsrKXtsZXQgSDk9ITA7Zm9yKGxldCBfMT0wO18xPFMxLmxlbmd0aDtfMSsrKWlmKHYxW3kxK18xXSE9PVMxW18xXSl7SDk9ITE7YnJlYWt9aWYoSDkpe2lmKFUwLmN1cnJlbnQrKywhcilyPSEwLGNsZWFyVGltZW91dChXOSl9fX19Y2F0Y2h7fX0pKCksKCk9PnttLmFib3J0KCksRC5hYm9ydCgpLGNsZWFySW50ZXJ2YWwoTiksY2xlYXJJbnRlcnZhbChvKSxjbGVhclRpbWVvdXQoVzkpLEUuY2xvc2UoKSxoLmN1cnJlbnQ9bnVsbH19LFtYLGEwLEYsSTAsR10pO2xldCBEMD1iKDApO2ooKCk9PntpZighRilyZXR1cm47bGV0IEQ9MjAwMCxXPSgpPT57bGV0IEU9RDAuY3VycmVudDtpZighRXx8IU0wLmN1cnJlbnQpcmV0dXJuO2lmKERhdGUubm93KCktRT5EKWUoITEpfSxOPXNldEludGVydmFsKCgpPT57bDAoVTAuY3VycmVudCksVTAuY3VycmVudD0wLFcoKX0sMTAwMCksTT0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4pVygpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsTSksKCk9PntjbGVhckludGVydmFsKE4pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLE0pfX0sW0ZdKTtsZXQgbzA9UigoKT0+e3JldHVybiBGP0kuY3VycmVudDpBLmN1cnJlbnR9LFtGXSksJDA9UigoKT0+e3JldHVybiBzLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz9vMCgpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbH0sW28wXSksajA9UigoRCxXKT0+e2xldCBOPSQwKCk7aWYoIU4pcmV0dXJuO2xldCBNPShXLmNsaWVudFgtTi5sZWZ0KS9OLndpZHRoLEU9KFcuY2xpZW50WS1OLnRvcCkvTi5oZWlnaHQ7WDAoe3R5cGU6RCx4Ok0seTpFfSl9LFskMCxYMF0pLEcwPWIoITEpLEs9YighMSksVD1iKCExKSxTPWIoe2R4OjAsZHk6MH0pLHY9YighMSksW3UsaV09ayghMSksVzA9Yih7eDowLjUseTowLjV9KSxbcCxnXT1rKG51bGwpO2ooKCk9PntsZXQgRD0oTik9PntpZihOLmtleT09PSJBbHQiKWkoITApfSxXPShOKT0+e2lmKE4ua2V5PT09IkFsdCIpe2lmKGkoITEpLCFLLmN1cnJlbnQpZyhudWxsKX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsRCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixXKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixEKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLFcpfX0sW10pLGooKCk9PntpZih1JiYhSy5jdXJyZW50KXtsZXQgRD1XMC5jdXJyZW50O2coe3gxOkQueCx5MTpELnkseDI6MS1ELngseTI6MS1ELnl9KX1lbHNlIGlmKCF1JiYhSy5jdXJyZW50KWcobnVsbCl9LFt1XSk7bGV0IFkwPWIobnVsbCksUzA9YighMSksSzA9YigwKSxtMD1SKChELFcpPT57UzAuY3VycmVudD0hMDtsZXQgTj1ZMC5jdXJyZW50O2lmKE4pY2FuY2VsQW5pbWF0aW9uRnJhbWUoSzAuY3VycmVudCksSzAuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLnN0eWxlLmxlZnQ9YCR7RCoxMDB9JWAsTi5zdHlsZS50b3A9YCR7VyoxMDB9JWAsTi5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sW10pLHYwPVIoKEQsVyk9PntpZighUzAuY3VycmVudClyZXR1cm47bGV0IE49WTAuY3VycmVudDtpZihOKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEswLmN1cnJlbnQpLEswLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ti5zdHlsZS5sZWZ0PWAke0QqMTAwfSVgLE4uc3R5bGUudG9wPWAke1cqMTAwfSVgfSl9LFtdKSx3MD1SKCgpPT57UzAuY3VycmVudD0hMTtsZXQgRD1ZMC5jdXJyZW50O2lmKEQpY2FuY2VsQW5pbWF0aW9uRnJhbWUoSzAuY3VycmVudCksRC5zdHlsZS5kaXNwbGF5PSJub25lIn0sW10pLFoxPWIoMCkscjA9YihudWxsKSxoOD1SKCgpPT57bGV0IEQ9RGF0ZS5ub3coKSxXPUQtWjEuY3VycmVudDtpZihaMS5jdXJyZW50PUQsVzwzMDApe2lmKHIwLmN1cnJlbnQpY2xlYXJUaW1lb3V0KHIwLmN1cnJlbnQpLHIwLmN1cnJlbnQ9bnVsbDtpZihaKVooKTtlbHNlIGIwKCJhcHBfc3dpdGNoZXIiKX1lbHNlIHIwLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFopWigpO2Vsc2UgYjAoImhvbWUiKTtyMC5jdXJyZW50PW51bGx9LDMwMCl9LFtiMCxaXSksajE9RzEoZiksczA9ajEuZGlzcGxheUNvbmZpZyxUMD0oKCk9PntpZighczB8fCFSMClyZXR1cm4gbnVsbDtpZihSMC53aWR0aD09PTB8fFIwLmhlaWdodD09PTApcmV0dXJuIG51bGw7bGV0IEQ9TWF0aC5taW4oUjAud2lkdGgvczAud2lkdGgsUjAuaGVpZ2h0L3MwLmhlaWdodCk7cmV0dXJue3dpZHRoOnMwLndpZHRoKkQsaGVpZ2h0OnMwLmhlaWdodCpEfX0pKCkscTE9ajEucm90YXRpb25EZWdyZWVzLFY5PWoxLm5lZWRzQ3NzUm90YXRpb24mJk1hdGguYWJzKHExKT09PTkwLEw5PVksejk9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiI1MCUiLGxlZnQ6IjUwJSIsd2lkdGg6VjkmJlQwP2Ake1QwLmhlaWdodH1weGA6IjEwMCUiLGhlaWdodDpWOSYmVDA/YCR7VDAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7cTE9PT0wPyIiOmAgcm90YXRlKCR7cTF9ZGVnKWB9YCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLGN1cnNvcjpGOCxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlksLi4ucTE9PT0wP3t9Ontib3JkZXJSYWRpdXM6MCxjb3JuZXJTaGFwZTp2b2lkIDB9fTtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZmxleDoxLC4uLk8/e306e2JvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxvdmVyZmxvdzoiaGlkZGVuIixtaW5XaWR0aDowLG1pbkhlaWdodDowLC4uLkp9LGNsYXNzTmFtZTpxLGNoaWxkcmVuOltRKCJkaXYiLHtyZWY6YzAsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG1pbldpZHRoOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46USgiZGl2Iix7cmVmOnMsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6VDA/YCR7VDAud2lkdGh9cHhgOiIxMDAlIixoZWlnaHQ6VDA/YCR7VDAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOkw5Py5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6TDk/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbUSgiaW1nIix7cmVmOkEsc3JjOkY/dm9pZCAwOmEwLGRyYWdnYWJsZTohMSxvbkxvYWQ6KEQpPT57bGV0IFc9RC5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKUkwKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOkY/e2Rpc3BsYXk6Im5vbmUifTp6OX0pLEYmJlEoImltZyIse3JlZjpJLGRyYWdnYWJsZTohMSxvbkxvYWQ6KEQpPT57bGV0IFc9RC5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKUkwKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOno5fSksUSgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxjdXJzb3I6RjgsdG91Y2hBY3Rpb246Im5vbmUifSxvbk1vdXNlRG93bjooRCk9PntELnByZXZlbnREZWZhdWx0KCk7bGV0IFc9JDAoKTtpZighVylyZXR1cm47bGV0IE49KEQuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsTT0oRC5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihELmFsdEtleSl7Sy5jdXJyZW50PSEwLFQuY3VycmVudD1ELnNoaWZ0S2V5O2xldCBFPXt4MTpOLHkxOk0seDI6MS1OLHkyOjEtTX07Uy5jdXJyZW50PXtkeDoxLU4tTixkeToxLU0tTX0sZyhFKSx6MCh7dHlwZToiYmVnaW4iLC4uLkV9KTtyZXR1cm59aWYobTAoTixNKSxNPjAuODgpRzAuY3VycmVudD0hMCxYMCh7dHlwZToiYmVnaW4iLHg6Tix5Ok0sZWRnZTpDMH0pO2Vsc2UgRzAuY3VycmVudD0hMSxqMCgiYmVnaW4iLEQpfSxvbk1vdXNlTW92ZTooRCk9PntsZXQgVz0kMCgpO2lmKCFXKXJldHVybjtsZXQgTj0oRC5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxNPShELmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKFcwLmN1cnJlbnQ9e3g6Tix5Ok19LEQuYnV0dG9ucz09PTApe2lmKEQuYWx0S2V5KWcoe3gxOk4seTE6TSx4MjoxLU4seTI6MS1NfSk7cmV0dXJufWlmKEsuY3VycmVudCl7bGV0IEU7aWYoVC5jdXJyZW50KXtsZXQgbT1TLmN1cnJlbnQ7RT17eDE6Tix5MTpNLHgyOk4rbS5keCx5MjpNK20uZHl9fWVsc2UgRT17eDE6Tix5MTpNLHgyOjEtTix5MjoxLU19O2coRSksejAoe3R5cGU6Im1vdmUiLC4uLkV9KTtyZXR1cm59aWYodjAoTixNKSxHMC5jdXJyZW50KVgwKHt0eXBlOiJtb3ZlIix4Ok4seTpNLGVkZ2U6QzB9KTtlbHNlIGowKCJtb3ZlIixEKX0sb25Nb3VzZVVwOihEKT0+e2lmKEsuY3VycmVudCl7bGV0IFc9JDAoKTtpZihXKXtsZXQgTj0oRC5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxNPShELmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKFQuY3VycmVudCl7bGV0IEU9Uy5jdXJyZW50O3owKHt0eXBlOiJlbmQiLHgxOk4seTE6TSx4MjpOK0UuZHgseTI6TStFLmR5fSl9ZWxzZSB6MCh7dHlwZToiZW5kIix4MTpOLHkxOk0seDI6MS1OLHkyOjEtTX0pfWlmKEsuY3VycmVudD0hMSwhRC5hbHRLZXkpZyhudWxsKTtyZXR1cm59aWYodzAoKSxHMC5jdXJyZW50KXtsZXQgVz0kMCgpO2lmKFcpe2xldCBOPShELmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLE09KEQuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQ7WDAoe3R5cGU6ImVuZCIseDpOLHk6TSxlZGdlOkMwfSl9RzAuY3VycmVudD0hMTtyZXR1cm59ajAoImVuZCIsRCl9LG9uTW91c2VMZWF2ZTooRCk9PntpZihLLmN1cnJlbnQpe2lmKHApejAoe3R5cGU6ImVuZCIsLi4ucH0pO0suY3VycmVudD0hMSxnKG51bGwpO3JldHVybn1pZih3MCgpLEcwLmN1cnJlbnQpe2xldCBXPSQwKCk7aWYoVyl7bGV0IE49KEQuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsTT0oRC5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtYMCh7dHlwZToiZW5kIix4Ok4seTpNLGVkZ2U6QzB9KX1HMC5jdXJyZW50PSExO3JldHVybn1pZihELmJ1dHRvbnM+MClqMCgiZW5kIixEKTtnKG51bGwpfSxvblRvdWNoU3RhcnQ6KEQpPT57RC5wcmV2ZW50RGVmYXVsdCgpO2xldCBXPSQwKCk7aWYoIVcpcmV0dXJuO2lmKEQudG91Y2hlcy5sZW5ndGg+PTIpe3cwKCk7bGV0IG09RC50b3VjaGVzWzBdLG89RC50b3VjaGVzWzFdLHI9e3gxOihtLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkxOihtLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0LHgyOihvLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkyOihvLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0fTtpZighdi5jdXJyZW50JiYhRzAuY3VycmVudClYMCh7dHlwZToiZW5kIix4OnIueDEseTpyLnkxfSk7di5jdXJyZW50PSEwLEsuY3VycmVudD0hMCxHMC5jdXJyZW50PSExLGcociksejAoe3R5cGU6ImJlZ2luIiwuLi5yfSk7cmV0dXJufWxldCBOPUQudG91Y2hlc1swXTtpZighTilyZXR1cm47bGV0IE09KE4uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsRT0oTi5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihtMChNLEUpLEU+MC44OClHMC5jdXJyZW50PSEwLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6RSxlZGdlOkMwfSk7ZWxzZSBHMC5jdXJyZW50PSExLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6RX0pfSxvblRvdWNoTW92ZTooRCk9PntELnByZXZlbnREZWZhdWx0KCk7bGV0IFc9JDAoKTtpZighVylyZXR1cm47aWYodi5jdXJyZW50JiZELnRvdWNoZXMubGVuZ3RoPj0yKXtsZXQgbT1ELnRvdWNoZXNbMF0sbz1ELnRvdWNoZXNbMV0scj17eDE6KG0uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTE6KG0uY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQseDI6KG8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTI6KG8uY2xpZW50WS1XLnRvcCkvVy5oZWlnaHR9O2cociksejAoe3R5cGU6Im1vdmUiLC4uLnJ9KTtyZXR1cm59bGV0IE49RC50b3VjaGVzWzBdO2lmKCFOKXJldHVybjtsZXQgTT0oTi5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxFPShOLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKHYwKE0sRSksRzAuY3VycmVudClYMCh7dHlwZToibW92ZSIseDpNLHk6RSxlZGdlOkMwfSk7ZWxzZSBYMCh7dHlwZToibW92ZSIseDpNLHk6RX0pfSxvblRvdWNoRW5kOihEKT0+e0QucHJldmVudERlZmF1bHQoKTtsZXQgVz0kMCgpO2lmKCFXKXJldHVybjtpZih2LmN1cnJlbnQpe2lmKEQudG91Y2hlcy5sZW5ndGg8Mil7bGV0IG09RC5jaGFuZ2VkVG91Y2hlc1swXSxvPXA7aWYobSYmbyl6MCh7dHlwZToiZW5kIix4MToobS5jbGllbnRYLVcubGVmdCkvVy53aWR0aCx5MToobS5jbGllbnRZLVcudG9wKS9XLmhlaWdodCx4MjpvLngyLHkyOm8ueTJ9KTtlbHNlIGlmKG8pejAoe3R5cGU6ImVuZCIsLi4ub30pO3YuY3VycmVudD0hMSxLLmN1cnJlbnQ9ITEsZyhudWxsKX1yZXR1cm59bGV0IE49RC5jaGFuZ2VkVG91Y2hlc1swXTtpZighTilyZXR1cm47bGV0IE09KE4uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsRT0oTi5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZih3MCgpLEcwLmN1cnJlbnQpWDAoe3R5cGU6ImVuZCIseDpNLHk6RSxlZGdlOkMwfSksRzAuY3VycmVudD0hMTtlbHNlIFgwKHt0eXBlOiJlbmQiLHg6TSx5OkV9KX19KSxRKCJkaXYiLHtyZWY6WTAsImRhdGEtdGVzdGlkIjoidG91Y2gtaW5kaWNhdG9yIixzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJub25lIix3aWR0aDoyNCxoZWlnaHQ6MjQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoNTksMTMwLDI0NiwwLjUpIixib3hTaGFkb3c6IjAgMCA4cHggcmdiYSg1OSwxMzAsMjQ2LDAuMykiLHRyYW5zZm9ybToidHJhbnNsYXRlKC01MCUsIC01MCUpIixwb2ludGVyRXZlbnRzOiJub25lIn19KSxwJiZRKGwse2NoaWxkcmVuOltRKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpVOChwLngxLHAueTEpfSksUSgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZmluZ2VyLWRvdCIsc3R5bGU6VTgocC54MixwLnkyKX0pXX0pLCFjJiYhbiYmUSgiZGl2Iix7c3R5bGU6ey4uLk44LC4uLll8fHt9fSxjaGlsZHJlbjpRKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNH0sY2hpbGRyZW46IkNvbm5lY3RpbmcuLi4ifSl9KSxuJiZRKCJkaXYiLHtzdHlsZTpOOCxjaGlsZHJlbjpRKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46bn0pfSksaDAmJlEoImRpdiIse3N0eWxlOlU0LGNoaWxkcmVuOlEoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmYmJmMjQiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJTbG93IGNvbm5lY3Rpb24ifSl9KV19KX0pLCFPJiZRKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNHB4IDhweCIsYm9yZGVyVG9wOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGNoaWxkcmVuOltRKCJidXR0b24iLHtvbkNsaWNrOmg4LHN0eWxlOntiYWNrZ3JvdW5kOiJub25lIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMikiLGNvbG9yOiIjYWFhIixmb250U2l6ZToxMSxmb250RmFtaWx5OiJtb25vc3BhY2UiLHBhZGRpbmc6IjJweCAxMHB4IixjdXJzb3I6InBvaW50ZXIiLGJvcmRlclJhZGl1czo0fSxjaGlsZHJlbjoiSG9tZSJ9KSxRKCJzcGFuIix7c3R5bGU6e2NvbG9yOlAwPjA/IiM0ZjQiOiIjODg4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJtb25vc3BhY2UiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltQJiZRKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicXVhbGl0eS1kb3QiLHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGJhY2tncm91bmQ6UD09PSJnb29kIj8iIzRhZGU4MCI6UD09PSJkZWdyYWRlZCI/IiNmYWNjMTUiOiIjZWY0NDQ0In19KSxQMCwiIGZwcyJdfSldfSldfSl9dmFyIFU0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo4LGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNykiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6IjRweCAxMnB4Iixwb2ludGVyRXZlbnRzOiJub25lIn0sTjg9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC44KSJ9LFA4PTIwO2Z1bmN0aW9uIFU4KFgsRyl7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpgJHtYKjEwMH0lYCx0b3A6YCR7RyoxMDB9JWAsd2lkdGg6UDgsaGVpZ2h0OlA4LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpIixib3JkZXI6IjEuMjVweCBzb2xpZCByZ2JhKDAsMCwwLDAuNTUpIixib3hTaGFkb3c6IjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNDUpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fWZ1bmN0aW9uIGQwKFgpe2lmKCFYKXJldHVybiJpcGhvbmUiO2xldCBHPVgudG9Mb3dlckNhc2UoKTtpZihHLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuImlwYWQiO2lmKEcuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIndhdGNoIjtpZihHLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4idmlzaW9uIjtyZXR1cm4iaXBob25lIn12YXIgVjA9e2lwaG9uZTp7d2lkdGg6NDI3LGhlaWdodDo4ODEsYmV6ZWxYOjE4LGJlemVsWToxOCxpbm5lclJhZGl1czo1NX0saXBhZDp7d2lkdGg6NDMwLGhlaWdodDo2MDUsYmV6ZWxYOjE2LGJlemVsWToxNixpbm5lclJhZGl1czoxMn0sd2F0Y2g6e3dpZHRoOjI3NCxoZWlnaHQ6MzIyLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6Nzl9LHZpc2lvbjp7d2lkdGg6NjQwLGhlaWdodDo0MDAsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czozMn19LHM2PVYwLmlwaG9uZS53aWR0aCx0Nj1WMC5pcGhvbmUuaGVpZ2h0LG42PVYwLmlwaG9uZS5iZXplbFgsZTY9VjAuaXBob25lLmJlemVsWSxYWD1WMC5pcGhvbmUuaW5uZXJSYWRpdXMsSTg9eyJpUGhvbmUgMTcgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTcgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgQWlyIjp7d2lkdGg6MTI2MCxoZWlnaHQ6MjczNn0sImlQaG9uZSAxNiBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNiBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE2IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE2Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNmUiOnt3aWR0aDoxMTcwLGhlaWdodDoyNTMyfSwiaVBob25lIDE1IFBybyBNYXgiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1IFBybyI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTUgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBhZCBQcm8gMTMtaW5jaCAoTTUpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE01KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIFBybyAxMy1pbmNoIChNNCkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTQpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgQWlyIDEzLWluY2ggKE0zKSI6e3dpZHRoOjIwNDgsaGVpZ2h0OjI3MzJ9LCJpUGFkIEFpciAxMS1pbmNoIChNMykiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCAoQTE2KSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIG1pbmkgKEExNyBQcm8pIjp7d2lkdGg6MTQ4OCxoZWlnaHQ6MjI2Nn0sIkFwcGxlIFdhdGNoIFVsdHJhIDMgKDQ5bW0pIjp7d2lkdGg6NDIyLGhlaWdodDo1MTR9LCJBcHBsZSBXYXRjaCBVbHRyYSAyICg0OW1tKSI6e3dpZHRoOjQxMCxoZWlnaHQ6NTAyfSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFIDMgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBXYXRjaCBTRSAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgVmlzaW9uIFBybyI6e3dpZHRoOjE5MjAsaGVpZ2h0OjEwODB9fTtmdW5jdGlvbiBJMShYLEcpe2xldCBKPVgmJlgud2lkdGg+MCYmWC5oZWlnaHQ+MD9YOkcsWT1QMShKKTtpZihZKXJldHVybmAke1kud2lkdGh9IC8gJHtZLmhlaWdodH1gO3JldHVybmAke1YwLmlwaG9uZS53aWR0aC0yKlYwLmlwaG9uZS5iZXplbFh9IC8gJHtWMC5pcGhvbmUuaGVpZ2h0LTIqVjAuaXBob25lLmJlemVsWX1gfWZ1bmN0aW9uIE0xKFg9ImlwaG9uZSIsRyl7bGV0IEo9Rz9JOFtHXTpudWxsO2lmKEopcmV0dXJuIEo7bGV0IFk9VjBbWF07cmV0dXJue3dpZHRoOlkud2lkdGgtMipZLmJlemVsWCxoZWlnaHQ6WS5oZWlnaHQtMipZLmJlemVsWX19ZnVuY3Rpb24gQTEoWD0iaXBob25lIixHKXtpZihYMShHKSlzd2l0Y2goWCl7Y2FzZSJpcGFkIjpyZXR1cm4gNzIwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7ZGVmYXVsdDpyZXR1cm4gNjIwfXN3aXRjaChYKXtjYXNlImlwYWQiOnJldHVybiA0MDA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtkZWZhdWx0OnJldHVybiAzMjB9fWZ1bmN0aW9uIHcxKFg9ImlwaG9uZSIsRyl7bGV0IEo9VjBbWF0sWT1KLndpZHRoLTIqSi5iZXplbFgscT1KLmhlaWdodC0yKkouYmV6ZWxZO2lmKFk8cSYmWDEoRykpcmV0dXJuYCR7Si5pbm5lclJhZGl1cy9xKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1kqMTAwfSVgO3JldHVybmAke0ouaW5uZXJSYWRpdXMvWSoxMDB9JSAvICR7Si5pbm5lclJhZGl1cy9xKjEwMH0lYH12YXIgRzk9RjAobnVsbCk7ZnVuY3Rpb24gVDEoWCl7bGV0IEc9RTAoRzkpO2lmKCFHKXRocm93IEVycm9yKGA8U2ltdWxhdG9yVG9vbGJhci4ke1h9PiBtdXN0IGJlIHJlbmRlcmVkIGluc2lkZSA8U2ltdWxhdG9yVG9vbGJhcj5gKTtyZXR1cm4gR312YXIgdzQ9e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6IjRweCAxMnB4IixwYWRkaW5nOiI4cHggMTJweCIsYm9yZGVyUmFkaXVzOjI0LGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKSIsYm94U2hhZG93OiIwIDFweCAycHggcmdiYSgwLDAsMCwwLjIpIixtaW5XaWR0aDoyNDAsd2lkdGg6IjEwMCUifTtmdW5jdGlvbiBUNCh7ZXhlYzpYLG9uUm90YXRlOkcsb3JpZW50YXRpb246SixkZXZpY2VVZGlkOlksZGV2aWNlTmFtZTpxLGRldmljZVJ1bnRpbWU6WixzdHJlYW1pbmc6Xz0hMSxkaXNhYmxlZDokPSExLGNoaWxkcmVuOnosc3R5bGU6TCwuLi5CfSl7bGV0IFY9ZDAocSksTz17ZXhlYzpYLG9uUm90YXRlOkcsb3JpZW50YXRpb246SixkZXZpY2VVZGlkOlksZGV2aWNlTmFtZTpxLGRldmljZVJ1bnRpbWU6WixkZXZpY2VUeXBlOlYsc3RyZWFtaW5nOl8sZGlzYWJsZWQ6JHx8IVl8fCFffTtyZXR1cm4gUShHOS5Qcm92aWRlcix7dmFsdWU6TyxjaGlsZHJlbjpRKCJkaXYiLHsiZGF0YS1zaW11bGF0b3ItdG9vbGJhciI6ITAsc3R5bGU6ey4uLnc0LC4uLkx9LC4uLkIsY2hpbGRyZW46en0pfSl9dmFyIGs0PXtkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQiLHRleHRBbGlnbjoibGVmdCIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNmZmYiLHBhZGRpbmc6IjJweCA0cHgiLG1hcmdpbjoiLTJweCAtNHB4Iixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIiLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGxpbmVIZWlnaHQ6MS4yLGZvbnRGYW1pbHk6ImluaGVyaXQifSxFND1mMChmdW5jdGlvbih7bmFtZTpHLHN1YnRpdGxlOkosaGlkZUNoZXZyb246WSxzdHlsZTpxLG9uTW91c2VFbnRlcjpaLG9uTW91c2VMZWF2ZTpfLC4uLiR9LHope2xldCBMPVQxKCJUaXRsZSIpLFtCLFZdPWsoITEpLEg9Rz8/TC5kZXZpY2VOYW1lPz8iTm8gc2ltdWxhdG9yIixPPUo/PyhMLmRldmljZVJ1bnRpbWU/TC5kZXZpY2VSdW50aW1lLnJlcGxhY2UoL1wuLywiICIpOiLigJQiKTtyZXR1cm4gUSgiYnV0dG9uIix7cmVmOnosdHlwZToiYnV0dG9uIiwiZGF0YS1zaW11bGF0b3ItdG9vbGJhci10aXRsZSI6ITAsb25Nb3VzZUVudGVyOihVKT0+e1YoITApLFo/LihVKX0sb25Nb3VzZUxlYXZlOihVKT0+e1YoITEpLF8/LihVKX0sc3R5bGU6ey4uLms0LGJhY2tncm91bmQ6Qj8icmdiYSgyNTUsMjU1LDI1NSwwLjEpIjoidHJhbnNwYXJlbnQiLC4uLnF9LC4uLiQsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7ZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjQsZm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsY29sb3I6IiNmZmYiLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpbSCwhWSYmUSgic3ZnIix7d2lkdGg6IjEwIixoZWlnaHQ6IjEwIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHlsZTp7Y29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC42KSIsZmxleFNocmluazowfSxjaGlsZHJlbjpRKCJwb2x5bGluZSIse3BvaW50czoiNiA5IDEyIDE1IDE4IDkifSl9KV19KSxRKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpPfSldfSl9KSxDND17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmbGV4U2hyaW5rOjB9O2Z1bmN0aW9uIFI0KHtzdHlsZTpYLC4uLkd9KXtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6ey4uLkM0LC4uLlh9LC4uLkd9KX12YXIgYjQ9e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLHBhZGRpbmc6Nixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIiLGRpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLHRyYW5zaXRpb246ImJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzIn0sazE9ZjAoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6RyxzdHlsZTpKLGRpc2FibGVkOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOlosY2hpbGRyZW46XywuLi4kfSx6KXtsZXQgTD1FMChHOSksQj1ZfHxHfHxMPy5kaXNhYmxlZCxbVixIXT1rKCExKTtyZXR1cm4gUSgiYnV0dG9uIix7cmVmOnosdHlwZToiYnV0dG9uIixkaXNhYmxlZDpCLG9uTW91c2VFbnRlcjooTyk9PntIKCEwKSxxPy4oTyl9LG9uTW91c2VMZWF2ZTooTyk9PntIKCExKSxaPy4oTyl9LHN0eWxlOnsuLi5iNCxjb2xvcjpCPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpIjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIixiYWNrZ3JvdW5kOlYmJiFCPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsY3Vyc29yOkI/Im5vdC1hbGxvd2VkIjoicG9pbnRlciIsLi4uSn0sLi4uJCxjaGlsZHJlbjpffSl9KTtmdW5jdGlvbiBqNCgpe3JldHVyblsndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHNldCBmcm9udG1vc3QgdG8gdHJ1ZScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBwZXJmb3JtIGFjdGlvbiAiQVhSYWlzZSIgb2YgKGZpcnN0IHdpbmRvdyB3aG9zZSBuYW1lIGNvbnRhaW5zICJ3YXRjaE9TIiknLCd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gY2xpY2sgbWVudSBpdGVtICJIb21lIiBvZiBtZW51ICJEZXZpY2UiIG9mIG1lbnUgYmFyIGl0ZW0gIkRldmljZSIgb2YgbWVudSBiYXIgMSddLm1hcCgoRyk9PmAtZSAnJHtHfSdgKS5yZWR1Y2UoKEcsSik9PmAke0d9ICR7Sn1gLCJvc2FzY3JpcHQiKX12YXIgUzQ9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0sdjQ9USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46USgicGF0aCIse2Q6Ik0zIDEwLjUgMTIgM2w5IDcuNVYyMGExIDEgMCAwIDEtMSAxaC01di03aC02djdINGExIDEgMCAwIDEtMS0xeiJ9KX0pLHk0PVEoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJwYXRoIix7ZDoiTTE0LjUgNGgtNUw3IDdINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtM3oifSksUSgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjQifSldfSksaDQ9USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMTIgMTMiLGZpbGw6ImN1cnJlbnRDb2xvciIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpRKCJwYXRoIix7ZDoiTTEwLjIzMDUgMTIuODA3N0g0LjQyMzgzQzMuOTIzODMgMTIuODA3NyAzLjU0Njg4IDEyLjY4NDYgMy4yOTI5NyAxMi40Mzg1QzMuMDQyOTcgMTIuMTk2MyAyLjkxNzk3IDExLjgxOTQgMi45MTc5NyAxMS4zMDc3VjUuNTEyNzRDMi45MTc5NyA0Ljk5NzExIDMuMDQyOTcgNC42MTgyMSAzLjI5Mjk3IDQuMzc2MDJDMy41NDY4OCA0LjEyOTkzIDMuOTIzODMgNC4wMDY4OCA0LjQyMzgzIDQuMDA2ODhIMTAuMjMwNUMxMC43MzQ0IDQuMDA2ODggMTEuMTExMyA0LjEyOTkzIDExLjM2MTMgNC4zNzYwMkMxMS42MTEzIDQuNjE4MjEgMTEuNzM2MyA0Ljk5NzExIDExLjczNjMgNS41MTI3NFYxMS4zMDc3QzExLjczNjMgMTEuODE5NCAxMS42MTEzIDEyLjE5NjMgMTEuMzYxMyAxMi40Mzg1QzExLjExMTMgMTIuNjg0NiAxMC43MzQ0IDEyLjgwNzcgMTAuMjMwNSAxMi44MDc3Wk0xMC4yMTI5IDExLjg2NDNDMTAuNDE2IDExLjg2NDMgMTAuNTYyNSAxMS44MTk0IDEwLjY1MjMgMTEuNzI5NUMxMC43NDYxIDExLjY0MzYgMTAuNzkzIDExLjQ5NzEgMTAuNzkzIDExLjI5MDFWNS41MjQ0NkMxMC43OTMgNS4zMTc0MyAxMC43NDYxIDUuMTcwOTQgMTAuNjUyMyA1LjA4NTAxQzEwLjU2MjUgNC45OTUxNiAxMC40MTYgNC45NTAyNCAxMC4yMTI5IDQuOTUwMjRINC40NDE0MUM0LjI0MjE5IDQuOTUwMjQgNC4wOTU3IDQuOTk1MTYgNC4wMDE5NSA1LjA4NTAxQzMuOTA4MiA1LjE3MDk0IDMuODYxMzMgNS4zMTc0MyAzLjg2MTMzIDUuNTI0NDZWMTEuMjkwMUMzLjg2MTMzIDExLjQ5NzEgMy45MDgyIDExLjY0MzYgNC4wMDE5NSAxMS43Mjk1QzQuMDk1NyAxMS44MTk0IDQuMjQyMTkgMTEuODY0MyA0LjQ0MTQxIDExLjg2NDNIMTAuMjEyOVpNMi45MTc5NyAyLjU4MzA1VjAuNDE1MDgzQzIuOTE3OTcgMC4yMDAyNCAyLjk4NjMzIDAuMDY5MzgwMyAzLjEyMzA1IDAuMDIyNTA1M0MzLjI1OTc3IC0wLjAyODI3NTkgMy40MTAxNiAwLjAwNjg4MDMzIDMuNTc0MjIgMC4xMjc5NzRMNS4wNTA3OCAxLjIxMTk2QzUuMTc1NzggMS4zMDU3MSA1LjIzODI4IDEuNDAxNDEgNS4yMzgyOCAxLjQ5OTA3QzUuMjM4MjggMS41OTY3MiA1LjE3NTc4IDEuNjkyNDMgNS4wNTA3OCAxLjc4NjE4TDMuNTc0MjIgMi44NjQzQzMuNDEwMTYgMi45ODU0IDMuMjU5NzcgMy4wMjI1MSAzLjEyMzA1IDIuOTc1NjNDMi45ODYzMyAyLjkyNDg1IDIuOTE3OTcgMi43OTM5OSAyLjkxNzk3IDIuNTgzMDVaTTMuNTMzMiAxLjE1MzM2QzMuNjI2OTUgMS4xNTMzNiAzLjcwNzAzIDEuMTg2NTcgMy43NzM0NCAxLjI1Mjk3QzMuODQzNzUgMS4zMTkzOCAzLjg3ODkxIDEuMzk3NTEgMy44Nzg5MSAxLjQ4NzM1QzMuODc4OTEgMS41ODExIDMuODQzNzUgMS42NjMxMyAzLjc3MzQ0IDEuNzMzNDRDMy43MDcwMyAxLjc5OTg1IDMuNjI2OTUgMS44MzMwNSAzLjUzMzIgMS44MzMwNUgyLjgwNjY0QzIuMzgwODYgMS44MzMwNSAyLjAxMTcyIDEuOTI0ODUgMS42OTkyMiAyLjEwODQ0QzEuMzkwNjIgMi4yODgxMyAxLjE1MjM0IDIuNTM4MTMgMC45ODQzNzUgMi44NTg0NEMwLjgxNjQwNiAzLjE3ODc2IDAuNzMyNDIyIDMuNTQ1OTQgMC43MzI0MjIgMy45NjAwMVY0LjgzODkxQzAuNzMyNDIyIDQuOTM2NTcgMC42OTcyNjYgNS4wMjI1MSAwLjYyNjk1MyA1LjA5NjcyQzAuNTUyNzM0IDUuMTY3MDQgMC40NjQ4NDQgNS4yMDIxOSAwLjM2MzI4MSA1LjIwMjE5QzAuMjY1NjI1IDUuMjAyMTkgMC4xODE2NDEgNS4xNjcwNCAwLjExMTMyOCA1LjA5NjcyQzAuMDM3MTA5NCA1LjAyMjUxIDAgNC45MzY1NyAwIDQuODM4OTFWMy45NjAwMUMwIDMuNDAxNDEgMC4xMTcxODggMi45MTExOCAwLjM1MTU2MiAyLjQ4OTNDMC41ODIwMzEgMi4wNjc0MyAwLjkwODIwMyAxLjczOTMgMS4zMzAwOCAxLjUwNDkzQzEuNzQ4MDUgMS4yNzA1NSAyLjIzODI4IDEuMTUzMzYgMi44MDA3OCAxLjE1MzM2SDMuNTMzMloifSl9KSxnND1mMChmdW5jdGlvbih7b25DbGljazpHLC4uLkp9LFkpe2xldCBxPVQxKCJIb21lQnV0dG9uIik7cmV0dXJuIFEoazEse3JlZjpZLCJhcmlhLWxhYmVsIjoiSG9tZSIsb25DbGljazooWik9PntpZihHPy4oWiksWi5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihxLmRldmljZVR5cGU9PT0id2F0Y2giKXEuZXhlYyhqNCgpKTtlbHNlIHEuZXhlYygic2VydmUtc2ltIGJ1dHRvbiBob21lIil9LC4uLkosY2hpbGRyZW46djR9KX0pLG00PWYwKGZ1bmN0aW9uKHtvbkNsaWNrOkcsLi4uSn0sWSl7bGV0IHE9VDEoIlNjcmVlbnNob3RCdXR0b24iKTtyZXR1cm4gUShrMSx7cmVmOlksImFyaWEtbGFiZWwiOiJTY3JlZW5zaG90IixvbkNsaWNrOihaKT0+e2lmKEc/LihaKSxaLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHEuZGV2aWNlVWRpZClxLmV4ZWMoYHhjcnVuIHNpbWN0bCBpbyAke3EuZGV2aWNlVWRpZH0gc2NyZWVuc2hvdCB+L0Rlc2t0b3Avc2VydmUtc2ltLXNjcmVlbnNob3QtJChkYXRlICslcykucG5nYCl9LC4uLkosY2hpbGRyZW46eTR9KX0pLHg0PWYwKGZ1bmN0aW9uKHtvbkNsaWNrOkcsZm9yY2VEaXNhYmxlZDpKLC4uLll9LHEpe2xldCBaPVQxKCJSb3RhdGVCdXR0b24iKSxfPVouZGV2aWNlVHlwZT09PSJ3YXRjaCJ8fFouZGV2aWNlVHlwZT09PSJ2aXNpb24iLFskLHpdPWsoInBvcnRyYWl0Iik7cmV0dXJuIGooKCk9Pnt6KFoub3JpZW50YXRpb24/PyJwb3J0cmFpdCIpfSxbWi5kZXZpY2VVZGlkLFoub3JpZW50YXRpb25dKSxRKGsxLHtyZWY6cSwiYXJpYS1sYWJlbCI6IlJvdGF0ZSBkZXZpY2UiLGZvcmNlRGlzYWJsZWQ6Snx8XyxvbkNsaWNrOihMKT0+e2lmKEc/LihMKSxMLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCFaLmRldmljZVVkaWR8fF8pcmV0dXJuO2xldCBCPVM0W1oub3JpZW50YXRpb24/PyRdO2lmKHooQiksWi5vblJvdGF0ZSlaLm9uUm90YXRlKEIpO2Vsc2UgWi5leGVjKGBzZXJ2ZS1zaW0gcm90YXRlICR7Qn0gLWQgJHtaLmRldmljZVVkaWR9YCl9LC4uLlksY2hpbGRyZW46aDR9KX0pLEowPVQ0O0owLlRpdGxlPUU0O0owLkFjdGlvbnM9UjQ7SjAuQnV0dG9uPWsxO0owLkhvbWVCdXR0b249ZzQ7SjAuU2NyZWVuc2hvdEJ1dHRvbj1tNDtKMC5Sb3RhdGVCdXR0b249eDQ7ZnVuY3Rpb24gcDQoWCl7bGV0W0csSl09ayhudWxsKSxZPWIobmV3IFNldCkscT1SKChaKT0+e3JldHVybiBZLmN1cnJlbnQuYWRkKFopLCgpPT57WS5jdXJyZW50LmRlbGV0ZShaKX19LFtdKTtyZXR1cm4gaigoKT0+e2lmKCFYKXJldHVybjtsZXQgWj1uZXcgQWJvcnRDb250cm9sbGVyLF89ITEsJD1udWxsLHo9WC5yZXBsYWNlKC9cL3N0cmVhbVwubWpwZWckLywiIiksTD0oRik9PntpZihGLndpZHRoPD0wfHxGLmhlaWdodDw9MClyZXR1cm47SigoQSk9PkEmJkEud2lkdGg9PT1GLndpZHRoJiZBLmhlaWdodD09PUYuaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ri5vcmllbnRhdGlvbj9BOkYpfSxCPSgpPT57ZmV0Y2goYCR7en0vY29uZmlnYCx7c2lnbmFsOlouc2lnbmFsfSkudGhlbigoRik9PkYuanNvbigpKS50aGVuKEwpLmNhdGNoKCgpPT57fSl9O0IoKTtsZXQgVj1zZXRJbnRlcnZhbChCLDEwMDApLEg9bmV3IFVSTChYKTtILnNlYXJjaFBhcmFtcy5zZXQoInJhdyIsIjEiKTtsZXQgTz1ILnRvU3RyaW5nKCksVT0oKT0+e2lmKF98fFouc2lnbmFsLmFib3J0ZWR8fCQpcmV0dXJuOyQ9c2V0VGltZW91dCgoKT0+eyQ9bnVsbCxQKCl9LDEwMDApfSxQPWFzeW5jKCk9Pnt0cnl7bGV0IEE9KGF3YWl0IGZldGNoKE8se3NpZ25hbDpaLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighQSl7VSgpO3JldHVybn1sZXQgST1uZXcgVWludDhBcnJheSgwKTt3aGlsZSghMCl7bGV0e2RvbmU6cyx2YWx1ZTpofT1hd2FpdCBBLnJlYWQoKTtpZihzKWJyZWFrO2xldCBjPW5ldyBVaW50OEFycmF5KEkubGVuZ3RoK2gubGVuZ3RoKTtjLnNldChJKSxjLnNldChoLEkubGVuZ3RoKSxJPWM7d2hpbGUoITApe2xldCBlPS0xO2ZvcihsZXQgZD0wO2Q8SS5sZW5ndGgtMTtkKyspaWYoSVtkXT09PTI1NSYmSVtkKzFdPT09MjE2KXtlPWQ7YnJlYWt9aWYoZT09PS0xKWJyZWFrO2xldCBuPS0xO2ZvcihsZXQgZD1lKzI7ZDxJLmxlbmd0aC0xO2QrKylpZihJW2RdPT09MjU1JiZJW2QrMV09PT0yMTcpe249ZCsyO2JyZWFrfWlmKG49PT0tMSlicmVhaztsZXQgXzA9SS5zbGljZShlLG4pO0k9SS5zbGljZShuKTtsZXQgZj1uZXcgQmxvYihbXzBdLHt0eXBlOiJpbWFnZS9qcGVnIn0pLHk9VVJMLmNyZWF0ZU9iamVjdFVSTChmKTtpZihZLmN1cnJlbnQuc2l6ZT09PTApe1VSTC5yZXZva2VPYmplY3RVUkwoeSk7Y29udGludWV9Zm9yKGxldCBkIG9mIFkuY3VycmVudClkKHkpfX19Y2F0Y2h7fWZpbmFsbHl7VSgpfX07cmV0dXJuIFAoKSwoKT0+e2lmKF89ITAsJCljbGVhclRpbWVvdXQoJCk7Wi5hYm9ydCgpLGNsZWFySW50ZXJ2YWwoVil9fSxbWF0pLHtzdWJzY3JpYmVGcmFtZTpxLGZyYW1lOm51bGwsY29uZmlnOkd9fXZhciBmND17S2V5QTo0LEtleUI6NSxLZXlDOjYsS2V5RDo3LEtleUU6OCxLZXlGOjksS2V5RzoxMCxLZXlIOjExLEtleUk6MTIsS2V5SjoxMyxLZXlLOjE0LEtleUw6MTUsS2V5TToxNixLZXlOOjE3LEtleU86MTgsS2V5UDoxOSxLZXlROjIwLEtleVI6MjEsS2V5UzoyMixLZXlUOjIzLEtleVU6MjQsS2V5VjoyNSxLZXlXOjI2LEtleVg6MjcsS2V5WToyOCxLZXlaOjI5LERpZ2l0MTozMCxEaWdpdDI6MzEsRGlnaXQzOjMyLERpZ2l0NDozMyxEaWdpdDU6MzQsRGlnaXQ2OjM1LERpZ2l0NzozNixEaWdpdDg6MzcsRGlnaXQ5OjM4LERpZ2l0MDozOSxFbnRlcjo0MCxFc2NhcGU6NDEsQmFja3NwYWNlOjQyLFRhYjo0MyxTcGFjZTo0NCxNaW51czo0NSxFcXVhbDo0NixCcmFja2V0TGVmdDo0NyxCcmFja2V0UmlnaHQ6NDgsQmFja3NsYXNoOjQ5LFNlbWljb2xvbjo1MSxRdW90ZTo1MixCYWNrcXVvdGU6NTMsQ29tbWE6NTQsUGVyaW9kOjU1LFNsYXNoOjU2LENhcHNMb2NrOjU3LEYxOjU4LEYyOjU5LEYzOjYwLEY0OjYxLEY1OjYyLEY2OjYzLEY3OjY0LEY4OjY1LEY5OjY2LEYxMDo2NyxGMTE6NjgsRjEyOjY5LFByaW50U2NyZWVuOjcwLFNjcm9sbExvY2s6NzEsUGF1c2U6NzIsSW5zZXJ0OjczLEhvbWU6NzQsUGFnZVVwOjc1LERlbGV0ZTo3NixFbmQ6NzcsUGFnZURvd246NzgsQXJyb3dSaWdodDo3OSxBcnJvd0xlZnQ6ODAsQXJyb3dEb3duOjgxLEFycm93VXA6ODIsTnVtTG9jazo4MyxOdW1wYWREaXZpZGU6ODQsTnVtcGFkTXVsdGlwbHk6ODUsTnVtcGFkU3VidHJhY3Q6ODYsTnVtcGFkQWRkOjg3LE51bXBhZEVudGVyOjg4LE51bXBhZDE6ODksTnVtcGFkMjo5MCxOdW1wYWQzOjkxLE51bXBhZDQ6OTIsTnVtcGFkNTo5MyxOdW1wYWQ2Ojk0LE51bXBhZDc6OTUsTnVtcGFkODo5NixOdW1wYWQ5Ojk3LE51bXBhZDA6OTgsTnVtcGFkRGVjaW1hbDo5OSxDb250cm9sTGVmdDoyMjQsU2hpZnRMZWZ0OjIyNSxBbHRMZWZ0OjIyNixNZXRhTGVmdDoyMjcsQ29udHJvbFJpZ2h0OjIyOCxTaGlmdFJpZ2h0OjIyOSxBbHRSaWdodDoyMzAsTWV0YVJpZ2h0OjIzMX07ZnVuY3Rpb24gZDQoWCl7cmV0dXJuIGY0W1hdPz9udWxsfWZ1bmN0aW9uIFE5KFgpe2xldCBHPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LmJhc2VQYXRoPz8iLyI7cmV0dXJuIEc9PT0iLyI/YC8ke1h9YDpgJHtHfS8ke1h9YH1mdW5jdGlvbiBBOChYKXtyZXR1cm4gWD8uZXJyb3JzPy5pbmNsdWRlcyhZOCk/PyExfWZ1bmN0aW9uIHU0KFgpe2xldFtHLEpdPWsobnVsbCksW1kscV09aygiQVggb2ZmIik7cmV0dXJuIGooKCk9PntpZighWCl7SihudWxsKSxxKCJBWCBvZmYiKTtyZXR1cm59SihudWxsKSxxKCJBWCB3YWl0aW5nIik7bGV0IFo9bmV3IEV2ZW50U291cmNlKFgpO3JldHVybiBaLm9ubWVzc2FnZT0oXyk9Pnt0cnl7bGV0ICQ9SlNPTi5wYXJzZShfLmRhdGEpO0ooJCkscShBOCgkKT8iQVggdW5hdmFpbGFibGU6IGluc3RhbGwgQVhlIjpgJHskLmVsZW1lbnRzLmxlbmd0aH0gQVggZWxlbWVudHNgKX1jYXRjaHtxKCJBWCBwYXJzZSBlcnJvciIpfX0sWi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntxKCJBWCByZWNvbm5lY3RpbmciKX0pLCgpPT5aLmNsb3NlKCl9LFtYXSkse3NuYXBzaG90Okcsc3RhdHVzOll9fXZhciB3OD1GMCh7c25hcHNob3Q6bnVsbCxzdGF0dXM6IkFYIG9mZiJ9KSxUOD1GMChudWxsKTtmdW5jdGlvbiBfOSgpe3JldHVybiBFMCh3OCl9ZnVuY3Rpb24gazgoKXtsZXQgWD1FMChUOCk7aWYoIVgpdGhyb3cgRXJyb3IoIkFYIHNlbGVjdGlvbiBjb250ZXh0IGlzIHVuYXZhaWxhYmxlIik7cmV0dXJuIFh9ZnVuY3Rpb24gYzQoe2VuZHBvaW50OlgsY2hpbGRyZW46R30pe2xldHtzbmFwc2hvdDpKLHN0YXR1czpZfT11NChYKSxbcSxaXT1rKG51bGwpLFtfLCRdPWsobnVsbCk7aigoKT0+e2lmKCFYKVoobnVsbCksJChudWxsKX0sW1hdKTtsZXQgej15MCgoKT0+KHtzbmFwc2hvdDpKLHN0YXR1czpZfSksW0osWV0pLEw9eTAoKCk9Pih7aGlnaGxpZ2h0ZWRLZXk6cSxzZWxlY3RlZEtleTpfLHNldEhpZ2hsaWdodGVkS2V5Olosc2V0U2VsZWN0ZWRLZXk6JH0pLFtxLF9dKTtyZXR1cm4gUSh3OC5Qcm92aWRlcix7dmFsdWU6eixjaGlsZHJlbjpRKFQ4LlByb3ZpZGVyLHt2YWx1ZTpMLGNoaWxkcmVuOkd9KX0pfWFzeW5jIGZ1bmN0aW9uIHEwKFgpe3JldHVybihhd2FpdCBmZXRjaChROSgiZXhlYyIpLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7Y29tbWFuZDpYfSl9KSkuanNvbigpfWZ1bmN0aW9uIGw0KFgpe3RyeXtsZXQgRz1KU09OLnBhcnNlKFgpLEo9W107Zm9yKGxldFtZLHFdb2YgT2JqZWN0LmVudHJpZXMoRy5kZXZpY2VzPz97fSkpe2xldCBaPVkucmVwbGFjZSgvXmNvbVwuYXBwbGVcLkNvcmVTaW11bGF0b3JcLlNpbVJ1bnRpbWVcLi8sIiIpLnJlcGxhY2UoLy0vZywiLiIpO2ZvcihsZXQgXyBvZiBxKWlmKF8uaXNBdmFpbGFibGUpSi5wdXNoKHt1ZGlkOl8udWRpZCxuYW1lOl8ubmFtZSxzdGF0ZTpfLnN0YXRlLHJ1bnRpbWU6Wn0pfXJldHVybiBKfWNhdGNoe3JldHVybltdfX1mdW5jdGlvbiBFMShYKXtsZXQgRz1YLnRvTG93ZXJDYXNlKCk7aWYoRy5pbmNsdWRlcygiaXBob25lIikpcmV0dXJuIDA7aWYoRy5pbmNsdWRlcygiaXBhZCIpKXJldHVybiAxO2lmKEcuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIDI7aWYoRy5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuIDM7cmV0dXJuIDR9ZnVuY3Rpb24gQzEoWCl7bGV0IEc9WC50b0xvd2VyQ2FzZSgpO2lmKEcuc3RhcnRzV2l0aCgiaW9zIikpcmV0dXJuIDA7aWYoRy5zdGFydHNXaXRoKCJpcGFkb3MiKSlyZXR1cm4gMTtpZihHLnN0YXJ0c1dpdGgoIndhdGNob3MiKSlyZXR1cm4gMjtpZihHLnN0YXJ0c1dpdGgoInZpc2lvbm9zIil8fEcuc3RhcnRzV2l0aCgieHJvcyIpKXJldHVybiAzO3JldHVybiA0fWZ1bmN0aW9uIGE0KHtkZXZpY2VzOlgsc2VsZWN0ZWRVZGlkOkcsbG9hZGluZzpKLGVycm9yOlksc3RvcHBpbmdVZGlkczpxLG9uUmVmcmVzaDpaLG9uU2VsZWN0Ol8sb25TdG9wOiQsdHJpZ2dlcjp6fSl7bGV0W0wsQl09ayghMSksVj1iKG51bGwpO2ooKCk9PntpZighTClyZXR1cm47bGV0IFA9KEYpPT57aWYoIVYuY3VycmVudD8uY29udGFpbnMoRi50YXJnZXQpKUIoITEpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsUCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFApfSxbTF0pO2xldCBIPW5ldyBNYXA7Zm9yKGxldCBQIG9mIFgpe2lmKFAudWRpZD09PUcpY29udGludWU7bGV0IEY9SC5nZXQoUC5ydW50aW1lKTtpZighRilGPVtdLEguc2V0KFAucnVudGltZSxGKTtGLnB1c2goUCl9Zm9yKGxldCBQIG9mIEgudmFsdWVzKCkpUC5zb3J0KChGLEEpPT5FMShGLm5hbWUpLUUxKEEubmFtZSl8fEYubmFtZS5sb2NhbGVDb21wYXJlKEEubmFtZSkpO2xldCBPPVsuLi5ILmVudHJpZXMoKV0uc29ydCgoW1BdLFtGXSk9PkMxKFApLUMxKEYpfHxQLmxvY2FsZUNvbXBhcmUoRikpLFU9WC5maW5kKChQKT0+UC51ZGlkPT09Ryk/P251bGw7cmV0dXJuIFEoImRpdiIse3JlZjpWLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbUSgiZGl2Iix7b25DbGljazooKT0+e2lmKCFMKVooKTtCKChQKT0+IVApfSxjaGlsZHJlbjp6fSksTCYmUSgiZGl2Iix7c3R5bGU6RDYsY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOmI4LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjoiU2ltdWxhdG9ycyJ9KSxRKCJidXR0b24iLHtvbkNsaWNrOihQKT0+e1Auc3RvcFByb3BhZ2F0aW9uKCksWigpfSxkaXNhYmxlZDpKLHN0eWxlOmo4LGNoaWxkcmVuOko/Ii4uLiI6IlJlZnJlc2gifSldfSksWSYmUSgiZGl2Iix7c3R5bGU6WjksY2hpbGRyZW46WX0pLFUmJlEobCx7Y2hpbGRyZW46W1EoImRpdiIse3N0eWxlOnsuLi5xOSxjb2xvcjoiI2E1YjRmYyJ9LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6WTkoVS5zdGF0ZT09PSJCb290ZWQiPyIjNGFkZTgwIjoiIzQ0NCIpfSksUSgic3BhbiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOlUubmFtZX0pXX0pLFEoImRpdiIse3N0eWxlOk82fSldfSksWC5sZW5ndGg9PT0wJiYhSiYmIVkmJlEoImRpdiIse3N0eWxlOlM4LGNoaWxkcmVuOiJObyBhdmFpbGFibGUgc2ltdWxhdG9ycyBmb3VuZCJ9KSxPLm1hcCgoW1AsRl0pPT5RKCJkaXYiLHtjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6djgsY2hpbGRyZW46UH0pLEYubWFwKChBKT0+e2xldCBJPXEuaGFzKEEudWRpZCkscz1BLnN0YXRlPT09IkJvb3RlZCI7cmV0dXJuIFEoImRpdiIse3N0eWxlOnE5LG9uTW91c2VFbnRlcjooaCk9PmguY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kPSJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixvbk1vdXNlTGVhdmU6KGgpPT5oLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntfKEEpLEIoITEpfSxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOlk5KHM/IiM0YWRlODAiOiIjNDQ0Iil9KSxRKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46QS5uYW1lfSkscyYmUSgic3BhbiIse3JvbGU6ImJ1dHRvbiIsb25DbGljazooaCk9PntpZihoLnN0b3BQcm9wYWdhdGlvbigpLCFJKSQoQS51ZGlkKX0sc3R5bGU6e2ZvbnRTaXplOjEwLHBhZGRpbmc6IjFweCA2cHgiLGJvcmRlclJhZGl1czo0LGNvbG9yOkk/IiM4ODgiOiIjZjg3MTcxIixiYWNrZ3JvdW5kOkk/InRyYW5zcGFyZW50IjoicmdiYSgyNDgsMTEzLDExMywwLjEpIixjdXJzb3I6ST8iZGVmYXVsdCI6InBvaW50ZXIifSxjaGlsZHJlbjpJPyJTdG9wcGluZy4uLiI6IlN0b3AifSldfSxBLnVkaWQpfSldfSxQKSldfSldfSl9ZnVuY3Rpb24gWTkoWCl7cmV0dXJue3dpZHRoOjYsaGVpZ2h0OjYsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6WCxmbGV4U2hyaW5rOjB9fXZhciBpND1uZXcgU2V0KFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL2dpZiIsImltYWdlL2hlaWMiLCJpbWFnZS9oZWlmIiwiaW1hZ2Uvd2VicCIsInZpZGVvL21wNCIsInZpZGVvL3F1aWNrdGltZSJdKSxNOD0yNjIxNDQsbzQ9NTI0Mjg4MDAwO2Z1bmN0aW9uIHI0KFgpe2lmKCQ5KFgpPT09ImlwYSIpcmV0dXJuImlwYSI7aWYoaTQuaGFzKFgudHlwZSkpcmV0dXJuIm1lZGlhIjtyZXR1cm4gbnVsbH1mdW5jdGlvbiBzNChYKXtsZXQgRz1uZXcgVWludDhBcnJheShYKSxKPSIiO2ZvcihsZXQgWT0wO1k8Ry5sZW5ndGg7WSsrKUorPVN0cmluZy5mcm9tQ2hhckNvZGUoR1tZXSk7cmV0dXJuIGJ0b2EoSil9ZnVuY3Rpb24gJDkoWCl7bGV0IEc9WC5uYW1lLEo9Ry5sYXN0SW5kZXhPZigiLiIpO2lmKEo+PTApcmV0dXJuIEcuc2xpY2UoSisxKS50b0xvd2VyQ2FzZSgpO2lmKFgudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSlyZXR1cm4ibXA0IjtyZXR1cm4ianBnIn1hc3luYyBmdW5jdGlvbiB0NChYLEcsSixZKXtpZihYLnNpemU+bzQpdGhyb3cgRXJyb3IoIkZpbGUgdG9vIGxhcmdlIChtYXggNTAwTUIpIik7bGV0IHE9Rz09PSJpcGEiPyJpcGEiOiQ5KFgpLF89YC90bXAvJHtHPT09ImlwYSI/InNlcnZlLXNpbS1pbnN0YWxsIjoic2VydmUtc2ltLXVwbG9hZCJ9LSR7Y3J5cHRvLnJhbmRvbVVVSUQoKX0uJHtxfWA7dHJ5e2xldCAkPWF3YWl0IFguYXJyYXlCdWZmZXIoKSx6PXM0KCQpO2ZvcihsZXQgVj0wO1Y8ei5sZW5ndGg7Vis9TTgpe2xldCBIPXouc2xpY2UoVixWK004KSxVPWF3YWl0IEooYGJhc2ggLWMgJ2VjaG8gJHtIfSB8IGJhc2U2NCAtZCAke1Y9PT0wPyI+IjoiPj4ifSAke199J2ApO2lmKFUuZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFUuc3RkZXJyfHxgV3JpdGUgZmFpbGVkIChleGl0ICR7VS5leGl0Q29kZX0pYCl9bGV0IEw9Rz09PSJpcGEiP2B4Y3J1biBzaW1jdGwgaW5zdGFsbCAke1l9ICR7X31gOmB4Y3J1biBzaW1jdGwgYWRkbWVkaWEgJHtZfSAke199YCxCPWF3YWl0IEooTCk7aWYoQi5leGl0Q29kZSE9PTApe2xldCBWPUc9PT0iaXBhIj8iaW5zdGFsbCI6ImFkZG1lZGlhIjt0aHJvdyBFcnJvcihCLnN0ZGVycnx8YCR7Vn0gZmFpbGVkIChleGl0ICR7Qi5leGl0Q29kZX0pYCl9fWZpbmFsbHl7SihgYmFzaCAtYyAncm0gLWYgJHtffSdgKS5jYXRjaCgoKT0+e30pfX1mdW5jdGlvbiBuNCgpe2xldFtYLEddPWsoW10pLEo9UigocSxaKT0+e2xldCBfPWNyeXB0by5yYW5kb21VVUlEKCk7cmV0dXJuIEcoKCQpPT5bLi4uJCx7aWQ6XyxuYW1lOnEsa2luZDpaLHN0YXR1czoidXBsb2FkaW5nIn1dKSxffSxbXSksWT1SKChxLFopPT57aWYoRygoXyk9Pl8ubWFwKCgkKT0+JC5pZD09PXE/ey4uLiQsLi4uWn06JCkpLFouc3RhdHVzPT09InN1Y2Nlc3MifHxaLnN0YXR1cz09PSJlcnJvciIpc2V0VGltZW91dCgoKT0+e0coKF8pPT5fLmZpbHRlcigoJCk9PiQuaWQhPT1xKSl9LDMwMDApfSxbXSk7cmV0dXJue3RvYXN0czpYLGFkZDpKLHVwZGF0ZTpZfX1mdW5jdGlvbiBlNCh7ZXhlYzpYLHVkaWQ6RyxlbmFibGVkOkosb25VcGxvYWRTdGFydDpZLG9uVXBsb2FkRW5kOnEsb25VbnN1cHBvcnRlZDpafSl7bGV0W18sJF09ayghMSksej1iKDApLEw9Uihhc3luYyhPKT0+e2lmKE8ucHJldmVudERlZmF1bHQoKSxPLnN0b3BQcm9wYWdhdGlvbigpLHouY3VycmVudD0wLCQoITEpLCFKfHwhRylyZXR1cm47bGV0IFU9QXJyYXkuZnJvbShPLmRhdGFUcmFuc2Zlci5maWxlcyk7aWYoVS5sZW5ndGg9PT0wKXJldHVybjtmb3IobGV0IFAgb2YgVSl7bGV0IEY9cjQoUCk7aWYoIUYpe1ooUCk7Y29udGludWV9bGV0IEE9WShQLm5hbWUsRik7dDQoUCxGLFgsRykudGhlbigoKT0+cShBLCEwKSkuY2F0Y2goKEkpPT5xKEEsITEsSSBpbnN0YW5jZW9mIEVycm9yP0kubWVzc2FnZToiVXBsb2FkIGZhaWxlZCIpKX19LFtKLEcsWCxZLHEsWl0pLEI9UigoTyk9PntpZihPLnByZXZlbnREZWZhdWx0KCksSilPLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5In0sW0pdKSxWPVIoKE8pPT57aWYoTy5wcmV2ZW50RGVmYXVsdCgpLCFKKXJldHVybjtpZih6LmN1cnJlbnQrKyx6LmN1cnJlbnQ9PT0xKSQoITApfSxbSl0pLEg9UigoTyk9PntpZihPLnByZXZlbnREZWZhdWx0KCksei5jdXJyZW50LS0sei5jdXJyZW50PD0wKXouY3VycmVudD0wLCQoITEpfSxbXSk7cmV0dXJue2lzRHJhZ092ZXI6Xyxkcm9wWm9uZVByb3BzOntvbkRyYWdPdmVyOkIsb25EcmFnRW50ZXI6VixvbkRyYWdMZWF2ZTpILG9uRHJvcDpMfX19ZnVuY3Rpb24gTjAoWCl7cmV0dXJuYCcke1gucmVwbGFjZSgvJy9nLCInXFwnJyIpfSdgfWFzeW5jIGZ1bmN0aW9uIFg2KFgsRyxKKXtsZXQgWT1hd2FpdCBYKGB4Y3J1biBzaW1jdGwgZ2V0X2FwcF9jb250YWluZXIgJHtHfSAke04wKEopfSBhcHBgKTtpZihZLmV4aXRDb2RlIT09MClyZXR1cm57ZXJyb3I6WS5zdGRlcnIudHJpbSgpfHwiQXBwIG5vdCBmb3VuZCBvbiBzaW11bGF0b3IifTtsZXQgcT1ZLnN0ZG91dC50cmltKCk7aWYoIXEpcmV0dXJue2Vycm9yOiJFbXB0eSBhcHAgcGF0aCJ9O2xldCBaPWF3YWl0IFgoYHBsdXRpbCAtY29udmVydCBqc29uIC1vIC0gJHtOMChxKyIvSW5mby5wbGlzdCIpfWApLF89e307aWYoWi5leGl0Q29kZT09PTApdHJ5e189SlNPTi5wYXJzZShaLnN0ZG91dCl9Y2F0Y2h7fWxldCAkLEw9KF8/LkNGQnVuZGxlSWNvbnM/LkNGQnVuZGxlUHJpbWFyeUljb24/P18/LlsiQ0ZCdW5kbGVJY29uc35pcGFkIl0/LkNGQnVuZGxlUHJpbWFyeUljb24pPy5DRkJ1bmRsZUljb25GaWxlcz8/Xz8uQ0ZCdW5kbGVJY29uRmlsZXM7aWYoTCYmTC5sZW5ndGg+MCkkPUxbTC5sZW5ndGgtMV07ZWxzZSBpZih0eXBlb2YgXz8uQ0ZCdW5kbGVJY29uRmlsZT09PSJzdHJpbmciKSQ9Xy5DRkJ1bmRsZUljb25GaWxlO2xldCBCPW51bGw7aWYoJCl7bGV0IFY9W2AkeyR9QDN4LnBuZ2AsYCR7JH1AMngucG5nYCxgJHskfS5wbmdgLGAkeyR9NjB4NjBAM3gucG5nYCxgJHskfTYweDYwQDJ4LnBuZ2BdLE89KGF3YWl0IFgoYGJhc2ggLWMgJHtOMChWLm1hcCgoVSk9PmBbIC1mICR7TjAocSsiLyIrVSl9IF0gJiYgZWNobyAke04wKHErIi8iK1UpfSAmJiBleGl0IDBgKS5qb2luKCI7ICIpKyI7IGV4aXQgMSIpfWApKS5zdGRvdXQudHJpbSgpO2lmKE8pe2xldCBVPWF3YWl0IFgoYGJhc2U2NCAtaSAke04wKE8pfWApO2lmKFUuZXhpdENvZGU9PT0wKUI9YGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke1Uuc3Rkb3V0LnJlcGxhY2UoL1xzKy9nLCIiKX1gfX1yZXR1cm57YXBwUGF0aDpxLGRpc3BsYXlOYW1lOl8uQ0ZCdW5kbGVEaXNwbGF5TmFtZT8/Xy5DRkJ1bmRsZU5hbWUsc2hvcnRWZXJzaW9uOl8uQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcsYnVuZGxlVmVyc2lvbjpfLkNGQnVuZGxlVmVyc2lvbixtaW5PUzpfLk1pbmltdW1PU1ZlcnNpb24sZXhlY3V0YWJsZTpfLkNGQnVuZGxlRXhlY3V0YWJsZSxpY29uRGF0YVVybDpCfX1mdW5jdGlvbiBHNih7dWRpZDpYLGN1cnJlbnRBcHA6R30pe2xldFtKLFldPWsobnVsbCk7aWYoaigoKT0+e2lmKCFHKXtZKG51bGwpO3JldHVybn1sZXQgcT0hMTtyZXR1cm4gWSh7YnVuZGxlSWQ6Ry5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOkcuaXNSZWFjdE5hdGl2ZSxwaWQ6Ry5waWQsbG9hZGluZzohMH0pLFg2KHEwLFgsRy5idW5kbGVJZCkudGhlbigoWik9PntpZihxKXJldHVybjtZKHtidW5kbGVJZDpHLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6Ry5pc1JlYWN0TmF0aXZlLHBpZDpHLnBpZCxsb2FkaW5nOiExLC4uLlp9KX0pLCgpPT57cT0hMH19LFtYLEc/LmJ1bmRsZUlkLEc/LnBpZCxHPy5pc1JlYWN0TmF0aXZlXSksIUopcmV0dXJuIFEoImRpdiIse3N0eWxlOkMuZW1wdHksY2hpbGRyZW46IldhaXRpbmcgZm9yIGFuIGFwcCB0byBjb21lIHRvIHRoZSBmb3JlZ3JvdW5k4oCmIn0pO3JldHVybiBRKCJkaXYiLHtzdHlsZTpDLnNlY3Rpb24sY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOkMuYXBwSGVhZGVyLGNoaWxkcmVuOltKLmljb25EYXRhVXJsP1EoImltZyIse3NyYzpKLmljb25EYXRhVXJsLHN0eWxlOkMuYXBwSWNvbixhbHQ6IiJ9KTpRKCJkaXYiLHtzdHlsZTp7Li4uQy5hcHBJY29uLGJhY2tncm91bmQ6IiMyYTJhMmMifX0pLFEoImRpdiIse3N0eWxlOnttaW5XaWR0aDowLGZsZXg6MX0sY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOkMuYXBwTmFtZSxjaGlsZHJlbjpbSi5kaXNwbGF5TmFtZT8/Si5idW5kbGVJZCxKLmxvYWRpbmcmJlEoInNwYW4iLHtzdHlsZTpDLnNwaW5uZXIsY2hpbGRyZW46IiDigKYifSldfSksUSgiZGl2Iix7c3R5bGU6Qy5hcHBCdW5kbGUsdGl0bGU6Si5idW5kbGVJZCxjaGlsZHJlbjpKLmJ1bmRsZUlkfSldfSldfSksSi5lcnJvciYmUSgiZGl2Iix7c3R5bGU6Qy5lcnJvcixjaGlsZHJlbjpKLmVycm9yfSksUSgiZGwiLHtzdHlsZTpDLmRsLGNoaWxkcmVuOltRKHUwLHtsYWJlbDoiVmVyc2lvbiIsdmFsdWU6Si5zaG9ydFZlcnNpb24/YCR7Si5zaG9ydFZlcnNpb259ICgke0ouYnVuZGxlVmVyc2lvbj8/IuKAlCJ9KWA6Si5sb2FkaW5nPyLigKYiOiLigJQifSksUSh1MCx7bGFiZWw6Ik1pbiBpT1MiLHZhbHVlOkoubWluT1M/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpfSksUSh1MCx7bGFiZWw6IkV4ZWN1dGFibGUiLHZhbHVlOkouZXhlY3V0YWJsZT8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxRKHUwLHtsYWJlbDoiUElEIix2YWx1ZTpKLnBpZCE9bnVsbD9TdHJpbmcoSi5waWQpOiLigJQifSksSi5pc1JlYWN0TmF0aXZlJiZRKHUwLHtsYWJlbDoiUmVhY3QgTmF0aXZlIix2YWx1ZToiWWVzIn0pLFEodTAse2xhYmVsOiJBcHAgcGF0aCIsdmFsdWU6Si5hcHBQYXRoPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKSxtb25vOiEwLGFjdGlvbjpKLmFwcFBhdGg/e3RpdGxlOiJSZXZlYWwgaW4gRmluZGVyIixvbkNsaWNrOigpPT57cTAoYG9wZW4gLVIgJHtOMChKLmFwcFBhdGgpfWApfSxpY29uOlEoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoImxpbmUiLHt4MToiNyIseTE6IjE3Iix4MjoiMTciLHkyOiI3In0pLFEoInBvbHlsaW5lIix7cG9pbnRzOiIxMCA3IDE3IDcgMTcgMTQifSldfSl9OnZvaWQgMH0pXX0pXX0pfWZ1bmN0aW9uIHUwKHtsYWJlbDpYLHZhbHVlOkcsbW9ubzpKLGFjdGlvbjpZfSl7bGV0W3EsWl09ayghMSk7cmV0dXJuIFEoImRpdiIse3N0eWxlOkMucm93LG9uTW91c2VFbnRlcjooKT0+WighMCksb25Nb3VzZUxlYXZlOigpPT5aKCExKSxjaGlsZHJlbjpbUSgiZHQiLHtzdHlsZTpDLmR0LGNoaWxkcmVuOlh9KSxRKCJkZCIse3N0eWxlOnsuLi5DLmRkLGZvbnRGYW1pbHk6Sj8idWktbW9ub3NwYWNlLCBtb25vc3BhY2UiOnZvaWQgMCxmb250U2l6ZTpKPzExOjEyLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LHRpdGxlOkcsY2hpbGRyZW46W0csWSYmUSgiZGl2Iix7c3R5bGU6ey4uLkMucm93QWN0aW9uV3JhcCxvcGFjaXR5OnE/MTowLHRyYW5zZm9ybTpxPyJ0cmFuc2xhdGVYKDApIjoidHJhbnNsYXRlWCg0cHgpIixwb2ludGVyRXZlbnRzOnE/ImF1dG8iOiJub25lIn0sY2hpbGRyZW46USgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOlkub25DbGljayx0aXRsZTpZLnRpdGxlLCJhcmlhLWxhYmVsIjpZLnRpdGxlLHN0eWxlOkMucm93QWN0aW9uLGNoaWxkcmVuOlkuaWNvbn0pfSldfSldfSl9dmFyIEo2PVt7a2V5OiJjYW1lcmEiLGxhYmVsOiJDYW1lcmEifSx7a2V5OiJtaWNyb3Bob25lIixsYWJlbDoiTWljcm9waG9uZSJ9LHtrZXk6InBob3RvcyIsbGFiZWw6IlBob3RvcyJ9LHtrZXk6InBob3Rvcy1hZGQiLGxhYmVsOiJBZGQgdG8gUGhvdG9zIn0se2tleToiY29udGFjdHMiLGxhYmVsOiJDb250YWN0cyJ9LHtrZXk6ImNhbGVuZGFyIixsYWJlbDoiQ2FsZW5kYXIifSx7a2V5OiJyZW1pbmRlcnMiLGxhYmVsOiJSZW1pbmRlcnMifSx7a2V5OiJsb2NhdGlvbiIsbGFiZWw6IkxvY2F0aW9uIn0se2tleToibG9jYXRpb24tYWx3YXlzIixsYWJlbDoiTG9jYXRpb24gKEFsd2F5cykifSx7a2V5OiJtb3Rpb24iLGxhYmVsOiJNb3Rpb24ifSx7a2V5OiJtZWRpYS1saWJyYXJ5IixsYWJlbDoiTWVkaWEgTGlicmFyeSJ9LHtrZXk6InNpcmkiLGxhYmVsOiJTaXJpIn1dO2Z1bmN0aW9uIFk2KHt1ZGlkOlgsYnVuZGxlSWQ6R30pe2xldFtKLFldPWsoe30pLFtxLFpdPWsobnVsbCksW18sJF09ayhudWxsKSxbeixMXT1rKCExKTtqKCgpPT57WSh7fSksJChudWxsKX0sW0ddKTtsZXQgQj1SKGFzeW5jKEgsTyk9PntpZighRylyZXR1cm47bGV0IFU9YCR7SH06JHtPfWA7WihVKSwkKG51bGwpO3RyeXtsZXQgUD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIHByaXZhY3kgJHtYfSAke099ICR7SH0gJHtOMChHKX1gKTtpZihQLmV4aXRDb2RlIT09MCl7JChQLnN0ZGVyci50cmltKCl8fGBzaW1jdGwgcHJpdmFjeSBmYWlsZWQgKGV4aXQgJHtQLmV4aXRDb2RlfSlgKTtyZXR1cm59WSgoRik9Pih7Li4uRixbSF06Tz09PSJyZXNldCI/dm9pZCAwOk99KSl9ZmluYWxseXtaKG51bGwpfX0sW1gsR10pLFY9Uihhc3luYygpPT57aWYoIUcpcmV0dXJuO1ooIl9fYWxsX18iKSwkKG51bGwpO3RyeXtsZXQgSD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIHByaXZhY3kgJHtYfSByZXNldCBhbGwgJHtOMChHKX1gKTtpZihILmV4aXRDb2RlIT09MCl7JChILnN0ZGVyci50cmltKCl8fGBzaW1jdGwgcHJpdmFjeSBmYWlsZWQgKGV4aXQgJHtILmV4aXRDb2RlfSlgKTtyZXR1cm59WSh7fSl9ZmluYWxseXtaKG51bGwpfX0sW1gsR10pO2lmKCFHKXJldHVybiBRKCJkaXYiLHtzdHlsZTpDLmVtcHR5LGNoaWxkcmVuOiJQZXJtaXNzaW9ucyBhcHBlYXIgb25jZSBhbiBhcHAgaXMgaW4gdGhlIGZvcmVncm91bmQuIn0pO3JldHVybiBRKCJkaXYiLHtzdHlsZTp7Li4uQy5zZWN0aW9uLHBhZGRpbmc6IjhweCAxMnB4In0sY2hpbGRyZW46W1EoImJ1dHRvbiIse29uQ2xpY2s6KCk9PkwoKEgpPT4hSCksc3R5bGU6Qy5wZXJtc1RvZ2dsZSwiYXJpYS1leHBhbmRlZCI6eixjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOnsuLi5DLnNlY3Rpb25UaXRsZSxtYXJnaW46MH0sY2hpbGRyZW46IlBlcm1pc3Npb25zIn0pLFEoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e3RyYW5zZm9ybTp6PyJyb3RhdGUoOTBkZWcpIjoicm90YXRlKDBkZWcpIix0cmFuc2l0aW9uOiJ0cmFuc2Zvcm0gMC4xNXMiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46USgicG9seWxpbmUiLHtwb2ludHM6IjkgMTggMTUgMTIgOSA2In0pfSldfSkseiYmXyYmUSgiZGl2Iix7c3R5bGU6ey4uLkMuZXJyb3IsbWFyZ2luVG9wOjh9LGNoaWxkcmVuOl99KSx6JiZRKCJkaXYiLHtzdHlsZTpDLnBlcm1zU2Nyb2xsV3JhcCxjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6Qy5wZXJtc1Njcm9sbCxjaGlsZHJlbjpKNi5tYXAoKHtrZXk6SCxsYWJlbDpPfSk9PntsZXQgVT1KW0hdO3JldHVybiBRKCJkaXYiLHtzdHlsZTpDLnBlcm1Sb3csY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTpDLnBlcm1MYWJlbCxjaGlsZHJlbjpPfSksUSgiZGl2Iix7c3R5bGU6Qy5wZXJtU2VnLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6TyxjaGlsZHJlbjpbUShKOSx7YWN0aXZlOlU9PT0iZ3JhbnQiLHBlbmRpbmc6cT09PWAke0h9OmdyYW50YCxvbkNsaWNrOigpPT5CKEgsImdyYW50IiksdmFyaWFudDoiZ3JhbnQiLHRpdGxlOiJBbGxvdyIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46USgicG9seWxpbmUiLHtwb2ludHM6IjUgMTIgMTAgMTcgMTkgNyJ9KX0pfSksUShKOSx7YWN0aXZlOlU9PT0icmV2b2tlIixwZW5kaW5nOnE9PT1gJHtIfTpyZXZva2VgLG9uQ2xpY2s6KCk9PkIoSCwicmV2b2tlIiksdmFyaWFudDoicmV2b2tlIix0aXRsZToiRGVueSIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoImxpbmUiLHt4MToiNiIseTE6IjYiLHgyOiIxOCIseTI6IjE4In0pLFEoImxpbmUiLHt4MToiMTgiLHkxOiI2Iix4MjoiNiIseTI6IjE4In0pXX0pfSksUShKOSx7YWN0aXZlOiExLHBlbmRpbmc6cT09PWAke0h9OnJlc2V0YCxvbkNsaWNrOigpPT5CKEgsInJlc2V0IiksdmFyaWFudDoicmVzZXQiLHRpdGxlOiJSZXNldCIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi40IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbUSgicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCAzLjUtNy4xIn0pLFEoInBvbHlsaW5lIix7cG9pbnRzOiIzIDMgMyA5IDkgOSJ9KV19KX0pXX0pXX0sSCl9KX0pLFEoImRpdiIse3N0eWxlOkMucGVybXNGYWRlVG9wfSksUSgiZGl2Iix7c3R5bGU6Qy5wZXJtc0ZhZGVCb3R0b219KV19KSx6JiZRKCJkaXYiLHtzdHlsZTpDLnBlcm1zRm9vdGVyLGNoaWxkcmVuOlEoImJ1dHRvbiIse29uQ2xpY2s6VixkaXNhYmxlZDpxPT09Il9fYWxsX18iLHN0eWxlOkMucmVzZXRBbGxCdG4sdGl0bGU6InhjcnVuIHNpbWN0bCBwcml2YWN5IHJlc2V0IGFsbCIsY2hpbGRyZW46cT09PSJfX2FsbF9fIj8i4oCmIjoiUmVzZXQgYWxsIn0pfSldfSl9ZnVuY3Rpb24gWjYoe2RldmljZXM6WCxsb2FkaW5nOkcsZXJyb3I6SixvblJlZnJlc2g6WX0pe2xldFtxLFpdPWsobnVsbCksW18sJF09ayhudWxsKSx6PVIoYXN5bmMoVik9PntpZihxKXJldHVybjtaKFYudWRpZCksJChudWxsKTt0cnl7aWYoVi5zdGF0ZSE9PSJCb290ZWQiKXtsZXQgUD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIGJvb3QgJHtWLnVkaWR9YCk7aWYoUC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoUC5zdGRlcnJ8fCJGYWlsZWQgdG8gYm9vdCBzaW11bGF0b3IiKX1sZXQgSD1hd2FpdCBxMChgYnVueCBzZXJ2ZS1zaW0gLS1kZXRhY2ggJHtWLnVkaWR9YCk7aWYoSC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoSC5zdGRlcnJ8fCJGYWlsZWQgdG8gc3RhcnQgc2VydmUtc2ltIik7bGV0IE89RGF0ZS5ub3coKSsxNTAwMCxVPWAke1E5KCJhcGkiKX0/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFYudWRpZCl9YDt3aGlsZShEYXRlLm5vdygpPE8pe3RyeXtsZXQgUD1hd2FpdCBmZXRjaChVLHtjYWNoZToibm8tc3RvcmUifSk7aWYoUC5vayYmYXdhaXQgUC5qc29uKCkpe2xldCBGPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO0Yuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIixWLnVkaWQpLHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oRi50b1N0cmluZygpKTtyZXR1cm59fWNhdGNoe31hd2FpdCBuZXcgUHJvbWlzZSgoUCk9PnNldFRpbWVvdXQoUCw0MDApKX10aHJvdyBFcnJvcigic2VydmUtc2ltIHN0YXJ0ZWQgYnV0IG5vIHN0cmVhbSBzdGF0ZSBhcHBlYXJlZCIpfWNhdGNoKEgpeyQoSCBpbnN0YW5jZW9mIEVycm9yP0gubWVzc2FnZToiRmFpbGVkIHRvIHN0YXJ0IHN0cmVhbSIpLFoobnVsbCl9fSxbcV0pLEw9bmV3IE1hcDtmb3IobGV0IFYgb2YgWCl7bGV0IEg9TC5nZXQoVi5ydW50aW1lKTtpZighSClIPVtdLEwuc2V0KFYucnVudGltZSxIKTtILnB1c2goVil9Zm9yKGxldCBWIG9mIEwudmFsdWVzKCkpVi5zb3J0KChILE8pPT57bGV0IFU9SC5zdGF0ZT09PSJCb290ZWQiPzA6MSxQPU8uc3RhdGU9PT0iQm9vdGVkIj8wOjE7aWYoVSE9PVApcmV0dXJuIFUtUDtyZXR1cm4gRTEoSC5uYW1lKS1FMShPLm5hbWUpfHxILm5hbWUubG9jYWxlQ29tcGFyZShPLm5hbWUpfSk7bGV0IEI9Wy4uLkwuZW50cmllcygpXS5zb3J0KChbVl0sW0hdKT0+QzEoViktQzEoSCl8fFYubG9jYWxlQ29tcGFyZShIKSk7cmV0dXJuIFEoImRpdiIse3N0eWxlOlowLnBhZ2UsY2hpbGRyZW46USgiZGl2Iix7c3R5bGU6WjAuZW1wdHksY2hpbGRyZW46W1EoImgxIix7c3R5bGU6WjAuZW1wdHlUaXRsZSxjaGlsZHJlbjoiTm8gc2VydmUtc2ltIHN0cmVhbSBydW5uaW5nIn0pLFEoInAiLHtzdHlsZTpaMC5lbXB0eUhpbnQsY2hpbGRyZW46WyJQaWNrIGEgc2ltdWxhdG9yIHRvIGJvb3QsIG9yIHN0YXJ0IG9uZSB5b3Vyc2VsZiB3aXRoIiwiICIsUSgiY29kZSIse3N0eWxlOlowLmNvZGUsY2hpbGRyZW46ImJ1bnggc2VydmUtc2ltIC0tZGV0YWNoIn0pLCIuIl19KSxRKCJkaXYiLHtzdHlsZTpLNixjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6YjgsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLFEoImJ1dHRvbiIse29uQ2xpY2s6WSxkaXNhYmxlZDpHLHN0eWxlOmo4LGNoaWxkcmVuOkc/Ii4uLiI6IlJlZnJlc2gifSldfSksSiYmUSgiZGl2Iix7c3R5bGU6WjksY2hpbGRyZW46Sn0pLF8mJlEoImRpdiIse3N0eWxlOlo5LGNoaWxkcmVuOl99KSwhRyYmIUomJlgubGVuZ3RoPT09MCYmUSgiZGl2Iix7c3R5bGU6UzgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLEIubWFwKChbVixIXSk9PlEoImRpdiIse2NoaWxkcmVuOltRKCJkaXYiLHtzdHlsZTp2OCxjaGlsZHJlbjpWfSksSC5tYXAoKE8pPT57bGV0IFU9cT09PU8udWRpZCxQPXEhPT1udWxsJiYhVSxGPU8uc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6ey4uLnE5LGN1cnNvcjpQPyJkZWZhdWx0IjoicG9pbnRlciIsb3BhY2l0eTpQPzAuNToxfSxvbk1vdXNlRW50ZXI6KEEpPT57aWYoIVApQS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxvbk1vdXNlTGVhdmU6KEEpPT5BLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntpZighUCl6KE8pfSxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOlk5KEY/IiM0YWRlODAiOiIjNDQ0Iil9KSxRKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSx0ZXh0QWxpZ246ImxlZnQifSxjaGlsZHJlbjpPLm5hbWV9KSxRKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOlU/IiNhNWI0ZmMiOiIjODg4In0sY2hpbGRyZW46VT9GPyJTdGFydGluZy4uLiI6IkJvb3RpbmcuLi4iOkY/IlN0YXJ0IHN0cmVhbSI6IkJvb3QgJiBzdHJlYW0ifSldfSxPLnVkaWQpfSldfSxWKSldfSldfSl9KX1mdW5jdGlvbiBKOSh7YWN0aXZlOlgscGVuZGluZzpHLG9uQ2xpY2s6Six2YXJpYW50OlksdGl0bGU6cSxjaGlsZHJlbjpafSl7bGV0IF89WT09PSJncmFudCI/IiM0YWRlODAiOlk9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBRKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6Ryx0aXRsZTpxLCJhcmlhLWxhYmVsIjpxLHN0eWxlOnsuLi5DLnBlcm1CdG4sYmFja2dyb3VuZDpYP2Ake199MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6WD9fOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5Okc/MC41OjF9LGNoaWxkcmVuOlp9KX1mdW5jdGlvbiBFOChYLEcpe2lmKFg9PT1HKXJldHVybiEwO2lmKFguaWQhPT1HLmlkfHxYLnBhdGghPT1HLnBhdGh8fFgubGFiZWwhPT1HLmxhYmVsfHxYLnZhbHVlIT09Ry52YWx1ZXx8WC5yb2xlIT09Ry5yb2xlfHxYLnR5cGUhPT1HLnR5cGV8fFguZW5hYmxlZCE9PUcuZW5hYmxlZClyZXR1cm4hMTtsZXQgSj1YLmZyYW1lLFk9Ry5mcmFtZTtyZXR1cm4gSj09PVl8fEoueD09PVkueCYmSi55PT09WS55JiZKLndpZHRoPT09WS53aWR0aCYmSi5oZWlnaHQ9PT1ZLmhlaWdodH12YXIgcTY9bjEoZnVuY3Rpb24oe2VsZW1lbnQ6RyxpbmRleDpKLHNjcmVlbjpZLGhpZ2hsaWdodGVkOnEsc2VsZWN0ZWQ6WixvbkhpZ2hsaWdodDpfLG9uU2VsZWN0OiR9KXtsZXQgej1SMShHKSxMPUM4KEcsSiksQj1WNihHLmZyYW1lLFkpO2lmKCFCKXJldHVybiBudWxsO2xldCBWPUw2KEwpO3JldHVybiBRKCJkaXYiLHsiZGF0YS1heC1rZXkiOnosImRhdGEtYXgtaWQiOkwuaWQsImRhdGEtYXgtcGF0aCI6TC5wYXRoLCJkYXRhLWF4LWxhYmVsIjpMLmxhYmVsLCJkYXRhLWF4LXZhbHVlIjpMLnZhbHVlLCJkYXRhLWF4LXJvbGUiOkwucm9sZSwiZGF0YS1heC10eXBlIjpMLnR5cGUsImRhdGEtYXgtZW5hYmxlZCI6U3RyaW5nKEwuZW5hYmxlZCksImRhdGEtYXgtZnJhbWUiOlI4KEwuZnJhbWUpLCJkYXRhLWF4LXNlbGVjdGVkIjpTdHJpbmcoWiksdGl0bGU6VixvbkNsaWNrOigpPT4kKHopLG9uTW91c2VFbnRlcjooKT0+Xyh6KSxvbk1vdXNlTGVhdmU6KCk9Pl8obnVsbCksc3R5bGU6ey4uLlEwLnRhcmdldCxsZWZ0OmAke0IueC9ZLndpZHRoKjEwMH0lYCx0b3A6YCR7Qi55L1kuaGVpZ2h0KjEwMH0lYCx3aWR0aDpgJHtCLndpZHRoL1kud2lkdGgqMTAwfSVgLGhlaWdodDpgJHtCLmhlaWdodC9ZLmhlaWdodCoxMDB9JWAsYm9yZGVyQ29sb3I6Wj8iIzYwYTVmYSI6cT8iI2ZiYmYyNCI6IiMzNGQzOTkiLGJhY2tncm91bmQ6Wj8icmdiYSg5NiwxNjUsMjUwLDAuMjQpIjpxPyJyZ2JhKDI0NSwxNTgsMTEsMC4yOCkiOiJyZ2JhKDE2LDE4NSwxMjksMC4xMikifX0pfSwoWCxHKT0+WC5pbmRleD09PUcuaW5kZXgmJlguaGlnaGxpZ2h0ZWQ9PT1HLmhpZ2hsaWdodGVkJiZYLnNlbGVjdGVkPT09Ry5zZWxlY3RlZCYmWC5vbkhpZ2hsaWdodD09PUcub25IaWdobGlnaHQmJlgub25TZWxlY3Q9PT1HLm9uU2VsZWN0JiZYLnNjcmVlbi53aWR0aD09PUcuc2NyZWVuLndpZHRoJiZYLnNjcmVlbi5oZWlnaHQ9PT1HLnNjcmVlbi5oZWlnaHQmJkU4KFguZWxlbWVudCxHLmVsZW1lbnQpKTtmdW5jdGlvbiBRNigpe2xldHtzbmFwc2hvdDpYfT1fOSgpLHtoaWdobGlnaHRlZEtleTpHLHNlbGVjdGVkS2V5Okosc2V0SGlnaGxpZ2h0ZWRLZXk6WSxzZXRTZWxlY3RlZEtleTpxfT1rOCgpO2lmKCFYPy5zY3JlZW4ud2lkdGh8fCFYPy5zY3JlZW4uaGVpZ2h0KXJldHVybiBudWxsO3JldHVybiBRKCJkaXYiLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpRMC50YXJnZXRzLGNoaWxkcmVuOlguZWxlbWVudHMubWFwKChaLF8pPT57bGV0ICQ9UjEoWik7cmV0dXJuIFEocTYse2VsZW1lbnQ6WixpbmRleDpfLHNjcmVlbjpYLnNjcmVlbixoaWdobGlnaHRlZDokPT09RyxzZWxlY3RlZDokPT09SixvbkhpZ2hsaWdodDpZLG9uU2VsZWN0OnF9LCQpfSl9KX12YXIgXzY9bjEoZnVuY3Rpb24oe2VsZW1lbnQ6RyxpbmRleDpKLGFjdGl2ZTpZLG9uSGlnaGxpZ2h0OnF9KXtsZXQgWj1SMShHKSxfPUM4KEcsSiksJD1gJHtNYXRoLnJvdW5kKEcuZnJhbWUud2lkdGgpfXgke01hdGgucm91bmQoRy5mcmFtZS5oZWlnaHQpfWAsej1bXy5sYWJlbCxfLnJvbGV8fF8udHlwZXx8ImVsZW1lbnQiLCRdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgwrcgIik7cmV0dXJuIFEoImRpdiIse3JvbGU6Imxpc3RpdGVtIix0YWJJbmRleDowLCJkYXRhLWF4LWtleSI6Wix0aXRsZTp6LG9uTW91c2VFbnRlcjooKT0+cShaKSxvbk1vdXNlTGVhdmU6KCk9PnEobnVsbCksb25Gb2N1czooKT0+cShaKSxvbkJsdXI6KCk9PnEobnVsbCksc3R5bGU6ey4uLlEwLmxpc3RJdGVtLC4uLlk/UTAubGlzdEl0ZW1BY3RpdmU6e319LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6UTAuaXRlbVRleHQsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTpRMC5pdGVtTGFiZWwsY2hpbGRyZW46Ry5sYWJlbHx8Ry5yb2xlfHwiVW5sYWJlbGVkIn0pLFEoInNwYW4iLHtzdHlsZTpRMC5pdGVtTWV0YSxjaGlsZHJlbjpHLnJvbGV8fEcudHlwZXx8ImVsZW1lbnQifSldfSksUSgiY29kZSIse3N0eWxlOlEwLml0ZW1TaXplLGNoaWxkcmVuOiR9KV19KX0sKFgsRyk9PlguaW5kZXg9PT1HLmluZGV4JiZYLmFjdGl2ZT09PUcuYWN0aXZlJiZYLm9uSGlnaGxpZ2h0PT09Ry5vbkhpZ2hsaWdodCYmRTgoWC5lbGVtZW50LEcuZWxlbWVudCkpO2Z1bmN0aW9uICQ2KHtvdmVybGF5RW5hYmxlZDpYLG9uVG9nZ2xlT3ZlcmxheTpHfSl7bGV0e3NuYXBzaG90Okp9PV85KCkse2hpZ2hsaWdodGVkS2V5Olksc2V0SGlnaGxpZ2h0ZWRLZXk6cX09azgoKSxaPUo/LmVsZW1lbnRzPz9bXSxfPUE4KEopLCQ9Sj8uZXJyb3JzPy5bMF0/P251bGw7cmV0dXJuIFEoImRpdiIse3N0eWxlOnsuLi5DLnNlY3Rpb24scGFkZGluZzoiOHB4IDEycHgifSxjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6UTAucGFuZWxIZWFkZXIsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7Li4uQy5zZWN0aW9uVGl0bGUsbWFyZ2luOjB9LGNoaWxkcmVuOiJBWCBUcmVlIn0pLFEoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpHLCJhcmlhLXByZXNzZWQiOlgsc3R5bGU6UTAub3ZlcmxheVRvZ2dsZSxjaGlsZHJlbjpYPyJPdmVybGF5IG9uIjoiRW5hYmxlIG92ZXJsYXkifSldfSksIVg/bnVsbDpfP1EoImRpdiIse3N0eWxlOnsuLi5DLmVtcHR5LHBhZGRpbmc6MTJ9LGNoaWxkcmVuOlsiQVggdW5hdmFpbGFibGU6IiwiICIsUSgiYSIse2hyZWY6Sjgsc3R5bGU6UTAuZW1wdHlMaW5rLGNoaWxkcmVuOiJpbnN0YWxsIEFYZSJ9KV19KTpaLmxlbmd0aD09PTA/USgiZGl2Iix7c3R5bGU6ey4uLkMuZW1wdHkscGFkZGluZzoxMn0sY2hpbGRyZW46JD8/IldhaXRpbmcgZm9yIGFjY2Vzc2liaWxpdHkgZGF0YeKApiJ9KTpRKCJkaXYiLHtzdHlsZTpRMC5saXN0LHJvbGU6Imxpc3QiLGNoaWxkcmVuOloubWFwKCh6LEwpPT57bGV0IEI9UjEoeik7cmV0dXJuIFEoXzYse2VsZW1lbnQ6eixpbmRleDpMLGFjdGl2ZTpCPT09WSxvbkhpZ2hsaWdodDpxfSxCKX0pfSldfSl9ZnVuY3Rpb24gQzgoWCxHKXtsZXQgSj1YLmxhYmVsfHxYLnJvbGV8fGBlbGVtZW50ICR7RysxfWAsWT1YLnJvbGV8fFgudHlwZTtyZXR1cm57aWQ6WC5pZCxwYXRoOlgucGF0aCxsYWJlbDpKLHZhbHVlOlgudmFsdWUscm9sZTpZLHR5cGU6WC50eXBlLGVuYWJsZWQ6WC5lbmFibGVkLGZyYW1lOlguZnJhbWV9fWZ1bmN0aW9uIFY2KFgsRyl7bGV0IEo9TWF0aC5tYXgoMCxYLngpLFk9TWF0aC5tYXgoMCxYLnkpLHE9TWF0aC5taW4oRy53aWR0aCxYLngrWC53aWR0aCksWj1NYXRoLm1pbihHLmhlaWdodCxYLnkrWC5oZWlnaHQpLF89TWF0aC5tYXgoMCxxLUopLCQ9TWF0aC5tYXgoMCxaLVkpO3JldHVybiBfPjAmJiQ+MD97eDpKLHk6WSx3aWR0aDpfLGhlaWdodDokfTpudWxsfWZ1bmN0aW9uIFIxKFgpe3JldHVybiBYLmlkfWZ1bmN0aW9uIEw2KFgpe3JldHVybltgQVggbGFiZWw6ICR7WC5sYWJlbHx8IlVubGFiZWxlZCJ9YCxYLnJvbGU/YHJvbGU6ICR7WC5yb2xlfWA6IiIsWC50eXBlP2B0eXBlOiAke1gudHlwZX1gOiIiLFgudmFsdWU/YHZhbHVlOiAke1gudmFsdWV9YDoiIixYLmlkP2BpZDogJHtYLmlkfWA6IiIsYHBhdGg6ICR7WC5wYXRofWAsYGZyYW1lOiAke1I4KFguZnJhbWUpfWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCI7ICIpfWZ1bmN0aW9uIFI4KFgpe3JldHVybmAke1gueH0sJHtYLnl9ICR7WC53aWR0aH14JHtYLmhlaWdodH1gfWZ1bmN0aW9uIHo2KHtvdmVybGF5RW5hYmxlZDpYLHN0cmVhbWluZzpHLG9uVG9nZ2xlT3ZlcmxheTpKfSl7bGV0e3N0YXR1czpZfT1fOSgpLFtxLFpdPWsoITEpO3JldHVybiBRKEowLkJ1dHRvbix7ImFyaWEtbGFiZWwiOlg/IkhpZGUgYWNjZXNzaWJpbGl0eSBvdmVybGF5IjoiU2hvdyBhY2Nlc3NpYmlsaXR5IG92ZXJsYXkiLCJhcmlhLXByZXNzZWQiOlgsdGl0bGU6WSxvbkNsaWNrOkosb25Nb3VzZUVudGVyOigpPT5aKCEwKSxvbk1vdXNlTGVhdmU6KCk9PlooITEpLHN0eWxlOlgmJkc/ey4uLlEwLnRvb2xiYXJCdXR0b25BY3RpdmUsLi4ucT9RMC50b29sYmFyQnV0dG9uQWN0aXZlSG92ZXI6e319OnZvaWQgMCxjaGlsZHJlbjpRKCJzdmciLHt3aWR0aDoiMTkiLGhlaWdodDoiMTkiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbUSgicGF0aCIse2Q6Ik0zIDhWNWEyIDIgMCAwIDEgMi0yaDMifSksUSgicGF0aCIse2Q6Ik0xNiAzaDNhMiAyIDAgMCAxIDIgMnYzIn0pLFEoInBhdGgiLHtkOiJNMjEgMTZ2M2EyIDIgMCAwIDEtMiAyaC0zIn0pLFEoInBhdGgiLHtkOiJNOCAyMUg1YTIgMiAwIDAgMS0yLTJ2LTMifSksUSgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMuNSJ9KV19KX0pfWZ1bmN0aW9uIFc2KHtvcGVuOlgsb25DbG9zZTpHLHVkaWQ6SixjdXJyZW50QXBwOlksYXhPdmVybGF5RW5hYmxlZDpxLG9uVG9nZ2xlQXhPdmVybGF5Olp9KXtyZXR1cm4gUSgiYXNpZGUiLHtzdHlsZTp7Li4uQy5wYW5lbCx0cmFuc2Zvcm06WD8idHJhbnNsYXRlWCgwKSI6InRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMjRweCkpIixvcGFjaXR5Olg/MTowLHBvaW50ZXJFdmVudHM6WD8iYXV0byI6Im5vbmUifSwiYXJpYS1oaWRkZW4iOiFYLGNoaWxkcmVuOltRKCJoZWFkZXIiLHtzdHlsZTpDLmhlYWRlcixjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOkMuaGVhZGVyVGl0bGUsY2hpbGRyZW46IlRvb2xzIn0pLFEoImJ1dHRvbiIse29uQ2xpY2s6RyxzdHlsZTpDLmNsb3NlQnRuLCJhcmlhLWxhYmVsIjoiQ2xvc2UgcGFuZWwiLGNoaWxkcmVuOlEoInN2ZyIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxNiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJsaW5lIix7eDE6IjE4Iix5MToiNiIseDI6IjYiLHkyOiIxOCJ9KSxRKCJsaW5lIix7eDE6IjYiLHkxOiI2Iix4MjoiMTgiLHkyOiIxOCJ9KV19KX0pXX0pLFgmJlEoImRpdiIse3N0eWxlOkMuYm9keSxjaGlsZHJlbjpbUSgkNix7b3ZlcmxheUVuYWJsZWQ6cSxvblRvZ2dsZU92ZXJsYXk6Wn0pLFEoRzYse3VkaWQ6SixjdXJyZW50QXBwOll9KSxRKFk2LHt1ZGlkOkosYnVuZGxlSWQ6WT8uYnVuZGxlSWQ/P251bGx9KV19KV19KX12YXIgSzY9e3dpZHRoOiIxMDAlIixtYXhXaWR0aDozNjAsbWFyZ2luVG9wOjgsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6NCxmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTMsY29sb3I6IiNlZWUiLHRleHRBbGlnbjoibGVmdCIsbWF4SGVpZ2h0OiI3MHZoIixvdmVyZmxvd1k6ImF1dG8iLG1pbkhlaWdodDowfTtmdW5jdGlvbiBINigpe2xldCBYPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18sW0csSl09ayghMSksW1kscV09ayhbXSksW1osX109ayghMSksWyQsel09ayhudWxsKSxbTCxCXT1rKG5ldyBTZXQpLFtWLEhdPWsoITEpLFtPLFVdPWsoITEpLFA9Uihhc3luYygpPT57XyghMCkseihudWxsKTt0cnl7bGV0IEs9YXdhaXQgcTAoInhjcnVuIHNpbWN0bCBsaXN0IGRldmljZXMgYXZhaWxhYmxlIC1qIik7aWYoSy5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoSy5zdGRlcnJ8fCJzaW1jdGwgbGlzdCBmYWlsZWQiKTtxKGw0KEsuc3Rkb3V0KSl9Y2F0Y2goSyl7eihLIGluc3RhbmNlb2YgRXJyb3I/Sy5tZXNzYWdlOiJGYWlsZWQgdG8gbGlzdCBkZXZpY2VzIil9ZmluYWxseXtfKCExKX19LFtdKTtpZihqKCgpPT57UCgpfSxbUF0pLGooKCk9PntpZighWD8ubG9nc0VuZHBvaW50KXJldHVybjtsZXQgSz1uZXcgRXZlbnRTb3VyY2UoWC5sb2dzRW5kcG9pbnQpLFQ9bmV3IE1hcCxTPVsiIzhiZTlmZCIsIiM1MGZhN2IiLCIjZmZiODZjIiwiI2ZmNzljNiIsIiNiZDkzZjkiLCIjZjFmYThjIiwiIzYyNzJhNCIsIiNmZjU1NTUiLCIjNjlmZjk0IiwiI2Q2YWNmZiIsIiNmZmZmYTUiLCIjYTRmZmZmIiwiI2ZmNmU2ZSIsIiNjYWE5ZmEiLCIjNWFmNzhlIl07ZnVuY3Rpb24gdihXMCl7bGV0IHA9VC5nZXQoVzApO2lmKCFwKXtsZXQgZz0wO2ZvcihsZXQgWTA9MDtZMDxXMC5sZW5ndGg7WTArKylnPShnPDw1KS1nK1cwLmNoYXJDb2RlQXQoWTApfDA7cD1TW01hdGguYWJzKGcpJVMubGVuZ3RoXSxULnNldChXMCxwKX1yZXR1cm4gcH1sZXQgdT0iIixpPSExO3JldHVybiBLLm9ubWVzc2FnZT0oVzApPT57dHJ5e2xldCBwPUpTT04ucGFyc2UoVzAuZGF0YSksZz1wLnByb2Nlc3NJbWFnZVBhdGg/LnNwbGl0KCIvIikucG9wKCk/P3Auc2VuZGVySW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz8iIixZMD1wLnN1YnN5c3RlbT8/IiIsUzA9cC5jYXRlZ29yeT8/IiIsSzA9cC5ldmVudE1lc3NhZ2U/PyIiO2lmKCFLMClyZXR1cm47aWYoZyE9PXUpe2lmKGkpY29uc29sZS5ncm91cEVuZCgpO2xldCBaMT12KGcpO2NvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoYCVjJHtnfSR7WTA/YCAlYyR7WTB9JHtTMD8iOiIrUzA6IiJ9YDoiIn1gLGBjb2xvcjoke1oxfTtmb250LXdlaWdodDpib2xkYCwuLi5ZMD9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLGk9ITAsdT1nfWxldCBtMD0ocC5tZXNzYWdlVHlwZT8/IiIpLnRvTG93ZXJDYXNlKCksdjA9WTAmJmc9PT11P2AlYyR7UzB8fFkwfSVjIGA6IiIsdzA9djA/WyJjb2xvcjojODg4O2ZvbnQtc3R5bGU6aXRhbGljIiwiY29sb3I6aW5oZXJpdCJdOltdO2lmKG0wPT09ImZhdWx0Inx8bTA9PT0iZXJyb3IiKWNvbnNvbGUubG9nKGAke3YwfSVjJHtLMH1gLC4uLncwLCJjb2xvcjojZmY1NTU1Iik7ZWxzZSBpZihtMD09PSJkZWJ1ZyIpY29uc29sZS5sb2coYCR7djB9JWMke0swfWAsLi4udzAsImNvbG9yOiM2MjcyYTQiKTtlbHNlIGNvbnNvbGUubG9nKGAke3YwfSVjJHtLMH1gLC4uLncwLCJjb2xvcjppbmhlcml0Iil9Y2F0Y2h7fX0sKCk9PntpZihpKWNvbnNvbGUuZ3JvdXBFbmQoKTtLLmNsb3NlKCl9fSxbWD8ubG9nc0VuZHBvaW50XSksIVgpcmV0dXJuIFEoWjYse2RldmljZXM6WSxsb2FkaW5nOlosZXJyb3I6JCxvblJlZnJlc2g6UH0pO2xldCBGPVkuZmluZCgoSyk9PksudWRpZD09PVguZGV2aWNlKT8/bnVsbDtqKCgpPT57ZG9jdW1lbnQudGl0bGU9Rj8ubmFtZT9gU2ltdWxhdG9yIC0gJHtGLm5hbWV9YDoiU2ltdWxhdG9yIFByZXZpZXcifSxbRj8ubmFtZV0pO2xldCBBPWQwKEY/Lm5hbWUpLEk9cDQoWC5zdHJlYW1VcmwpLFtzLGhdPWsobnVsbCksYz1zPz9JLmNvbmZpZz8/TTEoQSxGPy5uYW1lKSxlPXcxKEEsYyksbj1BMShBLGMpLF8wPUkxKGMpLGY9YihudWxsKTtqKCgpPT57bGV0IEs9ITEsVD1udWxsLFM9bnVsbCx2PSgpPT57aWYoS3x8VClyZXR1cm47VD1zZXRUaW1lb3V0KCgpPT57VD1udWxsLHUoKX0sMTAwMCl9LHU9KCk9PntsZXQgaT1uZXcgV2ViU29ja2V0KFgud3NVcmwpO2kuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLFM9aSxmLmN1cnJlbnQ9aSxpLm9uY2xvc2U9KCk9PntpZihmLmN1cnJlbnQ9PT1pKWYuY3VycmVudD1udWxsO3YoKX0saS5vbmVycm9yPSgpPT57aS5jbG9zZSgpfX07cmV0dXJuIHUoKSwoKT0+e2lmKEs9ITAsVCljbGVhclRpbWVvdXQoVCk7aWYoZi5jdXJyZW50PT09UylmLmN1cnJlbnQ9bnVsbDtTPy5jbG9zZSgpfX0sW1gud3NVcmxdKTtsZXQgeT1SKChLLFQpPT57bGV0IFM9Zi5jdXJyZW50O2lmKCFTfHxTLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IHY9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KFQpKSx1PW5ldyBVaW50OEFycmF5KDErdi5sZW5ndGgpO3VbMF09Syx1LnNldCh2LDEpLFMuc2VuZCh1KX0sW10pLGQ9UigoSyk9PnkoMyxLKSxbeV0pLFkxPVIoKEspPT55KDUsSyksW3ldKSxjMD1SKChLKT0+eSg0LHtidXR0b246S30pLFt5XSksUjA9UigoSyk9PntoKChUKT0+VCYmVC53aWR0aD09PUsud2lkdGgmJlQuaGVpZ2h0PT09Sy5oZWlnaHQmJlQub3JpZW50YXRpb249PT1LLm9yaWVudGF0aW9uP1Q6Syl9LFtdKSxiMT1SKChLKT0+e3koNyx7b3JpZW50YXRpb246S30pfSxbeV0pO2ooKCk9PntoKG51bGwpfSxbWC5zdHJlYW1VcmxdKSxqKCgpPT57bGV0IEs9SS5jb25maWc7aWYoIUspcmV0dXJuO2goKFQpPT5UJiZULndpZHRoPT09Sy53aWR0aCYmVC5oZWlnaHQ9PT1LLmhlaWdodCYmVC5vcmllbnRhdGlvbj09PUsub3JpZW50YXRpb24/VDpudWxsKX0sW0kuY29uZmlnPy53aWR0aCxJLmNvbmZpZz8uaGVpZ2h0LEkuY29uZmlnPy5vcmllbnRhdGlvbl0pO2xldCBQMD1SKChLLFQpPT57eSg2LHt0eXBlOkssdXNhZ2U6VH0pfSxbeV0pLFtsMCxVMF09ayhudWxsKSxbaDAsZzBdPWsoITEpLFtMMCxhMF09aygoKT0+dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmlubmVyV2lkdGg6MCk7aigoKT0+e2xldCBLPSgpPT5hMCh3aW5kb3cuaW5uZXJXaWR0aCk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEspLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixLKX0sW10pLGooKCk9PntsZXQgSz1uZXcgRXZlbnRTb3VyY2UoWC5hcHBTdGF0ZUVuZHBvaW50Pz9ROSgiYXBwc3RhdGUiKSksVD1udWxsO3JldHVybiBLLm9ubWVzc2FnZT0oUyk9Pnt0cnl7bGV0IHY9SlNPTi5wYXJzZShTLmRhdGEpO2lmKFQpY2xlYXJUaW1lb3V0KFQpO2xldCB1PXY/LmlzUmVhY3ROYXRpdmU/MDo2MDA7VD1zZXRUaW1lb3V0KCgpPT5VMCh2KSx1KX1jYXRjaHt9fSwoKT0+e2lmKFQpY2xlYXJUaW1lb3V0KFQpO0suY2xvc2UoKX19LFtYLmFwcFN0YXRlRW5kcG9pbnRdKTtsZXQgSTA9Uihhc3luYygpPT57UDAoImRvd24iLDIyNyksYXdhaXQgbmV3IFByb21pc2UoKFMpPT5zZXRUaW1lb3V0KFMsMzApKSxQMCgiZG93biIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKChTKT0+c2V0VGltZW91dChTLDMwKSksUDAoInVwIiwyMSksYXdhaXQgbmV3IFByb21pc2UoKFMpPT5zZXRUaW1lb3V0KFMsMzApKSxQMCgidXAiLDIyNyl9LFtQMF0pLGkwPWIobnVsbCksW00wLEEwXT1rKCEwKSxYMD1iKCEwKTtYMC5jdXJyZW50PU0wO2xldCBiMD1iKG5ldyBTZXQpO2ooKCk9PntsZXQgSz0oVCk9PntsZXQgUz0hIWkwLmN1cnJlbnQ/LmNvbnRhaW5zKFQudGFyZ2V0KTtBMChTKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixLLCEwKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEssITApfSxbXSksaigoKT0+e2lmKE0wKXJldHVybjtsZXQgSz1iMC5jdXJyZW50O2lmKEsuc2l6ZT09PTApcmV0dXJuO2ZvcihsZXQgVCBvZiBLKXkoNix7dHlwZToidXAiLHVzYWdlOlR9KTtLLmNsZWFyKCl9LFtNMCx5XSksaigoKT0+e2xldCBLPSh2LHUpPT57aWYoIVgwLmN1cnJlbnQpcmV0dXJuO2lmKHYuY29kZT09PSJLZXlIIiYmdi5tZXRhS2V5JiZ2LnNoaWZ0S2V5KXtpZih2LnByZXZlbnREZWZhdWx0KCksdT09PSJkb3duIiYmIXYucmVwZWF0KXkoNCx7YnV0dG9uOiJob21lIn0pO3JldHVybn1pZih2LmNvZGU9PT0iS2V5QSImJnYubWV0YUtleSYmdi5zaGlmdEtleSl7aWYodi5wcmV2ZW50RGVmYXVsdCgpLHU9PT0iZG93biImJiF2LnJlcGVhdClxMChgeGNydW4gc2ltY3RsIHVpICR7WC5kZXZpY2V9IGFwcGVhcmFuY2VgKS50aGVuKChXMCk9PntsZXQgcD1XMC5zdGRvdXQudHJpbSgpPT09ImRhcmsiPyJsaWdodCI6ImRhcmsiO3JldHVybiBxMChgeGNydW4gc2ltY3RsIHVpICR7WC5kZXZpY2V9IGFwcGVhcmFuY2UgJHtwfWApfSkuY2F0Y2goKCk9Pnt9KTtyZXR1cm59bGV0IGk9ZDQodi5jb2RlKTtpZihpPT1udWxsKXJldHVybjtpZih2LnByZXZlbnREZWZhdWx0KCksdT09PSJkb3duIiliMC5jdXJyZW50LmFkZChpKTtlbHNlIGIwLmN1cnJlbnQuZGVsZXRlKGkpO3koNix7dHlwZTp1LHVzYWdlOml9KX0sVD0odik9PksodiwiZG93biIpLFM9KHYpPT5LKHYsInVwIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixUKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLFMpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLFQpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsUyl9fSxbeSxYLmRldmljZV0pO2xldCB6MD1SKGFzeW5jKEspPT57aWYoVnx8Sy51ZGlkPT09WC5kZXZpY2UpcmV0dXJuO0goITApO3RyeXtpZihLLnN0YXRlIT09IkJvb3RlZCIpYXdhaXQgcTAoYHhjcnVuIHNpbWN0bCBib290ICR7Sy51ZGlkfWApO2xldCBUPWF3YWl0IHEwKGBidW54IHNlcnZlLXNpbSAtLWRldGFjaCAke0sudWRpZH1gKTtpZihULmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihULnN0ZGVycnx8IkZhaWxlZCB0byBzdGFydCBzZXJ2ZS1zaW0iKTtsZXQgUz1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtTLnNlYXJjaFBhcmFtcy5zZXQoImRldmljZSIsSy51ZGlkKSx3aW5kb3cubG9jYXRpb24uYXNzaWduKFMudG9TdHJpbmcoKSl9Y2F0Y2h7SCghMSl9fSxbVixYLmRldmljZV0pLEQwPW40KCksbzA9ZTQoe2V4ZWM6cTAsdWRpZDpYLmRldmljZSxlbmFibGVkOkcsb25VcGxvYWRTdGFydDpEMC5hZGQsb25VcGxvYWRFbmQ6KEssVCxTKT0+RDAudXBkYXRlKEsse3N0YXR1czpUPyJzdWNjZXNzIjoiZXJyb3IiLG1lc3NhZ2U6U30pLG9uVW5zdXBwb3J0ZWQ6KEspPT57bGV0IFQ9RDAuYWRkKEsubmFtZSwibWVkaWEiKTtEMC51cGRhdGUoVCx7c3RhdHVzOiJlcnJvciIsbWVzc2FnZTpgVW5zdXBwb3J0ZWQ6ICR7Sy50eXBlfHwkOShLKX1gfSl9fSksJDA9Uihhc3luYyhLKT0+e0IoKFQpPT5uZXcgU2V0KFQpLmFkZChLKSk7dHJ5e2F3YWl0IHEwKGB4Y3J1biBzaW1jdGwgc2h1dGRvd24gJHtLfWApLGF3YWl0IFAoKX1maW5hbGx5e0IoKFQpPT57bGV0IFM9bmV3IFNldChUKTtyZXR1cm4gUy5kZWxldGUoSyksU30pfX0sW1BdKSxqMD15OCsyNCxHMD1oMCYmTDA+PW4rajArNjQ/ajA6MDtyZXR1cm4gUShjNCx7ZW5kcG9pbnQ6Tz9YPy5heEVuZHBvaW50OnZvaWQgMCxjaGlsZHJlbjpRKCJkaXYiLHtzdHlsZTp7Li4uWjAucGFnZSxwYWRkaW5nUmlnaHQ6MjQrRzAsdHJhbnNpdGlvbjoicGFkZGluZy1yaWdodCAwLjI1cyBlYXNlIn0sY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOnsuLi5aMC5zaW11bGF0b3JTdGFjayxtYXhXaWR0aDpufSxjaGlsZHJlbjpbUShKMCx7ZXhlYzpxMCxvblJvdGF0ZTpiMSxvcmllbnRhdGlvbjpjLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6WC5kZXZpY2UsZGV2aWNlTmFtZTpGPy5uYW1lPz9udWxsLGRldmljZVJ1bnRpbWU6Rj8ucnVudGltZT8/bnVsbCxzdHJlYW1pbmc6RyxjaGlsZHJlbjpbUShhNCx7ZGV2aWNlczpZLHNlbGVjdGVkVWRpZDpYLmRldmljZSxsb2FkaW5nOlosZXJyb3I6JCxzdG9wcGluZ1VkaWRzOkwsb25SZWZyZXNoOlAsb25TZWxlY3Q6ejAsb25TdG9wOiQwLHRyaWdnZXI6UShKMC5UaXRsZSx7fSl9KSxRKEowLkFjdGlvbnMse2NoaWxkcmVuOltsMD8uaXNSZWFjdE5hdGl2ZSYmUShKMC5CdXR0b24seyJhcmlhLWxhYmVsIjoiUmVsb2FkIFJlYWN0IE5hdGl2ZSBidW5kbGUiLHRpdGxlOiJSZWxvYWQgKENtZCtSKSIsb25DbGljazooKT0+dm9pZCBJMCgpLGNoaWxkcmVuOlEoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDMuNS03LjEifSksUSgicG9seWxpbmUiLHtwb2ludHM6IjMgMyAzIDkgOSA5In0pXX0pfSksUShKMC5Ib21lQnV0dG9uLHtvbkNsaWNrOihLKT0+e0sucHJldmVudERlZmF1bHQoKSxjMCgiaG9tZSIpfX0pLFEoejYse292ZXJsYXlFbmFibGVkOk8sc3RyZWFtaW5nOkcsb25Ub2dnbGVPdmVybGF5OigpPT5VKChLKT0+IUspfSksUShKMC5Sb3RhdGVCdXR0b24se3RpdGxlOiJSb3RhdGUgZGV2aWNlIn0pXX0pXX0pLFEoImRpdiIse3JlZjppMCxzdHlsZTp7bWF4V2lkdGg6bixtYXhIZWlnaHQ6IjEwMCUiLHdpZHRoOiIxMDAlIixhc3BlY3RSYXRpbzpfMCxwb3NpdGlvbjoicmVsYXRpdmUifSwuLi5vMC5kcm9wWm9uZVByb3BzLGNoaWxkcmVuOltRKFUxLHt1cmw6WC51cmwsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGJvcmRlcjoibm9uZSJ9LGltYWdlU3R5bGU6e2JvcmRlclJhZGl1czplLGNvcm5lclNoYXBlOiJzdXBlcmVsbGlwc2UoMS4zKSJ9LGhpZGVDb250cm9sczohMCxvblN0cmVhbWluZ0NoYW5nZTpKLG9uU3RyZWFtVG91Y2g6ZCxvblN0cmVhbU11bHRpVG91Y2g6WTEsb25TdHJlYW1CdXR0b246YzAsc3Vic2NyaWJlRnJhbWU6SS5zdWJzY3JpYmVGcmFtZSxzdHJlYW1GcmFtZTpJLmZyYW1lLHN0cmVhbUNvbmZpZzpjLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOlIwfSksTyYmUShRNix7fSksbzAuaXNEcmFnT3ZlciYmUSgiZGl2Iix7c3R5bGU6ey4uLlowLmRyb3BPdmVybGF5LGJvcmRlclJhZGl1czplfSxjaGlsZHJlbjpbUSgic3ZnIix7d2lkdGg6IjMyIixoZWlnaHQ6IjMyIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbUSgicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00In0pLFEoInBvbHlsaW5lIix7cG9pbnRzOiIxNyA4IDEyIDMgNyA4In0pLFEoImxpbmUiLHt4MToiMTIiLHkxOiIzIix4MjoiMTIiLHkyOiIxNSJ9KV19KSxRKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwfSxjaGlsZHJlbjoiRHJvcCBtZWRpYSBvciAuaXBhIn0pXX0pXX0pXX0pLEQwLnRvYXN0cy5sZW5ndGg+MCYmUSgiZGl2Iix7c3R5bGU6WjAudG9hc3RTdGFjayxjaGlsZHJlbjpEMC50b2FzdHMubWFwKChLKT0+USgiZGl2Iix7c3R5bGU6WjAudG9hc3QsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7Li4uWjAuZG90LGJhY2tncm91bmQ6Sy5zdGF0dXM9PT0idXBsb2FkaW5nIj8iI2E1YjRmYyI6Sy5zdGF0dXM9PT0ic3VjY2VzcyI/IiM0YWRlODAiOiIjZjg3MTcxIn19KSxRKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpbSy5zdGF0dXM9PT0idXBsb2FkaW5nIiYmKEsua2luZD09PSJpcGEiP2BJbnN0YWxsaW5nICR7Sy5uYW1lfeKApmA6YFVwbG9hZGluZyAke0submFtZX3igKZgKSxLLnN0YXR1cz09PSJzdWNjZXNzIiYmKEsua2luZD09PSJpcGEiP2BJbnN0YWxsZWQgJHtLLm5hbWV9YDpgQWRkZWQgJHtLLm5hbWV9IHRvIFBob3Rvc2ApLEsuc3RhdHVzPT09ImVycm9yIiYmYCR7Sy5uYW1lfTogJHtLLm1lc3NhZ2U/PyJVcGxvYWQgZmFpbGVkIn1gXX0pXX0sSy5pZCkpfSksUSgiYnV0dG9uIix7b25DbGljazooKT0+ZzAoKEspPT4hSyksc3R5bGU6ey4uLkMudG9nZ2xlLG9wYWNpdHk6aDA/MDoxLHBvaW50ZXJFdmVudHM6aDA/Im5vbmUiOiJhdXRvIn0sImFyaWEtbGFiZWwiOiJPcGVuIHRvb2xzIHBhbmVsIix0aXRsZToiT3BlbiB0b29scyIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS43NSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTYiLHJ4OiIyLjUifSksUSgibGluZSIse3gxOiIxNSIseTE6IjQiLHgyOiIxNSIseTI6IjIwIn0pXX0pfSksUShXNix7b3BlbjpoMCxvbkNsb3NlOigpPT5nMCghMSksdWRpZDpYLmRldmljZSxjdXJyZW50QXBwOmwwLGF4T3ZlcmxheUVuYWJsZWQ6TyxvblRvZ2dsZUF4T3ZlcmxheTooKT0+VSgoSyk9PiFLKX0pLFEoImRpdiIse3N0eWxlOlowLmJhcixjaGlsZHJlbjpRKCJzcGFuIix7c3R5bGU6ey4uLlowLmxpdmUsY29sb3I6Rz8iIzRhZGU4MCI6IiM2NjYifSxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOnsuLi5aMC5kb3QsYmFja2dyb3VuZDpHPyIjNGFkZTgwIjoiIzY2NiJ9fSksRz8ibGl2ZSI6ImNvbm5lY3RpbmciXX0pfSldfSl9KX12YXIgWjA9e3BhZ2U6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixoZWlnaHQ6IjEwMHZoIixiYWNrZ3JvdW5kOiIjMGEwYTBhIixwYWRkaW5nOjI0LGdhcDoxMixmb250RmFtaWx5OiItYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGJveFNpemluZzoiYm9yZGVyLWJveCJ9LHNpbXVsYXRvclN0YWNrOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEyLHdpZHRoOiIxMDAlIixtaW5XaWR0aDowLHRyYW5zaXRpb246Im1heC13aWR0aCAwLjI1cyBlYXNlIn0sYmFyOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxmb250U2l6ZToxMixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsY29sb3I6IiM2NjYifSxsaXZlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LHRyYW5zaXRpb246ImNvbG9yIDAuM3MifSxkb3Q6e3dpZHRoOjYsaGVpZ2h0OjYsYm9yZGVyUmFkaXVzOiI1MCUiLHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4zcyJ9LGVtcHR5OntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEyLHRleHRBbGlnbjoiY2VudGVyIn0sZW1wdHlUaXRsZTp7Zm9udFNpemU6MTgsbWFyZ2luOjAsY29sb3I6IiNlZWUifSxlbXB0eUhpbnQ6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNCxtYXhXaWR0aDo0ODB9LGNvZGU6e2JhY2tncm91bmQ6IiMyMjIiLHBhZGRpbmc6IjJweCA2cHgiLGJvcmRlclJhZGl1czo0LGZvbnRTaXplOjEzfSxkcm9wT3ZlcmxheTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixnYXA6OCxib3JkZXI6IjJweCBkYXNoZWQgI2E1YjRmYyIsYmFja2dyb3VuZDoicmdiYSg5OSwxMDIsMjQxLDAuMTIpIixiYWNrZHJvcEZpbHRlcjoiYmx1cigycHgpIixjb2xvcjoiI2E1YjRmYyIscG9pbnRlckV2ZW50czoibm9uZSIsekluZGV4OjIwfSx0b2FzdFN0YWNrOntwb3NpdGlvbjoiZml4ZWQiLGJvdHRvbToxNixyaWdodDoxNixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo2LG1heFdpZHRoOjMyMCx6SW5kZXg6MzB9LHRvYXN0OntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjhweCAxMnB4IixiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixib3JkZXJSYWRpdXM6OCxjb2xvcjoiI2VlZSIsZm9udFNpemU6MTIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGJveFNoYWRvdzoiMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuNCkifX0sRDY9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiJjYWxjKDEwMCUgKyA2cHgpIixsZWZ0OjAsbWluV2lkdGg6MjYwLG1heEhlaWdodDozNjAsb3ZlcmZsb3dZOiJhdXRvIixiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixib3JkZXJSYWRpdXM6MTAscGFkZGluZzo0LGJveFNoYWRvdzoiMCA4cHggMjRweCByZ2JhKDAsMCwwLDAuNSkiLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixmb250U2l6ZToxMyxjb2xvcjoiI2VlZSIsekluZGV4OjIwfSxiOD17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNnB4IDEwcHgiLGZvbnRTaXplOjExLGNvbG9yOiIjYWFhIn0sajg9e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiIjYTViNGZjIixmb250U2l6ZToxMSxjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6MH0sWjk9e3BhZGRpbmc6IjZweCAxMHB4Iixjb2xvcjoiI2Y4NzE3MSIsZm9udFNpemU6MTF9LHE5PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4LHBhZGRpbmc6IjZweCAxMHB4Iixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIiLHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxPNj17aGVpZ2h0OjEsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsbWFyZ2luOiI0cHggMCJ9LFM4PXtwYWRkaW5nOjEyLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNCkiLGZvbnRTaXplOjExLHRleHRBbGlnbjoiY2VudGVyIn0sdjg9e3BhZGRpbmc6IjZweCAxMHB4IDJweCIsZm9udFNpemU6MTAsZm9udFdlaWdodDo2MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40KSIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA4ZW0ifSx5OD0zMjAsQz17dG9nZ2xlOntwb3NpdGlvbjoiZml4ZWQiLHRvcDoxNixyaWdodDoxNix3aWR0aDozMCxoZWlnaHQ6MzAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6Nixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjYpIixjdXJzb3I6InBvaW50ZXIiLHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZSIsekluZGV4OjQwfSxwYW5lbDp7cG9zaXRpb246ImZpeGVkIix0b3A6MTIscmlnaHQ6MTIsYm90dG9tOjEyLHdpZHRoOnk4LGJhY2tncm91bmQ6InJnYmEoMjAsMjAsMjIsMC45MikiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czoxNCxjb2xvcjoiI2VlZSIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixvdmVyZmxvdzoiaGlkZGVuIix0cmFuc2l0aW9uOiJ0cmFuc2Zvcm0gMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UiLGJveFNoYWRvdzoiMCAxMnB4IDQwcHggcmdiYSgwLDAsMCwwLjU1KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMThweCkiLFdlYmtpdEJhY2tkcm9wRmlsdGVyOiJibHVyKDE4cHgpIixmb250RmFtaWx5OiItYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLHpJbmRleDozNX0saGVhZGVyOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI2cHggMTBweCA2cHggMTJweCJ9LGhlYWRlclRpdGxlOntmb250U2l6ZToxMSxmb250V2VpZ2h0OjUwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjU1KSJ9LGNsb3NlQnRuOntiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2FhYSIsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjQsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixib3JkZXJSYWRpdXM6NH0sYm9keTp7cGFkZGluZzoxNCxvdmVyZmxvd1k6ImF1dG8iLGZsZXg6MSxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMn0sc2VjdGlvblRpdGxlOntmb250U2l6ZToxMSxmb250V2VpZ2h0OjYwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6IjAuMDhlbSIsbWFyZ2luOiIwIDAgMTBweCJ9LHNlY3Rpb246e2JhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjEyfSxlbXB0eTp7YmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6MTYsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsZm9udFNpemU6MTIsdGV4dEFsaWduOiJjZW50ZXIifSxhcHBIZWFkZXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEyLG1hcmdpbkJvdHRvbToxMH0sYXBwSWNvbjp7d2lkdGg6NDQsaGVpZ2h0OjQ0LGJvcmRlclJhZGl1czoxMCxmbGV4U2hyaW5rOjAsb2JqZWN0Rml0OiJjb3ZlciIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSJ9LGFwcE5hbWU6e2ZvbnRTaXplOjE0LGZvbnRXZWlnaHQ6NjAwLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGFwcEJ1bmRsZTp7Zm9udFNpemU6MTEsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LHNwaW5uZXI6e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNCkiLGZvbnRXZWlnaHQ6NDAwfSxlcnJvcjp7YmFja2dyb3VuZDoicmdiYSgyNDgsMTEzLDExMywwLjA4KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNDgsMTEzLDExMywwLjIpIixjb2xvcjoiI2ZjYTVhNSIsZm9udFNpemU6MTEscGFkZGluZzoiNnB4IDhweCIsYm9yZGVyUmFkaXVzOjYsbWFyZ2luQm90dG9tOjEwfSxkbDp7bWFyZ2luOjAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6Nn0scm93OntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJiYXNlbGluZSIsZ2FwOjgsbWluV2lkdGg6MH0sZHQ6e21hcmdpbjowLGZvbnRTaXplOjExLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLHdpZHRoOjg0LGZsZXhTaHJpbms6MH0sZGQ6e21hcmdpbjowLGZvbnRTaXplOjEyLGNvbG9yOiIjZWVlIixmbGV4OjEsbWluV2lkdGg6MCxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxyb3dBY3Rpb25XcmFwOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLHJpZ2h0OjAsYm90dG9tOjAscGFkZGluZ0xlZnQ6MjgsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyOCwyOCwzMCwwKSAwJSwgIzFjMWMxZSA1NSUpIix0cmFuc2l0aW9uOiJvcGFjaXR5IDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlIn0scGVybXNUb2dnbGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDo2LGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLHBhZGRpbmc6MCxtYXJnaW46MCxjdXJzb3I6InBvaW50ZXIiLHdpZHRoOiIxMDAlIix0ZXh0QWxpZ246ImxlZnQiLGxpbmVIZWlnaHQ6MX0scGVybXNTY3JvbGxXcmFwOntwb3NpdGlvbjoicmVsYXRpdmUiLG1hcmdpblRvcDo4fSxwZXJtc1Njcm9sbDp7bWF4SGVpZ2h0OjI2MCxvdmVyZmxvd1k6ImF1dG8iLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjQscGFkZGluZzoiOHB4IDAiLHNjcm9sbGJhcldpZHRoOiJ0aGluIn0scGVybXNGYWRlVG9wOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxyaWdodDowLGhlaWdodDoxNCxwb2ludGVyRXZlbnRzOiJub25lIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWMxYzFlIDAlLCByZ2JhKDI4LDI4LDMwLDApIDEwMCUpIixib3JkZXJUb3BMZWZ0UmFkaXVzOjEwLGJvcmRlclRvcFJpZ2h0UmFkaXVzOjEwfSxwZXJtc0ZhZGVCb3R0b206e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm90dG9tOjAsbGVmdDowLHJpZ2h0OjAsaGVpZ2h0OjE0LHBvaW50ZXJFdmVudHM6Im5vbmUiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCh0byB0b3AsICMxYzFjMWUgMCUsIHJnYmEoMjgsMjgsMzAsMCkgMTAwJSkifSxwZXJtc0Zvb3Rlcjp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixwYWRkaW5nVG9wOjh9LHJlc2V0QWxsQnRuOntiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC43KSIsZm9udFNpemU6MTAscGFkZGluZzoiM3B4IDhweCIsYm9yZGVyUmFkaXVzOjUsY3Vyc29yOiJwb2ludGVyIix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6IjAuMDRlbSJ9LHBlcm1zTGlzdDp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NCxtYXJnaW5Ub3A6NH0scGVybVJvdzp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOjgscGFkZGluZzoiNHB4IDJweCJ9LHBlcm1MYWJlbDp7Zm9udFNpemU6MTIsY29sb3I6IiNlZWUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCIsZmxleDoxLG1pbldpZHRoOjB9LHBlcm1TZWc6e2Rpc3BsYXk6ImZsZXgiLGdhcDoyLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wNCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6Mn0scGVybUJ0bjp7d2lkdGg6MjQsaGVpZ2h0OjIyLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NCxjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6MCx0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuMTJzLCBjb2xvciAwLjEycyJ9LHJvd0FjdGlvbjp7d2lkdGg6MjAsaGVpZ2h0OjIwLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY29sb3I6IiNmZmYiLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzowfX0sUTA9e3RhcmdldHM6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxvdmVyZmxvdzoiaGlkZGVuIixwb2ludGVyRXZlbnRzOiJub25lIix6SW5kZXg6MTB9LHRhcmdldDp7cG9zaXRpb246ImFic29sdXRlIixib3hTaXppbmc6ImJvcmRlci1ib3giLG1pbldpZHRoOjEsbWluSGVpZ2h0OjEscGFkZGluZzowLGJvcmRlcjoiMXB4IHNvbGlkICMzNGQzOTkiLGJvcmRlclJhZGl1czozLGN1cnNvcjoicG9pbnRlciIscG9pbnRlckV2ZW50czoiYXV0byJ9LHBhbmVsSGVhZGVyOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6OH0sb3ZlcmxheVRvZ2dsZTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjUsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNykiLGN1cnNvcjoicG9pbnRlciIsZm9udFNpemU6MTAscGFkZGluZzoiM3B4IDdweCJ9LGVtcHR5TGluazp7Y29sb3I6IiNhNWI0ZmMiLHRleHREZWNvcmF0aW9uOiJub25lIn0sdG9vbGJhckJ1dHRvbkFjdGl2ZTp7YmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC45NSkifSx0b29sYmFyQnV0dG9uQWN0aXZlSG92ZXI6e2JhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxsaXN0OntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo0LG1hcmdpblRvcDo4LHBhZGRpbmc6IjhweCAwIixtYXhIZWlnaHQ6MjYwLG92ZXJmbG93WToiYXV0byIsc2Nyb2xsYmFyV2lkdGg6InRoaW4ifSxsaXN0SXRlbTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOjgsYm9yZGVyUmFkaXVzOjYscGFkZGluZzoiNHB4IDJweCIsbWluV2lkdGg6MH0sbGlzdEl0ZW1BY3RpdmU6e2JhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wNikifSxpdGVtVGV4dDp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MixmbGV4OjEsbWluV2lkdGg6MH0saXRlbUxhYmVsOntvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAiLGNvbG9yOiIjZWVlIixmb250U2l6ZToxMixmb250V2VpZ2h0OjUwMH0saXRlbU1ldGE6e292ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40NSkiLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixmb250U2l6ZToxMH0saXRlbVNpemU6e2ZsZXhTaHJpbms6MCxiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6Nixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjU1KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGZvbnRTaXplOjEwLHBhZGRpbmc6IjNweCA2cHgifX07RzgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKSkucmVuZGVyKFEoSDYse30pKTsKPC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+","base64").toString("utf-8");return k}function b_(e){let _=(e?.basePath??"/.sim").replace(/\/+$/,"");return(t,s,S)=>{let i=t.url??"",C=i.indexOf("?"),A=C===-1?i:i.slice(0,C),n=v_(i)??e?.device??null;if(A===_||A===_+"/"){let r=d(),o=T(r,n),$=g_();if(o){let a=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...o,basePath:_,logsEndpoint:q(_,"/logs",o.device),appStateEndpoint:q(_,"/appstate",o.device),axEndpoint:q(_,"/ax",o.device)})}</script>`;$=$.replace("<!--__SIM_PREVIEW_CONFIG__-->",a)}s.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),s.end($);return}if(A===_+"/api"){let r=d(),o=T(r,n);s.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),s.end(JSON.stringify(o||null));return}if(A===_+"/ax"){let r=d(),o=T(r,n);if(!o){s.writeHead(404),s.end("No serve-sim device");return}s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
4
+ `}function $_({udid:e}){let _=new Set,t=null,s=null,S=Se,i=!1,C=()=>{if(_.size===0||t)return;t=setTimeout(A,S)},A=async()=>{if(t=null,i||_.size===0){C();return}i=!0;try{let n=await n_(e),r=A_(n);if(r!==s){for(let o of _)o.write(r);S=Se}else S=Math.min(S*2,Ze);if(s=r,C_(n))S=Ye}finally{i=!1,C()}};return{addClient(n){if(_.add(n),s)n.write(s);return A(),()=>{if(_.delete(n),_.size===0&&t)clearTimeout(t),t=null}}}}function ie(){let e=new Map;return{get(_){let t=e.get(_);if(t)return t;let s=$_({udid:_});return e.set(_,s),s}}}var Je=3500,I=500,Se=500,Ze=2000,Ye=15000,e_;var re=ee(()=>{e_=Qe(je)});var Ae={};Pe(Ae,{simMiddleware:()=>b_,selectServeSimState:()=>T});import{readdirSync as y_,readFileSync as a_,existsSync as c_,unlinkSync as Ce}from"fs";import{execSync as R_,spawn as oe,exec as B_,execFile as f_}from"child_process";import{tmpdir as F_}from"os";import{join as X}from"path";function d_(e){return!E_.test(e)}function l_(e,_){if(D_.has(_))return Promise.resolve(!0);return new Promise((t)=>{f_("xcrun",["simctl","get_app_container",e,_,"app"],{timeout:2000},(s,S)=>{if(s)return t(!1);let i=S.trim();if(!i)return t(!1);for(let C of T_)if(c_(X(i,C)))return t(!0);t(!1)})})}function u_(){let e=Date.now();if(h.booted&&e-h.at<1500)return h.booted;try{let _=R_("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let S of Object.values(t.devices))for(let i of S)if(i.state==="Booted")s.add(i.udid);return h={at:e,booted:s},s}catch{return null}}function d(){let e;try{e=y_(ne).filter((s)=>s.startsWith("server-")&&s.endsWith(".json"))}catch{return[]}let _=u_(),t=[];for(let s of e){let S=X(ne,s);try{let i=JSON.parse(a_(S,"utf-8"));try{process.kill(i.pid,0)}catch{try{Ce(S)}catch{}continue}if(_&&!_.has(i.device)){try{process.kill(i.pid,"SIGTERM")}catch{}try{Ce(S)}catch{}continue}t.push(i)}catch{}}return t}function T(e,_){if(_)return e.find((t)=>t.device===_)??null;return e[0]??null}function v_(e){let _=e.indexOf("?");if(_===-1)return null;return new URLSearchParams(e.slice(_+1)).get("device")}function q(e,_,t){return`${`${e}${_}`}?device=${encodeURIComponent(t)}`}function g_(){if(!k)k=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciBIMSx3LEY5LG04LGswLEQ5LE45LFA5LGgxLFYxLHQwLFU5LGYxLGcxLG0xLEk5LHoxPXt9LFcxPVtdLHg4PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksbjA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBPMChYLEcpe2Zvcih2YXIgSiBpbiBHKVhbSl09R1tKXTtyZXR1cm4gWH1mdW5jdGlvbiBkMShYKXtYJiZYLnBhcmVudE5vZGUmJlgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChYKX1mdW5jdGlvbiBIMChYLEcsSil7dmFyIFkscSxaLF89e307Zm9yKFogaW4gRylaPT0ia2V5Ij9ZPUdbWl06Wj09InJlZiI/cT1HW1pdOl9bWl09R1taXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihfLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9IMS5jYWxsKGFyZ3VtZW50cywyKTpKKSx0eXBlb2YgWD09ImZ1bmN0aW9uIiYmWC5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKFogaW4gWC5kZWZhdWx0UHJvcHMpX1taXT09PXZvaWQgMCYmKF9bWl09WC5kZWZhdWx0UHJvcHNbWl0pO3JldHVybiBMMShYLF8sWSxxLG51bGwpfWZ1bmN0aW9uIEwxKFgsRyxKLFkscSl7dmFyIFo9e3R5cGU6WCxwcm9wczpHLGtleTpKLHJlZjpZLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpxPT1udWxsPysrRjk6cSxfX2k6LTEsX191OjB9O3JldHVybiBxPT1udWxsJiZ3LnZub2RlIT1udWxsJiZ3LnZub2RlKFopLFp9ZnVuY3Rpb24gbChYKXtyZXR1cm4gWC5jaGlsZHJlbn1mdW5jdGlvbiB0KFgsRyl7dGhpcy5wcm9wcz1YLHRoaXMuY29udGV4dD1HfWZ1bmN0aW9uIHgwKFgsRyl7aWYoRz09bnVsbClyZXR1cm4gWC5fXz94MChYLl9fLFguX19pKzEpOm51bGw7Zm9yKHZhciBKO0c8WC5fX2subGVuZ3RoO0crKylpZigoSj1YLl9fa1tHXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mIFgudHlwZT09ImZ1bmN0aW9uIj94MChYKTpudWxsfWZ1bmN0aW9uIHA4KFgpe2lmKFguX19QJiZYLl9fZCl7dmFyIEc9WC5fX3YsSj1HLl9fZSxZPVtdLHE9W10sWj1PMCh7fSxHKTtaLl9fdj1HLl9fdisxLHcudm5vZGUmJncudm5vZGUoWiksdTEoWC5fX1AsWixHLFguX19uLFguX19QLm5hbWVzcGFjZVVSSSwzMiZHLl9fdT9bSl06bnVsbCxZLEo9PW51bGw/eDAoRyk6SiwhISgzMiZHLl9fdSkscSksWi5fX3Y9Ry5fX3YsWi5fXy5fX2tbWi5fX2ldPVosVDkoWSxaLHEpLEcuX19lPUcuX189bnVsbCxaLl9fZSE9SiYmTTkoWil9fWZ1bmN0aW9uIE05KFgpe2lmKChYPVguX18pIT1udWxsJiZYLl9fYyE9bnVsbClyZXR1cm4gWC5fX2U9WC5fX2MuYmFzZT1udWxsLFguX19rLnNvbWUoZnVuY3Rpb24oRyl7aWYoRyE9bnVsbCYmRy5fX2UhPW51bGwpcmV0dXJuIFguX19lPVguX19jLmJhc2U9Ry5fX2V9KSxNOShYKX1mdW5jdGlvbiB4MShYKXsoIVguX19kJiYoWC5fX2Q9ITApJiZrMC5wdXNoKFgpJiYhSzEuX19yKyt8fEQ5IT13LmRlYm91bmNlUmVuZGVyaW5nKSYmKChEOT13LmRlYm91bmNlUmVuZGVyaW5nKXx8TjkpKEsxKX1mdW5jdGlvbiBLMSgpe3RyeXtmb3IodmFyIFgsRz0xO2swLmxlbmd0aDspazAubGVuZ3RoPkcmJmswLnNvcnQoUDkpLFg9azAuc2hpZnQoKSxHPWswLmxlbmd0aCxwOChYKX1maW5hbGx5e2swLmxlbmd0aD1LMS5fX3I9MH19ZnVuY3Rpb24gQTkoWCxHLEosWSxxLFosXywkLHosTCxCKXt2YXIgVixILE8sVSxQLEYsQSxJPVkmJlkuX19rfHxXMSxzPUcubGVuZ3RoO2Zvcih6PWY4KEosRyxJLHoscyksVj0wO1Y8cztWKyspKE89Si5fX2tbVl0pIT1udWxsJiYoSD1PLl9faSE9LTEmJklbTy5fX2ldfHx6MSxPLl9faT1WLEY9dTEoWCxPLEgscSxaLF8sJCx6LEwsQiksVT1PLl9fZSxPLnJlZiYmSC5yZWYhPU8ucmVmJiYoSC5yZWYmJmMxKEgucmVmLG51bGwsTyksQi5wdXNoKE8ucmVmLE8uX19jfHxVLE8pKSxQPT1udWxsJiZVIT1udWxsJiYoUD1VKSwoQT0hISg0Jk8uX191KSl8fEguX19rPT09Ty5fX2s/KHo9dzkoTyx6LFgsQSksQSYmSC5fX2UmJihILl9fZT1udWxsKSk6dHlwZW9mIE8udHlwZT09ImZ1bmN0aW9uIiYmRiE9PXZvaWQgMD96PUY6VSYmKHo9VS5uZXh0U2libGluZyksTy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9UCx6fWZ1bmN0aW9uIGY4KFgsRyxKLFkscSl7dmFyIFosXywkLHosTCxCPUoubGVuZ3RoLFY9QixIPTA7Zm9yKFguX19rPUFycmF5KHEpLFo9MDtaPHE7WisrKShfPUdbWl0pIT1udWxsJiZ0eXBlb2YgXyE9ImJvb2xlYW4iJiZ0eXBlb2YgXyE9ImZ1bmN0aW9uIj8odHlwZW9mIF89PSJzdHJpbmcifHx0eXBlb2YgXz09Im51bWJlciJ8fHR5cGVvZiBfPT0iYmlnaW50Inx8Xy5jb25zdHJ1Y3Rvcj09U3RyaW5nP189WC5fX2tbWl09TDEobnVsbCxfLG51bGwsbnVsbCxudWxsKTpuMChfKT9fPVguX19rW1pdPUwxKGwse2NoaWxkcmVuOl99LG51bGwsbnVsbCxudWxsKTpfLmNvbnN0cnVjdG9yPT09dm9pZCAwJiZfLl9fYj4wP189WC5fX2tbWl09TDEoXy50eXBlLF8ucHJvcHMsXy5rZXksXy5yZWY/Xy5yZWY6bnVsbCxfLl9fdik6WC5fX2tbWl09Xyx6PVorSCxfLl9fPVgsXy5fX2I9WC5fX2IrMSwkPW51bGwsKEw9Xy5fX2k9ZDgoXyxKLHosVikpIT0tMSYmKFYtLSwoJD1KW0xdKSYmKCQuX191fD0yKSksJD09bnVsbHx8JC5fX3Y9PW51bGw/KEw9PS0xJiYocT5CP0gtLTpxPEImJkgrKyksdHlwZW9mIF8udHlwZSE9ImZ1bmN0aW9uIiYmKF8uX191fD00KSk6TCE9eiYmKEw9PXotMT9ILS06TD09eisxP0grKzooTD56P0gtLTpIKyssXy5fX3V8PTQpKSk6WC5fX2tbWl09bnVsbDtpZihWKWZvcihaPTA7WjxCO1orKykoJD1KW1pdKSE9bnVsbCYmKDImJC5fX3UpPT0wJiYoJC5fX2U9PVkmJihZPXgwKCQpKSxFOSgkLCQpKTtyZXR1cm4gWX1mdW5jdGlvbiB3OShYLEcsSixZKXt2YXIgcSxaO2lmKHR5cGVvZiBYLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihxPVguX19rLFo9MDtxJiZaPHEubGVuZ3RoO1orKylxW1pdJiYocVtaXS5fXz1YLEc9dzkocVtaXSxHLEosWSkpO3JldHVybiBHfVguX19lIT1HJiYoWSYmKEcmJlgudHlwZSYmIUcucGFyZW50Tm9kZSYmKEc9eDAoWCkpLEouaW5zZXJ0QmVmb3JlKFguX19lLEd8fG51bGwpKSxHPVguX19lKTtkbyBHPUcmJkcubmV4dFNpYmxpbmc7d2hpbGUoRyE9bnVsbCYmRy5ub2RlVHlwZT09OCk7cmV0dXJuIEd9ZnVuY3Rpb24gQjAoWCxHKXtyZXR1cm4gRz1HfHxbXSxYPT1udWxsfHx0eXBlb2YgWD09ImJvb2xlYW4ifHwobjAoWCk/WC5zb21lKGZ1bmN0aW9uKEope0IwKEosRyl9KTpHLnB1c2goWCkpLEd9ZnVuY3Rpb24gZDgoWCxHLEosWSl7dmFyIHEsWixfLCQ9WC5rZXksej1YLnR5cGUsTD1HW0pdLEI9TCE9bnVsbCYmKDImTC5fX3UpPT0wO2lmKEw9PT1udWxsJiYkPT1udWxsfHxCJiYkPT1MLmtleSYmej09TC50eXBlKXJldHVybiBKO2lmKFk+KEI/MTowKSl7Zm9yKHE9Si0xLFo9SisxO3E+PTB8fFo8Ry5sZW5ndGg7KWlmKChMPUdbXz1xPj0wP3EtLTpaKytdKSE9bnVsbCYmKDImTC5fX3UpPT0wJiYkPT1MLmtleSYmej09TC50eXBlKXJldHVybiBffXJldHVybi0xfWZ1bmN0aW9uIE85KFgsRyxKKXtHWzBdPT0iLSI/WC5zZXRQcm9wZXJ0eShHLEo9PW51bGw/IiI6Sik6WFtHXT1KPT1udWxsPyIiOnR5cGVvZiBKIT0ibnVtYmVyInx8eDgudGVzdChHKT9KOkorInB4In1mdW5jdGlvbiAkMShYLEcsSixZLHEpe3ZhciBaLF87WDppZihHPT0ic3R5bGUiKWlmKHR5cGVvZiBKPT0ic3RyaW5nIilYLnN0eWxlLmNzc1RleHQ9SjtlbHNle2lmKHR5cGVvZiBZPT0ic3RyaW5nIiYmKFguc3R5bGUuY3NzVGV4dD1ZPSIiKSxZKWZvcihHIGluIFkpSiYmRyBpbiBKfHxPOShYLnN0eWxlLEcsIiIpO2lmKEopZm9yKEcgaW4gSilZJiZKW0ddPT1ZW0ddfHxPOShYLnN0eWxlLEcsSltHXSl9ZWxzZSBpZihHWzBdPT0ibyImJkdbMV09PSJuIilaPUchPShHPUcucmVwbGFjZShVOSwiJDEiKSksXz1HLnRvTG93ZXJDYXNlKCksRz1fIGluIFh8fEc9PSJvbkZvY3VzT3V0Inx8Rz09Im9uRm9jdXNJbiI/Xy5zbGljZSgyKTpHLnNsaWNlKDIpLFgubHx8KFgubD17fSksWC5sW0crWl09SixKP1k/Slt0MF09WVt0MF06KEpbdDBdPWYxLFguYWRkRXZlbnRMaXN0ZW5lcihHLFo/bTE6ZzEsWikpOlgucmVtb3ZlRXZlbnRMaXN0ZW5lcihHLFo/bTE6ZzEsWik7ZWxzZXtpZihxPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKUc9Ry5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihHIT0id2lkdGgiJiZHIT0iaGVpZ2h0IiYmRyE9ImhyZWYiJiZHIT0ibGlzdCImJkchPSJmb3JtIiYmRyE9InRhYkluZGV4IiYmRyE9ImRvd25sb2FkIiYmRyE9InJvd1NwYW4iJiZHIT0iY29sU3BhbiImJkchPSJyb2xlIiYmRyE9InBvcG92ZXIiJiZHIGluIFgpdHJ5e1hbR109Sj09bnVsbD8iIjpKO2JyZWFrIFh9Y2F0Y2goJCl7fXR5cGVvZiBKPT0iZnVuY3Rpb24ifHwoSj09bnVsbHx8Sj09PSExJiZHWzRdIT0iLSI/WC5yZW1vdmVBdHRyaWJ1dGUoRyk6WC5zZXRBdHRyaWJ1dGUoRyxHPT0icG9wb3ZlciImJko9PTE/IiI6SikpfX1mdW5jdGlvbiBCOShYKXtyZXR1cm4gZnVuY3Rpb24oRyl7aWYodGhpcy5sKXt2YXIgSj10aGlzLmxbRy50eXBlK1hdO2lmKEdbVjFdPT1udWxsKUdbVjFdPWYxKys7ZWxzZSBpZihHW1YxXTxKW3QwXSlyZXR1cm47cmV0dXJuIEoody5ldmVudD93LmV2ZW50KEcpOkcpfX19ZnVuY3Rpb24gdTEoWCxHLEosWSxxLFosXywkLHosTCl7dmFyIEIsVixILE8sVSxQLEYsQSxJLHMsaCxjLGUsbixfMCxmPUcudHlwZTtpZihHLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKHo9ISEoMzImSi5fX3UpLFo9WyQ9Ry5fX2U9Si5fX2VdKSwoQj13Ll9fYikmJkIoRyk7WDppZih0eXBlb2YgZj09ImZ1bmN0aW9uIil0cnl7aWYoQT1HLnByb3BzLEk9Zi5wcm90b3R5cGUmJmYucHJvdG90eXBlLnJlbmRlcixzPShCPWYuY29udGV4dFR5cGUpJiZZW0IuX19jXSxoPUI/cz9zLnByb3BzLnZhbHVlOkIuX186WSxKLl9fYz9GPShWPUcuX19jPUouX19jKS5fXz1WLl9fRTooST9HLl9fYz1WPW5ldyBmKEEsaCk6KEcuX19jPVY9bmV3IHQoQSxoKSxWLmNvbnN0cnVjdG9yPWYsVi5yZW5kZXI9YzgpLHMmJnMuc3ViKFYpLFYuc3RhdGV8fChWLnN0YXRlPXt9KSxWLl9fbj1ZLEg9Vi5fX2Q9ITAsVi5fX2g9W10sVi5fc2I9W10pLEkmJlYuX19zPT1udWxsJiYoVi5fX3M9Vi5zdGF0ZSksSSYmZi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMhPW51bGwmJihWLl9fcz09Vi5zdGF0ZSYmKFYuX19zPU8wKHt9LFYuX19zKSksTzAoVi5fX3MsZi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoQSxWLl9fcykpKSxPPVYucHJvcHMsVT1WLnN0YXRlLFYuX192PUcsSClJJiZmLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmVi5jb21wb25lbnRXaWxsTW91bnQhPW51bGwmJlYuY29tcG9uZW50V2lsbE1vdW50KCksSSYmVi5jb21wb25lbnREaWRNb3VudCE9bnVsbCYmVi5fX2gucHVzaChWLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKEkmJmYuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZBIT09TyYmVi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1udWxsJiZWLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoQSxoKSxHLl9fdj09Si5fX3Z8fCFWLl9fZSYmVi5zaG91bGRDb21wb25lbnRVcGRhdGUhPW51bGwmJlYuc2hvdWxkQ29tcG9uZW50VXBkYXRlKEEsVi5fX3MsaCk9PT0hMSl7Ry5fX3YhPUouX192JiYoVi5wcm9wcz1BLFYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEpLEcuX19lPUouX19lLEcuX19rPUouX19rLEcuX19rLnNvbWUoZnVuY3Rpb24oeSl7eSYmKHkuX189Ryl9KSxXMS5wdXNoLmFwcGx5KFYuX19oLFYuX3NiKSxWLl9zYj1bXSxWLl9faC5sZW5ndGgmJl8ucHVzaChWKTticmVhayBYfVYuY29tcG9uZW50V2lsbFVwZGF0ZSE9bnVsbCYmVi5jb21wb25lbnRXaWxsVXBkYXRlKEEsVi5fX3MsaCksSSYmVi5jb21wb25lbnREaWRVcGRhdGUhPW51bGwmJlYuX19oLnB1c2goZnVuY3Rpb24oKXtWLmNvbXBvbmVudERpZFVwZGF0ZShPLFUsUCl9KX1pZihWLmNvbnRleHQ9aCxWLnByb3BzPUEsVi5fX1A9WCxWLl9fZT0hMSxjPXcuX19yLGU9MCxJKVYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEsYyYmYyhHKSxCPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFcxLnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdO2Vsc2UgZG8gVi5fX2Q9ITEsYyYmYyhHKSxCPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFYuc3RhdGU9Vi5fX3M7d2hpbGUoVi5fX2QmJisrZTwyNSk7Vi5zdGF0ZT1WLl9fcyxWLmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFk9TzAoTzAoe30sWSksVi5nZXRDaGlsZENvbnRleHQoKSkpLEkmJiFIJiZWLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoUD1WLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKE8sVSkpLG49QiE9bnVsbCYmQi50eXBlPT09bCYmQi5rZXk9PW51bGw/azkoQi5wcm9wcy5jaGlsZHJlbik6QiwkPUE5KFgsbjAobik/bjpbbl0sRyxKLFkscSxaLF8sJCx6LEwpLFYuYmFzZT1HLl9fZSxHLl9fdSY9LTE2MSxWLl9faC5sZW5ndGgmJl8ucHVzaChWKSxGJiYoVi5fX0U9Vi5fXz1udWxsKX1jYXRjaCh5KXtpZihHLl9fdj1udWxsLHp8fFohPW51bGwpaWYoeS50aGVuKXtmb3IoRy5fX3V8PXo/MTYwOjEyODskJiYkLm5vZGVUeXBlPT04JiYkLm5leHRTaWJsaW5nOykkPSQubmV4dFNpYmxpbmc7WltaLmluZGV4T2YoJCldPW51bGwsRy5fX2U9JH1lbHNle2ZvcihfMD1aLmxlbmd0aDtfMC0tOylkMShaW18wXSk7cDEoRyl9ZWxzZSBHLl9fZT1KLl9fZSxHLl9faz1KLl9fayx5LnRoZW58fHAxKEcpO3cuX19lKHksRyxKKX1lbHNlIFo9PW51bGwmJkcuX192PT1KLl9fdj8oRy5fX2s9Si5fX2ssRy5fX2U9Si5fX2UpOiQ9Ry5fX2U9dTgoSi5fX2UsRyxKLFkscSxaLF8seixMKTtyZXR1cm4oQj13LmRpZmZlZCkmJkIoRyksMTI4JkcuX191P3ZvaWQgMDokfWZ1bmN0aW9uIHAxKFgpe1gmJihYLl9fYyYmKFguX19jLl9fZT0hMCksWC5fX2smJlguX19rLnNvbWUocDEpKX1mdW5jdGlvbiBUOShYLEcsSil7Zm9yKHZhciBZPTA7WTxKLmxlbmd0aDtZKyspYzEoSltZXSxKWysrWV0sSlsrK1ldKTt3Ll9fYyYmdy5fX2MoRyxYKSxYLnNvbWUoZnVuY3Rpb24ocSl7dHJ5e1g9cS5fX2gscS5fX2g9W10sWC5zb21lKGZ1bmN0aW9uKFope1ouY2FsbChxKX0pfWNhdGNoKFope3cuX19lKFoscS5fX3YpfX0pfWZ1bmN0aW9uIGs5KFgpe3JldHVybiB0eXBlb2YgWCE9Im9iamVjdCJ8fFg9PW51bGx8fFguX19iPjA/WDpuMChYKT9YLm1hcChrOSk6TzAoe30sWCl9ZnVuY3Rpb24gdTgoWCxHLEosWSxxLFosXywkLHope3ZhciBMLEIsVixILE8sVSxQLEY9Si5wcm9wc3x8ejEsQT1HLnByb3BzLEk9Ry50eXBlO2lmKEk9PSJzdmciP3E9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjpJPT0ibWF0aCI/cT0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6cXx8KHE9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxaIT1udWxsKXtmb3IoTD0wO0w8Wi5sZW5ndGg7TCsrKWlmKChPPVpbTF0pJiYic2V0QXR0cmlidXRlImluIE89PSEhSSYmKEk/Ty5sb2NhbE5hbWU9PUk6Ty5ub2RlVHlwZT09Mykpe1g9TyxaW0xdPW51bGw7YnJlYWt9fWlmKFg9PW51bGwpe2lmKEk9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEEpO1g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHEsSSxBLmlzJiZBKSwkJiYody5fX20mJncuX19tKEcsWiksJD0hMSksWj1udWxsfWlmKEk9PW51bGwpRj09PUF8fCQmJlguZGF0YT09QXx8KFguZGF0YT1BKTtlbHNle2lmKFo9WiYmSDEuY2FsbChYLmNoaWxkTm9kZXMpLCEkJiZaIT1udWxsKWZvcihGPXt9LEw9MDtMPFguYXR0cmlidXRlcy5sZW5ndGg7TCsrKUZbKE89WC5hdHRyaWJ1dGVzW0xdKS5uYW1lXT1PLnZhbHVlO2ZvcihMIGluIEYpTz1GW0xdLEw9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Vj1POkw9PSJjaGlsZHJlbiJ8fChMIGluIEEpfHxMPT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBBKXx8TD09ImNoZWNrZWQiJiYoImRlZmF1bHRDaGVja2VkImluIEEpfHwkMShYLEwsbnVsbCxPLHEpO2ZvcihMIGluIEEpTz1BW0xdLEw9PSJjaGlsZHJlbiI/SD1POkw9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Qj1POkw9PSJ2YWx1ZSI/VT1POkw9PSJjaGVja2VkIj9QPU86JCYmdHlwZW9mIE8hPSJmdW5jdGlvbiJ8fEZbTF09PT1PfHwkMShYLEwsTyxGW0xdLHEpO2lmKEIpJHx8ViYmKEIuX19odG1sPT1WLl9faHRtbHx8Qi5fX2h0bWw9PVguaW5uZXJIVE1MKXx8KFguaW5uZXJIVE1MPUIuX19odG1sKSxHLl9faz1bXTtlbHNlIGlmKFYmJihYLmlubmVySFRNTD0iIiksQTkoRy50eXBlPT0idGVtcGxhdGUiP1guY29udGVudDpYLG4wKEgpP0g6W0hdLEcsSixZLEk9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6cSxaLF8sWj9aWzBdOkouX19rJiZ4MChKLDApLCQseiksWiE9bnVsbClmb3IoTD1aLmxlbmd0aDtMLS07KWQxKFpbTF0pOyR8fChMPSJ2YWx1ZSIsST09InByb2dyZXNzIiYmVT09bnVsbD9YLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpVIT1udWxsJiYoVSE9PVhbTF18fEk9PSJwcm9ncmVzcyImJiFVfHxJPT0ib3B0aW9uIiYmVSE9RltMXSkmJiQxKFgsTCxVLEZbTF0scSksTD0iY2hlY2tlZCIsUCE9bnVsbCYmUCE9WFtMXSYmJDEoWCxMLFAsRltMXSxxKSl9cmV0dXJuIFh9ZnVuY3Rpb24gYzEoWCxHLEope3RyeXtpZih0eXBlb2YgWD09ImZ1bmN0aW9uIil7dmFyIFk9dHlwZW9mIFguX191PT0iZnVuY3Rpb24iO1kmJlguX191KCksWSYmRz09bnVsbHx8KFguX191PVgoRykpfWVsc2UgWC5jdXJyZW50PUd9Y2F0Y2gocSl7dy5fX2UocSxKKX19ZnVuY3Rpb24gRTkoWCxHLEope3ZhciBZLHE7aWYody51bm1vdW50JiZ3LnVubW91bnQoWCksKFk9WC5yZWYpJiYoWS5jdXJyZW50JiZZLmN1cnJlbnQhPVguX19lfHxjMShZLG51bGwsRykpLChZPVguX19jKSE9bnVsbCl7aWYoWS5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7WS5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKFope3cuX19lKFosRyl9WS5iYXNlPVkuX19QPW51bGx9aWYoWT1YLl9faylmb3IocT0wO3E8WS5sZW5ndGg7cSsrKVlbcV0mJkU5KFlbcV0sRyxKfHx0eXBlb2YgWC50eXBlIT0iZnVuY3Rpb24iKTtKfHxkMShYLl9fZSksWC5fX2M9WC5fXz1YLl9fZT12b2lkIDB9ZnVuY3Rpb24gYzgoWCxHLEope3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKFgsSil9ZnVuY3Rpb24gRDEoWCxHLEope3ZhciBZLHEsWixfO0c9PWRvY3VtZW50JiYoRz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLHcuX18mJncuX18oWCxHKSxxPShZPXR5cGVvZiBKPT0iZnVuY3Rpb24iKT9udWxsOkomJkouX19rfHxHLl9fayxaPVtdLF89W10sdTEoRyxYPSghWSYmSnx8RykuX19rPUgwKGwsbnVsbCxbWF0pLHF8fHoxLHoxLEcubmFtZXNwYWNlVVJJLCFZJiZKP1tKXTpxP251bGw6Ry5maXJzdENoaWxkP0gxLmNhbGwoRy5jaGlsZE5vZGVzKTpudWxsLFosIVkmJko/SjpxP3EuX19lOkcuZmlyc3RDaGlsZCxZLF8pLFQ5KFosWCxfKX1mdW5jdGlvbiBGMChYKXtmdW5jdGlvbiBHKEope3ZhciBZLHE7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoWT1uZXcgU2V0LChxPXt9KVtHLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBxfSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WT1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihaKXt0aGlzLnByb3BzLnZhbHVlIT1aLnZhbHVlJiZZLmZvckVhY2goZnVuY3Rpb24oXyl7Xy5fX2U9ITAseDEoXyl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24oWil7WS5hZGQoWik7dmFyIF89Wi5jb21wb25lbnRXaWxsVW5tb3VudDtaLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WSYmWS5kZWxldGUoWiksXyYmXy5jYWxsKFopfX0pLEouY2hpbGRyZW59cmV0dXJuIEcuX19jPSJfX2NDIitJOSsrLEcuX189WCxHLlByb3ZpZGVyPUcuX19sPShHLkNvbnN1bWVyPWZ1bmN0aW9uKEosWSl7cmV0dXJuIEouY2hpbGRyZW4oWSl9KS5jb250ZXh0VHlwZT1HLEd9SDE9VzEuc2xpY2Usdz17X19lOmZ1bmN0aW9uKFgsRyxKLFkpe2Zvcih2YXIgcSxaLF87Rz1HLl9fOylpZigocT1HLl9fYykmJiFxLl9fKXRyeXtpZigoWj1xLmNvbnN0cnVjdG9yKSYmWi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihxLnNldFN0YXRlKFouZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKFgpKSxfPXEuX19kKSxxLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYocS5jb21wb25lbnREaWRDYXRjaChYLFl8fHt9KSxfPXEuX19kKSxfKXJldHVybiBxLl9fRT1xfWNhdGNoKCQpe1g9JH10aHJvdyBYfX0sRjk9MCxtOD1mdW5jdGlvbihYKXtyZXR1cm4gWCE9bnVsbCYmWC5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sdC5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oWCxHKXt2YXIgSjtKPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1PMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgWD09ImZ1bmN0aW9uIiYmKFg9WChPMCh7fSxKKSx0aGlzLnByb3BzKSksWCYmTzAoSixYKSxYIT1udWxsJiZ0aGlzLl9fdiYmKEcmJnRoaXMuX3NiLnB1c2goRykseDEodGhpcykpfSx0LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihYKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLFgmJnRoaXMuX19oLnB1c2goWCkseDEodGhpcykpfSx0LnByb3RvdHlwZS5yZW5kZXI9bCxrMD1bXSxOOT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsUDk9ZnVuY3Rpb24oWCxHKXtyZXR1cm4gWC5fX3YuX19iLUcuX192Ll9fYn0sSzEuX19yPTAsaDE9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxWMT0iX19kIitoMSx0MD0iX19hIitoMSxVOT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSxmMT0wLGcxPUI5KCExKSxtMT1COSghMCksSTk9MDt2YXIgcDAseCxsMSxDOSxlMD0wLGc5PVtdLGE9dyxSOT1hLl9fYixiOT1hLl9fcixqOT1hLmRpZmZlZCxTOT1hLl9fYyx2OT1hLnVubW91bnQseTk9YS5fXztmdW5jdGlvbiBCMShYLEcpe2EuX19oJiZhLl9faCh4LFgsZTB8fEcpLGUwPTA7dmFyIEo9eC5fX0h8fCh4Ll9fSD17X186W10sX19oOltdfSk7cmV0dXJuIFg+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bWF19ZnVuY3Rpb24gayhYKXtyZXR1cm4gZTA9MSxpMSh4OSxYKX1mdW5jdGlvbiBpMShYLEcsSil7dmFyIFk9QjEocDArKywyKTtpZihZLnQ9WCwhWS5fX2MmJihZLl9fPVtKP0ooRyk6eDkodm9pZCAwLEcpLGZ1bmN0aW9uKCQpe3ZhciB6PVkuX19OP1kuX19OWzBdOlkuX19bMF0sTD1ZLnQoeiwkKTt6IT09TCYmKFkuX19OPVtMLFkuX19bMV1dLFkuX19jLnNldFN0YXRlKHt9KSl9XSxZLl9fYz14LCF4Ll9fZikpe3ZhciBxPWZ1bmN0aW9uKCQseixMKXtpZighWS5fX2MuX19IKXJldHVybiEwO3ZhciBCPVkuX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24oSCl7cmV0dXJuIEguX19jfSk7aWYoQi5ldmVyeShmdW5jdGlvbihIKXtyZXR1cm4hSC5fX059KSlyZXR1cm4hWnx8Wi5jYWxsKHRoaXMsJCx6LEwpO3ZhciBWPVkuX19jLnByb3BzIT09JDtyZXR1cm4gQi5zb21lKGZ1bmN0aW9uKEgpe2lmKEguX19OKXt2YXIgTz1ILl9fWzBdO0guX189SC5fX04sSC5fX049dm9pZCAwLE8hPT1ILl9fWzBdJiYoVj0hMCl9fSksWiYmWi5jYWxsKHRoaXMsJCx6LEwpfHxWfTt4Ll9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOlosY29tcG9uZW50V2lsbFVwZGF0ZTpffT14O3guY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbigkLHosTCl7aWYodGhpcy5fX2Upe3ZhciBCPVo7Wj12b2lkIDAscSgkLHosTCksWj1CfV8mJl8uY2FsbCh0aGlzLCQseixMKX0seC5zaG91bGRDb21wb25lbnRVcGRhdGU9cX1yZXR1cm4gWS5fX058fFkuX199ZnVuY3Rpb24gaihYLEcpe3ZhciBKPUIxKHAwKyssMyk7IWEuX19zJiZtOShKLl9fSCxHKSYmKEouX189WCxKLnU9Ryx4Ll9fSC5fX2gucHVzaChKKSl9ZnVuY3Rpb24gYihYKXtyZXR1cm4gZTA9NSx5MChmdW5jdGlvbigpe3JldHVybntjdXJyZW50Olh9fSxbXSl9ZnVuY3Rpb24geTAoWCxHKXt2YXIgSj1CMShwMCsrLDcpO3JldHVybiBtOShKLl9fSCxHKSYmKEouX189WCgpLEouX19IPUcsSi5fX2g9WCksSi5fX31mdW5jdGlvbiBSKFgsRyl7cmV0dXJuIGUwPTgseTAoZnVuY3Rpb24oKXtyZXR1cm4gWH0sRyl9ZnVuY3Rpb24gRTAoWCl7dmFyIEc9eC5jb250ZXh0W1guX19jXSxKPUIxKHAwKyssOSk7cmV0dXJuIEouYz1YLEc/KEouX189PW51bGwmJihKLl9fPSEwLEcuc3ViKHgpKSxHLnByb3BzLnZhbHVlKTpYLl9ffWZ1bmN0aW9uIGw4KCl7Zm9yKHZhciBYO1g9Zzkuc2hpZnQoKTspe3ZhciBHPVguX19IO2lmKFguX19QJiZHKXRyeXtHLl9faC5zb21lKE8xKSxHLl9faC5zb21lKGExKSxHLl9faD1bXX1jYXRjaChKKXtHLl9faD1bXSxhLl9fZShKLFguX192KX19fWEuX19iPWZ1bmN0aW9uKFgpe3g9bnVsbCxSOSYmUjkoWCl9LGEuX189ZnVuY3Rpb24oWCxHKXtYJiZHLl9fayYmRy5fX2suX19tJiYoWC5fX209Ry5fX2suX19tKSx5OSYmeTkoWCxHKX0sYS5fX3I9ZnVuY3Rpb24oWCl7YjkmJmI5KFgpLHAwPTA7dmFyIEc9KHg9WC5fX2MpLl9fSDtHJiYobDE9PT14PyhHLl9faD1bXSx4Ll9faD1bXSxHLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihHLl9faC5zb21lKE8xKSxHLl9faC5zb21lKGExKSxHLl9faD1bXSxwMD0wKSksbDE9eH0sYS5kaWZmZWQ9ZnVuY3Rpb24oWCl7ajkmJmo5KFgpO3ZhciBHPVguX19jO0cmJkcuX19IJiYoRy5fX0guX19oLmxlbmd0aCYmKGc5LnB1c2goRykhPT0xJiZDOT09PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKEM5PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8YTgpKGw4KSksRy5fX0guX18uc29tZShmdW5jdGlvbihKKXtKLnUmJihKLl9fSD1KLnUpLEoudT12b2lkIDB9KSksbDE9eD1udWxsfSxhLl9fYz1mdW5jdGlvbihYLEcpe0cuc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShPMSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFkpe3JldHVybiFZLl9ffHxhMShZKX0pfWNhdGNoKFkpe0cuc29tZShmdW5jdGlvbihxKXtxLl9faCYmKHEuX19oPVtdKX0pLEc9W10sYS5fX2UoWSxKLl9fdil9fSksUzkmJlM5KFgsRyl9LGEudW5tb3VudD1mdW5jdGlvbihYKXt2OSYmdjkoWCk7dmFyIEcsSj1YLl9fYztKJiZKLl9fSCYmKEouX19ILl9fLnNvbWUoZnVuY3Rpb24oWSl7dHJ5e08xKFkpfWNhdGNoKHEpe0c9cX19KSxKLl9fSD12b2lkIDAsRyYmYS5fX2UoRyxKLl9fdikpfTt2YXIgaDk9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBhOChYKXt2YXIgRyxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFkpLGg5JiZjYW5jZWxBbmltYXRpb25GcmFtZShHKSxzZXRUaW1lb3V0KFgpfSxZPXNldFRpbWVvdXQoSiwzNSk7aDkmJihHPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gTzEoWCl7dmFyIEc9eCxKPVguX19jO3R5cGVvZiBKPT0iZnVuY3Rpb24iJiYoWC5fX2M9dm9pZCAwLEooKSkseD1HfWZ1bmN0aW9uIGExKFgpe3ZhciBHPXg7WC5fX2M9WC5fXygpLHg9R31mdW5jdGlvbiBtOShYLEcpe3JldHVybiFYfHxYLmxlbmd0aCE9PUcubGVuZ3RofHxHLnNvbWUoZnVuY3Rpb24oSixZKXtyZXR1cm4gSiE9PVhbWV19KX1mdW5jdGlvbiB4OShYLEcpe3JldHVybiB0eXBlb2YgRz09ImZ1bmN0aW9uIj9HKFgpOkd9ZnVuY3Rpb24gZTgoWCxHKXtmb3IodmFyIEogaW4gRylYW0pdPUdbSl07cmV0dXJuIFh9ZnVuY3Rpb24gcDkoWCxHKXtmb3IodmFyIEogaW4gWClpZihKIT09Il9fc291cmNlIiYmIShKIGluIEcpKXJldHVybiEwO2Zvcih2YXIgWSBpbiBHKWlmKFkhPT0iX19zb3VyY2UiJiZYW1ldIT09R1tZXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBmOShYLEcpe3RoaXMucHJvcHM9WCx0aGlzLmNvbnRleHQ9R30oZjkucHJvdG90eXBlPW5ldyB0KS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCxmOS5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKFgsRyl7cmV0dXJuIHA5KHRoaXMucHJvcHMsWCl8fHA5KHRoaXMuc3RhdGUsRyl9O3ZhciBkOT13Ll9fYjt3Ll9fYj1mdW5jdGlvbihYKXtYLnR5cGUmJlgudHlwZS5fX2YmJlgucmVmJiYoWC5wcm9wcy5yZWY9WC5yZWYsWC5yZWY9bnVsbCksZDkmJmQ5KFgpfTt2YXIgWDQ9dy5fX2U7dy5fX2U9ZnVuY3Rpb24oWCxHLEosWSl7aWYoWC50aGVuKXtmb3IodmFyIHEsWj1HO1o9Wi5fXzspaWYoKHE9Wi5fX2MpJiZxLl9fYylyZXR1cm4gRy5fX2U9PW51bGwmJihHLl9fZT1KLl9fZSxHLl9faz1KLl9faykscS5fX2MoWCxHKX1YNChYLEcsSixZKX07dmFyIHU5PXcudW5tb3VudDtmdW5jdGlvbiByOShYLEcsSil7cmV0dXJuIFgmJihYLl9fYyYmWC5fX2MuX19IJiYoWC5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWSl7dHlwZW9mIFkuX19jPT0iZnVuY3Rpb24iJiZZLl9fYygpfSksWC5fX2MuX19IPW51bGwpLChYPWU4KHt9LFgpKS5fX2MhPW51bGwmJihYLl9fYy5fX1A9PT1KJiYoWC5fX2MuX19QPUcpLFguX19jLl9fZT0hMCxYLl9fYz1udWxsKSxYLl9faz1YLl9fayYmWC5fX2subWFwKGZ1bmN0aW9uKFkpe3JldHVybiByOShZLEcsSil9KSksWH1mdW5jdGlvbiBzOShYLEcsSil7cmV0dXJuIFgmJkomJihYLl9fdj1udWxsLFguX19rPVguX19rJiZYLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIHM5KFksRyxKKX0pLFguX19jJiZYLl9fYy5fX1A9PT1HJiYoWC5fX2UmJkouYXBwZW5kQ2hpbGQoWC5fX2UpLFguX19jLl9fZT0hMCxYLl9fYy5fX1A9SikpLFh9ZnVuY3Rpb24gbzEoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gdDkoWCl7dmFyIEc9WC5fXyYmWC5fXy5fX2M7cmV0dXJuIEcmJkcuX19hJiZHLl9fYShYKX1mdW5jdGlvbiBGMSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfXcudW5tb3VudD1mdW5jdGlvbihYKXt2YXIgRz1YLl9fYztHJiYoRy5fX3o9ITApLEcmJkcuX19SJiZHLl9fUigpLEcmJjMyJlguX191JiYoWC50eXBlPW51bGwpLHU5JiZ1OShYKX0sKG8xLnByb3RvdHlwZT1uZXcgdCkuX19jPWZ1bmN0aW9uKFgsRyl7dmFyIEo9Ry5fX2MsWT10aGlzO1kubz09bnVsbCYmKFkubz1bXSksWS5vLnB1c2goSik7dmFyIHE9dDkoWS5fX3YpLFo9ITEsXz1mdW5jdGlvbigpe1p8fFkuX196fHwoWj0hMCxKLl9fUj1udWxsLHE/cSh6KTp6KCkpfTtKLl9fUj1fO3ZhciAkPUouX19QO0ouX19QPW51bGw7dmFyIHo9ZnVuY3Rpb24oKXtpZighLS1ZLl9fdSl7aWYoWS5zdGF0ZS5fX2Epe3ZhciBMPVkuc3RhdGUuX19hO1kuX192Ll9fa1swXT1zOShMLEwuX19jLl9fUCxMLl9fYy5fX08pfXZhciBCO2ZvcihZLnNldFN0YXRlKHtfX2E6WS5fX2I9bnVsbH0pO0I9WS5vLnBvcCgpOylCLl9fUD0kLEIuZm9yY2VVcGRhdGUoKX19O1kuX191Kyt8fDMyJkcuX191fHxZLnNldFN0YXRlKHtfX2E6WS5fX2I9WS5fX3YuX19rWzBdfSksWC50aGVuKF8sXyl9LG8xLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sbzEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihYLEcpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFk9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09cjkodGhpcy5fX2IsSixZLl9fTz1ZLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgcT1HLl9fYSYmSDAobCxudWxsLFguZmFsbGJhY2spO3JldHVybiBxJiYocS5fX3UmPS0zMyksW0gwKGwsbnVsbCxHLl9fYT9udWxsOlguY2hpbGRyZW4pLHFdfTt2YXIgYzk9ZnVuY3Rpb24oWCxHLEope2lmKCsrSlsxXT09PUpbMF0mJlgubC5kZWxldGUoRyksWC5wcm9wcy5yZXZlYWxPcmRlciYmKFgucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCFYLmwuc2l6ZSkpZm9yKEo9WC5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7WC5pPUo9SlsyXX19OyhGMS5wcm90b3R5cGU9bmV3IHQpLl9fYT1mdW5jdGlvbihYKXt2YXIgRz10aGlzLEo9dDkoRy5fX3YpLFk9Ry5sLmdldChYKTtyZXR1cm4gWVswXSsrLGZ1bmN0aW9uKHEpe3ZhciBaPWZ1bmN0aW9uKCl7Ry5wcm9wcy5yZXZlYWxPcmRlcj8oWS5wdXNoKHEpLGM5KEcsWCxZKSk6cSgpfTtKP0ooWik6WigpfX0sRjEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihYKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgRz1CMChYLmNoaWxkcmVuKTtYLnJldmVhbE9yZGVyJiZYLnJldmVhbE9yZGVyWzBdPT09ImIiJiZHLnJldmVyc2UoKTtmb3IodmFyIEo9Ry5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KEdbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIFguY2hpbGRyZW59LEYxLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9RjEucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIFg9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihHLEope2M5KFgsSixHKX0pfTt2YXIgRzQ9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsSjQ9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFk0PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sWjQ9L1tBLVowLTldL2cscTQ9dHlwZW9mIGRvY3VtZW50PCJ1IixRND1mdW5jdGlvbihYKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoWCl9O2Z1bmN0aW9uIG45KFgsRyxKKXtyZXR1cm4gRy5fX2s9PW51bGwmJihHLnRleHRDb250ZW50PSIiKSxEMShYLEcpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksWD9YLl9fYzpudWxsfXQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oWCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFgse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrWF19LHNldDpmdW5jdGlvbihHKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxYLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6R30pfX0pfSk7dmFyIGw5PXcuZXZlbnQ7dy5ldmVudD1mdW5jdGlvbihYKXtyZXR1cm4gbDkmJihYPWw5KFgpKSxYLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LFguaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LFguaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sWC5uYXRpdmVFdmVudD1YfTt2YXIgZTksXzQ9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LGE5PXcudm5vZGU7dy52bm9kZT1mdW5jdGlvbihYKXt0eXBlb2YgWC50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oRyl7dmFye3Byb3BzOkosdHlwZTpZfT1HLHE9e30sWj1ZLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBfIGluIEope3ZhciAkPUpbX107aWYoIShfPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJiQ9PW51bGx8fHE0JiZfPT09ImNoaWxkcmVuIiYmWT09PSJub3NjcmlwdCJ8fF89PT0iY2xhc3MifHxfPT09ImNsYXNzTmFtZSIpKXt2YXIgej1fLnRvTG93ZXJDYXNlKCk7Xz09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9fPSJ2YWx1ZSI6Xz09PSJkb3dubG9hZCImJiQ9PT0hMD8kPSIiOno9PT0idHJhbnNsYXRlIiYmJD09PSJubyI/JD0hMTp6WzBdPT09Im8iJiZ6WzFdPT09Im4iP3o9PT0ib25kb3VibGVjbGljayI/Xz0ib25kYmxjbGljayI6eiE9PSJvbmNoYW5nZSJ8fFkhPT0iaW5wdXQiJiZZIT09InRleHRhcmVhInx8UTQoSi50eXBlKT96PT09Im9uZm9jdXMiP189Im9uZm9jdXNpbiI6ej09PSJvbmJsdXIiP189Im9uZm9jdXNvdXQiOlk0LnRlc3QoXykmJihfPXopOno9Xz0ib25pbnB1dCI6WiYmSjQudGVzdChfKT9fPV8ucmVwbGFjZShaNCwiLSQmIikudG9Mb3dlckNhc2UoKTokPT09bnVsbCYmKCQ9dm9pZCAwKSx6PT09Im9uaW5wdXQiJiZxW189el0mJihfPSJvbmlucHV0Q2FwdHVyZSIpLHFbX109JH19WT09InNlbGVjdCImJihxLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHEudmFsdWUpJiYocS52YWx1ZT1CMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9cS52YWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMX0pKSxxLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKHEudmFsdWU9QjAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihMKXtMLnByb3BzLnNlbGVjdGVkPXEubXVsdGlwbGU/cS5kZWZhdWx0VmFsdWUuaW5kZXhPZihMLnByb3BzLnZhbHVlKSE9LTE6cS5kZWZhdWx0VmFsdWU9PUwucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8ocS5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxLCJjbGFzc05hbWUiLF80KSk6Si5jbGFzc05hbWUmJihxLmNsYXNzPXEuY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxHLnByb3BzPXF9KFgpLFguJCR0eXBlb2Y9RzQsYTkmJmE5KFgpfTt2YXIgaTk9dy5fX3I7dy5fX3I9ZnVuY3Rpb24oWCl7aTkmJmk5KFgpLGU5PVguX19jfTt2YXIgbzk9dy5kaWZmZWQ7dy5kaWZmZWQ9ZnVuY3Rpb24oWCl7bzkmJm85KFgpO3Zhcntwcm9wczpHLF9fZTpKfT1YO0ohPW51bGwmJlgudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBHJiZHLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9Ry52YWx1ZT09bnVsbD8iIjpHLnZhbHVlKSxlOT1udWxsfTtmdW5jdGlvbiBYOChYKXtyZXR1cm4hIVguX19rJiYoRDEobnVsbCxYKSwhMCl9ZnVuY3Rpb24gRzgoWCl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihHKXtuOShHLFgpfSx1bm1vdW50OmZ1bmN0aW9uKCl7WDgoWCl9fX12YXIgSjg9Imh0dHBzOi8vZ2l0aHViLmNvbS9jYW1lcm9uY29va2UvQVhlIixZOD0iQVhlIGlzIG5vdCBpbnN0YWxsZWQuIEluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY2FtZXJvbmNvb2tlL0FYZS4iO2Z1bmN0aW9uIFc4KFgsRyl7Zm9yKHZhciBKIGluIEcpWFtKXT1HW0pdO3JldHVybiBYfWZ1bmN0aW9uIHQxKFgsRyl7Zm9yKHZhciBKIGluIFgpaWYoSiE9PSJfX3NvdXJjZSImJiEoSiBpbiBHKSlyZXR1cm4hMDtmb3IodmFyIFkgaW4gRylpZihZIT09Il9fc291cmNlIiYmWFtZXSE9PUdbWV0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gWjgoWCxHKXt0aGlzLnByb3BzPVgsdGhpcy5jb250ZXh0PUd9ZnVuY3Rpb24gbjEoWCxHKXtmdW5jdGlvbiBKKHEpe3ZhciBaPXRoaXMucHJvcHMucmVmO3JldHVybiBaIT1xLnJlZiYmWiYmKHR5cGVvZiBaPT0iZnVuY3Rpb24iP1oobnVsbCk6Wi5jdXJyZW50PW51bGwpLEc/IUcodGhpcy5wcm9wcyxxKXx8WiE9cS5yZWY6dDEodGhpcy5wcm9wcyxxKX1mdW5jdGlvbiBZKHEpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1KLEgwKFgscSl9cmV0dXJuIFkuZGlzcGxheU5hbWU9Ik1lbW8oIisoWC5kaXNwbGF5TmFtZXx8WC5uYW1lKSsiKSIsWS5fX2Y9WS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxZLnR5cGU9WCxZfShaOC5wcm90b3R5cGU9bmV3IHQpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLFo4LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWCxHKXtyZXR1cm4gdDEodGhpcy5wcm9wcyxYKXx8dDEodGhpcy5zdGF0ZSxHKX07dmFyIHE4PXcuX19iO3cuX19iPWZ1bmN0aW9uKFgpe1gudHlwZSYmWC50eXBlLl9fZiYmWC5yZWYmJihYLnByb3BzLnJlZj1YLnJlZixYLnJlZj1udWxsKSxxOCYmcTgoWCl9O3ZhciAkND10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiBmMChYKXtmdW5jdGlvbiBHKEope3ZhciBZPVc4KHt9LEopO3JldHVybiBkZWxldGUgWS5yZWYsWChZLEoucmVmfHxudWxsKX1yZXR1cm4gRy4kJHR5cGVvZj0kNCxHLnJlbmRlcj1YLEcucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9Ry5fX2Y9ITAsRy5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhYLmRpc3BsYXlOYW1lfHxYLm5hbWUpKyIpIixHfXZhciBWND13Ll9fZTt3Ll9fZT1mdW5jdGlvbihYLEcsSixZKXtpZihYLnRoZW4pe2Zvcih2YXIgcSxaPUc7Wj1aLl9fOylpZigocT1aLl9fYykmJnEuX19jKXJldHVybiBHLl9fZT09bnVsbCYmKEcuX19lPUouX19lLEcuX19rPUouX19rKSxxLl9fYyhYLEcpfVY0KFgsRyxKLFkpfTt2YXIgUTg9dy51bm1vdW50O2Z1bmN0aW9uIEs4KFgsRyxKKXtyZXR1cm4gWCYmKFguX19jJiZYLl9fYy5fX0gmJihYLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihZKXt0eXBlb2YgWS5fX2M9PSJmdW5jdGlvbiImJlkuX19jKCl9KSxYLl9fYy5fX0g9bnVsbCksKFg9Vzgoe30sWCkpLl9fYyE9bnVsbCYmKFguX19jLl9fUD09PUomJihYLl9fYy5fX1A9RyksWC5fX2MuX19lPSEwLFguX19jPW51bGwpLFguX19rPVguX19rJiZYLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIEs4KFksRyxKKX0pKSxYfWZ1bmN0aW9uIEg4KFgsRyxKKXtyZXR1cm4gWCYmSiYmKFguX192PW51bGwsWC5fX2s9WC5fX2smJlguX19rLm1hcChmdW5jdGlvbihZKXtyZXR1cm4gSDgoWSxHLEopfSksWC5fX2MmJlguX19jLl9fUD09PUcmJihYLl9fZSYmSi5hcHBlbmRDaGlsZChYLl9fZSksWC5fX2MuX19lPSEwLFguX19jLl9fUD1KKSksWH1mdW5jdGlvbiBzMSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBEOChYKXt2YXIgRz1YLl9fJiZYLl9fLl9fYztyZXR1cm4gRyYmRy5fX2EmJkcuX19hKFgpfWZ1bmN0aW9uIE4xKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9dy51bm1vdW50PWZ1bmN0aW9uKFgpe3ZhciBHPVguX19jO0cmJihHLl9fej0hMCksRyYmRy5fX1ImJkcuX19SKCksRyYmMzImWC5fX3UmJihYLnR5cGU9bnVsbCksUTgmJlE4KFgpfSwoczEucHJvdG90eXBlPW5ldyB0KS5fX2M9ZnVuY3Rpb24oWCxHKXt2YXIgSj1HLl9fYyxZPXRoaXM7WS5vPT1udWxsJiYoWS5vPVtdKSxZLm8ucHVzaChKKTt2YXIgcT1EOChZLl9fdiksWj0hMSxfPWZ1bmN0aW9uKCl7Wnx8WS5fX3p8fChaPSEwLEouX19SPW51bGwscT9xKHopOnooKSl9O0ouX19SPV87dmFyICQ9Si5fX1A7Si5fX1A9bnVsbDt2YXIgej1mdW5jdGlvbigpe2lmKCEtLVkuX191KXtpZihZLnN0YXRlLl9fYSl7dmFyIEw9WS5zdGF0ZS5fX2E7WS5fX3YuX19rWzBdPUg4KEwsTC5fX2MuX19QLEwuX19jLl9fTyl9dmFyIEI7Zm9yKFkuc2V0U3RhdGUoe19fYTpZLl9fYj1udWxsfSk7Qj1ZLm8ucG9wKCk7KUIuX19QPSQsQi5mb3JjZVVwZGF0ZSgpfX07WS5fX3UrK3x8MzImRy5fX3V8fFkuc2V0U3RhdGUoe19fYTpZLl9fYj1ZLl9fdi5fX2tbMF19KSxYLnRoZW4oXyxfKX0sczEucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxzMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKFgsRyl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWT10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1LOCh0aGlzLl9fYixKLFkuX19PPVkuX19QKX10aGlzLl9fYj1udWxsfXZhciBxPUcuX19hJiZIMChsLG51bGwsWC5mYWxsYmFjayk7cmV0dXJuIHEmJihxLl9fdSY9LTMzKSxbSDAobCxudWxsLEcuX19hP251bGw6WC5jaGlsZHJlbikscV19O3ZhciBfOD1mdW5jdGlvbihYLEcsSil7aWYoKytKWzFdPT09SlswXSYmWC5sLmRlbGV0ZShHKSxYLnByb3BzLnJldmVhbE9yZGVyJiYoWC5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IVgubC5zaXplKSlmb3IoSj1YLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhaztYLmk9Sj1KWzJdfX07KE4xLnByb3RvdHlwZT1uZXcgdCkuX19hPWZ1bmN0aW9uKFgpe3ZhciBHPXRoaXMsSj1EOChHLl9fdiksWT1HLmwuZ2V0KFgpO3JldHVybiBZWzBdKyssZnVuY3Rpb24ocSl7dmFyIFo9ZnVuY3Rpb24oKXtHLnByb3BzLnJldmVhbE9yZGVyPyhZLnB1c2gocSksXzgoRyxYLFkpKTpxKCl9O0o/SihaKTpaKCl9fSxOMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKFgpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBHPUIwKFguY2hpbGRyZW4pO1gucmV2ZWFsT3JkZXImJlgucmV2ZWFsT3JkZXJbMF09PT0iYiImJkcucmV2ZXJzZSgpO2Zvcih2YXIgSj1HLmxlbmd0aDtKLS07KXRoaXMubC5zZXQoR1tKXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gWC5jaGlsZHJlbn0sTjEucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1OMS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgWD10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKEcsSil7XzgoWCxKLEcpfSl9O3ZhciBMND10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyx6ND0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sVzQ9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxLND0vW0EtWjAtOV0vZyxIND10eXBlb2YgZG9jdW1lbnQ8InUiLEQ0PWZ1bmN0aW9uKFgpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChYKX07dC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbihYKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsWCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitYXX0sc2V0OmZ1bmN0aW9uKEcpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFgse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpHfSl9fSl9KTt2YXIgJDg9dy5ldmVudDt3LmV2ZW50PWZ1bmN0aW9uKFgpe3JldHVybiAkOCYmKFg9JDgoWCkpLFgucGVyc2lzdD1mdW5jdGlvbigpe30sWC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sWC5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxYLm5hdGl2ZUV2ZW50PVh9O3ZhciBPOCxPND17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sVjg9dy52bm9kZTt3LnZub2RlPWZ1bmN0aW9uKFgpe3R5cGVvZiBYLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihHKXt2YXJ7cHJvcHM6Six0eXBlOll9PUcscT17fSxaPVkuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIF8gaW4gSil7dmFyICQ9SltfXTtpZighKF89PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmJD09bnVsbHx8SDQmJl89PT0iY2hpbGRyZW4iJiZZPT09Im5vc2NyaXB0Inx8Xz09PSJjbGFzcyJ8fF89PT0iY2xhc3NOYW1lIikpe3ZhciB6PV8udG9Mb3dlckNhc2UoKTtfPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP189InZhbHVlIjpfPT09ImRvd25sb2FkIiYmJD09PSEwPyQ9IiI6ej09PSJ0cmFuc2xhdGUiJiYkPT09Im5vIj8kPSExOnpbMF09PT0ibyImJnpbMV09PT0ibiI/ej09PSJvbmRvdWJsZWNsaWNrIj9fPSJvbmRibGNsaWNrIjp6IT09Im9uY2hhbmdlInx8WSE9PSJpbnB1dCImJlkhPT0idGV4dGFyZWEifHxENChKLnR5cGUpP3o9PT0ib25mb2N1cyI/Xz0ib25mb2N1c2luIjp6PT09Im9uYmx1ciI/Xz0ib25mb2N1c291dCI6VzQudGVzdChfKSYmKF89eik6ej1fPSJvbmlucHV0IjpaJiZ6NC50ZXN0KF8pP189Xy5yZXBsYWNlKEs0LCItJCYiKS50b0xvd2VyQ2FzZSgpOiQ9PT1udWxsJiYoJD12b2lkIDApLHo9PT0ib25pbnB1dCImJnFbXz16XSYmKF89Im9uaW5wdXRDYXB0dXJlIikscVtfXT0kfX1ZPT0ic2VsZWN0IiYmKHEubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkocS52YWx1ZSkmJihxLnZhbHVlPUIwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTCl7TC5wcm9wcy5zZWxlY3RlZD1xLnZhbHVlLmluZGV4T2YoTC5wcm9wcy52YWx1ZSkhPS0xfSkpLHEuZGVmYXVsdFZhbHVlIT1udWxsJiYocS52YWx1ZT1CMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9cS5tdWx0aXBsZT9xLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMTpxLmRlZmF1bHRWYWx1ZT09TC5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhxLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KHEsImNsYXNzTmFtZSIsTzQpKTpKLmNsYXNzTmFtZSYmKHEuY2xhc3M9cS5jbGFzc05hbWU9Si5jbGFzc05hbWUpLEcucHJvcHM9cX0oWCksWC4kJHR5cGVvZj1MNCxWOCYmVjgoWCl9O3ZhciBMOD13Ll9fcjt3Ll9fcj1mdW5jdGlvbihYKXtMOCYmTDgoWCksTzg9WC5fX2N9O3ZhciB6OD13LmRpZmZlZDt3LmRpZmZlZD1mdW5jdGlvbihYKXt6OCYmejgoWCk7dmFye3Byb3BzOkcsX19lOkp9PVg7SiE9bnVsbCYmWC50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIEcmJkcudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1HLnZhbHVlPT1udWxsPyIiOkcudmFsdWUpLE84PW51bGx9O3ZhciBDMD0zO2Z1bmN0aW9uIGUxKFgpe3JldHVybiBYPT09ImxhbmRzY2FwZV9sZWZ0Inx8WD09PSJsYW5kc2NhcGVfcmlnaHQifWZ1bmN0aW9uIFgxKFgpe3JldHVybiEhWCYmKGUxKFgub3JpZW50YXRpb24pfHxYLndpZHRoPlguaGVpZ2h0KX1mdW5jdGlvbiBQMShYKXtpZighWHx8WC53aWR0aDw9MHx8WC5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IEc9ZTEoWC5vcmllbnRhdGlvbil8fFgud2lkdGg+WC5oZWlnaHQsSj1HP01hdGgubWF4KFgud2lkdGgsWC5oZWlnaHQpOk1hdGgubWluKFgud2lkdGgsWC5oZWlnaHQpLFk9Rz9NYXRoLm1pbihYLndpZHRoLFguaGVpZ2h0KTpNYXRoLm1heChYLndpZHRoLFguaGVpZ2h0KTtpZihKPT09WC53aWR0aCYmWT09PVguaGVpZ2h0KXJldHVybiBYO3JldHVybnsuLi5YLHdpZHRoOkosaGVpZ2h0Oll9fWZ1bmN0aW9uIEcxKFgpe2xldCBHPVAxKFgpLEo9QjgoWD8ub3JpZW50YXRpb24pLFk9TWF0aC5hYnMoSik9PT05MCxxPSEhWCYmWC53aWR0aD5YLmhlaWdodCxaPUo9PT0xODB8fFkmJiFxO3JldHVybntkaXNwbGF5Q29uZmlnOkcscm90YXRpb25EZWdyZWVzOlo/SjowLG5lZWRzQ3NzUm90YXRpb246WixpbnB1dE9yaWVudGF0aW9uOlo/WD8ub3JpZW50YXRpb246dm9pZCAwfX1mdW5jdGlvbiBCOChYKXtzd2l0Y2goWCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJuIDkwO2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm4tOTA7Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJuIDE4MDtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBKMShYLEcsSil7c3dpdGNoKFgpe2Nhc2UibGFuZHNjYXBlX2xlZnQiOnJldHVybnt4OkoseToxLUd9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57eDoxLUoseTpHfTtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm57eDoxLUcseToxLUp9O2RlZmF1bHQ6cmV0dXJue3g6Ryx5Okp9fX1mdW5jdGlvbiBYOShYLEcpe3N3aXRjaChYKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goRyl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIEd9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChHKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gR31jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goRyl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIEd9ZGVmYXVsdDpyZXR1cm4gR319dmFyIEI0PTA7ZnVuY3Rpb24gUShYLEcsSixZLHEsWil7R3x8KEc9e30pO3ZhciBfLCQsej1HO2lmKCJyZWYiaW4geilmb3IoJCBpbiB6PXt9LEcpJD09InJlZiI/Xz1HWyRdOnpbJF09R1skXTt2YXIgTD17dHlwZTpYLHByb3BzOnosa2V5OkoscmVmOl8sX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tQjQsX19pOi0xLF9fdTowLF9fc291cmNlOnEsX19zZWxmOlp9O2lmKHR5cGVvZiBYPT0iZnVuY3Rpb24iJiYoXz1YLmRlZmF1bHRQcm9wcykpZm9yKCQgaW4gXyl6WyRdPT09dm9pZCAwJiYoelskXT1fWyRdKTtyZXR1cm4gdy52bm9kZSYmdy52bm9kZShMKSxMfXZhciBGOD1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLEY0PTMsTjQ9NCxQND01O2Z1bmN0aW9uIFUxKHt1cmw6WCx3c1VybDpHLHN0eWxlOkosaW1hZ2VTdHlsZTpZLGNsYXNzTmFtZTpxLG9uSG9tZVByZXNzOlosb25TdHJlYW1Ub3VjaDpfLG9uU3RyZWFtTXVsdGlUb3VjaDokLG9uU3RyZWFtQnV0dG9uOnosc3Vic2NyaWJlRnJhbWU6TCxzdHJlYW1GcmFtZTpCLHN0cmVhbUNvbmZpZzpWLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOkgsaGlkZUNvbnRyb2xzOk8sb25TdHJlYW1pbmdDaGFuZ2U6VSxjb25uZWN0aW9uUXVhbGl0eTpQfSl7bGV0IEY9ISFfLEE9YihudWxsKSxJPWIobnVsbCkscz1iKG51bGwpLGg9YihudWxsKSxbYyxlXT1rKCExKSxbbixfMF09ayhudWxsKSxbZix5XT1rKG51bGwpLGQ9YihudWxsKSxZMT1iKEgpO1kxLmN1cnJlbnQ9SDtsZXQgYzA9YihudWxsKSxbUjAsYjFdPWsobnVsbCk7aigoKT0+e2xldCBEPWMwLmN1cnJlbnQ7aWYoIUR8fHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpcmV0dXJuO2xldCBXPW5ldyBSZXNpemVPYnNlcnZlcigoTik9PntsZXQgTT1OWzBdPy5jb250ZW50UmVjdDtpZihNKWIxKHt3aWR0aDpNLndpZHRoLGhlaWdodDpNLmhlaWdodH0pfSk7cmV0dXJuIFcub2JzZXJ2ZShEKSwoKT0+Vy5kaXNjb25uZWN0KCl9LFtdKTtsZXRbUDAsbDBdPWsoMCksVTA9YigwKSxbaDAsZzBdPWsoITEpLEwwPWIobnVsbCk7aigoKT0+e2lmKFA9PT0icG9vciIpe2lmKGcwKCEwKSxMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KTtMMC5jdXJyZW50PXNldFRpbWVvdXQoKCk9PntnMCghMSksTDAuY3VycmVudD1udWxsfSwzMDAwKX1lbHNlIGlmKGcwKCExKSxMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KSxMMC5jdXJyZW50PW51bGw7cmV0dXJuKCk9PntpZihMMC5jdXJyZW50KWNsZWFyVGltZW91dChMMC5jdXJyZW50KX19LFtQXSk7bGV0IGEwPWAke1h9L3N0cmVhbS5tanBlZ2A7aigoKT0+e2QuY3VycmVudD1udWxsLHkobnVsbCl9LFtYXSk7bGV0IEkwPVIoKEQpPT57aWYoIUR8fEQud2lkdGg8PTB8fEQuaGVpZ2h0PD0wKXJldHVybjtsZXQgVz1kLmN1cnJlbnQsTj1ELm9yaWVudGF0aW9uPT09dm9pZCAwJiZXPy5vcmllbnRhdGlvbj97Li4uRCxvcmllbnRhdGlvbjpXLm9yaWVudGF0aW9ufTpEO2lmKFcmJlcud2lkdGg9PT1OLndpZHRoJiZXLmhlaWdodD09PU4uaGVpZ2h0JiZXLm9yaWVudGF0aW9uPT09Ti5vcmllbnRhdGlvbilyZXR1cm47ZC5jdXJyZW50PU4seShOKSxZMS5jdXJyZW50Py4oTil9LFtdKSxpMD1iKFUpO2kwLmN1cnJlbnQ9VSxqKCgpPT57aTAuY3VycmVudD8uKGMpfSxbY10pLGooKCk9PntpZihGJiZWKUkwKFYpfSxbRixWLEkwXSk7bGV0IE0wPWIoITEpO00wLmN1cnJlbnQ9YztsZXQgQTA9YihudWxsKTtqKCgpPT57aWYoIUZ8fCFMKXJldHVybjtsZXQgVz1zZXRUaW1lb3V0KCgpPT57aWYoIU0wLmN1cnJlbnQpXzAoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKSxOPUwoKE0pPT57VTAuY3VycmVudCsrLEQwLmN1cnJlbnQ9RGF0ZS5ub3coKTtsZXQgRT1JLmN1cnJlbnQ7aWYoRSl7aWYoQTAuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKEEwLmN1cnJlbnQpO0EwLmN1cnJlbnQ9TSxFLnNyYz1NfWlmKCFNMC5jdXJyZW50KWNsZWFyVGltZW91dChXKSxlKCEwKSxfMChudWxsKX0pO3JldHVybigpPT57aWYoY2xlYXJUaW1lb3V0KFcpLE4/LigpLEEwLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTChBMC5jdXJyZW50KSxBMC5jdXJyZW50PW51bGx9fSxbRixMXSk7bGV0IFgwPVIoKEQpPT57bGV0IFc9RzEoZC5jdXJyZW50KS5pbnB1dE9yaWVudGF0aW9uLE49SjEoVyxELngsRC55KSxNPUQuZWRnZT09PXZvaWQgMD92b2lkIDA6WDkoVyxELmVkZ2UpLEU9TT09PXZvaWQgMD97dHlwZTpELnR5cGUsLi4uTn06e3R5cGU6RC50eXBlLC4uLk4sZWRnZTpNfTtpZihGKXtfPy4oRSk7cmV0dXJufWxldCBtPWguY3VycmVudDtpZighbXx8bS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBvPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShFKSkscj1uZXcgVWludDhBcnJheSgxK28ubGVuZ3RoKTtyWzBdPUY0LHIuc2V0KG8sMSksbS5zZW5kKHIpfSxbRixfXSksYjA9UigoRCk9PntpZihGKXt6Py4oRCk7cmV0dXJufWxldCBXPWguY3VycmVudDtpZighV3x8Vy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBOPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7YnV0dG9uOkR9KSksTT1uZXcgVWludDhBcnJheSgxK04ubGVuZ3RoKTtNWzBdPU40LE0uc2V0KE4sMSksVy5zZW5kKE0pfSxbRix6XSksejA9UigoRCk9PntsZXQgVz1HMShkLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sTj1KMShXLEQueDEsRC55MSksTT1KMShXLEQueDIsRC55MiksRT17dHlwZTpELnR5cGUseDE6Ti54LHkxOk4ueSx4MjpNLngseTI6TS55fTtpZihGKXskPy4oRSk7cmV0dXJufWxldCBtPWguY3VycmVudDtpZighbXx8bS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBvPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShFKSkscj1uZXcgVWludDhBcnJheSgxK28ubGVuZ3RoKTtyWzBdPVA0LHIuc2V0KG8sMSksbS5zZW5kKHIpfSxbRiwkXSk7aigoKT0+e2lmKEYpcmV0dXJuO2xldCBEPW5ldyBBYm9ydENvbnRyb2xsZXIsVz0oKT0+e2ZldGNoKGAke1h9L2NvbmZpZ2Ase3NpZ25hbDpELnNpZ25hbH0pLnRoZW4oKFExKT0+UTEuanNvbigpKS50aGVuKChRMSk9PntJMChRMSl9KS5jYXRjaCgoKT0+e30pfTtXKCk7bGV0IE49c2V0SW50ZXJ2YWwoVywxMDAwKSxNPUc/P1gucmVwbGFjZSgvXmh0dHAvLCJ3cyIpKyIvd3MiLEU9bmV3IFdlYlNvY2tldChNKTtFLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIixoLmN1cnJlbnQ9RSxFLm9ub3Blbj0oKT0+e2UoITApLF8wKG51bGwpfSxFLm9uY2xvc2U9KCk9PntlKCExKX0sRS5vbmVycm9yPSgpPT57XzAoIldlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCIpLGUoITEpfTtsZXQgbT1uZXcgQWJvcnRDb250cm9sbGVyLG89c2V0SW50ZXJ2YWwoKCk9PntsMChVMC5jdXJyZW50KSxVMC5jdXJyZW50PTB9LDEwMDApLHI9ITEsVzk9c2V0VGltZW91dCgoKT0+e2lmKCFyKV8wKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk7cmV0dXJuKGFzeW5jKCk9Pnt0cnl7bGV0IEs5PShhd2FpdCBmZXRjaChhMCx7c2lnbmFsOm0uc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFLOSlyZXR1cm47bGV0IFMxPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSgiLS1mcmFtZSIpO3doaWxlKCEwKXtsZXR7ZG9uZTpnOCx2YWx1ZTp2MX09YXdhaXQgSzkucmVhZCgpO2lmKGc4KWJyZWFrO2lmKHYxKWZvcihsZXQgeTE9MDt5MTw9djEubGVuZ3RoLVMxLmxlbmd0aDt5MSsrKXtsZXQgSDk9ITA7Zm9yKGxldCBfMT0wO18xPFMxLmxlbmd0aDtfMSsrKWlmKHYxW3kxK18xXSE9PVMxW18xXSl7SDk9ITE7YnJlYWt9aWYoSDkpe2lmKFUwLmN1cnJlbnQrKywhcilyPSEwLGNsZWFyVGltZW91dChXOSl9fX19Y2F0Y2h7fX0pKCksKCk9PnttLmFib3J0KCksRC5hYm9ydCgpLGNsZWFySW50ZXJ2YWwoTiksY2xlYXJJbnRlcnZhbChvKSxjbGVhclRpbWVvdXQoVzkpLEUuY2xvc2UoKSxoLmN1cnJlbnQ9bnVsbH19LFtYLGEwLEYsSTAsR10pO2xldCBEMD1iKDApO2ooKCk9PntpZighRilyZXR1cm47bGV0IEQ9MjAwMCxXPSgpPT57bGV0IEU9RDAuY3VycmVudDtpZighRXx8IU0wLmN1cnJlbnQpcmV0dXJuO2lmKERhdGUubm93KCktRT5EKWUoITEpfSxOPXNldEludGVydmFsKCgpPT57bDAoVTAuY3VycmVudCksVTAuY3VycmVudD0wLFcoKX0sMTAwMCksTT0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4pVygpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsTSksKCk9PntjbGVhckludGVydmFsKE4pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLE0pfX0sW0ZdKTtsZXQgbzA9UigoKT0+e3JldHVybiBGP0kuY3VycmVudDpBLmN1cnJlbnR9LFtGXSksJDA9UigoKT0+e3JldHVybiBzLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz9vMCgpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbH0sW28wXSksajA9UigoRCxXKT0+e2xldCBOPSQwKCk7aWYoIU4pcmV0dXJuO2xldCBNPShXLmNsaWVudFgtTi5sZWZ0KS9OLndpZHRoLEU9KFcuY2xpZW50WS1OLnRvcCkvTi5oZWlnaHQ7WDAoe3R5cGU6RCx4Ok0seTpFfSl9LFskMCxYMF0pLEcwPWIoITEpLEs9YighMSksVD1iKCExKSxTPWIoe2R4OjAsZHk6MH0pLHY9YighMSksW3UsaV09ayghMSksVzA9Yih7eDowLjUseTowLjV9KSxbcCxnXT1rKG51bGwpO2ooKCk9PntsZXQgRD0oTik9PntpZihOLmtleT09PSJBbHQiKWkoITApfSxXPShOKT0+e2lmKE4ua2V5PT09IkFsdCIpe2lmKGkoITEpLCFLLmN1cnJlbnQpZyhudWxsKX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsRCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixXKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixEKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLFcpfX0sW10pLGooKCk9PntpZih1JiYhSy5jdXJyZW50KXtsZXQgRD1XMC5jdXJyZW50O2coe3gxOkQueCx5MTpELnkseDI6MS1ELngseTI6MS1ELnl9KX1lbHNlIGlmKCF1JiYhSy5jdXJyZW50KWcobnVsbCl9LFt1XSk7bGV0IFkwPWIobnVsbCksUzA9YighMSksSzA9YigwKSxtMD1SKChELFcpPT57UzAuY3VycmVudD0hMDtsZXQgTj1ZMC5jdXJyZW50O2lmKE4pY2FuY2VsQW5pbWF0aW9uRnJhbWUoSzAuY3VycmVudCksSzAuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLnN0eWxlLmxlZnQ9YCR7RCoxMDB9JWAsTi5zdHlsZS50b3A9YCR7VyoxMDB9JWAsTi5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sW10pLHYwPVIoKEQsVyk9PntpZighUzAuY3VycmVudClyZXR1cm47bGV0IE49WTAuY3VycmVudDtpZihOKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEswLmN1cnJlbnQpLEswLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ti5zdHlsZS5sZWZ0PWAke0QqMTAwfSVgLE4uc3R5bGUudG9wPWAke1cqMTAwfSVgfSl9LFtdKSx3MD1SKCgpPT57UzAuY3VycmVudD0hMTtsZXQgRD1ZMC5jdXJyZW50O2lmKEQpY2FuY2VsQW5pbWF0aW9uRnJhbWUoSzAuY3VycmVudCksRC5zdHlsZS5kaXNwbGF5PSJub25lIn0sW10pLFoxPWIoMCkscjA9YihudWxsKSxoOD1SKCgpPT57bGV0IEQ9RGF0ZS5ub3coKSxXPUQtWjEuY3VycmVudDtpZihaMS5jdXJyZW50PUQsVzwzMDApe2lmKHIwLmN1cnJlbnQpY2xlYXJUaW1lb3V0KHIwLmN1cnJlbnQpLHIwLmN1cnJlbnQ9bnVsbDtpZihaKVooKTtlbHNlIGIwKCJhcHBfc3dpdGNoZXIiKX1lbHNlIHIwLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFopWigpO2Vsc2UgYjAoImhvbWUiKTtyMC5jdXJyZW50PW51bGx9LDMwMCl9LFtiMCxaXSksajE9RzEoZiksczA9ajEuZGlzcGxheUNvbmZpZyxUMD0oKCk9PntpZighczB8fCFSMClyZXR1cm4gbnVsbDtpZihSMC53aWR0aD09PTB8fFIwLmhlaWdodD09PTApcmV0dXJuIG51bGw7bGV0IEQ9TWF0aC5taW4oUjAud2lkdGgvczAud2lkdGgsUjAuaGVpZ2h0L3MwLmhlaWdodCk7cmV0dXJue3dpZHRoOnMwLndpZHRoKkQsaGVpZ2h0OnMwLmhlaWdodCpEfX0pKCkscTE9ajEucm90YXRpb25EZWdyZWVzLFY5PWoxLm5lZWRzQ3NzUm90YXRpb24mJk1hdGguYWJzKHExKT09PTkwLEw5PVksejk9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiI1MCUiLGxlZnQ6IjUwJSIsd2lkdGg6VjkmJlQwP2Ake1QwLmhlaWdodH1weGA6IjEwMCUiLGhlaWdodDpWOSYmVDA/YCR7VDAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7cTE9PT0wPyIiOmAgcm90YXRlKCR7cTF9ZGVnKWB9YCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLGN1cnNvcjpGOCxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlksLi4ucTE9PT0wP3t9Ontib3JkZXJSYWRpdXM6MCxjb3JuZXJTaGFwZTp2b2lkIDB9fTtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZmxleDoxLC4uLk8/e306e2JvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxvdmVyZmxvdzoiaGlkZGVuIixtaW5XaWR0aDowLG1pbkhlaWdodDowLC4uLkp9LGNsYXNzTmFtZTpxLGNoaWxkcmVuOltRKCJkaXYiLHtyZWY6YzAsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG1pbldpZHRoOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46USgiZGl2Iix7cmVmOnMsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6VDA/YCR7VDAud2lkdGh9cHhgOiIxMDAlIixoZWlnaHQ6VDA/YCR7VDAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOkw5Py5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6TDk/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbUSgiaW1nIix7cmVmOkEsc3JjOkY/dm9pZCAwOmEwLGRyYWdnYWJsZTohMSxvbkxvYWQ6KEQpPT57bGV0IFc9RC5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKUkwKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOkY/e2Rpc3BsYXk6Im5vbmUifTp6OX0pLEYmJlEoImltZyIse3JlZjpJLGRyYWdnYWJsZTohMSxvbkxvYWQ6KEQpPT57bGV0IFc9RC5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKUkwKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOno5fSksUSgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxjdXJzb3I6RjgsdG91Y2hBY3Rpb246Im5vbmUifSxvbk1vdXNlRG93bjooRCk9PntELnByZXZlbnREZWZhdWx0KCk7bGV0IFc9JDAoKTtpZighVylyZXR1cm47bGV0IE49KEQuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsTT0oRC5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihELmFsdEtleSl7Sy5jdXJyZW50PSEwLFQuY3VycmVudD1ELnNoaWZ0S2V5O2xldCBFPXt4MTpOLHkxOk0seDI6MS1OLHkyOjEtTX07Uy5jdXJyZW50PXtkeDoxLU4tTixkeToxLU0tTX0sZyhFKSx6MCh7dHlwZToiYmVnaW4iLC4uLkV9KTtyZXR1cm59aWYobTAoTixNKSxNPjAuODgpRzAuY3VycmVudD0hMCxYMCh7dHlwZToiYmVnaW4iLHg6Tix5Ok0sZWRnZTpDMH0pO2Vsc2UgRzAuY3VycmVudD0hMSxqMCgiYmVnaW4iLEQpfSxvbk1vdXNlTW92ZTooRCk9PntsZXQgVz0kMCgpO2lmKCFXKXJldHVybjtsZXQgTj0oRC5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxNPShELmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKFcwLmN1cnJlbnQ9e3g6Tix5Ok19LEQuYnV0dG9ucz09PTApe2lmKEQuYWx0S2V5KWcoe3gxOk4seTE6TSx4MjoxLU4seTI6MS1NfSk7cmV0dXJufWlmKEsuY3VycmVudCl7bGV0IEU7aWYoVC5jdXJyZW50KXtsZXQgbT1TLmN1cnJlbnQ7RT17eDE6Tix5MTpNLHgyOk4rbS5keCx5MjpNK20uZHl9fWVsc2UgRT17eDE6Tix5MTpNLHgyOjEtTix5MjoxLU19O2coRSksejAoe3R5cGU6Im1vdmUiLC4uLkV9KTtyZXR1cm59aWYodjAoTixNKSxHMC5jdXJyZW50KVgwKHt0eXBlOiJtb3ZlIix4Ok4seTpNLGVkZ2U6QzB9KTtlbHNlIGowKCJtb3ZlIixEKX0sb25Nb3VzZVVwOihEKT0+e2lmKEsuY3VycmVudCl7bGV0IFc9JDAoKTtpZihXKXtsZXQgTj0oRC5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxNPShELmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKFQuY3VycmVudCl7bGV0IEU9Uy5jdXJyZW50O3owKHt0eXBlOiJlbmQiLHgxOk4seTE6TSx4MjpOK0UuZHgseTI6TStFLmR5fSl9ZWxzZSB6MCh7dHlwZToiZW5kIix4MTpOLHkxOk0seDI6MS1OLHkyOjEtTX0pfWlmKEsuY3VycmVudD0hMSwhRC5hbHRLZXkpZyhudWxsKTtyZXR1cm59aWYodzAoKSxHMC5jdXJyZW50KXtsZXQgVz0kMCgpO2lmKFcpe2xldCBOPShELmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLE09KEQuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQ7WDAoe3R5cGU6ImVuZCIseDpOLHk6TSxlZGdlOkMwfSl9RzAuY3VycmVudD0hMTtyZXR1cm59ajAoImVuZCIsRCl9LG9uTW91c2VMZWF2ZTooRCk9PntpZihLLmN1cnJlbnQpe2lmKHApejAoe3R5cGU6ImVuZCIsLi4ucH0pO0suY3VycmVudD0hMSxnKG51bGwpO3JldHVybn1pZih3MCgpLEcwLmN1cnJlbnQpe2xldCBXPSQwKCk7aWYoVyl7bGV0IE49KEQuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsTT0oRC5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtYMCh7dHlwZToiZW5kIix4Ok4seTpNLGVkZ2U6QzB9KX1HMC5jdXJyZW50PSExO3JldHVybn1pZihELmJ1dHRvbnM+MClqMCgiZW5kIixEKTtnKG51bGwpfSxvblRvdWNoU3RhcnQ6KEQpPT57RC5wcmV2ZW50RGVmYXVsdCgpO2xldCBXPSQwKCk7aWYoIVcpcmV0dXJuO2lmKEQudG91Y2hlcy5sZW5ndGg+PTIpe3cwKCk7bGV0IG09RC50b3VjaGVzWzBdLG89RC50b3VjaGVzWzFdLHI9e3gxOihtLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkxOihtLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0LHgyOihvLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkyOihvLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0fTtpZighdi5jdXJyZW50JiYhRzAuY3VycmVudClYMCh7dHlwZToiZW5kIix4OnIueDEseTpyLnkxfSk7di5jdXJyZW50PSEwLEsuY3VycmVudD0hMCxHMC5jdXJyZW50PSExLGcociksejAoe3R5cGU6ImJlZ2luIiwuLi5yfSk7cmV0dXJufWxldCBOPUQudG91Y2hlc1swXTtpZighTilyZXR1cm47bGV0IE09KE4uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsRT0oTi5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihtMChNLEUpLEU+MC44OClHMC5jdXJyZW50PSEwLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6RSxlZGdlOkMwfSk7ZWxzZSBHMC5jdXJyZW50PSExLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6RX0pfSxvblRvdWNoTW92ZTooRCk9PntELnByZXZlbnREZWZhdWx0KCk7bGV0IFc9JDAoKTtpZighVylyZXR1cm47aWYodi5jdXJyZW50JiZELnRvdWNoZXMubGVuZ3RoPj0yKXtsZXQgbT1ELnRvdWNoZXNbMF0sbz1ELnRvdWNoZXNbMV0scj17eDE6KG0uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTE6KG0uY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQseDI6KG8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTI6KG8uY2xpZW50WS1XLnRvcCkvVy5oZWlnaHR9O2cociksejAoe3R5cGU6Im1vdmUiLC4uLnJ9KTtyZXR1cm59bGV0IE49RC50b3VjaGVzWzBdO2lmKCFOKXJldHVybjtsZXQgTT0oTi5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxFPShOLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKHYwKE0sRSksRzAuY3VycmVudClYMCh7dHlwZToibW92ZSIseDpNLHk6RSxlZGdlOkMwfSk7ZWxzZSBYMCh7dHlwZToibW92ZSIseDpNLHk6RX0pfSxvblRvdWNoRW5kOihEKT0+e0QucHJldmVudERlZmF1bHQoKTtsZXQgVz0kMCgpO2lmKCFXKXJldHVybjtpZih2LmN1cnJlbnQpe2lmKEQudG91Y2hlcy5sZW5ndGg8Mil7bGV0IG09RC5jaGFuZ2VkVG91Y2hlc1swXSxvPXA7aWYobSYmbyl6MCh7dHlwZToiZW5kIix4MToobS5jbGllbnRYLVcubGVmdCkvVy53aWR0aCx5MToobS5jbGllbnRZLVcudG9wKS9XLmhlaWdodCx4MjpvLngyLHkyOm8ueTJ9KTtlbHNlIGlmKG8pejAoe3R5cGU6ImVuZCIsLi4ub30pO3YuY3VycmVudD0hMSxLLmN1cnJlbnQ9ITEsZyhudWxsKX1yZXR1cm59bGV0IE49RC5jaGFuZ2VkVG91Y2hlc1swXTtpZighTilyZXR1cm47bGV0IE09KE4uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsRT0oTi5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZih3MCgpLEcwLmN1cnJlbnQpWDAoe3R5cGU6ImVuZCIseDpNLHk6RSxlZGdlOkMwfSksRzAuY3VycmVudD0hMTtlbHNlIFgwKHt0eXBlOiJlbmQiLHg6TSx5OkV9KX19KSxRKCJkaXYiLHtyZWY6WTAsImRhdGEtdGVzdGlkIjoidG91Y2gtaW5kaWNhdG9yIixzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJub25lIix3aWR0aDoyNCxoZWlnaHQ6MjQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoNTksMTMwLDI0NiwwLjUpIixib3hTaGFkb3c6IjAgMCA4cHggcmdiYSg1OSwxMzAsMjQ2LDAuMykiLHRyYW5zZm9ybToidHJhbnNsYXRlKC01MCUsIC01MCUpIixwb2ludGVyRXZlbnRzOiJub25lIn19KSxwJiZRKGwse2NoaWxkcmVuOltRKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpVOChwLngxLHAueTEpfSksUSgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZmluZ2VyLWRvdCIsc3R5bGU6VTgocC54MixwLnkyKX0pXX0pLCFjJiYhbiYmUSgiZGl2Iix7c3R5bGU6ey4uLk44LC4uLll8fHt9fSxjaGlsZHJlbjpRKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNH0sY2hpbGRyZW46IkNvbm5lY3RpbmcuLi4ifSl9KSxuJiZRKCJkaXYiLHtzdHlsZTpOOCxjaGlsZHJlbjpRKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46bn0pfSksaDAmJlEoImRpdiIse3N0eWxlOlU0LGNoaWxkcmVuOlEoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmYmJmMjQiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJTbG93IGNvbm5lY3Rpb24ifSl9KV19KX0pLCFPJiZRKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNHB4IDhweCIsYm9yZGVyVG9wOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGNoaWxkcmVuOltRKCJidXR0b24iLHtvbkNsaWNrOmg4LHN0eWxlOntiYWNrZ3JvdW5kOiJub25lIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMikiLGNvbG9yOiIjYWFhIixmb250U2l6ZToxMSxmb250RmFtaWx5OiJtb25vc3BhY2UiLHBhZGRpbmc6IjJweCAxMHB4IixjdXJzb3I6InBvaW50ZXIiLGJvcmRlclJhZGl1czo0fSxjaGlsZHJlbjoiSG9tZSJ9KSxRKCJzcGFuIix7c3R5bGU6e2NvbG9yOlAwPjA/IiM0ZjQiOiIjODg4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJtb25vc3BhY2UiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltQJiZRKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicXVhbGl0eS1kb3QiLHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGJhY2tncm91bmQ6UD09PSJnb29kIj8iIzRhZGU4MCI6UD09PSJkZWdyYWRlZCI/IiNmYWNjMTUiOiIjZWY0NDQ0In19KSxQMCwiIGZwcyJdfSldfSldfSl9dmFyIFU0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo4LGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNykiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6IjRweCAxMnB4Iixwb2ludGVyRXZlbnRzOiJub25lIn0sTjg9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC44KSJ9LFA4PTIwO2Z1bmN0aW9uIFU4KFgsRyl7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpgJHtYKjEwMH0lYCx0b3A6YCR7RyoxMDB9JWAsd2lkdGg6UDgsaGVpZ2h0OlA4LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpIixib3JkZXI6IjEuMjVweCBzb2xpZCByZ2JhKDAsMCwwLDAuNTUpIixib3hTaGFkb3c6IjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNDUpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fWZ1bmN0aW9uIGQwKFgpe2lmKCFYKXJldHVybiJpcGhvbmUiO2xldCBHPVgudG9Mb3dlckNhc2UoKTtpZihHLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuImlwYWQiO2lmKEcuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIndhdGNoIjtpZihHLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4idmlzaW9uIjtyZXR1cm4iaXBob25lIn12YXIgVjA9e2lwaG9uZTp7d2lkdGg6NDI3LGhlaWdodDo4ODEsYmV6ZWxYOjE4LGJlemVsWToxOCxpbm5lclJhZGl1czo1NX0saXBhZDp7d2lkdGg6NDMwLGhlaWdodDo2MDUsYmV6ZWxYOjE2LGJlemVsWToxNixpbm5lclJhZGl1czoxMn0sd2F0Y2g6e3dpZHRoOjI3NCxoZWlnaHQ6MzIyLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6Nzl9LHZpc2lvbjp7d2lkdGg6NjQwLGhlaWdodDo0MDAsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czozMn19LHM2PVYwLmlwaG9uZS53aWR0aCx0Nj1WMC5pcGhvbmUuaGVpZ2h0LG42PVYwLmlwaG9uZS5iZXplbFgsZTY9VjAuaXBob25lLmJlemVsWSxYWD1WMC5pcGhvbmUuaW5uZXJSYWRpdXMsSTg9eyJpUGhvbmUgMTcgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTcgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgQWlyIjp7d2lkdGg6MTI2MCxoZWlnaHQ6MjczNn0sImlQaG9uZSAxNiBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNiBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE2IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE2Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNmUiOnt3aWR0aDoxMTcwLGhlaWdodDoyNTMyfSwiaVBob25lIDE1IFBybyBNYXgiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1IFBybyI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTUgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBhZCBQcm8gMTMtaW5jaCAoTTUpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE01KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIFBybyAxMy1pbmNoIChNNCkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTQpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgQWlyIDEzLWluY2ggKE0zKSI6e3dpZHRoOjIwNDgsaGVpZ2h0OjI3MzJ9LCJpUGFkIEFpciAxMS1pbmNoIChNMykiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCAoQTE2KSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIG1pbmkgKEExNyBQcm8pIjp7d2lkdGg6MTQ4OCxoZWlnaHQ6MjI2Nn0sIkFwcGxlIFdhdGNoIFVsdHJhIDMgKDQ5bW0pIjp7d2lkdGg6NDIyLGhlaWdodDo1MTR9LCJBcHBsZSBXYXRjaCBVbHRyYSAyICg0OW1tKSI6e3dpZHRoOjQxMCxoZWlnaHQ6NTAyfSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFIDMgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBXYXRjaCBTRSAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgVmlzaW9uIFBybyI6e3dpZHRoOjE5MjAsaGVpZ2h0OjEwODB9fTtmdW5jdGlvbiBJMShYLEcpe2xldCBKPVgmJlgud2lkdGg+MCYmWC5oZWlnaHQ+MD9YOkcsWT1QMShKKTtpZihZKXJldHVybmAke1kud2lkdGh9IC8gJHtZLmhlaWdodH1gO3JldHVybmAke1YwLmlwaG9uZS53aWR0aC0yKlYwLmlwaG9uZS5iZXplbFh9IC8gJHtWMC5pcGhvbmUuaGVpZ2h0LTIqVjAuaXBob25lLmJlemVsWX1gfWZ1bmN0aW9uIE0xKFg9ImlwaG9uZSIsRyl7bGV0IEo9Rz9JOFtHXTpudWxsO2lmKEopcmV0dXJuIEo7bGV0IFk9VjBbWF07cmV0dXJue3dpZHRoOlkud2lkdGgtMipZLmJlemVsWCxoZWlnaHQ6WS5oZWlnaHQtMipZLmJlemVsWX19ZnVuY3Rpb24gQTEoWD0iaXBob25lIixHKXtpZihYMShHKSlzd2l0Y2goWCl7Y2FzZSJpcGFkIjpyZXR1cm4gNzIwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7ZGVmYXVsdDpyZXR1cm4gNjIwfXN3aXRjaChYKXtjYXNlImlwYWQiOnJldHVybiA0MDA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtkZWZhdWx0OnJldHVybiAzMjB9fWZ1bmN0aW9uIHcxKFg9ImlwaG9uZSIsRyl7bGV0IEo9VjBbWF0sWT1KLndpZHRoLTIqSi5iZXplbFgscT1KLmhlaWdodC0yKkouYmV6ZWxZO2lmKFk8cSYmWDEoRykpcmV0dXJuYCR7Si5pbm5lclJhZGl1cy9xKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1kqMTAwfSVgO3JldHVybmAke0ouaW5uZXJSYWRpdXMvWSoxMDB9JSAvICR7Si5pbm5lclJhZGl1cy9xKjEwMH0lYH12YXIgRzk9RjAobnVsbCk7ZnVuY3Rpb24gVDEoWCl7bGV0IEc9RTAoRzkpO2lmKCFHKXRocm93IEVycm9yKGA8U2ltdWxhdG9yVG9vbGJhci4ke1h9PiBtdXN0IGJlIHJlbmRlcmVkIGluc2lkZSA8U2ltdWxhdG9yVG9vbGJhcj5gKTtyZXR1cm4gR312YXIgdzQ9e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6IjRweCAxMnB4IixwYWRkaW5nOiI4cHggMTJweCIsYm9yZGVyUmFkaXVzOjI0LGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKSIsYm94U2hhZG93OiIwIDFweCAycHggcmdiYSgwLDAsMCwwLjIpIixtaW5XaWR0aDoyNDAsd2lkdGg6IjEwMCUifTtmdW5jdGlvbiBUNCh7ZXhlYzpYLG9uUm90YXRlOkcsb3JpZW50YXRpb246SixkZXZpY2VVZGlkOlksZGV2aWNlTmFtZTpxLGRldmljZVJ1bnRpbWU6WixzdHJlYW1pbmc6Xz0hMSxkaXNhYmxlZDokPSExLGNoaWxkcmVuOnosc3R5bGU6TCwuLi5CfSl7bGV0IFY9ZDAocSksTz17ZXhlYzpYLG9uUm90YXRlOkcsb3JpZW50YXRpb246SixkZXZpY2VVZGlkOlksZGV2aWNlTmFtZTpxLGRldmljZVJ1bnRpbWU6WixkZXZpY2VUeXBlOlYsc3RyZWFtaW5nOl8sZGlzYWJsZWQ6JHx8IVl8fCFffTtyZXR1cm4gUShHOS5Qcm92aWRlcix7dmFsdWU6TyxjaGlsZHJlbjpRKCJkaXYiLHsiZGF0YS1zaW11bGF0b3ItdG9vbGJhciI6ITAsc3R5bGU6ey4uLnc0LC4uLkx9LC4uLkIsY2hpbGRyZW46en0pfSl9dmFyIGs0PXtkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQiLHRleHRBbGlnbjoibGVmdCIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNmZmYiLHBhZGRpbmc6IjJweCA0cHgiLG1hcmdpbjoiLTJweCAtNHB4Iixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIiLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGxpbmVIZWlnaHQ6MS4yLGZvbnRGYW1pbHk6ImluaGVyaXQifSxFND1mMChmdW5jdGlvbih7bmFtZTpHLHN1YnRpdGxlOkosaGlkZUNoZXZyb246WSxzdHlsZTpxLG9uTW91c2VFbnRlcjpaLG9uTW91c2VMZWF2ZTpfLC4uLiR9LHope2xldCBMPVQxKCJUaXRsZSIpLFtCLFZdPWsoITEpLEg9Rz8/TC5kZXZpY2VOYW1lPz8iTm8gc2ltdWxhdG9yIixPPUo/PyhMLmRldmljZVJ1bnRpbWU/TC5kZXZpY2VSdW50aW1lLnJlcGxhY2UoL1wuLywiICIpOiLigJQiKTtyZXR1cm4gUSgiYnV0dG9uIix7cmVmOnosdHlwZToiYnV0dG9uIiwiZGF0YS1zaW11bGF0b3ItdG9vbGJhci10aXRsZSI6ITAsb25Nb3VzZUVudGVyOihVKT0+e1YoITApLFo/LihVKX0sb25Nb3VzZUxlYXZlOihVKT0+e1YoITEpLF8/LihVKX0sc3R5bGU6ey4uLms0LGJhY2tncm91bmQ6Qj8icmdiYSgyNTUsMjU1LDI1NSwwLjEpIjoidHJhbnNwYXJlbnQiLC4uLnF9LC4uLiQsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7ZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjQsZm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsY29sb3I6IiNmZmYiLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpbSCwhWSYmUSgic3ZnIix7d2lkdGg6IjEwIixoZWlnaHQ6IjEwIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHlsZTp7Y29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC42KSIsZmxleFNocmluazowfSxjaGlsZHJlbjpRKCJwb2x5bGluZSIse3BvaW50czoiNiA5IDEyIDE1IDE4IDkifSl9KV19KSxRKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpPfSldfSl9KSxDND17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmbGV4U2hyaW5rOjB9O2Z1bmN0aW9uIFI0KHtzdHlsZTpYLC4uLkd9KXtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6ey4uLkM0LC4uLlh9LC4uLkd9KX12YXIgYjQ9e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLHBhZGRpbmc6Nixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIiLGRpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLHRyYW5zaXRpb246ImJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzIn0sazE9ZjAoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6RyxzdHlsZTpKLGRpc2FibGVkOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOlosY2hpbGRyZW46XywuLi4kfSx6KXtsZXQgTD1FMChHOSksQj1ZfHxHfHxMPy5kaXNhYmxlZCxbVixIXT1rKCExKTtyZXR1cm4gUSgiYnV0dG9uIix7cmVmOnosdHlwZToiYnV0dG9uIixkaXNhYmxlZDpCLG9uTW91c2VFbnRlcjooTyk9PntIKCEwKSxxPy4oTyl9LG9uTW91c2VMZWF2ZTooTyk9PntIKCExKSxaPy4oTyl9LHN0eWxlOnsuLi5iNCxjb2xvcjpCPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpIjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIixiYWNrZ3JvdW5kOlYmJiFCPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsY3Vyc29yOkI/Im5vdC1hbGxvd2VkIjoicG9pbnRlciIsLi4uSn0sLi4uJCxjaGlsZHJlbjpffSl9KTtmdW5jdGlvbiBqNCgpe3JldHVyblsndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHNldCBmcm9udG1vc3QgdG8gdHJ1ZScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBwZXJmb3JtIGFjdGlvbiAiQVhSYWlzZSIgb2YgKGZpcnN0IHdpbmRvdyB3aG9zZSBuYW1lIGNvbnRhaW5zICJ3YXRjaE9TIiknLCd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gY2xpY2sgbWVudSBpdGVtICJIb21lIiBvZiBtZW51ICJEZXZpY2UiIG9mIG1lbnUgYmFyIGl0ZW0gIkRldmljZSIgb2YgbWVudSBiYXIgMSddLm1hcCgoRyk9PmAtZSAnJHtHfSdgKS5yZWR1Y2UoKEcsSik9PmAke0d9ICR7Sn1gLCJvc2FzY3JpcHQiKX12YXIgUzQ9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0sdjQ9USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46USgicGF0aCIse2Q6Ik0zIDEwLjUgMTIgM2w5IDcuNVYyMGExIDEgMCAwIDEtMSAxaC01di03aC02djdINGExIDEgMCAwIDEtMS0xeiJ9KX0pLHk0PVEoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJwYXRoIix7ZDoiTTE0LjUgNGgtNUw3IDdINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtM3oifSksUSgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjQifSldfSksaDQ9USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMTIgMTMiLGZpbGw6ImN1cnJlbnRDb2xvciIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpRKCJwYXRoIix7ZDoiTTEwLjIzMDUgMTIuODA3N0g0LjQyMzgzQzMuOTIzODMgMTIuODA3NyAzLjU0Njg4IDEyLjY4NDYgMy4yOTI5NyAxMi40Mzg1QzMuMDQyOTcgMTIuMTk2MyAyLjkxNzk3IDExLjgxOTQgMi45MTc5NyAxMS4zMDc3VjUuNTEyNzRDMi45MTc5NyA0Ljk5NzExIDMuMDQyOTcgNC42MTgyMSAzLjI5Mjk3IDQuMzc2MDJDMy41NDY4OCA0LjEyOTkzIDMuOTIzODMgNC4wMDY4OCA0LjQyMzgzIDQuMDA2ODhIMTAuMjMwNUMxMC43MzQ0IDQuMDA2ODggMTEuMTExMyA0LjEyOTkzIDExLjM2MTMgNC4zNzYwMkMxMS42MTEzIDQuNjE4MjEgMTEuNzM2MyA0Ljk5NzExIDExLjczNjMgNS41MTI3NFYxMS4zMDc3QzExLjczNjMgMTEuODE5NCAxMS42MTEzIDEyLjE5NjMgMTEuMzYxMyAxMi40Mzg1QzExLjExMTMgMTIuNjg0NiAxMC43MzQ0IDEyLjgwNzcgMTAuMjMwNSAxMi44MDc3Wk0xMC4yMTI5IDExLjg2NDNDMTAuNDE2IDExLjg2NDMgMTAuNTYyNSAxMS44MTk0IDEwLjY1MjMgMTEuNzI5NUMxMC43NDYxIDExLjY0MzYgMTAuNzkzIDExLjQ5NzEgMTAuNzkzIDExLjI5MDFWNS41MjQ0NkMxMC43OTMgNS4zMTc0MyAxMC43NDYxIDUuMTcwOTQgMTAuNjUyMyA1LjA4NTAxQzEwLjU2MjUgNC45OTUxNiAxMC40MTYgNC45NTAyNCAxMC4yMTI5IDQuOTUwMjRINC40NDE0MUM0LjI0MjE5IDQuOTUwMjQgNC4wOTU3IDQuOTk1MTYgNC4wMDE5NSA1LjA4NTAxQzMuOTA4MiA1LjE3MDk0IDMuODYxMzMgNS4zMTc0MyAzLjg2MTMzIDUuNTI0NDZWMTEuMjkwMUMzLjg2MTMzIDExLjQ5NzEgMy45MDgyIDExLjY0MzYgNC4wMDE5NSAxMS43Mjk1QzQuMDk1NyAxMS44MTk0IDQuMjQyMTkgMTEuODY0MyA0LjQ0MTQxIDExLjg2NDNIMTAuMjEyOVpNMi45MTc5NyAyLjU4MzA1VjAuNDE1MDgzQzIuOTE3OTcgMC4yMDAyNCAyLjk4NjMzIDAuMDY5MzgwMyAzLjEyMzA1IDAuMDIyNTA1M0MzLjI1OTc3IC0wLjAyODI3NTkgMy40MTAxNiAwLjAwNjg4MDMzIDMuNTc0MjIgMC4xMjc5NzRMNS4wNTA3OCAxLjIxMTk2QzUuMTc1NzggMS4zMDU3MSA1LjIzODI4IDEuNDAxNDEgNS4yMzgyOCAxLjQ5OTA3QzUuMjM4MjggMS41OTY3MiA1LjE3NTc4IDEuNjkyNDMgNS4wNTA3OCAxLjc4NjE4TDMuNTc0MjIgMi44NjQzQzMuNDEwMTYgMi45ODU0IDMuMjU5NzcgMy4wMjI1MSAzLjEyMzA1IDIuOTc1NjNDMi45ODYzMyAyLjkyNDg1IDIuOTE3OTcgMi43OTM5OSAyLjkxNzk3IDIuNTgzMDVaTTMuNTMzMiAxLjE1MzM2QzMuNjI2OTUgMS4xNTMzNiAzLjcwNzAzIDEuMTg2NTcgMy43NzM0NCAxLjI1Mjk3QzMuODQzNzUgMS4zMTkzOCAzLjg3ODkxIDEuMzk3NTEgMy44Nzg5MSAxLjQ4NzM1QzMuODc4OTEgMS41ODExIDMuODQzNzUgMS42NjMxMyAzLjc3MzQ0IDEuNzMzNDRDMy43MDcwMyAxLjc5OTg1IDMuNjI2OTUgMS44MzMwNSAzLjUzMzIgMS44MzMwNUgyLjgwNjY0QzIuMzgwODYgMS44MzMwNSAyLjAxMTcyIDEuOTI0ODUgMS42OTkyMiAyLjEwODQ0QzEuMzkwNjIgMi4yODgxMyAxLjE1MjM0IDIuNTM4MTMgMC45ODQzNzUgMi44NTg0NEMwLjgxNjQwNiAzLjE3ODc2IDAuNzMyNDIyIDMuNTQ1OTQgMC43MzI0MjIgMy45NjAwMVY0LjgzODkxQzAuNzMyNDIyIDQuOTM2NTcgMC42OTcyNjYgNS4wMjI1MSAwLjYyNjk1MyA1LjA5NjcyQzAuNTUyNzM0IDUuMTY3MDQgMC40NjQ4NDQgNS4yMDIxOSAwLjM2MzI4MSA1LjIwMjE5QzAuMjY1NjI1IDUuMjAyMTkgMC4xODE2NDEgNS4xNjcwNCAwLjExMTMyOCA1LjA5NjcyQzAuMDM3MTA5NCA1LjAyMjUxIDAgNC45MzY1NyAwIDQuODM4OTFWMy45NjAwMUMwIDMuNDAxNDEgMC4xMTcxODggMi45MTExOCAwLjM1MTU2MiAyLjQ4OTNDMC41ODIwMzEgMi4wNjc0MyAwLjkwODIwMyAxLjczOTMgMS4zMzAwOCAxLjUwNDkzQzEuNzQ4MDUgMS4yNzA1NSAyLjIzODI4IDEuMTUzMzYgMi44MDA3OCAxLjE1MzM2SDMuNTMzMloifSl9KSxnND1mMChmdW5jdGlvbih7b25DbGljazpHLC4uLkp9LFkpe2xldCBxPVQxKCJIb21lQnV0dG9uIik7cmV0dXJuIFEoazEse3JlZjpZLCJhcmlhLWxhYmVsIjoiSG9tZSIsb25DbGljazooWik9PntpZihHPy4oWiksWi5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihxLmRldmljZVR5cGU9PT0id2F0Y2giKXEuZXhlYyhqNCgpKTtlbHNlIHEuZXhlYygic2VydmUtc2ltIGJ1dHRvbiBob21lIil9LC4uLkosY2hpbGRyZW46djR9KX0pLG00PWYwKGZ1bmN0aW9uKHtvbkNsaWNrOkcsLi4uSn0sWSl7bGV0IHE9VDEoIlNjcmVlbnNob3RCdXR0b24iKTtyZXR1cm4gUShrMSx7cmVmOlksImFyaWEtbGFiZWwiOiJTY3JlZW5zaG90IixvbkNsaWNrOihaKT0+e2lmKEc/LihaKSxaLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHEuZGV2aWNlVWRpZClxLmV4ZWMoYHhjcnVuIHNpbWN0bCBpbyAke3EuZGV2aWNlVWRpZH0gc2NyZWVuc2hvdCB+L0Rlc2t0b3Avc2VydmUtc2ltLXNjcmVlbnNob3QtJChkYXRlICslcykucG5nYCl9LC4uLkosY2hpbGRyZW46eTR9KX0pLHg0PWYwKGZ1bmN0aW9uKHtvbkNsaWNrOkcsZm9yY2VEaXNhYmxlZDpKLC4uLll9LHEpe2xldCBaPVQxKCJSb3RhdGVCdXR0b24iKSxfPVouZGV2aWNlVHlwZT09PSJ3YXRjaCJ8fFouZGV2aWNlVHlwZT09PSJ2aXNpb24iLFskLHpdPWsoInBvcnRyYWl0Iik7cmV0dXJuIGooKCk9Pnt6KFoub3JpZW50YXRpb24/PyJwb3J0cmFpdCIpfSxbWi5kZXZpY2VVZGlkLFoub3JpZW50YXRpb25dKSxRKGsxLHtyZWY6cSwiYXJpYS1sYWJlbCI6IlJvdGF0ZSBkZXZpY2UiLGZvcmNlRGlzYWJsZWQ6Snx8XyxvbkNsaWNrOihMKT0+e2lmKEc/LihMKSxMLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCFaLmRldmljZVVkaWR8fF8pcmV0dXJuO2xldCBCPVM0W1oub3JpZW50YXRpb24/PyRdO2lmKHooQiksWi5vblJvdGF0ZSlaLm9uUm90YXRlKEIpO2Vsc2UgWi5leGVjKGBzZXJ2ZS1zaW0gcm90YXRlICR7Qn0gLWQgJHtaLmRldmljZVVkaWR9YCl9LC4uLlksY2hpbGRyZW46aDR9KX0pLEowPVQ0O0owLlRpdGxlPUU0O0owLkFjdGlvbnM9UjQ7SjAuQnV0dG9uPWsxO0owLkhvbWVCdXR0b249ZzQ7SjAuU2NyZWVuc2hvdEJ1dHRvbj1tNDtKMC5Sb3RhdGVCdXR0b249eDQ7ZnVuY3Rpb24gcDQoWCl7bGV0W0csSl09ayhudWxsKSxZPWIobmV3IFNldCkscT1SKChaKT0+e3JldHVybiBZLmN1cnJlbnQuYWRkKFopLCgpPT57WS5jdXJyZW50LmRlbGV0ZShaKX19LFtdKTtyZXR1cm4gaigoKT0+e2lmKCFYKXJldHVybjtsZXQgWj1uZXcgQWJvcnRDb250cm9sbGVyLF89ITEsJD1udWxsLHo9WC5yZXBsYWNlKC9cL3N0cmVhbVwubWpwZWckLywiIiksTD0oRik9PntpZihGLndpZHRoPD0wfHxGLmhlaWdodDw9MClyZXR1cm47SigoQSk9PkEmJkEud2lkdGg9PT1GLndpZHRoJiZBLmhlaWdodD09PUYuaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ri5vcmllbnRhdGlvbj9BOkYpfSxCPSgpPT57ZmV0Y2goYCR7en0vY29uZmlnYCx7c2lnbmFsOlouc2lnbmFsfSkudGhlbigoRik9PkYuanNvbigpKS50aGVuKEwpLmNhdGNoKCgpPT57fSl9O0IoKTtsZXQgVj1zZXRJbnRlcnZhbChCLDEwMDApLEg9bmV3IFVSTChYKTtILnNlYXJjaFBhcmFtcy5zZXQoInJhdyIsIjEiKTtsZXQgTz1ILnRvU3RyaW5nKCksVT0oKT0+e2lmKF98fFouc2lnbmFsLmFib3J0ZWR8fCQpcmV0dXJuOyQ9c2V0VGltZW91dCgoKT0+eyQ9bnVsbCxQKCl9LDEwMDApfSxQPWFzeW5jKCk9Pnt0cnl7bGV0IEE9KGF3YWl0IGZldGNoKE8se3NpZ25hbDpaLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighQSl7VSgpO3JldHVybn1sZXQgST1uZXcgVWludDhBcnJheSgwKTt3aGlsZSghMCl7bGV0e2RvbmU6cyx2YWx1ZTpofT1hd2FpdCBBLnJlYWQoKTtpZihzKWJyZWFrO2xldCBjPW5ldyBVaW50OEFycmF5KEkubGVuZ3RoK2gubGVuZ3RoKTtjLnNldChJKSxjLnNldChoLEkubGVuZ3RoKSxJPWM7d2hpbGUoITApe2xldCBlPS0xO2ZvcihsZXQgZD0wO2Q8SS5sZW5ndGgtMTtkKyspaWYoSVtkXT09PTI1NSYmSVtkKzFdPT09MjE2KXtlPWQ7YnJlYWt9aWYoZT09PS0xKWJyZWFrO2xldCBuPS0xO2ZvcihsZXQgZD1lKzI7ZDxJLmxlbmd0aC0xO2QrKylpZihJW2RdPT09MjU1JiZJW2QrMV09PT0yMTcpe249ZCsyO2JyZWFrfWlmKG49PT0tMSlicmVhaztsZXQgXzA9SS5zbGljZShlLG4pO0k9SS5zbGljZShuKTtsZXQgZj1uZXcgQmxvYihbXzBdLHt0eXBlOiJpbWFnZS9qcGVnIn0pLHk9VVJMLmNyZWF0ZU9iamVjdFVSTChmKTtpZihZLmN1cnJlbnQuc2l6ZT09PTApe1VSTC5yZXZva2VPYmplY3RVUkwoeSk7Y29udGludWV9Zm9yKGxldCBkIG9mIFkuY3VycmVudClkKHkpfX19Y2F0Y2h7fWZpbmFsbHl7VSgpfX07cmV0dXJuIFAoKSwoKT0+e2lmKF89ITAsJCljbGVhclRpbWVvdXQoJCk7Wi5hYm9ydCgpLGNsZWFySW50ZXJ2YWwoVil9fSxbWF0pLHtzdWJzY3JpYmVGcmFtZTpxLGZyYW1lOm51bGwsY29uZmlnOkd9fXZhciBmND17S2V5QTo0LEtleUI6NSxLZXlDOjYsS2V5RDo3LEtleUU6OCxLZXlGOjksS2V5RzoxMCxLZXlIOjExLEtleUk6MTIsS2V5SjoxMyxLZXlLOjE0LEtleUw6MTUsS2V5TToxNixLZXlOOjE3LEtleU86MTgsS2V5UDoxOSxLZXlROjIwLEtleVI6MjEsS2V5UzoyMixLZXlUOjIzLEtleVU6MjQsS2V5VjoyNSxLZXlXOjI2LEtleVg6MjcsS2V5WToyOCxLZXlaOjI5LERpZ2l0MTozMCxEaWdpdDI6MzEsRGlnaXQzOjMyLERpZ2l0NDozMyxEaWdpdDU6MzQsRGlnaXQ2OjM1LERpZ2l0NzozNixEaWdpdDg6MzcsRGlnaXQ5OjM4LERpZ2l0MDozOSxFbnRlcjo0MCxFc2NhcGU6NDEsQmFja3NwYWNlOjQyLFRhYjo0MyxTcGFjZTo0NCxNaW51czo0NSxFcXVhbDo0NixCcmFja2V0TGVmdDo0NyxCcmFja2V0UmlnaHQ6NDgsQmFja3NsYXNoOjQ5LFNlbWljb2xvbjo1MSxRdW90ZTo1MixCYWNrcXVvdGU6NTMsQ29tbWE6NTQsUGVyaW9kOjU1LFNsYXNoOjU2LENhcHNMb2NrOjU3LEYxOjU4LEYyOjU5LEYzOjYwLEY0OjYxLEY1OjYyLEY2OjYzLEY3OjY0LEY4OjY1LEY5OjY2LEYxMDo2NyxGMTE6NjgsRjEyOjY5LFByaW50U2NyZWVuOjcwLFNjcm9sbExvY2s6NzEsUGF1c2U6NzIsSW5zZXJ0OjczLEhvbWU6NzQsUGFnZVVwOjc1LERlbGV0ZTo3NixFbmQ6NzcsUGFnZURvd246NzgsQXJyb3dSaWdodDo3OSxBcnJvd0xlZnQ6ODAsQXJyb3dEb3duOjgxLEFycm93VXA6ODIsTnVtTG9jazo4MyxOdW1wYWREaXZpZGU6ODQsTnVtcGFkTXVsdGlwbHk6ODUsTnVtcGFkU3VidHJhY3Q6ODYsTnVtcGFkQWRkOjg3LE51bXBhZEVudGVyOjg4LE51bXBhZDE6ODksTnVtcGFkMjo5MCxOdW1wYWQzOjkxLE51bXBhZDQ6OTIsTnVtcGFkNTo5MyxOdW1wYWQ2Ojk0LE51bXBhZDc6OTUsTnVtcGFkODo5NixOdW1wYWQ5Ojk3LE51bXBhZDA6OTgsTnVtcGFkRGVjaW1hbDo5OSxDb250cm9sTGVmdDoyMjQsU2hpZnRMZWZ0OjIyNSxBbHRMZWZ0OjIyNixNZXRhTGVmdDoyMjcsQ29udHJvbFJpZ2h0OjIyOCxTaGlmdFJpZ2h0OjIyOSxBbHRSaWdodDoyMzAsTWV0YVJpZ2h0OjIzMX07ZnVuY3Rpb24gZDQoWCl7cmV0dXJuIGY0W1hdPz9udWxsfWZ1bmN0aW9uIFE5KFgpe2xldCBHPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LmJhc2VQYXRoPz8iLyI7cmV0dXJuIEc9PT0iLyI/YC8ke1h9YDpgJHtHfS8ke1h9YH1mdW5jdGlvbiBBOChYKXtyZXR1cm4gWD8uZXJyb3JzPy5pbmNsdWRlcyhZOCk/PyExfWZ1bmN0aW9uIHU0KFgpe2xldFtHLEpdPWsobnVsbCksW1kscV09aygiQVggb2ZmIik7cmV0dXJuIGooKCk9PntpZighWCl7SihudWxsKSxxKCJBWCBvZmYiKTtyZXR1cm59SihudWxsKSxxKCJBWCB3YWl0aW5nIik7bGV0IFo9bmV3IEV2ZW50U291cmNlKFgpO3JldHVybiBaLm9ubWVzc2FnZT0oXyk9Pnt0cnl7bGV0ICQ9SlNPTi5wYXJzZShfLmRhdGEpO0ooJCkscShBOCgkKT8iQVggdW5hdmFpbGFibGU6IGluc3RhbGwgQVhlIjpgJHskLmVsZW1lbnRzLmxlbmd0aH0gQVggZWxlbWVudHNgKX1jYXRjaHtxKCJBWCBwYXJzZSBlcnJvciIpfX0sWi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntxKCJBWCByZWNvbm5lY3RpbmciKX0pLCgpPT5aLmNsb3NlKCl9LFtYXSkse3NuYXBzaG90Okcsc3RhdHVzOll9fXZhciB3OD1GMCh7c25hcHNob3Q6bnVsbCxzdGF0dXM6IkFYIG9mZiJ9KSxUOD1GMChudWxsKTtmdW5jdGlvbiBfOSgpe3JldHVybiBFMCh3OCl9ZnVuY3Rpb24gazgoKXtsZXQgWD1FMChUOCk7aWYoIVgpdGhyb3cgRXJyb3IoIkFYIHNlbGVjdGlvbiBjb250ZXh0IGlzIHVuYXZhaWxhYmxlIik7cmV0dXJuIFh9ZnVuY3Rpb24gYzQoe2VuZHBvaW50OlgsY2hpbGRyZW46R30pe2xldHtzbmFwc2hvdDpKLHN0YXR1czpZfT11NChYKSxbcSxaXT1rKG51bGwpLFtfLCRdPWsobnVsbCk7aigoKT0+e2lmKCFYKVoobnVsbCksJChudWxsKX0sW1hdKTtsZXQgej15MCgoKT0+KHtzbmFwc2hvdDpKLHN0YXR1czpZfSksW0osWV0pLEw9eTAoKCk9Pih7aGlnaGxpZ2h0ZWRLZXk6cSxzZWxlY3RlZEtleTpfLHNldEhpZ2hsaWdodGVkS2V5Olosc2V0U2VsZWN0ZWRLZXk6JH0pLFtxLF9dKTtyZXR1cm4gUSh3OC5Qcm92aWRlcix7dmFsdWU6eixjaGlsZHJlbjpRKFQ4LlByb3ZpZGVyLHt2YWx1ZTpMLGNoaWxkcmVuOkd9KX0pfWFzeW5jIGZ1bmN0aW9uIHEwKFgpe3JldHVybihhd2FpdCBmZXRjaChROSgiZXhlYyIpLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7Y29tbWFuZDpYfSl9KSkuanNvbigpfWZ1bmN0aW9uIGw0KFgpe3RyeXtsZXQgRz1KU09OLnBhcnNlKFgpLEo9W107Zm9yKGxldFtZLHFdb2YgT2JqZWN0LmVudHJpZXMoRy5kZXZpY2VzPz97fSkpe2xldCBaPVkucmVwbGFjZSgvXmNvbVwuYXBwbGVcLkNvcmVTaW11bGF0b3JcLlNpbVJ1bnRpbWVcLi8sIiIpLnJlcGxhY2UoLy0vZywiLiIpO2ZvcihsZXQgXyBvZiBxKWlmKF8uaXNBdmFpbGFibGUpSi5wdXNoKHt1ZGlkOl8udWRpZCxuYW1lOl8ubmFtZSxzdGF0ZTpfLnN0YXRlLHJ1bnRpbWU6Wn0pfXJldHVybiBKfWNhdGNoe3JldHVybltdfX1mdW5jdGlvbiBFMShYKXtsZXQgRz1YLnRvTG93ZXJDYXNlKCk7aWYoRy5pbmNsdWRlcygiaXBob25lIikpcmV0dXJuIDA7aWYoRy5pbmNsdWRlcygiaXBhZCIpKXJldHVybiAxO2lmKEcuaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIDI7aWYoRy5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuIDM7cmV0dXJuIDR9ZnVuY3Rpb24gQzEoWCl7bGV0IEc9WC50b0xvd2VyQ2FzZSgpO2lmKEcuc3RhcnRzV2l0aCgiaW9zIikpcmV0dXJuIDA7aWYoRy5zdGFydHNXaXRoKCJpcGFkb3MiKSlyZXR1cm4gMTtpZihHLnN0YXJ0c1dpdGgoIndhdGNob3MiKSlyZXR1cm4gMjtpZihHLnN0YXJ0c1dpdGgoInZpc2lvbm9zIil8fEcuc3RhcnRzV2l0aCgieHJvcyIpKXJldHVybiAzO3JldHVybiA0fWZ1bmN0aW9uIGE0KHtkZXZpY2VzOlgsc2VsZWN0ZWRVZGlkOkcsbG9hZGluZzpKLGVycm9yOlksc3RvcHBpbmdVZGlkczpxLG9uUmVmcmVzaDpaLG9uU2VsZWN0Ol8sb25TdG9wOiQsdHJpZ2dlcjp6fSl7bGV0W0wsQl09ayghMSksVj1iKG51bGwpO2ooKCk9PntpZighTClyZXR1cm47bGV0IFA9KEYpPT57aWYoIVYuY3VycmVudD8uY29udGFpbnMoRi50YXJnZXQpKUIoITEpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsUCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFApfSxbTF0pO2xldCBIPW5ldyBNYXA7Zm9yKGxldCBQIG9mIFgpe2lmKFAudWRpZD09PUcpY29udGludWU7bGV0IEY9SC5nZXQoUC5ydW50aW1lKTtpZighRilGPVtdLEguc2V0KFAucnVudGltZSxGKTtGLnB1c2goUCl9Zm9yKGxldCBQIG9mIEgudmFsdWVzKCkpUC5zb3J0KChGLEEpPT5FMShGLm5hbWUpLUUxKEEubmFtZSl8fEYubmFtZS5sb2NhbGVDb21wYXJlKEEubmFtZSkpO2xldCBPPVsuLi5ILmVudHJpZXMoKV0uc29ydCgoW1BdLFtGXSk9PkMxKFApLUMxKEYpfHxQLmxvY2FsZUNvbXBhcmUoRikpLFU9WC5maW5kKChQKT0+UC51ZGlkPT09Ryk/P251bGw7cmV0dXJuIFEoImRpdiIse3JlZjpWLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbUSgiZGl2Iix7b25DbGljazooKT0+e2lmKCFMKVooKTtCKChQKT0+IVApfSxjaGlsZHJlbjp6fSksTCYmUSgiZGl2Iix7c3R5bGU6RDYsY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOmI4LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjoiU2ltdWxhdG9ycyJ9KSxRKCJidXR0b24iLHtvbkNsaWNrOihQKT0+e1Auc3RvcFByb3BhZ2F0aW9uKCksWigpfSxkaXNhYmxlZDpKLHN0eWxlOmo4LGNoaWxkcmVuOko/Ii4uLiI6IlJlZnJlc2gifSldfSksWSYmUSgiZGl2Iix7c3R5bGU6WjksY2hpbGRyZW46WX0pLFUmJlEobCx7Y2hpbGRyZW46W1EoImRpdiIse3N0eWxlOnsuLi5xOSxjb2xvcjoiI2E1YjRmYyJ9LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6WTkoVS5zdGF0ZT09PSJCb290ZWQiPyIjNGFkZTgwIjoiIzQ0NCIpfSksUSgic3BhbiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOlUubmFtZX0pXX0pLFEoImRpdiIse3N0eWxlOk82fSldfSksWC5sZW5ndGg9PT0wJiYhSiYmIVkmJlEoImRpdiIse3N0eWxlOlM4LGNoaWxkcmVuOiJObyBhdmFpbGFibGUgc2ltdWxhdG9ycyBmb3VuZCJ9KSxPLm1hcCgoW1AsRl0pPT5RKCJkaXYiLHtjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6djgsY2hpbGRyZW46UH0pLEYubWFwKChBKT0+e2xldCBJPXEuaGFzKEEudWRpZCkscz1BLnN0YXRlPT09IkJvb3RlZCI7cmV0dXJuIFEoImRpdiIse3N0eWxlOnE5LG9uTW91c2VFbnRlcjooaCk9PmguY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kPSJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixvbk1vdXNlTGVhdmU6KGgpPT5oLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntfKEEpLEIoITEpfSxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOlk5KHM/IiM0YWRlODAiOiIjNDQ0Iil9KSxRKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46QS5uYW1lfSkscyYmUSgic3BhbiIse3JvbGU6ImJ1dHRvbiIsb25DbGljazooaCk9PntpZihoLnN0b3BQcm9wYWdhdGlvbigpLCFJKSQoQS51ZGlkKX0sc3R5bGU6e2ZvbnRTaXplOjEwLHBhZGRpbmc6IjFweCA2cHgiLGJvcmRlclJhZGl1czo0LGNvbG9yOkk/IiM4ODgiOiIjZjg3MTcxIixiYWNrZ3JvdW5kOkk/InRyYW5zcGFyZW50IjoicmdiYSgyNDgsMTEzLDExMywwLjEpIixjdXJzb3I6ST8iZGVmYXVsdCI6InBvaW50ZXIifSxjaGlsZHJlbjpJPyJTdG9wcGluZy4uLiI6IlN0b3AifSldfSxBLnVkaWQpfSldfSxQKSldfSldfSl9ZnVuY3Rpb24gWTkoWCl7cmV0dXJue3dpZHRoOjYsaGVpZ2h0OjYsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6WCxmbGV4U2hyaW5rOjB9fXZhciBpND1uZXcgU2V0KFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL2dpZiIsImltYWdlL2hlaWMiLCJpbWFnZS9oZWlmIiwiaW1hZ2Uvd2VicCIsInZpZGVvL21wNCIsInZpZGVvL3F1aWNrdGltZSJdKSxNOD0yNjIxNDQsbzQ9NTI0Mjg4MDAwO2Z1bmN0aW9uIHI0KFgpe2lmKCQ5KFgpPT09ImlwYSIpcmV0dXJuImlwYSI7aWYoaTQuaGFzKFgudHlwZSkpcmV0dXJuIm1lZGlhIjtyZXR1cm4gbnVsbH1mdW5jdGlvbiBzNChYKXtsZXQgRz1uZXcgVWludDhBcnJheShYKSxKPSIiO2ZvcihsZXQgWT0wO1k8Ry5sZW5ndGg7WSsrKUorPVN0cmluZy5mcm9tQ2hhckNvZGUoR1tZXSk7cmV0dXJuIGJ0b2EoSil9ZnVuY3Rpb24gJDkoWCl7bGV0IEc9WC5uYW1lLEo9Ry5sYXN0SW5kZXhPZigiLiIpO2lmKEo+PTApcmV0dXJuIEcuc2xpY2UoSisxKS50b0xvd2VyQ2FzZSgpO2lmKFgudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSlyZXR1cm4ibXA0IjtyZXR1cm4ianBnIn1hc3luYyBmdW5jdGlvbiB0NChYLEcsSixZKXtpZihYLnNpemU+bzQpdGhyb3cgRXJyb3IoIkZpbGUgdG9vIGxhcmdlIChtYXggNTAwTUIpIik7bGV0IHE9Rz09PSJpcGEiPyJpcGEiOiQ5KFgpLF89YC90bXAvJHtHPT09ImlwYSI/InNlcnZlLXNpbS1pbnN0YWxsIjoic2VydmUtc2ltLXVwbG9hZCJ9LSR7Y3J5cHRvLnJhbmRvbVVVSUQoKX0uJHtxfWA7dHJ5e2xldCAkPWF3YWl0IFguYXJyYXlCdWZmZXIoKSx6PXM0KCQpO2ZvcihsZXQgVj0wO1Y8ei5sZW5ndGg7Vis9TTgpe2xldCBIPXouc2xpY2UoVixWK004KSxVPWF3YWl0IEooYGJhc2ggLWMgJ2VjaG8gJHtIfSB8IGJhc2U2NCAtZCAke1Y9PT0wPyI+IjoiPj4ifSAke199J2ApO2lmKFUuZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFUuc3RkZXJyfHxgV3JpdGUgZmFpbGVkIChleGl0ICR7VS5leGl0Q29kZX0pYCl9bGV0IEw9Rz09PSJpcGEiP2B4Y3J1biBzaW1jdGwgaW5zdGFsbCAke1l9ICR7X31gOmB4Y3J1biBzaW1jdGwgYWRkbWVkaWEgJHtZfSAke199YCxCPWF3YWl0IEooTCk7aWYoQi5leGl0Q29kZSE9PTApe2xldCBWPUc9PT0iaXBhIj8iaW5zdGFsbCI6ImFkZG1lZGlhIjt0aHJvdyBFcnJvcihCLnN0ZGVycnx8YCR7Vn0gZmFpbGVkIChleGl0ICR7Qi5leGl0Q29kZX0pYCl9fWZpbmFsbHl7SihgYmFzaCAtYyAncm0gLWYgJHtffSdgKS5jYXRjaCgoKT0+e30pfX1mdW5jdGlvbiBuNCgpe2xldFtYLEddPWsoW10pLEo9UigocSxaKT0+e2xldCBfPWNyeXB0by5yYW5kb21VVUlEKCk7cmV0dXJuIEcoKCQpPT5bLi4uJCx7aWQ6XyxuYW1lOnEsa2luZDpaLHN0YXR1czoidXBsb2FkaW5nIn1dKSxffSxbXSksWT1SKChxLFopPT57aWYoRygoXyk9Pl8ubWFwKCgkKT0+JC5pZD09PXE/ey4uLiQsLi4uWn06JCkpLFouc3RhdHVzPT09InN1Y2Nlc3MifHxaLnN0YXR1cz09PSJlcnJvciIpc2V0VGltZW91dCgoKT0+e0coKF8pPT5fLmZpbHRlcigoJCk9PiQuaWQhPT1xKSl9LDMwMDApfSxbXSk7cmV0dXJue3RvYXN0czpYLGFkZDpKLHVwZGF0ZTpZfX1mdW5jdGlvbiBlNCh7ZXhlYzpYLHVkaWQ6RyxlbmFibGVkOkosb25VcGxvYWRTdGFydDpZLG9uVXBsb2FkRW5kOnEsb25VbnN1cHBvcnRlZDpafSl7bGV0W18sJF09ayghMSksej1iKDApLEw9Uihhc3luYyhPKT0+e2lmKE8ucHJldmVudERlZmF1bHQoKSxPLnN0b3BQcm9wYWdhdGlvbigpLHouY3VycmVudD0wLCQoITEpLCFKfHwhRylyZXR1cm47bGV0IFU9QXJyYXkuZnJvbShPLmRhdGFUcmFuc2Zlci5maWxlcyk7aWYoVS5sZW5ndGg9PT0wKXJldHVybjtmb3IobGV0IFAgb2YgVSl7bGV0IEY9cjQoUCk7aWYoIUYpe1ooUCk7Y29udGludWV9bGV0IEE9WShQLm5hbWUsRik7dDQoUCxGLFgsRykudGhlbigoKT0+cShBLCEwKSkuY2F0Y2goKEkpPT5xKEEsITEsSSBpbnN0YW5jZW9mIEVycm9yP0kubWVzc2FnZToiVXBsb2FkIGZhaWxlZCIpKX19LFtKLEcsWCxZLHEsWl0pLEI9UigoTyk9PntpZihPLnByZXZlbnREZWZhdWx0KCksSilPLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5In0sW0pdKSxWPVIoKE8pPT57aWYoTy5wcmV2ZW50RGVmYXVsdCgpLCFKKXJldHVybjtpZih6LmN1cnJlbnQrKyx6LmN1cnJlbnQ9PT0xKSQoITApfSxbSl0pLEg9UigoTyk9PntpZihPLnByZXZlbnREZWZhdWx0KCksei5jdXJyZW50LS0sei5jdXJyZW50PD0wKXouY3VycmVudD0wLCQoITEpfSxbXSk7cmV0dXJue2lzRHJhZ092ZXI6Xyxkcm9wWm9uZVByb3BzOntvbkRyYWdPdmVyOkIsb25EcmFnRW50ZXI6VixvbkRyYWdMZWF2ZTpILG9uRHJvcDpMfX19ZnVuY3Rpb24gTjAoWCl7cmV0dXJuYCcke1gucmVwbGFjZSgvJy9nLCInXFwnJyIpfSdgfWFzeW5jIGZ1bmN0aW9uIFg2KFgsRyxKKXtsZXQgWT1hd2FpdCBYKGB4Y3J1biBzaW1jdGwgZ2V0X2FwcF9jb250YWluZXIgJHtHfSAke04wKEopfSBhcHBgKTtpZihZLmV4aXRDb2RlIT09MClyZXR1cm57ZXJyb3I6WS5zdGRlcnIudHJpbSgpfHwiQXBwIG5vdCBmb3VuZCBvbiBzaW11bGF0b3IifTtsZXQgcT1ZLnN0ZG91dC50cmltKCk7aWYoIXEpcmV0dXJue2Vycm9yOiJFbXB0eSBhcHAgcGF0aCJ9O2xldCBaPWF3YWl0IFgoYHBsdXRpbCAtY29udmVydCBqc29uIC1vIC0gJHtOMChxKyIvSW5mby5wbGlzdCIpfWApLF89e307aWYoWi5leGl0Q29kZT09PTApdHJ5e189SlNPTi5wYXJzZShaLnN0ZG91dCl9Y2F0Y2h7fWxldCAkLEw9KF8/LkNGQnVuZGxlSWNvbnM/LkNGQnVuZGxlUHJpbWFyeUljb24/P18/LlsiQ0ZCdW5kbGVJY29uc35pcGFkIl0/LkNGQnVuZGxlUHJpbWFyeUljb24pPy5DRkJ1bmRsZUljb25GaWxlcz8/Xz8uQ0ZCdW5kbGVJY29uRmlsZXM7aWYoTCYmTC5sZW5ndGg+MCkkPUxbTC5sZW5ndGgtMV07ZWxzZSBpZih0eXBlb2YgXz8uQ0ZCdW5kbGVJY29uRmlsZT09PSJzdHJpbmciKSQ9Xy5DRkJ1bmRsZUljb25GaWxlO2xldCBCPW51bGw7aWYoJCl7bGV0IFY9W2AkeyR9QDN4LnBuZ2AsYCR7JH1AMngucG5nYCxgJHskfS5wbmdgLGAkeyR9NjB4NjBAM3gucG5nYCxgJHskfTYweDYwQDJ4LnBuZ2BdLE89KGF3YWl0IFgoYGJhc2ggLWMgJHtOMChWLm1hcCgoVSk9PmBbIC1mICR7TjAocSsiLyIrVSl9IF0gJiYgZWNobyAke04wKHErIi8iK1UpfSAmJiBleGl0IDBgKS5qb2luKCI7ICIpKyI7IGV4aXQgMSIpfWApKS5zdGRvdXQudHJpbSgpO2lmKE8pe2xldCBVPWF3YWl0IFgoYGJhc2U2NCAtaSAke04wKE8pfWApO2lmKFUuZXhpdENvZGU9PT0wKUI9YGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke1Uuc3Rkb3V0LnJlcGxhY2UoL1xzKy9nLCIiKX1gfX1yZXR1cm57YXBwUGF0aDpxLGRpc3BsYXlOYW1lOl8uQ0ZCdW5kbGVEaXNwbGF5TmFtZT8/Xy5DRkJ1bmRsZU5hbWUsc2hvcnRWZXJzaW9uOl8uQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcsYnVuZGxlVmVyc2lvbjpfLkNGQnVuZGxlVmVyc2lvbixtaW5PUzpfLk1pbmltdW1PU1ZlcnNpb24sZXhlY3V0YWJsZTpfLkNGQnVuZGxlRXhlY3V0YWJsZSxpY29uRGF0YVVybDpCfX1mdW5jdGlvbiBHNih7dWRpZDpYLGN1cnJlbnRBcHA6R30pe2xldFtKLFldPWsobnVsbCk7aWYoaigoKT0+e2lmKCFHKXtZKG51bGwpO3JldHVybn1sZXQgcT0hMTtyZXR1cm4gWSh7YnVuZGxlSWQ6Ry5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOkcuaXNSZWFjdE5hdGl2ZSxwaWQ6Ry5waWQsbG9hZGluZzohMH0pLFg2KHEwLFgsRy5idW5kbGVJZCkudGhlbigoWik9PntpZihxKXJldHVybjtZKHtidW5kbGVJZDpHLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6Ry5pc1JlYWN0TmF0aXZlLHBpZDpHLnBpZCxsb2FkaW5nOiExLC4uLlp9KX0pLCgpPT57cT0hMH19LFtYLEc/LmJ1bmRsZUlkLEc/LnBpZCxHPy5pc1JlYWN0TmF0aXZlXSksIUopcmV0dXJuIFEoImRpdiIse3N0eWxlOkMuZW1wdHksY2hpbGRyZW46IldhaXRpbmcgZm9yIGFuIGFwcCB0byBjb21lIHRvIHRoZSBmb3JlZ3JvdW5k4oCmIn0pO3JldHVybiBRKCJkaXYiLHtzdHlsZTpDLnNlY3Rpb24sY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOkMuYXBwSGVhZGVyLGNoaWxkcmVuOltKLmljb25EYXRhVXJsP1EoImltZyIse3NyYzpKLmljb25EYXRhVXJsLHN0eWxlOkMuYXBwSWNvbixhbHQ6IiJ9KTpRKCJkaXYiLHtzdHlsZTp7Li4uQy5hcHBJY29uLGJhY2tncm91bmQ6IiMyYTJhMmMifX0pLFEoImRpdiIse3N0eWxlOnttaW5XaWR0aDowLGZsZXg6MX0sY2hpbGRyZW46W1EoImRpdiIse3N0eWxlOkMuYXBwTmFtZSxjaGlsZHJlbjpbSi5kaXNwbGF5TmFtZT8/Si5idW5kbGVJZCxKLmxvYWRpbmcmJlEoInNwYW4iLHtzdHlsZTpDLnNwaW5uZXIsY2hpbGRyZW46IiDigKYifSldfSksUSgiZGl2Iix7c3R5bGU6Qy5hcHBCdW5kbGUsdGl0bGU6Si5idW5kbGVJZCxjaGlsZHJlbjpKLmJ1bmRsZUlkfSldfSldfSksSi5lcnJvciYmUSgiZGl2Iix7c3R5bGU6Qy5lcnJvcixjaGlsZHJlbjpKLmVycm9yfSksUSgiZGwiLHtzdHlsZTpDLmRsLGNoaWxkcmVuOltRKHUwLHtsYWJlbDoiVmVyc2lvbiIsdmFsdWU6Si5zaG9ydFZlcnNpb24/YCR7Si5zaG9ydFZlcnNpb259ICgke0ouYnVuZGxlVmVyc2lvbj8/IuKAlCJ9KWA6Si5sb2FkaW5nPyLigKYiOiLigJQifSksUSh1MCx7bGFiZWw6Ik1pbiBpT1MiLHZhbHVlOkoubWluT1M/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpfSksUSh1MCx7bGFiZWw6IkV4ZWN1dGFibGUiLHZhbHVlOkouZXhlY3V0YWJsZT8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxRKHUwLHtsYWJlbDoiUElEIix2YWx1ZTpKLnBpZCE9bnVsbD9TdHJpbmcoSi5waWQpOiLigJQifSksSi5pc1JlYWN0TmF0aXZlJiZRKHUwLHtsYWJlbDoiUmVhY3QgTmF0aXZlIix2YWx1ZToiWWVzIn0pLFEodTAse2xhYmVsOiJBcHAgcGF0aCIsdmFsdWU6Si5hcHBQYXRoPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKSxtb25vOiEwLGFjdGlvbjpKLmFwcFBhdGg/e3RpdGxlOiJSZXZlYWwgaW4gRmluZGVyIixvbkNsaWNrOigpPT57cTAoYG9wZW4gLVIgJHtOMChKLmFwcFBhdGgpfWApfSxpY29uOlEoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoImxpbmUiLHt4MToiNyIseTE6IjE3Iix4MjoiMTciLHkyOiI3In0pLFEoInBvbHlsaW5lIix7cG9pbnRzOiIxMCA3IDE3IDcgMTcgMTQifSldfSl9OnZvaWQgMH0pXX0pXX0pfWZ1bmN0aW9uIHUwKHtsYWJlbDpYLHZhbHVlOkcsbW9ubzpKLGFjdGlvbjpZfSl7bGV0W3EsWl09ayghMSk7cmV0dXJuIFEoImRpdiIse3N0eWxlOkMucm93LG9uTW91c2VFbnRlcjooKT0+WighMCksb25Nb3VzZUxlYXZlOigpPT5aKCExKSxjaGlsZHJlbjpbUSgiZHQiLHtzdHlsZTpDLmR0LGNoaWxkcmVuOlh9KSxRKCJkZCIse3N0eWxlOnsuLi5DLmRkLGZvbnRGYW1pbHk6Sj8idWktbW9ub3NwYWNlLCBtb25vc3BhY2UiOnZvaWQgMCxmb250U2l6ZTpKPzExOjEyLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LHRpdGxlOkcsY2hpbGRyZW46W0csWSYmUSgiZGl2Iix7c3R5bGU6ey4uLkMucm93QWN0aW9uV3JhcCxvcGFjaXR5OnE/MTowLHRyYW5zZm9ybTpxPyJ0cmFuc2xhdGVYKDApIjoidHJhbnNsYXRlWCg0cHgpIixwb2ludGVyRXZlbnRzOnE/ImF1dG8iOiJub25lIn0sY2hpbGRyZW46USgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOlkub25DbGljayx0aXRsZTpZLnRpdGxlLCJhcmlhLWxhYmVsIjpZLnRpdGxlLHN0eWxlOkMucm93QWN0aW9uLGNoaWxkcmVuOlkuaWNvbn0pfSldfSldfSl9dmFyIEo2PVt7a2V5OiJjYW1lcmEiLGxhYmVsOiJDYW1lcmEifSx7a2V5OiJtaWNyb3Bob25lIixsYWJlbDoiTWljcm9waG9uZSJ9LHtrZXk6InBob3RvcyIsbGFiZWw6IlBob3RvcyJ9LHtrZXk6InBob3Rvcy1hZGQiLGxhYmVsOiJBZGQgdG8gUGhvdG9zIn0se2tleToiY29udGFjdHMiLGxhYmVsOiJDb250YWN0cyJ9LHtrZXk6ImNhbGVuZGFyIixsYWJlbDoiQ2FsZW5kYXIifSx7a2V5OiJyZW1pbmRlcnMiLGxhYmVsOiJSZW1pbmRlcnMifSx7a2V5OiJsb2NhdGlvbiIsbGFiZWw6IkxvY2F0aW9uIn0se2tleToibG9jYXRpb24tYWx3YXlzIixsYWJlbDoiTG9jYXRpb24gKEFsd2F5cykifSx7a2V5OiJtb3Rpb24iLGxhYmVsOiJNb3Rpb24ifSx7a2V5OiJtZWRpYS1saWJyYXJ5IixsYWJlbDoiTWVkaWEgTGlicmFyeSJ9LHtrZXk6InNpcmkiLGxhYmVsOiJTaXJpIn1dO2Z1bmN0aW9uIFk2KHt1ZGlkOlgsYnVuZGxlSWQ6R30pe2xldFtKLFldPWsoe30pLFtxLFpdPWsobnVsbCksW18sJF09ayhudWxsKSxbeixMXT1rKCExKTtqKCgpPT57WSh7fSksJChudWxsKX0sW0ddKTtsZXQgQj1SKGFzeW5jKEgsTyk9PntpZighRylyZXR1cm47bGV0IFU9YCR7SH06JHtPfWA7WihVKSwkKG51bGwpO3RyeXtsZXQgUD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIHByaXZhY3kgJHtYfSAke099ICR7SH0gJHtOMChHKX1gKTtpZihQLmV4aXRDb2RlIT09MCl7JChQLnN0ZGVyci50cmltKCl8fGBzaW1jdGwgcHJpdmFjeSBmYWlsZWQgKGV4aXQgJHtQLmV4aXRDb2RlfSlgKTtyZXR1cm59WSgoRik9Pih7Li4uRixbSF06Tz09PSJyZXNldCI/dm9pZCAwOk99KSl9ZmluYWxseXtaKG51bGwpfX0sW1gsR10pLFY9Uihhc3luYygpPT57aWYoIUcpcmV0dXJuO1ooIl9fYWxsX18iKSwkKG51bGwpO3RyeXtsZXQgSD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIHByaXZhY3kgJHtYfSByZXNldCBhbGwgJHtOMChHKX1gKTtpZihILmV4aXRDb2RlIT09MCl7JChILnN0ZGVyci50cmltKCl8fGBzaW1jdGwgcHJpdmFjeSBmYWlsZWQgKGV4aXQgJHtILmV4aXRDb2RlfSlgKTtyZXR1cm59WSh7fSl9ZmluYWxseXtaKG51bGwpfX0sW1gsR10pO2lmKCFHKXJldHVybiBRKCJkaXYiLHtzdHlsZTpDLmVtcHR5LGNoaWxkcmVuOiJQZXJtaXNzaW9ucyBhcHBlYXIgb25jZSBhbiBhcHAgaXMgaW4gdGhlIGZvcmVncm91bmQuIn0pO3JldHVybiBRKCJkaXYiLHtzdHlsZTp7Li4uQy5zZWN0aW9uLHBhZGRpbmc6IjhweCAxMnB4In0sY2hpbGRyZW46W1EoImJ1dHRvbiIse29uQ2xpY2s6KCk9PkwoKEgpPT4hSCksc3R5bGU6Qy5wZXJtc1RvZ2dsZSwiYXJpYS1leHBhbmRlZCI6eixjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOnsuLi5DLnNlY3Rpb25UaXRsZSxtYXJnaW46MH0sY2hpbGRyZW46IlBlcm1pc3Npb25zIn0pLFEoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e3RyYW5zZm9ybTp6PyJyb3RhdGUoOTBkZWcpIjoicm90YXRlKDBkZWcpIix0cmFuc2l0aW9uOiJ0cmFuc2Zvcm0gMC4xNXMiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46USgicG9seWxpbmUiLHtwb2ludHM6IjkgMTggMTUgMTIgOSA2In0pfSldfSkseiYmXyYmUSgiZGl2Iix7c3R5bGU6ey4uLkMuZXJyb3IsbWFyZ2luVG9wOjh9LGNoaWxkcmVuOl99KSx6JiZRKCJkaXYiLHtzdHlsZTpDLnBlcm1zU2Nyb2xsV3JhcCxjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6Qy5wZXJtc1Njcm9sbCxjaGlsZHJlbjpKNi5tYXAoKHtrZXk6SCxsYWJlbDpPfSk9PntsZXQgVT1KW0hdO3JldHVybiBRKCJkaXYiLHtzdHlsZTpDLnBlcm1Sb3csY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTpDLnBlcm1MYWJlbCxjaGlsZHJlbjpPfSksUSgiZGl2Iix7c3R5bGU6Qy5wZXJtU2VnLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6TyxjaGlsZHJlbjpbUShKOSx7YWN0aXZlOlU9PT0iZ3JhbnQiLHBlbmRpbmc6cT09PWAke0h9OmdyYW50YCxvbkNsaWNrOigpPT5CKEgsImdyYW50IiksdmFyaWFudDoiZ3JhbnQiLHRpdGxlOiJBbGxvdyIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46USgicG9seWxpbmUiLHtwb2ludHM6IjUgMTIgMTAgMTcgMTkgNyJ9KX0pfSksUShKOSx7YWN0aXZlOlU9PT0icmV2b2tlIixwZW5kaW5nOnE9PT1gJHtIfTpyZXZva2VgLG9uQ2xpY2s6KCk9PkIoSCwicmV2b2tlIiksdmFyaWFudDoicmV2b2tlIix0aXRsZToiRGVueSIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoImxpbmUiLHt4MToiNiIseTE6IjYiLHgyOiIxOCIseTI6IjE4In0pLFEoImxpbmUiLHt4MToiMTgiLHkxOiI2Iix4MjoiNiIseTI6IjE4In0pXX0pfSksUShKOSx7YWN0aXZlOiExLHBlbmRpbmc6cT09PWAke0h9OnJlc2V0YCxvbkNsaWNrOigpPT5CKEgsInJlc2V0IiksdmFyaWFudDoicmVzZXQiLHRpdGxlOiJSZXNldCIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi40IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbUSgicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCAzLjUtNy4xIn0pLFEoInBvbHlsaW5lIix7cG9pbnRzOiIzIDMgMyA5IDkgOSJ9KV19KX0pXX0pXX0sSCl9KX0pLFEoImRpdiIse3N0eWxlOkMucGVybXNGYWRlVG9wfSksUSgiZGl2Iix7c3R5bGU6Qy5wZXJtc0ZhZGVCb3R0b219KV19KSx6JiZRKCJkaXYiLHtzdHlsZTpDLnBlcm1zRm9vdGVyLGNoaWxkcmVuOlEoImJ1dHRvbiIse29uQ2xpY2s6VixkaXNhYmxlZDpxPT09Il9fYWxsX18iLHN0eWxlOkMucmVzZXRBbGxCdG4sdGl0bGU6InhjcnVuIHNpbWN0bCBwcml2YWN5IHJlc2V0IGFsbCIsY2hpbGRyZW46cT09PSJfX2FsbF9fIj8i4oCmIjoiUmVzZXQgYWxsIn0pfSldfSl9ZnVuY3Rpb24gWjYoe2RldmljZXM6WCxsb2FkaW5nOkcsZXJyb3I6SixvblJlZnJlc2g6WX0pe2xldFtxLFpdPWsobnVsbCksW18sJF09ayhudWxsKSx6PVIoYXN5bmMoVik9PntpZihxKXJldHVybjtaKFYudWRpZCksJChudWxsKTt0cnl7aWYoVi5zdGF0ZSE9PSJCb290ZWQiKXtsZXQgUD1hd2FpdCBxMChgeGNydW4gc2ltY3RsIGJvb3QgJHtWLnVkaWR9YCk7aWYoUC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoUC5zdGRlcnJ8fCJGYWlsZWQgdG8gYm9vdCBzaW11bGF0b3IiKX1sZXQgSD1hd2FpdCBxMChgYnVueCBzZXJ2ZS1zaW0gLS1kZXRhY2ggJHtWLnVkaWR9YCk7aWYoSC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoSC5zdGRlcnJ8fCJGYWlsZWQgdG8gc3RhcnQgc2VydmUtc2ltIik7bGV0IE89RGF0ZS5ub3coKSsxNTAwMCxVPWAke1E5KCJhcGkiKX0/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFYudWRpZCl9YDt3aGlsZShEYXRlLm5vdygpPE8pe3RyeXtsZXQgUD1hd2FpdCBmZXRjaChVLHtjYWNoZToibm8tc3RvcmUifSk7aWYoUC5vayYmYXdhaXQgUC5qc29uKCkpe2xldCBGPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO0Yuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIixWLnVkaWQpLHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oRi50b1N0cmluZygpKTtyZXR1cm59fWNhdGNoe31hd2FpdCBuZXcgUHJvbWlzZSgoUCk9PnNldFRpbWVvdXQoUCw0MDApKX10aHJvdyBFcnJvcigic2VydmUtc2ltIHN0YXJ0ZWQgYnV0IG5vIHN0cmVhbSBzdGF0ZSBhcHBlYXJlZCIpfWNhdGNoKEgpeyQoSCBpbnN0YW5jZW9mIEVycm9yP0gubWVzc2FnZToiRmFpbGVkIHRvIHN0YXJ0IHN0cmVhbSIpLFoobnVsbCl9fSxbcV0pLEw9bmV3IE1hcDtmb3IobGV0IFYgb2YgWCl7bGV0IEg9TC5nZXQoVi5ydW50aW1lKTtpZighSClIPVtdLEwuc2V0KFYucnVudGltZSxIKTtILnB1c2goVil9Zm9yKGxldCBWIG9mIEwudmFsdWVzKCkpVi5zb3J0KChILE8pPT57bGV0IFU9SC5zdGF0ZT09PSJCb290ZWQiPzA6MSxQPU8uc3RhdGU9PT0iQm9vdGVkIj8wOjE7aWYoVSE9PVApcmV0dXJuIFUtUDtyZXR1cm4gRTEoSC5uYW1lKS1FMShPLm5hbWUpfHxILm5hbWUubG9jYWxlQ29tcGFyZShPLm5hbWUpfSk7bGV0IEI9Wy4uLkwuZW50cmllcygpXS5zb3J0KChbVl0sW0hdKT0+QzEoViktQzEoSCl8fFYubG9jYWxlQ29tcGFyZShIKSk7cmV0dXJuIFEoImRpdiIse3N0eWxlOlowLnBhZ2UsY2hpbGRyZW46USgiZGl2Iix7c3R5bGU6WjAuZW1wdHksY2hpbGRyZW46W1EoImgxIix7c3R5bGU6WjAuZW1wdHlUaXRsZSxjaGlsZHJlbjoiTm8gc2VydmUtc2ltIHN0cmVhbSBydW5uaW5nIn0pLFEoInAiLHtzdHlsZTpaMC5lbXB0eUhpbnQsY2hpbGRyZW46WyJQaWNrIGEgc2ltdWxhdG9yIHRvIGJvb3QsIG9yIHN0YXJ0IG9uZSB5b3Vyc2VsZiB3aXRoIiwiICIsUSgiY29kZSIse3N0eWxlOlowLmNvZGUsY2hpbGRyZW46ImJ1bnggc2VydmUtc2ltIC0tZGV0YWNoIn0pLCIuIl19KSxRKCJkaXYiLHtzdHlsZTpLNixjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6YjgsY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLFEoImJ1dHRvbiIse29uQ2xpY2s6WSxkaXNhYmxlZDpHLHN0eWxlOmo4LGNoaWxkcmVuOkc/Ii4uLiI6IlJlZnJlc2gifSldfSksSiYmUSgiZGl2Iix7c3R5bGU6WjksY2hpbGRyZW46Sn0pLF8mJlEoImRpdiIse3N0eWxlOlo5LGNoaWxkcmVuOl99KSwhRyYmIUomJlgubGVuZ3RoPT09MCYmUSgiZGl2Iix7c3R5bGU6UzgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLEIubWFwKChbVixIXSk9PlEoImRpdiIse2NoaWxkcmVuOltRKCJkaXYiLHtzdHlsZTp2OCxjaGlsZHJlbjpWfSksSC5tYXAoKE8pPT57bGV0IFU9cT09PU8udWRpZCxQPXEhPT1udWxsJiYhVSxGPU8uc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6ey4uLnE5LGN1cnNvcjpQPyJkZWZhdWx0IjoicG9pbnRlciIsb3BhY2l0eTpQPzAuNToxfSxvbk1vdXNlRW50ZXI6KEEpPT57aWYoIVApQS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxvbk1vdXNlTGVhdmU6KEEpPT5BLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntpZighUCl6KE8pfSxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOlk5KEY/IiM0YWRlODAiOiIjNDQ0Iil9KSxRKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSx0ZXh0QWxpZ246ImxlZnQifSxjaGlsZHJlbjpPLm5hbWV9KSxRKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOlU/IiNhNWI0ZmMiOiIjODg4In0sY2hpbGRyZW46VT9GPyJTdGFydGluZy4uLiI6IkJvb3RpbmcuLi4iOkY/IlN0YXJ0IHN0cmVhbSI6IkJvb3QgJiBzdHJlYW0ifSldfSxPLnVkaWQpfSldfSxWKSldfSldfSl9KX1mdW5jdGlvbiBKOSh7YWN0aXZlOlgscGVuZGluZzpHLG9uQ2xpY2s6Six2YXJpYW50OlksdGl0bGU6cSxjaGlsZHJlbjpafSl7bGV0IF89WT09PSJncmFudCI/IiM0YWRlODAiOlk9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBRKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6Ryx0aXRsZTpxLCJhcmlhLWxhYmVsIjpxLHN0eWxlOnsuLi5DLnBlcm1CdG4sYmFja2dyb3VuZDpYP2Ake199MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6WD9fOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5Okc/MC41OjF9LGNoaWxkcmVuOlp9KX1mdW5jdGlvbiBFOChYLEcpe2lmKFg9PT1HKXJldHVybiEwO2lmKFguaWQhPT1HLmlkfHxYLnBhdGghPT1HLnBhdGh8fFgubGFiZWwhPT1HLmxhYmVsfHxYLnZhbHVlIT09Ry52YWx1ZXx8WC5yb2xlIT09Ry5yb2xlfHxYLnR5cGUhPT1HLnR5cGV8fFguZW5hYmxlZCE9PUcuZW5hYmxlZClyZXR1cm4hMTtsZXQgSj1YLmZyYW1lLFk9Ry5mcmFtZTtyZXR1cm4gSj09PVl8fEoueD09PVkueCYmSi55PT09WS55JiZKLndpZHRoPT09WS53aWR0aCYmSi5oZWlnaHQ9PT1ZLmhlaWdodH12YXIgcTY9bjEoZnVuY3Rpb24oe2VsZW1lbnQ6RyxpbmRleDpKLHNjcmVlbjpZLGhpZ2hsaWdodGVkOnEsc2VsZWN0ZWQ6WixvbkhpZ2hsaWdodDpfLG9uU2VsZWN0OiR9KXtsZXQgej1SMShHKSxMPUM4KEcsSiksQj1WNihHLmZyYW1lLFkpO2lmKCFCKXJldHVybiBudWxsO2xldCBWPUw2KEwpO3JldHVybiBRKCJidXR0b24iLHt0eXBlOiJidXR0b24iLCJkYXRhLWF4LWtleSI6eiwiZGF0YS1heC1pZCI6TC5pZCwiZGF0YS1heC1wYXRoIjpMLnBhdGgsImRhdGEtYXgtbGFiZWwiOkwubGFiZWwsImRhdGEtYXgtdmFsdWUiOkwudmFsdWUsImRhdGEtYXgtcm9sZSI6TC5yb2xlLCJkYXRhLWF4LXR5cGUiOkwudHlwZSwiZGF0YS1heC1lbmFibGVkIjpTdHJpbmcoTC5lbmFibGVkKSwiZGF0YS1heC1mcmFtZSI6UjgoTC5mcmFtZSksImRhdGEtYXgtc2VsZWN0ZWQiOlN0cmluZyhaKSwiYXJpYS1sYWJlbCI6Ry5sYWJlbHx8Vix0aXRsZTpWLG9uQ2xpY2s6KCk9PiQoeiksb25Nb3VzZUVudGVyOigpPT5fKHopLG9uTW91c2VMZWF2ZTooKT0+XyhudWxsKSxzdHlsZTp7Li4uUTAudGFyZ2V0LGxlZnQ6YCR7Qi54L1kud2lkdGgqMTAwfSVgLHRvcDpgJHtCLnkvWS5oZWlnaHQqMTAwfSVgLHdpZHRoOmAke0Iud2lkdGgvWS53aWR0aCoxMDB9JWAsaGVpZ2h0OmAke0IuaGVpZ2h0L1kuaGVpZ2h0KjEwMH0lYCxib3JkZXJDb2xvcjpaPyIjNjBhNWZhIjpxPyIjZmJiZjI0IjoiIzM0ZDM5OSIsYmFja2dyb3VuZDpaPyJyZ2JhKDk2LDE2NSwyNTAsMC4yNCkiOnE/InJnYmEoMjQ1LDE1OCwxMSwwLjI4KSI6InJnYmEoMTYsMTg1LDEyOSwwLjEyKSJ9fSl9LChYLEcpPT5YLmluZGV4PT09Ry5pbmRleCYmWC5oaWdobGlnaHRlZD09PUcuaGlnaGxpZ2h0ZWQmJlguc2VsZWN0ZWQ9PT1HLnNlbGVjdGVkJiZYLm9uSGlnaGxpZ2h0PT09Ry5vbkhpZ2hsaWdodCYmWC5vblNlbGVjdD09PUcub25TZWxlY3QmJlguc2NyZWVuLndpZHRoPT09Ry5zY3JlZW4ud2lkdGgmJlguc2NyZWVuLmhlaWdodD09PUcuc2NyZWVuLmhlaWdodCYmRTgoWC5lbGVtZW50LEcuZWxlbWVudCkpO2Z1bmN0aW9uIFE2KCl7bGV0e3NuYXBzaG90Olh9PV85KCkse2hpZ2hsaWdodGVkS2V5Okcsc2VsZWN0ZWRLZXk6SixzZXRIaWdobGlnaHRlZEtleTpZLHNldFNlbGVjdGVkS2V5OnF9PWs4KCk7aWYoIVg/LnNjcmVlbi53aWR0aHx8IVg/LnNjcmVlbi5oZWlnaHQpcmV0dXJuIG51bGw7cmV0dXJuIFEoImRpdiIse3N0eWxlOlEwLnRhcmdldHMsY2hpbGRyZW46WC5lbGVtZW50cy5tYXAoKFosXyk9PntsZXQgJD1SMShaKTtyZXR1cm4gUShxNix7ZWxlbWVudDpaLGluZGV4Ol8sc2NyZWVuOlguc2NyZWVuLGhpZ2hsaWdodGVkOiQ9PT1HLHNlbGVjdGVkOiQ9PT1KLG9uSGlnaGxpZ2h0Olksb25TZWxlY3Q6cX0sJCl9KX0pfXZhciBfNj1uMShmdW5jdGlvbih7ZWxlbWVudDpHLGluZGV4OkosYWN0aXZlOlksb25IaWdobGlnaHQ6cX0pe2xldCBaPVIxKEcpLF89QzgoRyxKKSwkPWAke01hdGgucm91bmQoRy5mcmFtZS53aWR0aCl9eCR7TWF0aC5yb3VuZChHLmZyYW1lLmhlaWdodCl9YCx6PVtfLmxhYmVsLF8ucm9sZXx8Xy50eXBlfHwiZWxlbWVudCIsJF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiDCtyAiKTtyZXR1cm4gUSgiZGl2Iix7cm9sZToibGlzdGl0ZW0iLHRhYkluZGV4OjAsImRhdGEtYXgta2V5IjpaLHRpdGxlOnosb25Nb3VzZUVudGVyOigpPT5xKFopLG9uTW91c2VMZWF2ZTooKT0+cShudWxsKSxvbkZvY3VzOigpPT5xKFopLG9uQmx1cjooKT0+cShudWxsKSxzdHlsZTp7Li4uUTAubGlzdEl0ZW0sLi4uWT9RMC5saXN0SXRlbUFjdGl2ZTp7fX0sY2hpbGRyZW46W1EoInNwYW4iLHtzdHlsZTpRMC5pdGVtVGV4dCxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOlEwLml0ZW1MYWJlbCxjaGlsZHJlbjpHLmxhYmVsfHxHLnJvbGV8fCJVbmxhYmVsZWQifSksUSgic3BhbiIse3N0eWxlOlEwLml0ZW1NZXRhLGNoaWxkcmVuOkcucm9sZXx8Ry50eXBlfHwiZWxlbWVudCJ9KV19KSxRKCJjb2RlIix7c3R5bGU6UTAuaXRlbVNpemUsY2hpbGRyZW46JH0pXX0pfSwoWCxHKT0+WC5pbmRleD09PUcuaW5kZXgmJlguYWN0aXZlPT09Ry5hY3RpdmUmJlgub25IaWdobGlnaHQ9PT1HLm9uSGlnaGxpZ2h0JiZFOChYLmVsZW1lbnQsRy5lbGVtZW50KSk7ZnVuY3Rpb24gJDYoe292ZXJsYXlFbmFibGVkOlgsb25Ub2dnbGVPdmVybGF5Okd9KXtsZXR7c25hcHNob3Q6Sn09XzkoKSx7aGlnaGxpZ2h0ZWRLZXk6WSxzZXRIaWdobGlnaHRlZEtleTpxfT1rOCgpLFo9Sj8uZWxlbWVudHM/P1tdLF89QTgoSiksJD1KPy5lcnJvcnM/LlswXT8/bnVsbDtyZXR1cm4gUSgiZGl2Iix7c3R5bGU6ey4uLkMuc2VjdGlvbixwYWRkaW5nOiI4cHggMTJweCJ9LGNoaWxkcmVuOltRKCJkaXYiLHtzdHlsZTpRMC5wYW5lbEhlYWRlcixjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOnsuLi5DLnNlY3Rpb25UaXRsZSxtYXJnaW46MH0sY2hpbGRyZW46IkFYIFRyZWUifSksUSgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOkcsImFyaWEtcHJlc3NlZCI6WCxzdHlsZTpRMC5vdmVybGF5VG9nZ2xlLGNoaWxkcmVuOlg/Ik92ZXJsYXkgb24iOiJFbmFibGUgb3ZlcmxheSJ9KV19KSwhWD9udWxsOl8/USgiZGl2Iix7c3R5bGU6ey4uLkMuZW1wdHkscGFkZGluZzoxMn0sY2hpbGRyZW46WyJBWCB1bmF2YWlsYWJsZToiLCIgIixRKCJhIix7aHJlZjpKOCxzdHlsZTpRMC5lbXB0eUxpbmssY2hpbGRyZW46Imluc3RhbGwgQVhlIn0pXX0pOloubGVuZ3RoPT09MD9RKCJkaXYiLHtzdHlsZTp7Li4uQy5lbXB0eSxwYWRkaW5nOjEyfSxjaGlsZHJlbjokPz8iV2FpdGluZyBmb3IgYWNjZXNzaWJpbGl0eSBkYXRh4oCmIn0pOlEoImRpdiIse3N0eWxlOlEwLmxpc3Qscm9sZToibGlzdCIsY2hpbGRyZW46Wi5tYXAoKHosTCk9PntsZXQgQj1SMSh6KTtyZXR1cm4gUShfNix7ZWxlbWVudDp6LGluZGV4OkwsYWN0aXZlOkI9PT1ZLG9uSGlnaGxpZ2h0OnF9LEIpfSl9KV19KX1mdW5jdGlvbiBDOChYLEcpe2xldCBKPVgubGFiZWx8fFgucm9sZXx8YGVsZW1lbnQgJHtHKzF9YCxZPVgucm9sZXx8WC50eXBlO3JldHVybntpZDpYLmlkLHBhdGg6WC5wYXRoLGxhYmVsOkosdmFsdWU6WC52YWx1ZSxyb2xlOlksdHlwZTpYLnR5cGUsZW5hYmxlZDpYLmVuYWJsZWQsZnJhbWU6WC5mcmFtZX19ZnVuY3Rpb24gVjYoWCxHKXtsZXQgSj1NYXRoLm1heCgwLFgueCksWT1NYXRoLm1heCgwLFgueSkscT1NYXRoLm1pbihHLndpZHRoLFgueCtYLndpZHRoKSxaPU1hdGgubWluKEcuaGVpZ2h0LFgueStYLmhlaWdodCksXz1NYXRoLm1heCgwLHEtSiksJD1NYXRoLm1heCgwLFotWSk7cmV0dXJuIF8+MCYmJD4wP3t4OkoseTpZLHdpZHRoOl8saGVpZ2h0OiR9Om51bGx9ZnVuY3Rpb24gUjEoWCl7cmV0dXJuIFguaWR9ZnVuY3Rpb24gTDYoWCl7cmV0dXJuW2BBWCBsYWJlbDogJHtYLmxhYmVsfHwiVW5sYWJlbGVkIn1gLFgucm9sZT9gcm9sZTogJHtYLnJvbGV9YDoiIixYLnR5cGU/YHR5cGU6ICR7WC50eXBlfWA6IiIsWC52YWx1ZT9gdmFsdWU6ICR7WC52YWx1ZX1gOiIiLFguaWQ/YGlkOiAke1guaWR9YDoiIixgcGF0aDogJHtYLnBhdGh9YCxgZnJhbWU6ICR7UjgoWC5mcmFtZSl9YF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIjsgIil9ZnVuY3Rpb24gUjgoWCl7cmV0dXJuYCR7WC54fSwke1gueX0gJHtYLndpZHRofXgke1guaGVpZ2h0fWB9ZnVuY3Rpb24gejYoe292ZXJsYXlFbmFibGVkOlgsc3RyZWFtaW5nOkcsb25Ub2dnbGVPdmVybGF5Okp9KXtsZXR7c3RhdHVzOll9PV85KCksW3EsWl09ayghMSk7cmV0dXJuIFEoSjAuQnV0dG9uLHsiYXJpYS1sYWJlbCI6WD8iSGlkZSBhY2Nlc3NpYmlsaXR5IG92ZXJsYXkiOiJTaG93IGFjY2Vzc2liaWxpdHkgb3ZlcmxheSIsImFyaWEtcHJlc3NlZCI6WCx0aXRsZTpZLG9uQ2xpY2s6Sixvbk1vdXNlRW50ZXI6KCk9PlooITApLG9uTW91c2VMZWF2ZTooKT0+WighMSksc3R5bGU6WCYmRz97Li4uUTAudG9vbGJhckJ1dHRvbkFjdGl2ZSwuLi5xP1EwLnRvb2xiYXJCdXR0b25BY3RpdmVIb3Zlcjp7fX06dm9pZCAwLGNoaWxkcmVuOlEoInN2ZyIse3dpZHRoOiIxOSIsaGVpZ2h0OiIxOSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJwYXRoIix7ZDoiTTMgOFY1YTIgMiAwIDAgMSAyLTJoMyJ9KSxRKCJwYXRoIix7ZDoiTTE2IDNoM2EyIDIgMCAwIDEgMiAydjMifSksUSgicGF0aCIse2Q6Ik0yMSAxNnYzYTIgMiAwIDAgMS0yIDJoLTMifSksUSgicGF0aCIse2Q6Ik04IDIxSDVhMiAyIDAgMCAxLTItMnYtMyJ9KSxRKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMy41In0pXX0pfSl9ZnVuY3Rpb24gVzYoe29wZW46WCxvbkNsb3NlOkcsdWRpZDpKLGN1cnJlbnRBcHA6WSxheE92ZXJsYXlFbmFibGVkOnEsb25Ub2dnbGVBeE92ZXJsYXk6Wn0pe3JldHVybiBRKCJhc2lkZSIse3N0eWxlOnsuLi5DLnBhbmVsLHRyYW5zZm9ybTpYPyJ0cmFuc2xhdGVYKDApIjoidHJhbnNsYXRlWChjYWxjKDEwMCUgKyAyNHB4KSkiLG9wYWNpdHk6WD8xOjAscG9pbnRlckV2ZW50czpYPyJhdXRvIjoibm9uZSJ9LCJhcmlhLWhpZGRlbiI6IVgsY2hpbGRyZW46W1EoImhlYWRlciIse3N0eWxlOkMuaGVhZGVyLGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6Qy5oZWFkZXJUaXRsZSxjaGlsZHJlbjoiVG9vbHMifSksUSgiYnV0dG9uIix7b25DbGljazpHLHN0eWxlOkMuY2xvc2VCdG4sImFyaWEtbGFiZWwiOiJDbG9zZSBwYW5lbCIsY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjE2IixoZWlnaHQ6IjE2Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoImxpbmUiLHt4MToiMTgiLHkxOiI2Iix4MjoiNiIseTI6IjE4In0pLFEoImxpbmUiLHt4MToiNiIseTE6IjYiLHgyOiIxOCIseTI6IjE4In0pXX0pfSldfSksWCYmUSgiZGl2Iix7c3R5bGU6Qy5ib2R5LGNoaWxkcmVuOltRKCQ2LHtvdmVybGF5RW5hYmxlZDpxLG9uVG9nZ2xlT3ZlcmxheTpafSksUShHNix7dWRpZDpKLGN1cnJlbnRBcHA6WX0pLFEoWTYse3VkaWQ6SixidW5kbGVJZDpZPy5idW5kbGVJZD8/bnVsbH0pXX0pXX0pfXZhciBLNj17d2lkdGg6IjEwMCUiLG1heFdpZHRoOjM2MCxtYXJnaW5Ub3A6OCxiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixib3JkZXJSYWRpdXM6MTAscGFkZGluZzo0LGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixmb250U2l6ZToxMyxjb2xvcjoiI2VlZSIsdGV4dEFsaWduOiJsZWZ0IixtYXhIZWlnaHQ6IjcwdmgiLG92ZXJmbG93WToiYXV0byIsbWluSGVpZ2h0OjB9O2Z1bmN0aW9uIEg2KCl7bGV0IFg9d2luZG93Ll9fU0lNX1BSRVZJRVdfXyxbRyxKXT1rKCExKSxbWSxxXT1rKFtdKSxbWixfXT1rKCExKSxbJCx6XT1rKG51bGwpLFtMLEJdPWsobmV3IFNldCksW1YsSF09ayghMSksW08sVV09ayghMSksUD1SKGFzeW5jKCk9PntfKCEwKSx6KG51bGwpO3RyeXtsZXQgSz1hd2FpdCBxMCgieGNydW4gc2ltY3RsIGxpc3QgZGV2aWNlcyBhdmFpbGFibGUgLWoiKTtpZihLLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihLLnN0ZGVycnx8InNpbWN0bCBsaXN0IGZhaWxlZCIpO3EobDQoSy5zdGRvdXQpKX1jYXRjaChLKXt6KEsgaW5zdGFuY2VvZiBFcnJvcj9LLm1lc3NhZ2U6IkZhaWxlZCB0byBsaXN0IGRldmljZXMiKX1maW5hbGx5e18oITEpfX0sW10pO2lmKGooKCk9PntQKCl9LFtQXSksaigoKT0+e2lmKCFYPy5sb2dzRW5kcG9pbnQpcmV0dXJuO2xldCBLPW5ldyBFdmVudFNvdXJjZShYLmxvZ3NFbmRwb2ludCksVD1uZXcgTWFwLFM9WyIjOGJlOWZkIiwiIzUwZmE3YiIsIiNmZmI4NmMiLCIjZmY3OWM2IiwiI2JkOTNmOSIsIiNmMWZhOGMiLCIjNjI3MmE0IiwiI2ZmNTU1NSIsIiM2OWZmOTQiLCIjZDZhY2ZmIiwiI2ZmZmZhNSIsIiNhNGZmZmYiLCIjZmY2ZTZlIiwiI2NhYTlmYSIsIiM1YWY3OGUiXTtmdW5jdGlvbiB2KFcwKXtsZXQgcD1ULmdldChXMCk7aWYoIXApe2xldCBnPTA7Zm9yKGxldCBZMD0wO1kwPFcwLmxlbmd0aDtZMCsrKWc9KGc8PDUpLWcrVzAuY2hhckNvZGVBdChZMCl8MDtwPVNbTWF0aC5hYnMoZyklUy5sZW5ndGhdLFQuc2V0KFcwLHApfXJldHVybiBwfWxldCB1PSIiLGk9ITE7cmV0dXJuIEsub25tZXNzYWdlPShXMCk9Pnt0cnl7bGV0IHA9SlNPTi5wYXJzZShXMC5kYXRhKSxnPXAucHJvY2Vzc0ltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/cC5zZW5kZXJJbWFnZVBhdGg/LnNwbGl0KCIvIikucG9wKCk/PyIiLFkwPXAuc3Vic3lzdGVtPz8iIixTMD1wLmNhdGVnb3J5Pz8iIixLMD1wLmV2ZW50TWVzc2FnZT8/IiI7aWYoIUswKXJldHVybjtpZihnIT09dSl7aWYoaSljb25zb2xlLmdyb3VwRW5kKCk7bGV0IFoxPXYoZyk7Y29uc29sZS5ncm91cENvbGxhcHNlZChgJWMke2d9JHtZMD9gICVjJHtZMH0ke1MwPyI6IitTMDoiIn1gOiIifWAsYGNvbG9yOiR7WjF9O2ZvbnQtd2VpZ2h0OmJvbGRgLC4uLlkwP1siY29sb3I6Izg4ODtmb250LXdlaWdodDpub3JtYWwiXTpbXSksaT0hMCx1PWd9bGV0IG0wPShwLm1lc3NhZ2VUeXBlPz8iIikudG9Mb3dlckNhc2UoKSx2MD1ZMCYmZz09PXU/YCVjJHtTMHx8WTB9JWMgYDoiIix3MD12MD9bImNvbG9yOiM4ODg7Zm9udC1zdHlsZTppdGFsaWMiLCJjb2xvcjppbmhlcml0Il06W107aWYobTA9PT0iZmF1bHQifHxtMD09PSJlcnJvciIpY29uc29sZS5sb2coYCR7djB9JWMke0swfWAsLi4udzAsImNvbG9yOiNmZjU1NTUiKTtlbHNlIGlmKG0wPT09ImRlYnVnIiljb25zb2xlLmxvZyhgJHt2MH0lYyR7SzB9YCwuLi53MCwiY29sb3I6IzYyNzJhNCIpO2Vsc2UgY29uc29sZS5sb2coYCR7djB9JWMke0swfWAsLi4udzAsImNvbG9yOmluaGVyaXQiKX1jYXRjaHt9fSwoKT0+e2lmKGkpY29uc29sZS5ncm91cEVuZCgpO0suY2xvc2UoKX19LFtYPy5sb2dzRW5kcG9pbnRdKSwhWClyZXR1cm4gUShaNix7ZGV2aWNlczpZLGxvYWRpbmc6WixlcnJvcjokLG9uUmVmcmVzaDpQfSk7bGV0IEY9WS5maW5kKChLKT0+Sy51ZGlkPT09WC5kZXZpY2UpPz9udWxsO2ooKCk9Pntkb2N1bWVudC50aXRsZT1GPy5uYW1lP2BTaW11bGF0b3IgLSAke0YubmFtZX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtGPy5uYW1lXSk7bGV0IEE9ZDAoRj8ubmFtZSksST1wNChYLnN0cmVhbVVybCksW3MsaF09ayhudWxsKSxjPXM/P0kuY29uZmlnPz9NMShBLEY/Lm5hbWUpLGU9dzEoQSxjKSxuPUExKEEsYyksXzA9STEoYyksZj1iKG51bGwpO2ooKCk9PntsZXQgSz0hMSxUPW51bGwsUz1udWxsLHY9KCk9PntpZihLfHxUKXJldHVybjtUPXNldFRpbWVvdXQoKCk9PntUPW51bGwsdSgpfSwxMDAwKX0sdT0oKT0+e2xldCBpPW5ldyBXZWJTb2NrZXQoWC53c1VybCk7aS5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsUz1pLGYuY3VycmVudD1pLGkub25jbG9zZT0oKT0+e2lmKGYuY3VycmVudD09PWkpZi5jdXJyZW50PW51bGw7digpfSxpLm9uZXJyb3I9KCk9PntpLmNsb3NlKCl9fTtyZXR1cm4gdSgpLCgpPT57aWYoSz0hMCxUKWNsZWFyVGltZW91dChUKTtpZihmLmN1cnJlbnQ9PT1TKWYuY3VycmVudD1udWxsO1M/LmNsb3NlKCl9fSxbWC53c1VybF0pO2xldCB5PVIoKEssVCk9PntsZXQgUz1mLmN1cnJlbnQ7aWYoIVN8fFMucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgdj1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoVCkpLHU9bmV3IFVpbnQ4QXJyYXkoMSt2Lmxlbmd0aCk7dVswXT1LLHUuc2V0KHYsMSksUy5zZW5kKHUpfSxbXSksZD1SKChLKT0+eSgzLEspLFt5XSksWTE9UigoSyk9PnkoNSxLKSxbeV0pLGMwPVIoKEspPT55KDQse2J1dHRvbjpLfSksW3ldKSxSMD1SKChLKT0+e2goKFQpPT5UJiZULndpZHRoPT09Sy53aWR0aCYmVC5oZWlnaHQ9PT1LLmhlaWdodCYmVC5vcmllbnRhdGlvbj09PUsub3JpZW50YXRpb24/VDpLKX0sW10pLGIxPVIoKEspPT57eSg3LHtvcmllbnRhdGlvbjpLfSl9LFt5XSk7aigoKT0+e2gobnVsbCl9LFtYLnN0cmVhbVVybF0pLGooKCk9PntsZXQgSz1JLmNvbmZpZztpZighSylyZXR1cm47aCgoVCk9PlQmJlQud2lkdGg9PT1LLndpZHRoJiZULmhlaWdodD09PUsuaGVpZ2h0JiZULm9yaWVudGF0aW9uPT09Sy5vcmllbnRhdGlvbj9UOm51bGwpfSxbSS5jb25maWc/LndpZHRoLEkuY29uZmlnPy5oZWlnaHQsSS5jb25maWc/Lm9yaWVudGF0aW9uXSk7bGV0IFAwPVIoKEssVCk9Pnt5KDYse3R5cGU6Syx1c2FnZTpUfSl9LFt5XSksW2wwLFUwXT1rKG51bGwpLFtoMCxnMF09ayghMSksW0wwLGEwXT1rKCgpPT50eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cuaW5uZXJXaWR0aDowKTtqKCgpPT57bGV0IEs9KCk9PmEwKHdpbmRvdy5pbm5lcldpZHRoKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSyksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLEspfSxbXSksaigoKT0+e2xldCBLPW5ldyBFdmVudFNvdXJjZShYLmFwcFN0YXRlRW5kcG9pbnQ/P1E5KCJhcHBzdGF0ZSIpKSxUPW51bGw7cmV0dXJuIEsub25tZXNzYWdlPShTKT0+e3RyeXtsZXQgdj1KU09OLnBhcnNlKFMuZGF0YSk7aWYoVCljbGVhclRpbWVvdXQoVCk7bGV0IHU9dj8uaXNSZWFjdE5hdGl2ZT8wOjYwMDtUPXNldFRpbWVvdXQoKCk9PlUwKHYpLHUpfWNhdGNoe319LCgpPT57aWYoVCljbGVhclRpbWVvdXQoVCk7Sy5jbG9zZSgpfX0sW1guYXBwU3RhdGVFbmRwb2ludF0pO2xldCBJMD1SKGFzeW5jKCk9PntQMCgiZG93biIsMjI3KSxhd2FpdCBuZXcgUHJvbWlzZSgoUyk9PnNldFRpbWVvdXQoUywzMCkpLFAwKCJkb3duIiwyMSksYXdhaXQgbmV3IFByb21pc2UoKFMpPT5zZXRUaW1lb3V0KFMsMzApKSxQMCgidXAiLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgoUyk9PnNldFRpbWVvdXQoUywzMCkpLFAwKCJ1cCIsMjI3KX0sW1AwXSksaTA9YihudWxsKSxbTTAsQTBdPWsoITApLFgwPWIoITApO1gwLmN1cnJlbnQ9TTA7bGV0IGIwPWIobmV3IFNldCk7aigoKT0+e2xldCBLPShUKT0+e2xldCBTPSEhaTAuY3VycmVudD8uY29udGFpbnMoVC50YXJnZXQpO0EwKFMpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEssITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSywhMCl9LFtdKSxqKCgpPT57aWYoTTApcmV0dXJuO2xldCBLPWIwLmN1cnJlbnQ7aWYoSy5zaXplPT09MClyZXR1cm47Zm9yKGxldCBUIG9mIEspeSg2LHt0eXBlOiJ1cCIsdXNhZ2U6VH0pO0suY2xlYXIoKX0sW00wLHldKSxqKCgpPT57bGV0IEs9KHYsdSk9PntpZighWDAuY3VycmVudClyZXR1cm47aWYodi5jb2RlPT09IktleUgiJiZ2Lm1ldGFLZXkmJnYuc2hpZnRLZXkpe2lmKHYucHJldmVudERlZmF1bHQoKSx1PT09ImRvd24iJiYhdi5yZXBlYXQpeSg0LHtidXR0b246ImhvbWUifSk7cmV0dXJufWlmKHYuY29kZT09PSJLZXlBIiYmdi5tZXRhS2V5JiZ2LnNoaWZ0S2V5KXtpZih2LnByZXZlbnREZWZhdWx0KCksdT09PSJkb3duIiYmIXYucmVwZWF0KXEwKGB4Y3J1biBzaW1jdGwgdWkgJHtYLmRldmljZX0gYXBwZWFyYW5jZWApLnRoZW4oKFcwKT0+e2xldCBwPVcwLnN0ZG91dC50cmltKCk9PT0iZGFyayI/ImxpZ2h0IjoiZGFyayI7cmV0dXJuIHEwKGB4Y3J1biBzaW1jdGwgdWkgJHtYLmRldmljZX0gYXBwZWFyYW5jZSAke3B9YCl9KS5jYXRjaCgoKT0+e30pO3JldHVybn1sZXQgaT1kNCh2LmNvZGUpO2lmKGk9PW51bGwpcmV0dXJuO2lmKHYucHJldmVudERlZmF1bHQoKSx1PT09ImRvd24iKWIwLmN1cnJlbnQuYWRkKGkpO2Vsc2UgYjAuY3VycmVudC5kZWxldGUoaSk7eSg2LHt0eXBlOnUsdXNhZ2U6aX0pfSxUPSh2KT0+Syh2LCJkb3duIiksUz0odik9PksodiwidXAiKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLFQpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsUyksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsVCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixTKX19LFt5LFguZGV2aWNlXSk7bGV0IHowPVIoYXN5bmMoSyk9PntpZihWfHxLLnVkaWQ9PT1YLmRldmljZSlyZXR1cm47SCghMCk7dHJ5e2lmKEsuc3RhdGUhPT0iQm9vdGVkIilhd2FpdCBxMChgeGNydW4gc2ltY3RsIGJvb3QgJHtLLnVkaWR9YCk7bGV0IFQ9YXdhaXQgcTAoYGJ1bnggc2VydmUtc2ltIC0tZGV0YWNoICR7Sy51ZGlkfWApO2lmKFQuZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFQuc3RkZXJyfHwiRmFpbGVkIHRvIHN0YXJ0IHNlcnZlLXNpbSIpO2xldCBTPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1Muc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIixLLnVkaWQpLHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oUy50b1N0cmluZygpKX1jYXRjaHtIKCExKX19LFtWLFguZGV2aWNlXSksRDA9bjQoKSxvMD1lNCh7ZXhlYzpxMCx1ZGlkOlguZGV2aWNlLGVuYWJsZWQ6RyxvblVwbG9hZFN0YXJ0OkQwLmFkZCxvblVwbG9hZEVuZDooSyxULFMpPT5EMC51cGRhdGUoSyx7c3RhdHVzOlQ/InN1Y2Nlc3MiOiJlcnJvciIsbWVzc2FnZTpTfSksb25VbnN1cHBvcnRlZDooSyk9PntsZXQgVD1EMC5hZGQoSy5uYW1lLCJtZWRpYSIpO0QwLnVwZGF0ZShULHtzdGF0dXM6ImVycm9yIixtZXNzYWdlOmBVbnN1cHBvcnRlZDogJHtLLnR5cGV8fCQ5KEspfWB9KX19KSwkMD1SKGFzeW5jKEspPT57QigoVCk9Pm5ldyBTZXQoVCkuYWRkKEspKTt0cnl7YXdhaXQgcTAoYHhjcnVuIHNpbWN0bCBzaHV0ZG93biAke0t9YCksYXdhaXQgUCgpfWZpbmFsbHl7QigoVCk9PntsZXQgUz1uZXcgU2V0KFQpO3JldHVybiBTLmRlbGV0ZShLKSxTfSl9fSxbUF0pLGowPXk4KzI0LEcwPWgwJiZMMD49bitqMCs2ND9qMDowO3JldHVybiBRKGM0LHtlbmRwb2ludDpPP1g/LmF4RW5kcG9pbnQ6dm9pZCAwLGNoaWxkcmVuOlEoImRpdiIse3N0eWxlOnsuLi5aMC5wYWdlLHBhZGRpbmdSaWdodDoyNCtHMCx0cmFuc2l0aW9uOiJwYWRkaW5nLXJpZ2h0IDAuMjVzIGVhc2UifSxjaGlsZHJlbjpbUSgiZGl2Iix7c3R5bGU6ey4uLlowLnNpbXVsYXRvclN0YWNrLG1heFdpZHRoOm59LGNoaWxkcmVuOltRKEowLHtleGVjOnEwLG9uUm90YXRlOmIxLG9yaWVudGF0aW9uOmMub3JpZW50YXRpb24/P251bGwsZGV2aWNlVWRpZDpYLmRldmljZSxkZXZpY2VOYW1lOkY/Lm5hbWU/P251bGwsZGV2aWNlUnVudGltZTpGPy5ydW50aW1lPz9udWxsLHN0cmVhbWluZzpHLGNoaWxkcmVuOltRKGE0LHtkZXZpY2VzOlksc2VsZWN0ZWRVZGlkOlguZGV2aWNlLGxvYWRpbmc6WixlcnJvcjokLHN0b3BwaW5nVWRpZHM6TCxvblJlZnJlc2g6UCxvblNlbGVjdDp6MCxvblN0b3A6JDAsdHJpZ2dlcjpRKEowLlRpdGxlLHt9KX0pLFEoSjAuQWN0aW9ucyx7Y2hpbGRyZW46W2wwPy5pc1JlYWN0TmF0aXZlJiZRKEowLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoQ21kK1IpIixvbkNsaWNrOigpPT52b2lkIEkwKCksY2hpbGRyZW46USgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1EoInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgMy41LTcuMSJ9KSxRKCJwb2x5bGluZSIse3BvaW50czoiMyAzIDMgOSA5IDkifSldfSl9KSxRKEowLkhvbWVCdXR0b24se29uQ2xpY2s6KEspPT57Sy5wcmV2ZW50RGVmYXVsdCgpLGMwKCJob21lIil9fSksUSh6Nix7b3ZlcmxheUVuYWJsZWQ6TyxzdHJlYW1pbmc6RyxvblRvZ2dsZU92ZXJsYXk6KCk9PlUoKEspPT4hSyl9KSxRKEowLlJvdGF0ZUJ1dHRvbix7dGl0bGU6IlJvdGF0ZSBkZXZpY2UifSldfSldfSksUSgiZGl2Iix7cmVmOmkwLHN0eWxlOnttYXhXaWR0aDpuLG1heEhlaWdodDoiMTAwJSIsd2lkdGg6IjEwMCUiLGFzcGVjdFJhdGlvOl8wLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LC4uLm8wLmRyb3Bab25lUHJvcHMsY2hpbGRyZW46W1EoVTEse3VybDpYLnVybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIn0saW1hZ2VTdHlsZTp7Ym9yZGVyUmFkaXVzOmUsY29ybmVyU2hhcGU6InN1cGVyZWxsaXBzZSgxLjMpIn0saGlkZUNvbnRyb2xzOiEwLG9uU3RyZWFtaW5nQ2hhbmdlOkosb25TdHJlYW1Ub3VjaDpkLG9uU3RyZWFtTXVsdGlUb3VjaDpZMSxvblN0cmVhbUJ1dHRvbjpjMCxzdWJzY3JpYmVGcmFtZTpJLnN1YnNjcmliZUZyYW1lLHN0cmVhbUZyYW1lOkkuZnJhbWUsc3RyZWFtQ29uZmlnOmMsb25TY3JlZW5Db25maWdDaGFuZ2U6UjB9KSxPJiZRKFE2LHt9KSxvMC5pc0RyYWdPdmVyJiZRKCJkaXYiLHtzdHlsZTp7Li4uWjAuZHJvcE92ZXJsYXksYm9yZGVyUmFkaXVzOmV9LGNoaWxkcmVuOltRKCJzdmciLHt3aWR0aDoiMzIiLGhlaWdodDoiMzIiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltRKCJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQifSksUSgicG9seWxpbmUiLHtwb2ludHM6IjE3IDggMTIgMyA3IDgifSksUSgibGluZSIse3gxOiIxMiIseTE6IjMiLHgyOiIxMiIseTI6IjE1In0pXX0pLFEoInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTMsZm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOiJEcm9wIG1lZGlhIG9yIC5pcGEifSldfSldfSldfSksRDAudG9hc3RzLmxlbmd0aD4wJiZRKCJkaXYiLHtzdHlsZTpaMC50b2FzdFN0YWNrLGNoaWxkcmVuOkQwLnRvYXN0cy5tYXAoKEspPT5RKCJkaXYiLHtzdHlsZTpaMC50b2FzdCxjaGlsZHJlbjpbUSgic3BhbiIse3N0eWxlOnsuLi5aMC5kb3QsYmFja2dyb3VuZDpLLnN0YXR1cz09PSJ1cGxvYWRpbmciPyIjYTViNGZjIjpLLnN0YXR1cz09PSJzdWNjZXNzIj8iIzRhZGU4MCI6IiNmODcxNzEifX0pLFEoInNwYW4iLHtzdHlsZTp7ZmxleDoxLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOltLLnN0YXR1cz09PSJ1cGxvYWRpbmciJiYoSy5raW5kPT09ImlwYSI/YEluc3RhbGxpbmcgJHtLLm5hbWV94oCmYDpgVXBsb2FkaW5nICR7Sy5uYW1lfeKApmApLEsuc3RhdHVzPT09InN1Y2Nlc3MiJiYoSy5raW5kPT09ImlwYSI/YEluc3RhbGxlZCAke0submFtZX1gOmBBZGRlZCAke0submFtZX0gdG8gUGhvdG9zYCksSy5zdGF0dXM9PT0iZXJyb3IiJiZgJHtLLm5hbWV9OiAke0subWVzc2FnZT8/IlVwbG9hZCBmYWlsZWQifWBdfSldfSxLLmlkKSl9KSxRKCJidXR0b24iLHtvbkNsaWNrOigpPT5nMCgoSyk9PiFLKSxzdHlsZTp7Li4uQy50b2dnbGUsb3BhY2l0eTpoMD8wOjEscG9pbnRlckV2ZW50czpoMD8ibm9uZSI6ImF1dG8ifSwiYXJpYS1sYWJlbCI6Ik9wZW4gdG9vbHMgcGFuZWwiLHRpdGxlOiJPcGVuIHRvb2xzIixjaGlsZHJlbjpRKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjc1IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbUSgicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxNiIscng6IjIuNSJ9KSxRKCJsaW5lIix7eDE6IjE1Iix5MToiNCIseDI6IjE1Iix5MjoiMjAifSldfSl9KSxRKFc2LHtvcGVuOmgwLG9uQ2xvc2U6KCk9PmcwKCExKSx1ZGlkOlguZGV2aWNlLGN1cnJlbnRBcHA6bDAsYXhPdmVybGF5RW5hYmxlZDpPLG9uVG9nZ2xlQXhPdmVybGF5OigpPT5VKChLKT0+IUspfSksUSgiZGl2Iix7c3R5bGU6WjAuYmFyLGNoaWxkcmVuOlEoInNwYW4iLHtzdHlsZTp7Li4uWjAubGl2ZSxjb2xvcjpHPyIjNGFkZTgwIjoiIzY2NiJ9LGNoaWxkcmVuOltRKCJzcGFuIix7c3R5bGU6ey4uLlowLmRvdCxiYWNrZ3JvdW5kOkc/IiM0YWRlODAiOiIjNjY2In19KSxHPyJsaXZlIjoiY29ubmVjdGluZyJdfSl9KV19KX0pfXZhciBaMD17cGFnZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGhlaWdodDoiMTAwdmgiLGJhY2tncm91bmQ6IiMwYTBhMGEiLHBhZGRpbmc6MjQsZ2FwOjEyLGZvbnRGYW1pbHk6Ii1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZiIsYm94U2l6aW5nOiJib3JkZXItYm94In0sc2ltdWxhdG9yU3RhY2s6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIsd2lkdGg6IjEwMCUiLG1pbldpZHRoOjAsdHJhbnNpdGlvbjoibWF4LXdpZHRoIDAuMjVzIGVhc2UifSxiYXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixjb2xvcjoiIzY2NiJ9LGxpdmU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjUsdHJhbnNpdGlvbjoiY29sb3IgMC4zcyJ9LGRvdDp7d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjNzIn0sZW1wdHk6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIsdGV4dEFsaWduOiJjZW50ZXIifSxlbXB0eVRpdGxlOntmb250U2l6ZToxOCxtYXJnaW46MCxjb2xvcjoiI2VlZSJ9LGVtcHR5SGludDp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0LG1heFdpZHRoOjQ4MH0sY29kZTp7YmFja2dyb3VuZDoiIzIyMiIscGFkZGluZzoiMnB4IDZweCIsYm9yZGVyUmFkaXVzOjQsZm9udFNpemU6MTN9LGRyb3BPdmVybGF5Ontwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDo4LGJvcmRlcjoiMnB4IGRhc2hlZCAjYTViNGZjIixiYWNrZ3JvdW5kOiJyZ2JhKDk5LDEwMiwyNDEsMC4xMikiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDJweCkiLGNvbG9yOiIjYTViNGZjIixwb2ludGVyRXZlbnRzOiJub25lIix6SW5kZXg6MjB9LHRvYXN0U3RhY2s6e3Bvc2l0aW9uOiJmaXhlZCIsYm90dG9tOjE2LHJpZ2h0OjE2LGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjYsbWF4V2lkdGg6MzIwLHpJbmRleDozMH0sdG9hc3Q6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czo4LGNvbG9yOiIjZWVlIixmb250U2l6ZToxMixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsYm94U2hhZG93OiIwIDRweCAxMnB4IHJnYmEoMCwwLDAsMC40KSJ9fSxENj17cG9zaXRpb246ImFic29sdXRlIix0b3A6ImNhbGMoMTAwJSArIDZweCkiLGxlZnQ6MCxtaW5XaWR0aDoyNjAsbWF4SGVpZ2h0OjM2MCxvdmVyZmxvd1k6ImF1dG8iLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjQsYm94U2hhZG93OiIwIDhweCAyNHB4IHJnYmEoMCwwLDAsMC41KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGZvbnRTaXplOjEzLGNvbG9yOiIjZWVlIix6SW5kZXg6MjB9LGI4PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI2cHggMTBweCIsZm9udFNpemU6MTEsY29sb3I6IiNhYWEifSxqOD17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNhNWI0ZmMiLGZvbnRTaXplOjExLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzowfSxaOT17cGFkZGluZzoiNnB4IDEwcHgiLGNvbG9yOiIjZjg3MTcxIixmb250U2l6ZToxMX0scTk9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiNnB4IDEwcHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjE1cyJ9LE82PXtoZWlnaHQ6MSxiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixtYXJnaW46IjRweCAwIn0sUzg9e3BhZGRpbmc6MTIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40KSIsZm9udFNpemU6MTEsdGV4dEFsaWduOiJjZW50ZXIifSx2OD17cGFkZGluZzoiNnB4IDEwcHggMnB4Iixmb250U2l6ZToxMCxmb250V2VpZ2h0OjYwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6IjAuMDhlbSJ9LHk4PTMyMCxDPXt0b2dnbGU6e3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjE2LHJpZ2h0OjE2LHdpZHRoOjMwLGhlaWdodDozMCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGJvcmRlclJhZGl1czo2LGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNikiLGN1cnNvcjoicG9pbnRlciIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlIix6SW5kZXg6NDB9LHBhbmVsOntwb3NpdGlvbjoiZml4ZWQiLHRvcDoxMixyaWdodDoxMixib3R0b206MTIsd2lkdGg6eTgsYmFja2dyb3VuZDoicmdiYSgyMCwyMCwyMiwwLjkyKSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsYm9yZGVyUmFkaXVzOjE0LGNvbG9yOiIjZWVlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLG92ZXJmbG93OiJoaWRkZW4iLHRyYW5zaXRpb246InRyYW5zZm9ybSAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSIsYm94U2hhZG93OiIwIDEycHggNDBweCByZ2JhKDAsMCwwLDAuNTUpIixiYWNrZHJvcEZpbHRlcjoiYmx1cigxOHB4KSIsV2Via2l0QmFja2Ryb3BGaWx0ZXI6ImJsdXIoMThweCkiLGZvbnRGYW1pbHk6Ii1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZiIsekluZGV4OjM1fSxoZWFkZXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjZweCAxMHB4IDZweCAxMnB4In0saGVhZGVyVGl0bGU6e2ZvbnRTaXplOjExLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIn0sY2xvc2VCdG46e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiIjYWFhIixjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6NCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJvcmRlclJhZGl1czo0fSxib2R5OntwYWRkaW5nOjE0LG92ZXJmbG93WToiYXV0byIsZmxleDoxLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEyfSxzZWN0aW9uVGl0bGU6e2ZvbnRTaXplOjExLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbGV0dGVyU3BhY2luZzoiMC4wOGVtIixtYXJnaW46IjAgMCAxMHB4In0sc2VjdGlvbjp7YmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6MTJ9LGVtcHR5OntiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBkYXNoZWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpIixib3JkZXJSYWRpdXM6MTAscGFkZGluZzoxNixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIixmb250U2l6ZToxMix0ZXh0QWxpZ246ImNlbnRlciJ9LGFwcEhlYWRlcjp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIsbWFyZ2luQm90dG9tOjEwfSxhcHBJY29uOnt3aWR0aDo0NCxoZWlnaHQ6NDQsYm9yZGVyUmFkaXVzOjEwLGZsZXhTaHJpbms6MCxvYmplY3RGaXQ6ImNvdmVyIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIn0sYXBwTmFtZTp7Zm9udFNpemU6MTQsZm9udFdlaWdodDo2MDAsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sYXBwQnVuZGxlOntmb250U2l6ZToxMSxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sc3Bpbm5lcjp7Y29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40KSIsZm9udFdlaWdodDo0MDB9LGVycm9yOntiYWNrZ3JvdW5kOiJyZ2JhKDI0OCwxMTMsMTEzLDAuMDgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI0OCwxMTMsMTEzLDAuMikiLGNvbG9yOiIjZmNhNWE1Iixmb250U2l6ZToxMSxwYWRkaW5nOiI2cHggOHB4Iixib3JkZXJSYWRpdXM6NixtYXJnaW5Cb3R0b206MTB9LGRsOnttYXJnaW46MCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo2fSxyb3c6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImJhc2VsaW5lIixnYXA6OCxtaW5XaWR0aDowfSxkdDp7bWFyZ2luOjAsZm9udFNpemU6MTEsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsd2lkdGg6ODQsZmxleFNocmluazowfSxkZDp7bWFyZ2luOjAsZm9udFNpemU6MTIsY29sb3I6IiNlZWUiLGZsZXg6MSxtaW5XaWR0aDowLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LHJvd0FjdGlvbldyYXA6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAscmlnaHQ6MCxib3R0b206MCxwYWRkaW5nTGVmdDoyOCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJmbGV4LWVuZCIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI4LDI4LDMwLDApIDAlLCAjMWMxYzFlIDU1JSkiLHRyYW5zaXRpb246Im9wYWNpdHkgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2UifSxwZXJtc1RvZ2dsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOjYsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIscGFkZGluZzowLG1hcmdpbjowLGN1cnNvcjoicG9pbnRlciIsd2lkdGg6IjEwMCUiLHRleHRBbGlnbjoibGVmdCIsbGluZUhlaWdodDoxfSxwZXJtc1Njcm9sbFdyYXA6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbWFyZ2luVG9wOjh9LHBlcm1zU2Nyb2xsOnttYXhIZWlnaHQ6MjYwLG92ZXJmbG93WToiYXV0byIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NCxwYWRkaW5nOiI4cHggMCIsc2Nyb2xsYmFyV2lkdGg6InRoaW4ifSxwZXJtc0ZhZGVUb3A6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OjAsaGVpZ2h0OjE0LHBvaW50ZXJFdmVudHM6Im5vbmUiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxYzFjMWUgMCUsIHJnYmEoMjgsMjgsMzAsMCkgMTAwJSkiLGJvcmRlclRvcExlZnRSYWRpdXM6MTAsYm9yZGVyVG9wUmlnaHRSYWRpdXM6MTB9LHBlcm1zRmFkZUJvdHRvbTp7cG9zaXRpb246ImFic29sdXRlIixib3R0b206MCxsZWZ0OjAscmlnaHQ6MCxoZWlnaHQ6MTQscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzFjMWMxZSAwJSwgcmdiYSgyOCwyOCwzMCwwKSAxMDAlKSJ9LHBlcm1zRm9vdGVyOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQiLHBhZGRpbmdUb3A6OH0scmVzZXRBbGxCdG46e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjcpIixmb250U2l6ZToxMCxwYWRkaW5nOiIzcHggOHB4Iixib3JkZXJSYWRpdXM6NSxjdXJzb3I6InBvaW50ZXIiLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbGV0dGVyU3BhY2luZzoiMC4wNGVtIn0scGVybXNMaXN0OntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo0LG1hcmdpblRvcDo0fSxwZXJtUm93OntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6OCxwYWRkaW5nOiI0cHggMnB4In0scGVybUxhYmVsOntmb250U2l6ZToxMixjb2xvcjoiI2VlZSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIixmbGV4OjEsbWluV2lkdGg6MH0scGVybVNlZzp7ZGlzcGxheToiZmxleCIsZ2FwOjIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjA0KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsYm9yZGVyUmFkaXVzOjYscGFkZGluZzoyfSxwZXJtQnRuOnt3aWR0aDoyNCxoZWlnaHQ6MjIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixib3JkZXI6Im5vbmUiLGJvcmRlclJhZGl1czo0LGN1cnNvcjoicG9pbnRlciIscGFkZGluZzowLHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xMnMsIGNvbG9yIDAuMTJzIn0scm93QWN0aW9uOnt3aWR0aDoyMCxoZWlnaHQ6MjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NCxjb2xvcjoiI2ZmZiIsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjB9fSxRMD17dGFyZ2V0czp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLG92ZXJmbG93OiJoaWRkZW4iLHBvaW50ZXJFdmVudHM6Im5vbmUiLHpJbmRleDoxMH0sdGFyZ2V0Ontwb3NpdGlvbjoiYWJzb2x1dGUiLGJveFNpemluZzoiYm9yZGVyLWJveCIsbWluV2lkdGg6MSxtaW5IZWlnaHQ6MSxwYWRkaW5nOjAsYm9yZGVyOiIxcHggc29saWQgIzM0ZDM5OSIsYm9yZGVyUmFkaXVzOjMsY3Vyc29yOiJwb2ludGVyIixwb2ludGVyRXZlbnRzOiJhdXRvIn0scGFuZWxIZWFkZXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDo4fSxvdmVybGF5VG9nZ2xlOntib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixib3JkZXJSYWRpdXM6NSxiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC43KSIsY3Vyc29yOiJwb2ludGVyIixmb250U2l6ZToxMCxwYWRkaW5nOiIzcHggN3B4In0sZW1wdHlMaW5rOntjb2xvcjoiI2E1YjRmYyIsdGV4dERlY29yYXRpb246Im5vbmUifSx0b29sYmFyQnV0dG9uQWN0aXZlOntiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjk1KSJ9LHRvb2xiYXJCdXR0b25BY3RpdmVIb3Zlcjp7YmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGxpc3Q6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjQsbWFyZ2luVG9wOjgscGFkZGluZzoiOHB4IDAiLG1heEhlaWdodDoyNjAsb3ZlcmZsb3dZOiJhdXRvIixzY3JvbGxiYXJXaWR0aDoidGhpbiJ9LGxpc3RJdGVtOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6OCxib3JkZXJSYWRpdXM6NixwYWRkaW5nOiI0cHggMnB4IixtaW5XaWR0aDowfSxsaXN0SXRlbUFjdGl2ZTp7YmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjA2KSJ9LGl0ZW1UZXh0OntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoyLGZsZXg6MSxtaW5XaWR0aDowfSxpdGVtTGFiZWw6e292ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCIsY29sb3I6IiNlZWUiLGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NTAwfSxpdGVtTWV0YTp7b3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGZvbnRTaXplOjEwfSxpdGVtU2l6ZTp7ZmxleFNocmluazowLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wNCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czo2LGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTAscGFkZGluZzoiM3B4IDZweCJ9fTtHOChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpKS5yZW5kZXIoUShINix7fSkpOwo8L3NjcmlwdD4KPC9ib2R5PjwvaHRtbD4=","base64").toString("utf-8");return k}function b_(e){let _=(e?.basePath??"/.sim").replace(/\/+$/,"");return(t,s,S)=>{let i=t.url??"",C=i.indexOf("?"),A=C===-1?i:i.slice(0,C),n=v_(i)??e?.device??null;if(A===_||A===_+"/"){let r=d(),o=T(r,n),$=g_();if(o){let a=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...o,basePath:_,logsEndpoint:q(_,"/logs",o.device),appStateEndpoint:q(_,"/appstate",o.device),axEndpoint:q(_,"/ax",o.device)})}</script>`;$=$.replace("<!--__SIM_PREVIEW_CONFIG__-->",a)}s.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),s.end($);return}if(A===_+"/api"){let r=d(),o=T(r,n);s.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),s.end(JSON.stringify(o||null));return}if(A===_+"/ax"){let r=d(),o=T(r,n);if(!o){s.writeHead(404),s.end("No serve-sim device");return}s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
5
5
 
6
- `);let y=F_.get(o.device).addClient(s);t.on("close",y);return}if((A===_+"/exec"||A===_+"/exec/")&&t.method==="POST"){let r="";t.on("data",(o)=>{r+=typeof o==="string"?o:o.toString()}),t.on("end",()=>{let o="";try{o=JSON.parse(r).command??""}catch{}if(!o){s.writeHead(400,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:"",stderr:"Missing command",exitCode:1}));return}B_(o,{maxBuffer:16777216},($,y,a)=>{s.writeHead(200,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:y.toString(),stderr:a.toString(),exitCode:$?$.code??1:0}))})});return}if(A===_+"/logs"){let r=d(),o=T(r,n);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let $=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
6
+ `);let y=p_.get(o.device).addClient(s);t.on("close",y);return}if((A===_+"/exec"||A===_+"/exec/")&&t.method==="POST"){let r="";t.on("data",(o)=>{r+=typeof o==="string"?o:o.toString()}),t.on("end",()=>{let o="";try{o=JSON.parse(r).command??""}catch{}if(!o){s.writeHead(400,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:"",stderr:"Missing command",exitCode:1}));return}B_(o,{maxBuffer:16777216},($,y,a)=>{s.writeHead(200,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:y.toString(),stderr:a.toString(),exitCode:$?$.code??1:0}))})});return}if(A===_+"/logs"){let r=d(),o=T(r,n);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let $=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
7
7
 
8
- `);let y=oe("xcrun",["simctl","spawn",$,"log","stream","--style","ndjson","--level","info"],{stdio:["ignore","pipe","ignore"]}),a="";y.stdout.on("data",(p)=>{a+=p.toString();let R;while((R=a.indexOf(`
8
+ `);let y=oe("xcrun",["simctl","spawn",$,"log","stream","--style","ndjson","--level","info"],{stdio:["ignore","pipe","ignore"]}),a="";y.stdout.on("data",(F)=>{a+=F.toString();let R;while((R=a.indexOf(`
9
9
  `))!==-1){let g=a.slice(0,R).trim();if(a=a.slice(R+1),g)s.write("data: "+g+`
10
10
 
11
11
  `)}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(A===_+"/appstate"){let r=d(),o=T(r,n);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let $=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
12
12
 
13
- `);let y=oe("xcrun",["simctl","spawn",$,"log","stream","--style","ndjson","--level","info","--predicate",'process == "SpringBoard" AND eventMessage CONTAINS "Setting process visibility to: Foreground"'],{stdio:["ignore","pipe","ignore"]}),a=/\[app<([^>]+)>:(\d+)\] Setting process visibility to: Foreground/,p="",R="";y.stdout.on("data",(g)=>{R+=g.toString();let M;while((M=R.indexOf(`
14
- `))!==-1){let Z=R.slice(0,M).trim();if(R=R.slice(M+1),!Z)continue;let Y;try{Y=JSON.parse(Z).eventMessage??""}catch{continue}let P=a.exec(Y);if(!P)continue;let E=P[1],Ve=parseInt(P[2],10);if(!d_(E))continue;if(E===p)continue;p=E,u_($,E).then((Le)=>{s.write("data: "+JSON.stringify({bundleId:E,pid:Ve,isReactNative:Le})+`
13
+ `);let y=oe("xcrun",["simctl","spawn",$,"log","stream","--style","ndjson","--level","info","--predicate",'process == "SpringBoard" AND eventMessage CONTAINS "Setting process visibility to: Foreground"'],{stdio:["ignore","pipe","ignore"]}),a=/\[app<([^>]+)>:(\d+)\] Setting process visibility to: Foreground/,F="",R="";y.stdout.on("data",(g)=>{R+=g.toString();let M;while((M=R.indexOf(`
14
+ `))!==-1){let Z=R.slice(0,M).trim();if(R=R.slice(M+1),!Z)continue;let Y;try{Y=JSON.parse(Z).eventMessage??""}catch{continue}let P=a.exec(Y);if(!P)continue;let E=P[1],Ve=parseInt(P[2],10);if(!d_(E))continue;if(E===F)continue;F=E,l_($,E).then((Le)=>{s.write("data: "+JSON.stringify({bundleId:E,pid:Ve,isReactNative:Le})+`
15
15
 
16
- `)})}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(S)S()}}var ne,F_,D_,T_,E_,h,k=null;var $e=ee(()=>{re();ne=X(p_(),"serve-sim"),F_=ie(),D_=new Set(["host.exp.Exponent","dev.expo.Exponent"]),T_=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],E_=/(WidgetRenderer|ExtensionHost|\.extension(\.|$)|Service|PlaceholderApp|InCallService|CallUI|InCallUI|com\.apple\.Preferences\.Cellular|com\.apple\.purplebuddy|com\.apple\.chrono|com\.apple\.shuttle|com\.apple\.usernotificationsui)/i;h={at:0,booted:null}});import{execSync as B,spawn as ce}from"child_process";import{chmodSync as O_,existsSync as l,mkdirSync as Re,openSync as Be,closeSync as fe,readFileSync as V,unlinkSync as L,writeFileSync as pe}from"fs";import{createHash as w_}from"crypto";import{homedir as m_,networkInterfaces as h_}from"os";import{join as H_,resolve as K}from"path";import{tmpdir as Ue}from"os";import{join as b}from"path";import{readdirSync as Ie}from"fs";var F=b(Ue(),"serve-sim"),it=b(F,"server.json");function O(e){return b(F,`server-${e}.json`)}function w(){try{return Ie(F).filter((e)=>e.startsWith("server-")&&e.endsWith(".json")).map((e)=>b(F,e))}catch{return[]}}import{fileURLToPath as qe}from"url";import{dirname as ke}from"path";import{createServer as Xe}from"http";import{createServer as Ke}from"net";function _e(e){return ke(qe(e))}function m(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)}async function te(e){return new Promise((_)=>{let t=Ke();t.once("error",()=>_(!1)),t.once("listening",()=>t.close(()=>_(!0))),t.listen(e)})}async function se(e){let _=Xe((t,s)=>{e.middleware(t,s,()=>{if(!s.headersSent)s.statusCode=404;s.end("Not found")})});return _.keepAliveTimeout=0,_.headersTimeout=0,_.requestTimeout=0,_.timeout=0,await new Promise((t,s)=>{let S=(C)=>{_.removeListener("listening",i),s(C)},i=()=>{_.removeListener("error",S),t()};_.once("error",S),_.once("listening",i),_.listen(e.port)}),{stop:()=>_.close()}}var D="./serve-sim-bin-9p0bfp33.";var N_=_e(import.meta.url);function J(){if(!l(F))Re(F,{recursive:!0})}function f(e){if(e)return x(O(e));for(let _ of w()){let t=x(_);if(t)return t}return null}var H={at:0,booted:null};function V_(){let e=Date.now();if(H.booted&&e-H.at<1000)return H.booted;try{let _=B("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let S of Object.values(t.devices))for(let i of S)if(i.state==="Booted")s.add(i.udid);return H={at:e,booted:s},s}catch{return null}}function x(e){try{if(!l(e))return null;let _=JSON.parse(V(e,"utf-8"));try{process.kill(_.pid,0)}catch{return L(e),null}let t=V_();if(t&&!t.has(_.device)){console.error(`[serve-sim] Helper pid ${_.pid} is bound to device ${_.device} which is no longer booted — killing stale helper.`);try{process.kill(_.pid,"SIGTERM")}catch{}try{L(e)}catch{}return null}return _}catch{return null}}function W(){let e=[];for(let _ of w()){let t=x(_);if(t)e.push(t)}return e}function ye(e){J(),pe(O(e.device),JSON.stringify(e,null,2))}function v(e){if(e)try{L(O(e))}catch{}else for(let _ of w())try{L(_)}catch{}}function L_(){let e=D.startsWith("/$bunfs/");if(!e&&l(D))return D;if(!e){let i=K(N_,"../bin/serve-sim-bin");if(l(i))return i;throw Error(`serve-sim-bin not found. Run 'bun run build:swift' first.
17
- Checked: ${D}, ${i}`)}let _=V(D),t=w_("sha256").update(_).digest("hex").slice(0,16),s=K(m_(),"Library/Caches/serve-sim");Re(s,{recursive:!0});let S=K(s,`serve-sim-bin-${t}`);if(!l(S)){pe(S,_),O_(S,493);try{B(`codesign -s - -f ${JSON.stringify(S)}`,{stdio:"ignore"})}catch{}}return S}function Fe(){let e=null;try{e=B("xcode-select -p",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}if(!e)return process.env;let _=`${e}/Library/PrivateFrameworks`;return{...process.env,DYLD_FRAMEWORK_PATH:process.env.DYLD_FRAMEWORK_PATH?`${_}:${process.env.DYLD_FRAMEWORK_PATH}`:_}}function De(){try{let e=B("xcrun simctl list devices booted -j",{encoding:"utf-8"}),_=JSON.parse(e);for(let t of Object.values(_.devices))for(let s of t)if(s.state==="Booted")return s.udid}catch{}return null}function Te(){try{let e=B("xcrun simctl list devices -j",{encoding:"utf-8"}),_=JSON.parse(e),t=Object.keys(_.devices).filter((s)=>/SimRuntime\.iOS-/i.test(s)).sort((s,S)=>{let i=(s.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number),C=(S.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number);return(C[0]??0)-(i[0]??0)||(C[1]??0)-(i[1]??0)});for(let s of t){let i=(_.devices[s]??[]).find((C)=>C.isAvailable!==!1&&/^iPhone\b/i.test(C.name));if(i)return{udid:i.udid,name:i.name}}}catch{}return null}function ae(e){try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.udid===e)return S.name}catch{}return null}function G(e){if(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i.test(e))return e;try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.name.toLowerCase()===e.toLowerCase())return S.udid}catch{}console.error(`Could not resolve device: ${e}`),process.exit(1)}function Ee(e){try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.udid===e)return S.state==="Booted"}catch{}return!1}function z(e){try{return process.kill(e,0),!0}catch{return!1}}function j(e){try{process.kill(e,"SIGTERM")}catch{return}let _=Date.now()+500;while(Date.now()<_)try{process.kill(e,0),m(25)}catch{return}try{process.kill(e,"SIGKILL")}catch{}let t=Date.now()+500;while(Date.now()<t)try{process.kill(e,0),m(25)}catch{return}}function W_(e){try{let _=B(`lsof -ti tcp:${e}`,{encoding:"utf-8",stdio:"pipe"}).trim();if(!_)return[];let t=process.pid;return _.split(`
18
- `).map((s)=>parseInt(s,10)).filter((s)=>Number.isFinite(s)&&s!==t)}catch{return[]}}function G_(e){let _=W_(e);if(_.length===0)return;console.log(`\x1B[90mPort ${e} busy, killing holder pid(s): ${_.join(", ")}\x1B[0m`);for(let t of _)try{process.kill(t,"SIGKILL")}catch{}m(100)}function M_(e){if(!Ee(e))try{B(`xcrun simctl boot ${e}`,{encoding:"utf-8",stdio:"pipe"})}catch(_){let t=(_.stderr??_.message??"").toLowerCase();if(!t.includes("booted")&&!t.includes("current state"))throw Error(`Failed to boot device ${e}: ${_.stderr||_.message}`)}try{B("open -ga Simulator",{encoding:"utf-8",stdio:"pipe",timeout:3000})}catch{}}function P_(){let e=h_();for(let _ of Object.values(e))for(let t of _??[])if(t.family==="IPv4"&&!t.internal)return t.address;return null}async function de(e){let _=new Set(W().map((t)=>t.port));for(let t=e;t<e+100;t++){if(_.has(t))continue;if(await te(t))return t}throw Error(`No available port found in range ${e}-${e+99}`)}async function U_(e){M_(e);try{B(`xcrun simctl bootstatus ${e} -b`,{encoding:"utf-8",stdio:"pipe",timeout:60000})}catch(_){if(!Ee(e))console.error(`Device ${e} failed to reach booted state: ${_.stderr||_.message}`),process.exit(1)}}async function ue(e,_,t,s){let S=!1;for(let C=0;C<30;C++){if(!s())break;try{if((await fetch(`${_}/health`)).ok){S=!0;break}}catch{}await new Promise((A)=>setTimeout(A,100))}if(S){let C=Date.now()+8000;while(Date.now()<C){if(await new Promise((A)=>setTimeout(A,200)),!s()){S=!1;break}try{if(V(t,"utf-8").includes("Capture started"))break}catch{}}}let i="";try{i=V(t,"utf-8").trim()}catch{}return{ready:S,log:i}}async function I_(e){let{helperPath:_,udid:t,port:s,host:S,logFile:i}=e,C=`http://${S}:${s}`;J();let A=Be(i,"w"),n=ce(_,[t,"--port",String(s)],{detached:!0,stdio:["ignore",A,A],env:Fe()});n.unref(),fe(A);let r=n.pid,o=!1;n.once("exit",()=>{o=!0});let{ready:$,log:y}=await ue(r,C,i,()=>!o&&z(r));return{ready:$,pid:r,exited:o||!z(r),log:y}}async function q_(e){let{helperPath:_,udid:t,port:s,host:S,logFile:i}=e,C=`http://${S}:${s}`;J();let A=Be(i,"w"),n=ce(_,[t,"--port",String(s)],{detached:!1,stdio:["ignore",A,A],env:Fe()});fe(A);let r=n.pid,o=!1;n.once("exit",()=>{o=!0});let{ready:$,log:y}=await ue(r,C,i,()=>!o&&z(r));return{ready:$,child:n,log:y}}async function le(e,_,t){await U_(e);let s="127.0.0.1",S=L_(),i=H_(F,`server-${e}.log`),C={helperPath:S,udid:e,port:_,host:s,logFile:i},A="",n=2;for(let o=1;o<=n;o++){if(G_(_),t.detach){let $=await I_(C);if($.ready){let y={pid:$.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return ye(y),{pid:$.pid}}j($.pid),A=$.log}else{let $=await q_(C);if($.ready){let y={pid:$.child.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return ye(y),{pid:$.child.pid,child:$.child}}j($.child.pid),A=$.log}if(o<n)await new Promise(($)=>setTimeout($,500))}let r=A?`Helper failed:
16
+ `)})}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(S)S()}}var ne,p_,D_,T_,E_,h,k=null;var $e=ee(()=>{re();ne=X(F_(),"serve-sim"),p_=ie(),D_=new Set(["host.exp.Exponent","dev.expo.Exponent"]),T_=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],E_=/(WidgetRenderer|ExtensionHost|\.extension(\.|$)|Service|PlaceholderApp|InCallService|CallUI|InCallUI|com\.apple\.Preferences\.Cellular|com\.apple\.purplebuddy|com\.apple\.chrono|com\.apple\.shuttle|com\.apple\.usernotificationsui)/i;h={at:0,booted:null}});import{execSync as B,spawn as ce}from"child_process";import{chmodSync as O_,existsSync as u,mkdirSync as Re,openSync as Be,closeSync as fe,readFileSync as V,unlinkSync as L,writeFileSync as Fe}from"fs";import{createHash as w_}from"crypto";import{homedir as m_,networkInterfaces as h_}from"os";import{join as H_,resolve as K}from"path";import{tmpdir as Ue}from"os";import{join as b}from"path";import{readdirSync as Ie}from"fs";var p=b(Ue(),"serve-sim"),it=b(p,"server.json");function O(e){return b(p,`server-${e}.json`)}function w(){try{return Ie(p).filter((e)=>e.startsWith("server-")&&e.endsWith(".json")).map((e)=>b(p,e))}catch{return[]}}import{fileURLToPath as qe}from"url";import{dirname as ke}from"path";import{createServer as Xe}from"http";import{createServer as Ke}from"net";function _e(e){return ke(qe(e))}function m(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)}async function te(e){return new Promise((_)=>{let t=Ke();t.once("error",()=>_(!1)),t.once("listening",()=>t.close(()=>_(!0))),t.listen(e)})}async function se(e){let _=Xe((t,s)=>{e.middleware(t,s,()=>{if(!s.headersSent)s.statusCode=404;s.end("Not found")})});return _.keepAliveTimeout=0,_.headersTimeout=0,_.requestTimeout=0,_.timeout=0,await new Promise((t,s)=>{let S=(C)=>{_.removeListener("listening",i),s(C)},i=()=>{_.removeListener("error",S),t()};_.once("error",S),_.once("listening",i),_.listen(e.port)}),{stop:()=>_.close()}}var D="./serve-sim-bin-ca0ps45s.";var N_=_e(import.meta.url);function J(){if(!u(p))Re(p,{recursive:!0})}function f(e){if(e)return x(O(e));for(let _ of w()){let t=x(_);if(t)return t}return null}var H={at:0,booted:null};function V_(){let e=Date.now();if(H.booted&&e-H.at<1000)return H.booted;try{let _=B("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let S of Object.values(t.devices))for(let i of S)if(i.state==="Booted")s.add(i.udid);return H={at:e,booted:s},s}catch{return null}}function x(e){try{if(!u(e))return null;let _=JSON.parse(V(e,"utf-8"));try{process.kill(_.pid,0)}catch{return L(e),null}let t=V_();if(t&&!t.has(_.device)){console.error(`[serve-sim] Helper pid ${_.pid} is bound to device ${_.device} which is no longer booted — killing stale helper.`);try{process.kill(_.pid,"SIGTERM")}catch{}try{L(e)}catch{}return null}return _}catch{return null}}function W(){let e=[];for(let _ of w()){let t=x(_);if(t)e.push(t)}return e}function ye(e){J(),Fe(O(e.device),JSON.stringify(e,null,2))}function v(e){if(e)try{L(O(e))}catch{}else for(let _ of w())try{L(_)}catch{}}function L_(){let e=D.startsWith("/$bunfs/");if(!e&&u(D))return D;if(!e){let i=K(N_,"../bin/serve-sim-bin");if(u(i))return i;throw Error(`serve-sim-bin not found. Run 'bun run build:swift' first.
17
+ Checked: ${D}, ${i}`)}let _=V(D),t=w_("sha256").update(_).digest("hex").slice(0,16),s=K(m_(),"Library/Caches/serve-sim");Re(s,{recursive:!0});let S=K(s,`serve-sim-bin-${t}`);if(!u(S)){Fe(S,_),O_(S,493);try{B(`codesign -s - -f ${JSON.stringify(S)}`,{stdio:"ignore"})}catch{}}return S}function pe(){let e=null;try{e=B("xcode-select -p",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}if(!e)return process.env;let _=`${e}/Library/PrivateFrameworks`;return{...process.env,DYLD_FRAMEWORK_PATH:process.env.DYLD_FRAMEWORK_PATH?`${_}:${process.env.DYLD_FRAMEWORK_PATH}`:_}}function De(){try{let e=B("xcrun simctl list devices booted -j",{encoding:"utf-8"}),_=JSON.parse(e);for(let t of Object.values(_.devices))for(let s of t)if(s.state==="Booted")return s.udid}catch{}return null}function Te(){try{let e=B("xcrun simctl list devices -j",{encoding:"utf-8"}),_=JSON.parse(e),t=Object.keys(_.devices).filter((s)=>/SimRuntime\.iOS-/i.test(s)).sort((s,S)=>{let i=(s.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number),C=(S.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number);return(C[0]??0)-(i[0]??0)||(C[1]??0)-(i[1]??0)});for(let s of t){let i=(_.devices[s]??[]).find((C)=>C.isAvailable!==!1&&/^iPhone\b/i.test(C.name));if(i)return{udid:i.udid,name:i.name}}}catch{}return null}function ae(e){try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.udid===e)return S.name}catch{}return null}function G(e){if(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i.test(e))return e;try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.name.toLowerCase()===e.toLowerCase())return S.udid}catch{}console.error(`Could not resolve device: ${e}`),process.exit(1)}function Ee(e){try{let _=B("xcrun simctl list devices -j",{encoding:"utf-8"}),t=JSON.parse(_);for(let s of Object.values(t.devices))for(let S of s)if(S.udid===e)return S.state==="Booted"}catch{}return!1}function z(e){try{return process.kill(e,0),!0}catch{return!1}}function j(e){try{process.kill(e,"SIGTERM")}catch{return}let _=Date.now()+500;while(Date.now()<_)try{process.kill(e,0),m(25)}catch{return}try{process.kill(e,"SIGKILL")}catch{}let t=Date.now()+500;while(Date.now()<t)try{process.kill(e,0),m(25)}catch{return}}function W_(e){try{let _=B(`lsof -ti tcp:${e}`,{encoding:"utf-8",stdio:"pipe"}).trim();if(!_)return[];let t=process.pid;return _.split(`
18
+ `).map((s)=>parseInt(s,10)).filter((s)=>Number.isFinite(s)&&s!==t)}catch{return[]}}function G_(e){let _=W_(e);if(_.length===0)return;console.log(`\x1B[90mPort ${e} busy, killing holder pid(s): ${_.join(", ")}\x1B[0m`);for(let t of _)try{process.kill(t,"SIGKILL")}catch{}m(100)}function M_(e){if(!Ee(e))try{B(`xcrun simctl boot ${e}`,{encoding:"utf-8",stdio:"pipe"})}catch(_){let t=(_.stderr??_.message??"").toLowerCase();if(!t.includes("booted")&&!t.includes("current state"))throw Error(`Failed to boot device ${e}: ${_.stderr||_.message}`)}try{B("open -ga Simulator",{encoding:"utf-8",stdio:"pipe",timeout:3000})}catch{}}function P_(){let e=h_();for(let _ of Object.values(e))for(let t of _??[])if(t.family==="IPv4"&&!t.internal)return t.address;return null}async function de(e){let _=new Set(W().map((t)=>t.port));for(let t=e;t<e+100;t++){if(_.has(t))continue;if(await te(t))return t}throw Error(`No available port found in range ${e}-${e+99}`)}async function U_(e){M_(e);try{B(`xcrun simctl bootstatus ${e} -b`,{encoding:"utf-8",stdio:"pipe",timeout:60000})}catch(_){if(!Ee(e))console.error(`Device ${e} failed to reach booted state: ${_.stderr||_.message}`),process.exit(1)}}async function le(e,_,t,s){let S=!1;for(let C=0;C<30;C++){if(!s())break;try{if((await fetch(`${_}/health`)).ok){S=!0;break}}catch{}await new Promise((A)=>setTimeout(A,100))}if(S){let C=Date.now()+8000;while(Date.now()<C){if(await new Promise((A)=>setTimeout(A,200)),!s()){S=!1;break}try{if(V(t,"utf-8").includes("Capture started"))break}catch{}}}let i="";try{i=V(t,"utf-8").trim()}catch{}return{ready:S,log:i}}async function I_(e){let{helperPath:_,udid:t,port:s,host:S,logFile:i}=e,C=`http://${S}:${s}`;J();let A=Be(i,"w"),n=ce(_,[t,"--port",String(s)],{detached:!0,stdio:["ignore",A,A],env:pe()});n.unref(),fe(A);let r=n.pid,o=!1;n.once("exit",()=>{o=!0});let{ready:$,log:y}=await le(r,C,i,()=>!o&&z(r));return{ready:$,pid:r,exited:o||!z(r),log:y}}async function q_(e){let{helperPath:_,udid:t,port:s,host:S,logFile:i}=e,C=`http://${S}:${s}`;J();let A=Be(i,"w"),n=ce(_,[t,"--port",String(s)],{detached:!1,stdio:["ignore",A,A],env:pe()});fe(A);let r=n.pid,o=!1;n.once("exit",()=>{o=!0});let{ready:$,log:y}=await le(r,C,i,()=>!o&&z(r));return{ready:$,child:n,log:y}}async function ue(e,_,t){await U_(e);let s="127.0.0.1",S=L_(),i=H_(p,`server-${e}.log`),C={helperPath:S,udid:e,port:_,host:s,logFile:i},A="",n=2;for(let o=1;o<=n;o++){if(G_(_),t.detach){let $=await I_(C);if($.ready){let y={pid:$.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return ye(y),{pid:$.pid}}j($.pid),A=$.log}else{let $=await q_(C);if($.ready){let y={pid:$.child.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return ye(y),{pid:$.child.pid,child:$.child}}j($.child.pid),A=$.log}if(o<n)await new Promise(($)=>setTimeout($,500))}let r=A?`Helper failed:
19
19
  ${A}`:"Helper process failed to start";console.error(r),process.exit(1)}async function k_(e,_,t){let s=e.length>0?e.map(G):(()=>{let r=De();if(r)return[r];let o=Te();if(!o)console.error("No device specified and no available iOS simulator found."),process.exit(1);if(!t)console.log(`No booted simulator — booting ${o.name}...`);return[o.udid]})(),S=new Map,i=[],C=_;for(let r of s){let o=f(r);if(o){if(!t){let R=ae(r)??r;if(s.length>1)console.log(`
20
- ==> ${R} (${r}) <==`);console.log(` Already running on port ${o.port}`),console.log(` Stream: ${o.streamUrl}`),console.log(` WebSocket: ${o.wsUrl}`)}i.push(o);continue}C=await de(C);let{pid:$,child:y}=await le(r,C,{detach:!1});if(y)S.set(r,y);let a="127.0.0.1",p={pid:$,port:C,device:r,url:`http://${a}:${C}`,streamUrl:`http://${a}:${C}/stream.mjpeg`,wsUrl:`ws://${a}:${C}/ws`};if(i.push(p),!t){let R=ae(r)??r;if(s.length>1)console.log(`
21
- ==> ${R} (${r}) <==`);console.log(` Stream: ${p.streamUrl}`),console.log(` WebSocket: ${p.wsUrl}`),console.log(` Port: ${C}`)}C++}if(i.length===1){let r=i[0];console.log(JSON.stringify({url:r.url,streamUrl:r.streamUrl,wsUrl:r.wsUrl,port:r.port,device:r.device}))}else console.log(JSON.stringify({devices:i.map((r)=>({url:r.url,streamUrl:r.streamUrl,wsUrl:r.wsUrl,port:r.port,device:r.device}))}));if(S.size===0)return;let A=!1,n=(r)=>{if(A)return;if(A=!0,!t)console.log(`
22
- Shutting down...`);for(let[o,$]of S){let y=$.pid;if(y)j(y);v(o)}S.clear(),process.exit(r)};for(let[r,o]of S)o.on("exit",($)=>{if(A)return;if(!t)console.error(`[${r}] Helper exited (code ${$})`);if(v(r),S.delete(r),S.size===0)n($??1)});process.on("SIGINT",()=>n(0)),process.on("SIGTERM",()=>n(0)),process.on("SIGHUP",()=>n(0)),process.on("exit",()=>{for(let[r,o]of S){try{if(o.pid)process.kill(o.pid,"SIGTERM")}catch{}try{v(r)}catch{}}}),await new Promise(()=>{})}async function Q(e,_){let t=e.length>0?e.map(G):(()=>{let i=De();if(i)return[i];let C=Te();if(!C)console.error("No device specified and no available iOS simulator found."),process.exit(1);return[C.udid]})(),s=[],S=_;for(let i of t){let C=f(i);if(C){s.push(C);continue}S=await de(S),await le(i,S,{detach:!0});let A="127.0.0.1";s.push({pid:f(i).pid,port:S,device:i,url:`http://${A}:${S}`,streamUrl:`http://${A}:${S}/stream.mjpeg`,wsUrl:`ws://${A}:${S}/ws`}),S++}return s}function X_(e){if(e.length===1){let _=e[0];console.log(JSON.stringify({url:_.url,streamUrl:_.streamUrl,wsUrl:_.wsUrl,port:_.port,device:_.device}))}else console.log(JSON.stringify({devices:e.map((_)=>({url:_.url,streamUrl:_.streamUrl,wsUrl:_.wsUrl,port:_.port,device:_.device}))}))}function K_(e){if(e){let t=G(e),s=f(t);if(!s)console.log(JSON.stringify({running:!1,device:t}));else console.log(JSON.stringify({running:!0,url:s.url,streamUrl:s.streamUrl,wsUrl:s.wsUrl,port:s.port,device:s.device,pid:s.pid}));return}let _=W();if(_.length===0)console.log(JSON.stringify({running:!1}));else if(_.length===1){let t=_[0];console.log(JSON.stringify({running:!0,url:t.url,streamUrl:t.streamUrl,wsUrl:t.wsUrl,port:t.port,device:t.device,pid:t.pid}))}else console.log(JSON.stringify({running:!0,streams:_.map((t)=>({url:t.url,streamUrl:t.streamUrl,wsUrl:t.wsUrl,port:t.port,device:t.device,pid:t.pid}))}))}function x_(e){if(e){let _=G(e),t=f(_);if(!t){console.log(JSON.stringify({disconnected:!0,device:_}));return}try{process.kill(t.pid,"SIGTERM")}catch{}v(_),console.log(JSON.stringify({disconnected:!0,device:t.device}))}else{let _=W();if(_.length===0){console.log(JSON.stringify({disconnected:!0,devices:[]}));return}let t=[];for(let s of _){try{process.kill(s.pid,"SIGTERM")}catch{}t.push(s.device)}v(),console.log(JSON.stringify({disconnected:!0,devices:t}))}}async function z_(e){let _,t=[];for(let C=0;C<e.length;C++)if(e[C]==="--device"||e[C]==="-d")_=e[++C];else t.push(e[C]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0];if(!S)console.error("Usage: serve-sim gesture '<json>'"),console.error(`Example: serve-sim gesture '{"type":"begin","x":0.5,"y":0.5}'`),process.exit(1);let i;try{i=JSON.parse(S)}catch{console.error("Invalid JSON:",S),process.exit(1)}return new Promise((C,A)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify(i)),o=new Uint8Array(1+r.length);o[0]=3,o.set(r,1),n.send(o),setTimeout(()=>{n.close(),C()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),A(Error("WebSocket connection failed"))}})}async function j_(e){let _,t=[];for(let C=0;C<e.length;C++)if(e[C]==="--device"||e[C]==="-d")_=e[++C];else t.push(e[C]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0],i=new Set(["portrait","portrait_upside_down","landscape_left","landscape_right"]);if(!S||!i.has(S))console.error(`Usage: serve-sim rotate <${[...i].join("|")}> [-d udid]`),process.exit(1);return new Promise((C,A)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify({orientation:S})),o=new Uint8Array(1+r.length);o[0]=7,o.set(r,1),n.send(o),setTimeout(()=>{n.close(),C()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),A(Error("WebSocket connection failed"))}})}async function Q_(e){let _,t=[];for(let i=0;i<e.length;i++)if(e[i]==="--device"||e[i]==="-d")_=e[++i];else t.push(e[i]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0]??"home";return new Promise((i,C)=>{let A=new WebSocket(s.wsUrl);A.binaryType="arraybuffer",A.onopen=()=>{let n=new TextEncoder().encode(JSON.stringify({button:S})),r=new Uint8Array(1+n.length);r[0]=4,r.set(n,1),A.send(r),setTimeout(()=>{A.close(),i()},50)},A.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),C(Error("WebSocket connection failed"))}})}async function J_(e){let _,t=[];for(let r=0;r<e.length;r++)if(e[r]==="--device"||e[r]==="-d")_=e[++r];else t.push(e[r]);let s=t[0],S=(t[1]??"").toLowerCase(),i=S==="on"||S==="1"||S==="true",C={blended:"debug_color_blended",copies:"debug_color_copies",copied:"debug_color_copies",misaligned:"debug_color_misaligned",offscreen:"debug_color_offscreen","slow-animations":"debug_slow_animations",slow:"debug_slow_animations"},A=s?C[s]??s:void 0;if(!A||!["on","off","1","0","true","false"].includes(S))console.error(`Usage: serve-sim ca-debug <option> <on|off> [-d udid]
20
+ ==> ${R} (${r}) <==`);console.log(` Already running on port ${o.port}`),console.log(` Stream: ${o.streamUrl}`),console.log(` WebSocket: ${o.wsUrl}`)}i.push(o);continue}C=await de(C);let{pid:$,child:y}=await ue(r,C,{detach:!1});if(y)S.set(r,y);let a="127.0.0.1",F={pid:$,port:C,device:r,url:`http://${a}:${C}`,streamUrl:`http://${a}:${C}/stream.mjpeg`,wsUrl:`ws://${a}:${C}/ws`};if(i.push(F),!t){let R=ae(r)??r;if(s.length>1)console.log(`
21
+ ==> ${R} (${r}) <==`);console.log(` Stream: ${F.streamUrl}`),console.log(` WebSocket: ${F.wsUrl}`),console.log(` Port: ${C}`)}C++}if(i.length===1){let r=i[0];console.log(JSON.stringify({url:r.url,streamUrl:r.streamUrl,wsUrl:r.wsUrl,port:r.port,device:r.device}))}else console.log(JSON.stringify({devices:i.map((r)=>({url:r.url,streamUrl:r.streamUrl,wsUrl:r.wsUrl,port:r.port,device:r.device}))}));if(S.size===0)return;let A=!1,n=(r)=>{if(A)return;if(A=!0,!t)console.log(`
22
+ Shutting down...`);for(let[o,$]of S){let y=$.pid;if(y)j(y);v(o)}S.clear(),process.exit(r)};for(let[r,o]of S)o.on("exit",($)=>{if(A)return;if(!t)console.error(`[${r}] Helper exited (code ${$})`);if(v(r),S.delete(r),S.size===0)n($??1)});process.on("SIGINT",()=>n(0)),process.on("SIGTERM",()=>n(0)),process.on("SIGHUP",()=>n(0)),process.on("exit",()=>{for(let[r,o]of S){try{if(o.pid)process.kill(o.pid,"SIGTERM")}catch{}try{v(r)}catch{}}}),await new Promise(()=>{})}async function Q(e,_){let t=e.length>0?e.map(G):(()=>{let i=De();if(i)return[i];let C=Te();if(!C)console.error("No device specified and no available iOS simulator found."),process.exit(1);return[C.udid]})(),s=[],S=_;for(let i of t){let C=f(i);if(C){s.push(C);continue}S=await de(S),await ue(i,S,{detach:!0});let A="127.0.0.1";s.push({pid:f(i).pid,port:S,device:i,url:`http://${A}:${S}`,streamUrl:`http://${A}:${S}/stream.mjpeg`,wsUrl:`ws://${A}:${S}/ws`}),S++}return s}function X_(e){if(e.length===1){let _=e[0];console.log(JSON.stringify({url:_.url,streamUrl:_.streamUrl,wsUrl:_.wsUrl,port:_.port,device:_.device}))}else console.log(JSON.stringify({devices:e.map((_)=>({url:_.url,streamUrl:_.streamUrl,wsUrl:_.wsUrl,port:_.port,device:_.device}))}))}function K_(e){if(e){let t=G(e),s=f(t);if(!s)console.log(JSON.stringify({running:!1,device:t}));else console.log(JSON.stringify({running:!0,url:s.url,streamUrl:s.streamUrl,wsUrl:s.wsUrl,port:s.port,device:s.device,pid:s.pid}));return}let _=W();if(_.length===0)console.log(JSON.stringify({running:!1}));else if(_.length===1){let t=_[0];console.log(JSON.stringify({running:!0,url:t.url,streamUrl:t.streamUrl,wsUrl:t.wsUrl,port:t.port,device:t.device,pid:t.pid}))}else console.log(JSON.stringify({running:!0,streams:_.map((t)=>({url:t.url,streamUrl:t.streamUrl,wsUrl:t.wsUrl,port:t.port,device:t.device,pid:t.pid}))}))}function x_(e){if(e){let _=G(e),t=f(_);if(!t){console.log(JSON.stringify({disconnected:!0,device:_}));return}try{process.kill(t.pid,"SIGTERM")}catch{}v(_),console.log(JSON.stringify({disconnected:!0,device:t.device}))}else{let _=W();if(_.length===0){console.log(JSON.stringify({disconnected:!0,devices:[]}));return}let t=[];for(let s of _){try{process.kill(s.pid,"SIGTERM")}catch{}t.push(s.device)}v(),console.log(JSON.stringify({disconnected:!0,devices:t}))}}async function z_(e){let _,t=[];for(let C=0;C<e.length;C++)if(e[C]==="--device"||e[C]==="-d")_=e[++C];else t.push(e[C]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0];if(!S)console.error("Usage: serve-sim gesture '<json>'"),console.error(`Example: serve-sim gesture '{"type":"begin","x":0.5,"y":0.5}'`),process.exit(1);let i;try{i=JSON.parse(S)}catch{console.error("Invalid JSON:",S),process.exit(1)}return new Promise((C,A)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify(i)),o=new Uint8Array(1+r.length);o[0]=3,o.set(r,1),n.send(o),setTimeout(()=>{n.close(),C()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),A(Error("WebSocket connection failed"))}})}async function j_(e){let _,t=[];for(let C=0;C<e.length;C++)if(e[C]==="--device"||e[C]==="-d")_=e[++C];else t.push(e[C]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0],i=new Set(["portrait","portrait_upside_down","landscape_left","landscape_right"]);if(!S||!i.has(S))console.error(`Usage: serve-sim rotate <${[...i].join("|")}> [-d udid]`),process.exit(1);return new Promise((C,A)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify({orientation:S})),o=new Uint8Array(1+r.length);o[0]=7,o.set(r,1),n.send(o),setTimeout(()=>{n.close(),C()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),A(Error("WebSocket connection failed"))}})}async function Q_(e){let _,t=[];for(let i=0;i<e.length;i++)if(e[i]==="--device"||e[i]==="-d")_=e[++i];else t.push(e[i]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let S=t[0]??"home";return new Promise((i,C)=>{let A=new WebSocket(s.wsUrl);A.binaryType="arraybuffer",A.onopen=()=>{let n=new TextEncoder().encode(JSON.stringify({button:S})),r=new Uint8Array(1+n.length);r[0]=4,r.set(n,1),A.send(r),setTimeout(()=>{A.close(),i()},50)},A.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),C(Error("WebSocket connection failed"))}})}async function J_(e){let _,t=[];for(let r=0;r<e.length;r++)if(e[r]==="--device"||e[r]==="-d")_=e[++r];else t.push(e[r]);let s=t[0],S=(t[1]??"").toLowerCase(),i=S==="on"||S==="1"||S==="true",C={blended:"debug_color_blended",copies:"debug_color_copies",copied:"debug_color_copies",misaligned:"debug_color_misaligned",offscreen:"debug_color_offscreen","slow-animations":"debug_slow_animations",slow:"debug_slow_animations"},A=s?C[s]??s:void 0;if(!A||!["on","off","1","0","true","false"].includes(S))console.error(`Usage: serve-sim ca-debug <option> <on|off> [-d udid]
23
23
  option shortcuts: ${Object.keys(C).join(", ")}`),process.exit(1);let n=f(_);if(!n)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);return new Promise((r,o)=>{let $=new WebSocket(n.wsUrl);$.binaryType="arraybuffer",$.onopen=()=>{let y=new TextEncoder().encode(JSON.stringify({option:A,enabled:i})),a=new Uint8Array(1+y.length);a[0]=8,a.set(y,1),$.send(a),setTimeout(()=>{$.close(),r()},50)},$.onerror=()=>{console.error("Failed to connect to serve-sim server at",n.wsUrl),o(Error("WebSocket connection failed"))}})}async function Z_(e){let _;for(let s=0;s<e.length;s++)if(e[s]==="--device"||e[s]==="-d")_=e[++s];let t=f(_);if(!t)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);return new Promise((s,S)=>{let i=new WebSocket(t.wsUrl);i.binaryType="arraybuffer",i.onopen=()=>{i.send(new Uint8Array([9])),setTimeout(()=>{i.close(),s()},50)},i.onerror=()=>{console.error("Failed to connect to serve-sim server at",t.wsUrl),S(Error("WebSocket connection failed"))}})}async function Y_(e,_,t){let s;if(_.length>0)s=(await Q(_,3100))[0]?.device;else{let $=W();if($.length>0)s=$[0]?.device;else console.log("Starting simulator stream..."),s=(await Q(_,3100))[0]?.device}let{simMiddleware:S}=await Promise.resolve().then(() => ($e(),Ae)),i=S({basePath:"/",device:s}),C=t?1:50,A=e,n,r=!1;for(let $=0;$<C;$++){let y=e+$;try{await et(y,i),A=y,r=!0;break}catch(a){if(n=a,a?.code!=="EADDRINUSE")break}}if(!r){if(n?.code==="EADDRINUSE")if(t)console.error(`Port ${e} is already in use. Pass a different --port or stop the other process.`);else console.error(`No available port found in range ${e}-${e+C-1}.`);else console.error(`Failed to start preview server: ${n?.message??n}`);process.exit(1)}let o=P_();if(console.log(""),console.log(` - Local: http://localhost:${A}`),o)console.log(` - Network: http://${o}:${A}`);console.log(""),process.on("SIGINT",()=>process.exit(0)),process.on("SIGTERM",()=>process.exit(0)),await new Promise(()=>{})}function et(e,_){return se({port:e,middleware:_})}function ve(){console.log(`
24
24
  serve-sim - Stream iOS Simulator to the browser
25
25
 
@@ -53,4 +53,4 @@ Examples:
53
53
  serve-sim --detach Start streaming in background (daemon)
54
54
  serve-sim --list Show all running streams
55
55
  serve-sim --kill Stop all streams
56
- `)}var c=process.argv.slice(2);if(c[0]==="gesture")await z_(c.slice(1)),process.exit(0);if(c[0]==="button")await Q_(c.slice(1)),process.exit(0);if(c[0]==="rotate")await j_(c.slice(1)),process.exit(0);if(c[0]==="ca-debug")await J_(c.slice(1)),process.exit(0);if(c[0]==="memory-warning")await Z_(c.slice(1)),process.exit(0);var u,ge=!1,be=!1,Oe=!1,we=!1,me=!1,he=!1,N=[],He,Ne;for(let e=0;e<c.length;e++){let _=c[e];switch(_){case"--port":case"-p":u=parseInt(c[++e]??"3100",10);break;case"--detach":case"-d":ge=!0;break;case"--quiet":case"-q":be=!0;break;case"--no-preview":he=!0;break;case"--list":case"-l":if(Oe=!0,c[e+1]&&!c[e+1].startsWith("-"))He=c[++e];break;case"--kill":case"-k":if(we=!0,c[e+1]&&!c[e+1].startsWith("-"))Ne=c[++e];break;case"--help":case"-h":case"help":me=!0;break;default:if(!_.startsWith("-"))N.push(_);else console.error(`Unknown flag: ${_}`),ve(),process.exit(1)}}if(me)ve(),process.exit(0);if(Oe)K_(He),process.exit(0);if(we)x_(Ne),process.exit(0);if(ge){let e=await Q(N,u??3100);X_(e)}else if(he)await k_(N,u??3100,be);else await Y_(u??3200,N,u!==void 0);
56
+ `)}var c=process.argv.slice(2);if(c[0]==="gesture")await z_(c.slice(1)),process.exit(0);if(c[0]==="button")await Q_(c.slice(1)),process.exit(0);if(c[0]==="rotate")await j_(c.slice(1)),process.exit(0);if(c[0]==="ca-debug")await J_(c.slice(1)),process.exit(0);if(c[0]==="memory-warning")await Z_(c.slice(1)),process.exit(0);var l,ge=!1,be=!1,Oe=!1,we=!1,me=!1,he=!1,N=[],He,Ne;for(let e=0;e<c.length;e++){let _=c[e];switch(_){case"--port":case"-p":l=parseInt(c[++e]??"3100",10);break;case"--detach":case"-d":ge=!0;break;case"--quiet":case"-q":be=!0;break;case"--no-preview":he=!0;break;case"--list":case"-l":if(Oe=!0,c[e+1]&&!c[e+1].startsWith("-"))He=c[++e];break;case"--kill":case"-k":if(we=!0,c[e+1]&&!c[e+1].startsWith("-"))Ne=c[++e];break;case"--help":case"-h":case"help":me=!0;break;default:if(!_.startsWith("-"))N.push(_);else console.error(`Unknown flag: ${_}`),ve(),process.exit(1)}}if(me)ve(),process.exit(0);if(Oe)K_(He),process.exit(0);if(we)x_(Ne),process.exit(0);if(ge){let e=await Q(N,l??3100);X_(e)}else if(he)await k_(N,l??3100,be);else await Y_(l??3200,N,l!==void 0);