serve-sim 0.1.9 → 0.1.10

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/bin/serve-sim-bin CHANGED
Binary file
package/dist/serve-sim.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- var we=Object.defineProperty;var me=(e)=>e;function he(e,_){this[e]=me.bind(null,_)}var He=(e,_)=>{for(var t in _)we(e,t,{get:_[t],enumerable:!0,configurable:!0,set:he.bind(_,t)})};var Ne=(e,_)=>()=>(e&&(_=e(e=0)),_);var Se={};He(Se,{simMiddleware:()=>s_,selectServeSimState:()=>d});import{readdirSync as Ie,readFileSync as qe,existsSync as ke,unlinkSync as ee}from"fs";import{execSync as Xe,spawn as _e,exec as Ke,execFile as xe}from"child_process";import{tmpdir as ze}from"os";import{join as I}from"path";function Ze(e){return!Je.test(e)}function Ye(e,_){if(je.has(_))return Promise.resolve(!0);return new Promise((t)=>{xe("xcrun",["simctl","get_app_container",e,_,"app"],{timeout:2000},(s,i)=>{if(s)return t(!1);let S=i.trim();if(!S)return t(!1);for(let C of Qe)if(ke(I(S,C)))return t(!0);t(!1)})})}function e_(){let e=Date.now();if(m.booted&&e-m.at<1500)return m.booted;try{let _=Xe("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let i of Object.values(t.devices))for(let S of i)if(S.state==="Booted")s.add(S.udid);return m={at:e,booted:s},s}catch{return null}}function h(){let e;try{e=Ie(te).filter((s)=>s.startsWith("server-")&&s.endsWith(".json"))}catch{return[]}let _=e_(),t=[];for(let s of e){let i=I(te,s);try{let S=JSON.parse(qe(i,"utf-8"));try{process.kill(S.pid,0)}catch{try{ee(i)}catch{}continue}if(_&&!_.has(S.device)){try{process.kill(S.pid,"SIGTERM")}catch{}try{ee(i)}catch{}continue}t.push(S)}catch{}}return t}function d(e,_){if(_)return e.find((t)=>t.device===_)??null;return e[0]??null}function __(e){let _=e.indexOf("?");if(_===-1)return null;return new URLSearchParams(e.slice(_+1)).get("device")}function se(e,_,t){return`${`${e}${_}`}?device=${encodeURIComponent(t)}`}function t_(){if(!U)U=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciB6MSxJLEg5LEk4LEkwLEs5LEw5LFc5LFMxLFExLGYwLE45LHgxLHkxLHYxLE85LCQxPXt9LEsxPVtdLEU4PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksZDA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBCMChHLFgpe2Zvcih2YXIgSiBpbiBYKUdbSl09WFtKXTtyZXR1cm4gR31mdW5jdGlvbiBnMShHKXtHJiZHLnBhcmVudE5vZGUmJkcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChHKX1mdW5jdGlvbiBQMChHLFgsSil7dmFyIFksWixxLFE9e307Zm9yKHEgaW4gWClxPT0ia2V5Ij9ZPVhbcV06cT09InJlZiI/Wj1YW3FdOlFbcV09WFtxXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihRLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz96MS5jYWxsKGFyZ3VtZW50cywyKTpKKSx0eXBlb2YgRz09ImZ1bmN0aW9uIiYmRy5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKHEgaW4gRy5kZWZhdWx0UHJvcHMpUVtxXT09PXZvaWQgMCYmKFFbcV09Ry5kZWZhdWx0UHJvcHNbcV0pO3JldHVybiBfMShHLFEsWSxaLG51bGwpfWZ1bmN0aW9uIF8xKEcsWCxKLFksWil7dmFyIHE9e3R5cGU6Ryxwcm9wczpYLGtleTpKLHJlZjpZLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpaPT1udWxsPysrSDk6WixfX2k6LTEsX191OjB9O3JldHVybiBaPT1udWxsJiZJLnZub2RlIT1udWxsJiZJLnZub2RlKHEpLHF9ZnVuY3Rpb24gYShHKXtyZXR1cm4gRy5jaGlsZHJlbn1mdW5jdGlvbiByKEcsWCl7dGhpcy5wcm9wcz1HLHRoaXMuY29udGV4dD1YfWZ1bmN0aW9uIFIwKEcsWCl7aWYoWD09bnVsbClyZXR1cm4gRy5fXz9SMChHLl9fLEcuX19pKzEpOm51bGw7Zm9yKHZhciBKO1g8Ry5fX2subGVuZ3RoO1grKylpZigoSj1HLl9fa1tYXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mIEcudHlwZT09ImZ1bmN0aW9uIj9SMChHKTpudWxsfWZ1bmN0aW9uIHc4KEcpe2lmKEcuX19QJiZHLl9fZCl7dmFyIFg9Ry5fX3YsSj1YLl9fZSxZPVtdLFo9W10scT1CMCh7fSxYKTtxLl9fdj1YLl9fdisxLEkudm5vZGUmJkkudm5vZGUocSkscDEoRy5fX1AscSxYLEcuX19uLEcuX19QLm5hbWVzcGFjZVVSSSwzMiZYLl9fdT9bSl06bnVsbCxZLEo9PW51bGw/UjAoWCk6SiwhISgzMiZYLl9fdSksWikscS5fX3Y9WC5fX3YscS5fXy5fX2tbcS5fX2ldPXEsUDkoWSxxLFopLFguX19lPVguX189bnVsbCxxLl9fZSE9SiYmRDkocSl9fWZ1bmN0aW9uIEQ5KEcpe2lmKChHPUcuX18pIT1udWxsJiZHLl9fYyE9bnVsbClyZXR1cm4gRy5fX2U9Ry5fX2MuYmFzZT1udWxsLEcuX19rLnNvbWUoZnVuY3Rpb24oWCl7aWYoWCE9bnVsbCYmWC5fX2UhPW51bGwpcmV0dXJuIEcuX19lPUcuX19jLmJhc2U9WC5fX2V9KSxEOShHKX1mdW5jdGlvbiBoMShHKXsoIUcuX19kJiYoRy5fX2Q9ITApJiZJMC5wdXNoKEcpJiYhVjEuX19yKyt8fEs5IT1JLmRlYm91bmNlUmVuZGVyaW5nKSYmKChLOT1JLmRlYm91bmNlUmVuZGVyaW5nKXx8TDkpKFYxKX1mdW5jdGlvbiBWMSgpe3RyeXtmb3IodmFyIEcsWD0xO0kwLmxlbmd0aDspSTAubGVuZ3RoPlgmJkkwLnNvcnQoVzkpLEc9STAuc2hpZnQoKSxYPUkwLmxlbmd0aCx3OChHKX1maW5hbGx5e0kwLmxlbmd0aD1WMS5fX3I9MH19ZnVuY3Rpb24gRjkoRyxYLEosWSxaLHEsUSxLLEgsVixEKXt2YXIgJCxMLFcsVSxQLEYsRSx3PVkmJlkuX19rfHxLMSxnPVgubGVuZ3RoO2ZvcihIPVQ4KEosWCx3LEgsZyksJD0wOyQ8ZzskKyspKFc9Si5fX2tbJF0pIT1udWxsJiYoTD1XLl9faSE9LTEmJndbVy5fX2ldfHwkMSxXLl9faT0kLEY9cDEoRyxXLEwsWixxLFEsSyxILFYsRCksVT1XLl9fZSxXLnJlZiYmTC5yZWYhPVcucmVmJiYoTC5yZWYmJmYxKEwucmVmLG51bGwsVyksRC5wdXNoKFcucmVmLFcuX19jfHxVLFcpKSxQPT1udWxsJiZVIT1udWxsJiYoUD1VKSwoRT0hISg0JlcuX191KSl8fEwuX19rPT09Vy5fX2s/KEg9QjkoVyxILEcsRSksRSYmTC5fX2UmJihMLl9fZT1udWxsKSk6dHlwZW9mIFcudHlwZT09ImZ1bmN0aW9uIiYmRiE9PXZvaWQgMD9IPUY6VSYmKEg9VS5uZXh0U2libGluZyksVy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9UCxIfWZ1bmN0aW9uIFQ4KEcsWCxKLFksWil7dmFyIHEsUSxLLEgsVixEPUoubGVuZ3RoLCQ9RCxMPTA7Zm9yKEcuX19rPUFycmF5KFopLHE9MDtxPFo7cSsrKShRPVhbcV0pIT1udWxsJiZ0eXBlb2YgUSE9ImJvb2xlYW4iJiZ0eXBlb2YgUSE9ImZ1bmN0aW9uIj8odHlwZW9mIFE9PSJzdHJpbmcifHx0eXBlb2YgUT09Im51bWJlciJ8fHR5cGVvZiBRPT0iYmlnaW50Inx8US5jb25zdHJ1Y3Rvcj09U3RyaW5nP1E9Ry5fX2tbcV09XzEobnVsbCxRLG51bGwsbnVsbCxudWxsKTpkMChRKT9RPUcuX19rW3FdPV8xKGEse2NoaWxkcmVuOlF9LG51bGwsbnVsbCxudWxsKTpRLmNvbnN0cnVjdG9yPT09dm9pZCAwJiZRLl9fYj4wP1E9Ry5fX2tbcV09XzEoUS50eXBlLFEucHJvcHMsUS5rZXksUS5yZWY/US5yZWY6bnVsbCxRLl9fdik6Ry5fX2tbcV09USxIPXErTCxRLl9fPUcsUS5fX2I9Ry5fX2IrMSxLPW51bGwsKFY9US5fX2k9azgoUSxKLEgsJCkpIT0tMSYmKCQtLSwoSz1KW1ZdKSYmKEsuX191fD0yKSksSz09bnVsbHx8Sy5fX3Y9PW51bGw/KFY9PS0xJiYoWj5EP0wtLTpaPEQmJkwrKyksdHlwZW9mIFEudHlwZSE9ImZ1bmN0aW9uIiYmKFEuX191fD00KSk6ViE9SCYmKFY9PUgtMT9MLS06Vj09SCsxP0wrKzooVj5IP0wtLTpMKyssUS5fX3V8PTQpKSk6Ry5fX2tbcV09bnVsbDtpZigkKWZvcihxPTA7cTxEO3ErKykoSz1KW3FdKSE9bnVsbCYmKDImSy5fX3UpPT0wJiYoSy5fX2U9PVkmJihZPVIwKEspKSxBOShLLEspKTtyZXR1cm4gWX1mdW5jdGlvbiBCOShHLFgsSixZKXt2YXIgWixxO2lmKHR5cGVvZiBHLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihaPUcuX19rLHE9MDtaJiZxPFoubGVuZ3RoO3ErKylaW3FdJiYoWltxXS5fXz1HLFg9QjkoWltxXSxYLEosWSkpO3JldHVybiBYfUcuX19lIT1YJiYoWSYmKFgmJkcudHlwZSYmIVgucGFyZW50Tm9kZSYmKFg9UjAoRykpLEouaW5zZXJ0QmVmb3JlKEcuX19lLFh8fG51bGwpKSxYPUcuX19lKTtkbyBYPVgmJlgubmV4dFNpYmxpbmc7d2hpbGUoWCE9bnVsbCYmWC5ub2RlVHlwZT09OCk7cmV0dXJuIFh9ZnVuY3Rpb24gVTAoRyxYKXtyZXR1cm4gWD1YfHxbXSxHPT1udWxsfHx0eXBlb2YgRz09ImJvb2xlYW4ifHwoZDAoRyk/Ry5zb21lKGZ1bmN0aW9uKEope1UwKEosWCl9KTpYLnB1c2goRykpLFh9ZnVuY3Rpb24gazgoRyxYLEosWSl7dmFyIFoscSxRLEs9Ry5rZXksSD1HLnR5cGUsVj1YW0pdLEQ9ViE9bnVsbCYmKDImVi5fX3UpPT0wO2lmKFY9PT1udWxsJiZLPT1udWxsfHxEJiZLPT1WLmtleSYmSD09Vi50eXBlKXJldHVybiBKO2lmKFk+KEQ/MTowKSl7Zm9yKFo9Si0xLHE9SisxO1o+PTB8fHE8WC5sZW5ndGg7KWlmKChWPVhbUT1aPj0wP1otLTpxKytdKSE9bnVsbCYmKDImVi5fX3UpPT0wJiZLPT1WLmtleSYmSD09Vi50eXBlKXJldHVybiBRfXJldHVybi0xfWZ1bmN0aW9uIFY5KEcsWCxKKXtYWzBdPT0iLSI/Ry5zZXRQcm9wZXJ0eShYLEo9PW51bGw/IiI6Sik6R1tYXT1KPT1udWxsPyIiOnR5cGVvZiBKIT0ibnVtYmVyInx8RTgudGVzdChYKT9KOkorInB4In1mdW5jdGlvbiBxMShHLFgsSixZLFope3ZhciBxLFE7RzppZihYPT0ic3R5bGUiKWlmKHR5cGVvZiBKPT0ic3RyaW5nIilHLnN0eWxlLmNzc1RleHQ9SjtlbHNle2lmKHR5cGVvZiBZPT0ic3RyaW5nIiYmKEcuc3R5bGUuY3NzVGV4dD1ZPSIiKSxZKWZvcihYIGluIFkpSiYmWCBpbiBKfHxWOShHLnN0eWxlLFgsIiIpO2lmKEopZm9yKFggaW4gSilZJiZKW1hdPT1ZW1hdfHxWOShHLnN0eWxlLFgsSltYXSl9ZWxzZSBpZihYWzBdPT0ibyImJlhbMV09PSJuIilxPVghPShYPVgucmVwbGFjZShOOSwiJDEiKSksUT1YLnRvTG93ZXJDYXNlKCksWD1RIGluIEd8fFg9PSJvbkZvY3VzT3V0Inx8WD09Im9uRm9jdXNJbiI/US5zbGljZSgyKTpYLnNsaWNlKDIpLEcubHx8KEcubD17fSksRy5sW1grcV09SixKP1k/SltmMF09WVtmMF06KEpbZjBdPXgxLEcuYWRkRXZlbnRMaXN0ZW5lcihYLHE/djE6eTEscSkpOkcucmVtb3ZlRXZlbnRMaXN0ZW5lcihYLHE/djE6eTEscSk7ZWxzZXtpZihaPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKVg9WC5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihYIT0id2lkdGgiJiZYIT0iaGVpZ2h0IiYmWCE9ImhyZWYiJiZYIT0ibGlzdCImJlghPSJmb3JtIiYmWCE9InRhYkluZGV4IiYmWCE9ImRvd25sb2FkIiYmWCE9InJvd1NwYW4iJiZYIT0iY29sU3BhbiImJlghPSJyb2xlIiYmWCE9InBvcG92ZXIiJiZYIGluIEcpdHJ5e0dbWF09Sj09bnVsbD8iIjpKO2JyZWFrIEd9Y2F0Y2goSyl7fXR5cGVvZiBKPT0iZnVuY3Rpb24ifHwoSj09bnVsbHx8Sj09PSExJiZYWzRdIT0iLSI/Ry5yZW1vdmVBdHRyaWJ1dGUoWCk6Ry5zZXRBdHRyaWJ1dGUoWCxYPT0icG9wb3ZlciImJko9PTE/IiI6SikpfX1mdW5jdGlvbiB6OShHKXtyZXR1cm4gZnVuY3Rpb24oWCl7aWYodGhpcy5sKXt2YXIgSj10aGlzLmxbWC50eXBlK0ddO2lmKFhbUTFdPT1udWxsKVhbUTFdPXgxKys7ZWxzZSBpZihYW1ExXTxKW2YwXSlyZXR1cm47cmV0dXJuIEooSS5ldmVudD9JLmV2ZW50KFgpOlgpfX19ZnVuY3Rpb24gcDEoRyxYLEosWSxaLHEsUSxLLEgsVil7dmFyIEQsJCxMLFcsVSxQLEYsRSx3LGcsaCxvLEcwLHUsdix0PVgudHlwZTtpZihYLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKEg9ISEoMzImSi5fX3UpLHE9W0s9WC5fX2U9Si5fX2VdKSwoRD1JLl9fYikmJkQoWCk7RzppZih0eXBlb2YgdD09ImZ1bmN0aW9uIil0cnl7aWYoRT1YLnByb3BzLHc9dC5wcm90b3R5cGUmJnQucHJvdG90eXBlLnJlbmRlcixnPShEPXQuY29udGV4dFR5cGUpJiZZW0QuX19jXSxoPUQ/Zz9nLnByb3BzLnZhbHVlOkQuX186WSxKLl9fYz9GPSgkPVguX19jPUouX19jKS5fXz0kLl9fRToodz9YLl9fYz0kPW5ldyB0KEUsaCk6KFguX19jPSQ9bmV3IHIoRSxoKSwkLmNvbnN0cnVjdG9yPXQsJC5yZW5kZXI9YjgpLGcmJmcuc3ViKCQpLCQuc3RhdGV8fCgkLnN0YXRlPXt9KSwkLl9fbj1ZLEw9JC5fX2Q9ITAsJC5fX2g9W10sJC5fc2I9W10pLHcmJiQuX19zPT1udWxsJiYoJC5fX3M9JC5zdGF0ZSksdyYmdC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMhPW51bGwmJigkLl9fcz09JC5zdGF0ZSYmKCQuX19zPUIwKHt9LCQuX19zKSksQjAoJC5fX3MsdC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoRSwkLl9fcykpKSxXPSQucHJvcHMsVT0kLnN0YXRlLCQuX192PVgsTCl3JiZ0LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmJC5jb21wb25lbnRXaWxsTW91bnQhPW51bGwmJiQuY29tcG9uZW50V2lsbE1vdW50KCksdyYmJC5jb21wb25lbnREaWRNb3VudCE9bnVsbCYmJC5fX2gucHVzaCgkLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKHcmJnQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZFIT09VyYmJC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1udWxsJiYkLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoRSxoKSxYLl9fdj09Si5fX3Z8fCEkLl9fZSYmJC5zaG91bGRDb21wb25lbnRVcGRhdGUhPW51bGwmJiQuc2hvdWxkQ29tcG9uZW50VXBkYXRlKEUsJC5fX3MsaCk9PT0hMSl7WC5fX3YhPUouX192JiYoJC5wcm9wcz1FLCQuc3RhdGU9JC5fX3MsJC5fX2Q9ITEpLFguX19lPUouX19lLFguX19rPUouX19rLFguX19rLnNvbWUoZnVuY3Rpb24oSjApe0owJiYoSjAuX189WCl9KSxLMS5wdXNoLmFwcGx5KCQuX19oLCQuX3NiKSwkLl9zYj1bXSwkLl9faC5sZW5ndGgmJlEucHVzaCgkKTticmVhayBHfSQuY29tcG9uZW50V2lsbFVwZGF0ZSE9bnVsbCYmJC5jb21wb25lbnRXaWxsVXBkYXRlKEUsJC5fX3MsaCksdyYmJC5jb21wb25lbnREaWRVcGRhdGUhPW51bGwmJiQuX19oLnB1c2goZnVuY3Rpb24oKXskLmNvbXBvbmVudERpZFVwZGF0ZShXLFUsUCl9KX1pZigkLmNvbnRleHQ9aCwkLnByb3BzPUUsJC5fX1A9RywkLl9fZT0hMSxvPUkuX19yLEcwPTAsdykkLnN0YXRlPSQuX19zLCQuX19kPSExLG8mJm8oWCksRD0kLnJlbmRlcigkLnByb3BzLCQuc3RhdGUsJC5jb250ZXh0KSxLMS5wdXNoLmFwcGx5KCQuX19oLCQuX3NiKSwkLl9zYj1bXTtlbHNlIGRvICQuX19kPSExLG8mJm8oWCksRD0kLnJlbmRlcigkLnByb3BzLCQuc3RhdGUsJC5jb250ZXh0KSwkLnN0YXRlPSQuX19zO3doaWxlKCQuX19kJiYrK0cwPDI1KTskLnN0YXRlPSQuX19zLCQuZ2V0Q2hpbGRDb250ZXh0IT1udWxsJiYoWT1CMChCMCh7fSxZKSwkLmdldENoaWxkQ29udGV4dCgpKSksdyYmIUwmJiQuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPW51bGwmJihQPSQuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoVyxVKSksdT1EIT1udWxsJiZELnR5cGU9PT1hJiZELmtleT09bnVsbD9VOShELnByb3BzLmNoaWxkcmVuKTpELEs9RjkoRyxkMCh1KT91Olt1XSxYLEosWSxaLHEsUSxLLEgsViksJC5iYXNlPVguX19lLFguX191Jj0tMTYxLCQuX19oLmxlbmd0aCYmUS5wdXNoKCQpLEYmJigkLl9fRT0kLl9fPW51bGwpfWNhdGNoKEowKXtpZihYLl9fdj1udWxsLEh8fHEhPW51bGwpaWYoSjAudGhlbil7Zm9yKFguX191fD1IPzE2MDoxMjg7SyYmSy5ub2RlVHlwZT09OCYmSy5uZXh0U2libGluZzspSz1LLm5leHRTaWJsaW5nO3FbcS5pbmRleE9mKEspXT1udWxsLFguX19lPUt9ZWxzZXtmb3Iodj1xLmxlbmd0aDt2LS07KWcxKHFbdl0pO20xKFgpfWVsc2UgWC5fX2U9Si5fX2UsWC5fX2s9Si5fX2ssSjAudGhlbnx8bTEoWCk7SS5fX2UoSjAsWCxKKX1lbHNlIHE9PW51bGwmJlguX192PT1KLl9fdj8oWC5fX2s9Si5fX2ssWC5fX2U9Si5fX2UpOks9WC5fX2U9QzgoSi5fX2UsWCxKLFksWixxLFEsSCxWKTtyZXR1cm4oRD1JLmRpZmZlZCkmJkQoWCksMTI4JlguX191P3ZvaWQgMDpLfWZ1bmN0aW9uIG0xKEcpe0cmJihHLl9fYyYmKEcuX19jLl9fZT0hMCksRy5fX2smJkcuX19rLnNvbWUobTEpKX1mdW5jdGlvbiBQOShHLFgsSil7Zm9yKHZhciBZPTA7WTxKLmxlbmd0aDtZKyspZjEoSltZXSxKWysrWV0sSlsrK1ldKTtJLl9fYyYmSS5fX2MoWCxHKSxHLnNvbWUoZnVuY3Rpb24oWil7dHJ5e0c9Wi5fX2gsWi5fX2g9W10sRy5zb21lKGZ1bmN0aW9uKHEpe3EuY2FsbChaKX0pfWNhdGNoKHEpe0kuX19lKHEsWi5fX3YpfX0pfWZ1bmN0aW9uIFU5KEcpe3JldHVybiB0eXBlb2YgRyE9Im9iamVjdCJ8fEc9PW51bGx8fEcuX19iPjA/RzpkMChHKT9HLm1hcChVOSk6QjAoe30sRyl9ZnVuY3Rpb24gQzgoRyxYLEosWSxaLHEsUSxLLEgpe3ZhciBWLEQsJCxMLFcsVSxQLEY9Si5wcm9wc3x8JDEsRT1YLnByb3BzLHc9WC50eXBlO2lmKHc9PSJzdmciP1o9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjp3PT0ibWF0aCI/Wj0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6Wnx8KFo9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxxIT1udWxsKXtmb3IoVj0wO1Y8cS5sZW5ndGg7VisrKWlmKChXPXFbVl0pJiYic2V0QXR0cmlidXRlImluIFc9PSEhdyYmKHc/Vy5sb2NhbE5hbWU9PXc6Vy5ub2RlVHlwZT09Mykpe0c9VyxxW1ZdPW51bGw7YnJlYWt9fWlmKEc9PW51bGwpe2lmKHc9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEUpO0c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFosdyxFLmlzJiZFKSxLJiYoSS5fX20mJkkuX19tKFgscSksSz0hMSkscT1udWxsfWlmKHc9PW51bGwpRj09PUV8fEsmJkcuZGF0YT09RXx8KEcuZGF0YT1FKTtlbHNle2lmKHE9cSYmejEuY2FsbChHLmNoaWxkTm9kZXMpLCFLJiZxIT1udWxsKWZvcihGPXt9LFY9MDtWPEcuYXR0cmlidXRlcy5sZW5ndGg7VisrKUZbKFc9Ry5hdHRyaWJ1dGVzW1ZdKS5uYW1lXT1XLnZhbHVlO2ZvcihWIGluIEYpVz1GW1ZdLFY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/JD1XOlY9PSJjaGlsZHJlbiJ8fChWIGluIEUpfHxWPT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBFKXx8Vj09ImNoZWNrZWQiJiYoImRlZmF1bHRDaGVja2VkImluIEUpfHxxMShHLFYsbnVsbCxXLFopO2ZvcihWIGluIEUpVz1FW1ZdLFY9PSJjaGlsZHJlbiI/TD1XOlY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/RD1XOlY9PSJ2YWx1ZSI/VT1XOlY9PSJjaGVja2VkIj9QPVc6SyYmdHlwZW9mIFchPSJmdW5jdGlvbiJ8fEZbVl09PT1XfHxxMShHLFYsVyxGW1ZdLFopO2lmKEQpS3x8JCYmKEQuX19odG1sPT0kLl9faHRtbHx8RC5fX2h0bWw9PUcuaW5uZXJIVE1MKXx8KEcuaW5uZXJIVE1MPUQuX19odG1sKSxYLl9faz1bXTtlbHNlIGlmKCQmJihHLmlubmVySFRNTD0iIiksRjkoWC50eXBlPT0idGVtcGxhdGUiP0cuY29udGVudDpHLGQwKEwpP0w6W0xdLFgsSixZLHc9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6WixxLFEscT9xWzBdOkouX19rJiZSMChKLDApLEssSCkscSE9bnVsbClmb3IoVj1xLmxlbmd0aDtWLS07KWcxKHFbVl0pO0t8fChWPSJ2YWx1ZSIsdz09InByb2dyZXNzIiYmVT09bnVsbD9HLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpVIT1udWxsJiYoVSE9PUdbVl18fHc9PSJwcm9ncmVzcyImJiFVfHx3PT0ib3B0aW9uIiYmVSE9RltWXSkmJnExKEcsVixVLEZbVl0sWiksVj0iY2hlY2tlZCIsUCE9bnVsbCYmUCE9R1tWXSYmcTEoRyxWLFAsRltWXSxaKSl9cmV0dXJuIEd9ZnVuY3Rpb24gZjEoRyxYLEope3RyeXtpZih0eXBlb2YgRz09ImZ1bmN0aW9uIil7dmFyIFk9dHlwZW9mIEcuX191PT0iZnVuY3Rpb24iO1kmJkcuX191KCksWSYmWD09bnVsbHx8KEcuX191PUcoWCkpfWVsc2UgRy5jdXJyZW50PVh9Y2F0Y2goWil7SS5fX2UoWixKKX19ZnVuY3Rpb24gQTkoRyxYLEope3ZhciBZLFo7aWYoSS51bm1vdW50JiZJLnVubW91bnQoRyksKFk9Ry5yZWYpJiYoWS5jdXJyZW50JiZZLmN1cnJlbnQhPUcuX19lfHxmMShZLG51bGwsWCkpLChZPUcuX19jKSE9bnVsbCl7aWYoWS5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7WS5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKHEpe0kuX19lKHEsWCl9WS5iYXNlPVkuX19QPW51bGx9aWYoWT1HLl9faylmb3IoWj0wO1o8WS5sZW5ndGg7WisrKVlbWl0mJkE5KFlbWl0sWCxKfHx0eXBlb2YgRy50eXBlIT0iZnVuY3Rpb24iKTtKfHxnMShHLl9fZSksRy5fX2M9Ry5fXz1HLl9fZT12b2lkIDB9ZnVuY3Rpb24gYjgoRyxYLEope3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKEcsSil9ZnVuY3Rpb24gSDEoRyxYLEope3ZhciBZLFoscSxRO1g9PWRvY3VtZW50JiYoWD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLEkuX18mJkkuX18oRyxYKSxaPShZPXR5cGVvZiBKPT0iZnVuY3Rpb24iKT9udWxsOkomJkouX19rfHxYLl9fayxxPVtdLFE9W10scDEoWCxHPSghWSYmSnx8WCkuX19rPVAwKGEsbnVsbCxbR10pLFp8fCQxLCQxLFgubmFtZXNwYWNlVVJJLCFZJiZKP1tKXTpaP251bGw6WC5maXJzdENoaWxkP3oxLmNhbGwoWC5jaGlsZE5vZGVzKTpudWxsLHEsIVkmJko/SjpaP1ouX19lOlguZmlyc3RDaGlsZCxZLFEpLFA5KHEsRyxRKX1mdW5jdGlvbiBqMChHKXtmdW5jdGlvbiBYKEope3ZhciBZLFo7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoWT1uZXcgU2V0LChaPXt9KVtYLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBafSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WT1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihxKXt0aGlzLnByb3BzLnZhbHVlIT1xLnZhbHVlJiZZLmZvckVhY2goZnVuY3Rpb24oUSl7US5fX2U9ITAsaDEoUSl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24ocSl7WS5hZGQocSk7dmFyIFE9cS5jb21wb25lbnRXaWxsVW5tb3VudDtxLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WSYmWS5kZWxldGUocSksUSYmUS5jYWxsKHEpfX0pLEouY2hpbGRyZW59cmV0dXJuIFguX19jPSJfX2NDIitPOSsrLFguX189RyxYLlByb3ZpZGVyPVguX19sPShYLkNvbnN1bWVyPWZ1bmN0aW9uKEosWSl7cmV0dXJuIEouY2hpbGRyZW4oWSl9KS5jb250ZXh0VHlwZT1YLFh9ejE9SzEuc2xpY2UsST17X19lOmZ1bmN0aW9uKEcsWCxKLFkpe2Zvcih2YXIgWixxLFE7WD1YLl9fOylpZigoWj1YLl9fYykmJiFaLl9fKXRyeXtpZigocT1aLmNvbnN0cnVjdG9yKSYmcS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihaLnNldFN0YXRlKHEuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKEcpKSxRPVouX19kKSxaLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYoWi5jb21wb25lbnREaWRDYXRjaChHLFl8fHt9KSxRPVouX19kKSxRKXJldHVybiBaLl9fRT1afWNhdGNoKEspe0c9S310aHJvdyBHfX0sSDk9MCxJOD1mdW5jdGlvbihHKXtyZXR1cm4gRyE9bnVsbCYmRy5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sci5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oRyxYKXt2YXIgSjtKPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1CMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgRz09ImZ1bmN0aW9uIiYmKEc9RyhCMCh7fSxKKSx0aGlzLnByb3BzKSksRyYmQjAoSixHKSxHIT1udWxsJiZ0aGlzLl9fdiYmKFgmJnRoaXMuX3NiLnB1c2goWCksaDEodGhpcykpfSxyLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihHKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLEcmJnRoaXMuX19oLnB1c2goRyksaDEodGhpcykpfSxyLnByb3RvdHlwZS5yZW5kZXI9YSxJMD1bXSxMOT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsVzk9ZnVuY3Rpb24oRyxYKXtyZXR1cm4gRy5fX3YuX19iLVguX192Ll9fYn0sVjEuX19yPTAsUzE9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxRMT0iX19kIitTMSxmMD0iX19hIitTMSxOOT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSx4MT0wLHkxPXo5KCExKSx2MT16OSghMCksTzk9MDt2YXIgUzAseCxkMSxNOSx1MD0wLFI5PVtdLGw9SSxJOT1sLl9fYixFOT1sLl9fcix3OT1sLmRpZmZlZCxUOT1sLl9fYyxrOT1sLnVubW91bnQsQzk9bC5fXztmdW5jdGlvbiBXMShHLFgpe2wuX19oJiZsLl9faCh4LEcsdTB8fFgpLHUwPTA7dmFyIEo9eC5fX0h8fCh4Ll9fSD17X186W10sX19oOltdfSk7cmV0dXJuIEc+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bR119ZnVuY3Rpb24gQyhHKXtyZXR1cm4gdTA9MSxhMShTOSxHKX1mdW5jdGlvbiBhMShHLFgsSil7dmFyIFk9VzEoUzArKywyKTtpZihZLnQ9RywhWS5fX2MmJihZLl9fPVtKP0ooWCk6Uzkodm9pZCAwLFgpLGZ1bmN0aW9uKEspe3ZhciBIPVkuX19OP1kuX19OWzBdOlkuX19bMF0sVj1ZLnQoSCxLKTtIIT09ViYmKFkuX19OPVtWLFkuX19bMV1dLFkuX19jLnNldFN0YXRlKHt9KSl9XSxZLl9fYz14LCF4Ll9fZikpe3ZhciBaPWZ1bmN0aW9uKEssSCxWKXtpZighWS5fX2MuX19IKXJldHVybiEwO3ZhciBEPVkuX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24oTCl7cmV0dXJuIEwuX19jfSk7aWYoRC5ldmVyeShmdW5jdGlvbihMKXtyZXR1cm4hTC5fX059KSlyZXR1cm4hcXx8cS5jYWxsKHRoaXMsSyxILFYpO3ZhciAkPVkuX19jLnByb3BzIT09SztyZXR1cm4gRC5zb21lKGZ1bmN0aW9uKEwpe2lmKEwuX19OKXt2YXIgVz1MLl9fWzBdO0wuX189TC5fX04sTC5fX049dm9pZCAwLFchPT1MLl9fWzBdJiYoJD0hMCl9fSkscSYmcS5jYWxsKHRoaXMsSyxILFYpfHwkfTt4Ll9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOnEsY29tcG9uZW50V2lsbFVwZGF0ZTpRfT14O3guY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbihLLEgsVil7aWYodGhpcy5fX2Upe3ZhciBEPXE7cT12b2lkIDAsWihLLEgsVikscT1EfVEmJlEuY2FsbCh0aGlzLEssSCxWKX0seC5zaG91bGRDb21wb25lbnRVcGRhdGU9Wn1yZXR1cm4gWS5fX058fFkuX199ZnVuY3Rpb24gUyhHLFgpe3ZhciBKPVcxKFMwKyssMyk7IWwuX19zJiZqOShKLl9fSCxYKSYmKEouX189RyxKLnU9WCx4Ll9fSC5fX2gucHVzaChKKSl9ZnVuY3Rpb24gUihHKXtyZXR1cm4gdTA9NSxOMShmdW5jdGlvbigpe3JldHVybntjdXJyZW50Okd9fSxbXSl9ZnVuY3Rpb24gTjEoRyxYKXt2YXIgSj1XMShTMCsrLDcpO3JldHVybiBqOShKLl9fSCxYKSYmKEouX189RygpLEouX19IPVgsSi5fX2g9RyksSi5fX31mdW5jdGlvbiBiKEcsWCl7cmV0dXJuIHUwPTgsTjEoZnVuY3Rpb24oKXtyZXR1cm4gR30sWCl9ZnVuY3Rpb24gYTAoRyl7dmFyIFg9eC5jb250ZXh0W0cuX19jXSxKPVcxKFMwKyssOSk7cmV0dXJuIEouYz1HLFg/KEouX189PW51bGwmJihKLl9fPSEwLFguc3ViKHgpKSxYLnByb3BzLnZhbHVlKTpHLl9ffWZ1bmN0aW9uIFI4KCl7Zm9yKHZhciBHO0c9Ujkuc2hpZnQoKTspe3ZhciBYPUcuX19IO2lmKEcuX19QJiZYKXRyeXtYLl9faC5zb21lKEwxKSxYLl9faC5zb21lKHUxKSxYLl9faD1bXX1jYXRjaChKKXtYLl9faD1bXSxsLl9fZShKLEcuX192KX19fWwuX19iPWZ1bmN0aW9uKEcpe3g9bnVsbCxJOSYmSTkoRyl9LGwuX189ZnVuY3Rpb24oRyxYKXtHJiZYLl9fayYmWC5fX2suX19tJiYoRy5fX209WC5fX2suX19tKSxDOSYmQzkoRyxYKX0sbC5fX3I9ZnVuY3Rpb24oRyl7RTkmJkU5KEcpLFMwPTA7dmFyIFg9KHg9Ry5fX2MpLl9fSDtYJiYoZDE9PT14PyhYLl9faD1bXSx4Ll9faD1bXSxYLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihYLl9faC5zb21lKEwxKSxYLl9faC5zb21lKHUxKSxYLl9faD1bXSxTMD0wKSksZDE9eH0sbC5kaWZmZWQ9ZnVuY3Rpb24oRyl7dzkmJnc5KEcpO3ZhciBYPUcuX19jO1gmJlguX19IJiYoWC5fX0guX19oLmxlbmd0aCYmKFI5LnB1c2goWCkhPT0xJiZNOT09PWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKE05PWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8ajgpKFI4KSksWC5fX0guX18uc29tZShmdW5jdGlvbihKKXtKLnUmJihKLl9fSD1KLnUpLEoudT12b2lkIDB9KSksZDE9eD1udWxsfSxsLl9fYz1mdW5jdGlvbihHLFgpe1guc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShMMSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFkpe3JldHVybiFZLl9ffHx1MShZKX0pfWNhdGNoKFkpe1guc29tZShmdW5jdGlvbihaKXtaLl9faCYmKFouX19oPVtdKX0pLFg9W10sbC5fX2UoWSxKLl9fdil9fSksVDkmJlQ5KEcsWCl9LGwudW5tb3VudD1mdW5jdGlvbihHKXtrOSYmazkoRyk7dmFyIFgsSj1HLl9fYztKJiZKLl9fSCYmKEouX19ILl9fLnNvbWUoZnVuY3Rpb24oWSl7dHJ5e0wxKFkpfWNhdGNoKFope1g9Wn19KSxKLl9fSD12b2lkIDAsWCYmbC5fX2UoWCxKLl9fdikpfTt2YXIgYjk9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBqOChHKXt2YXIgWCxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFkpLGI5JiZjYW5jZWxBbmltYXRpb25GcmFtZShYKSxzZXRUaW1lb3V0KEcpfSxZPXNldFRpbWVvdXQoSiwzNSk7YjkmJihYPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gTDEoRyl7dmFyIFg9eCxKPUcuX19jO3R5cGVvZiBKPT0iZnVuY3Rpb24iJiYoRy5fX2M9dm9pZCAwLEooKSkseD1YfWZ1bmN0aW9uIHUxKEcpe3ZhciBYPXg7Ry5fX2M9Ry5fXygpLHg9WH1mdW5jdGlvbiBqOShHLFgpe3JldHVybiFHfHxHLmxlbmd0aCE9PVgubGVuZ3RofHxYLnNvbWUoZnVuY3Rpb24oSixZKXtyZXR1cm4gSiE9PUdbWV19KX1mdW5jdGlvbiBTOShHLFgpe3JldHVybiB0eXBlb2YgWD09ImZ1bmN0aW9uIj9YKEcpOlh9ZnVuY3Rpb24gZzgoRyxYKXtmb3IodmFyIEogaW4gWClHW0pdPVhbSl07cmV0dXJuIEd9ZnVuY3Rpb24geTkoRyxYKXtmb3IodmFyIEogaW4gRylpZihKIT09Il9fc291cmNlIiYmIShKIGluIFgpKXJldHVybiEwO2Zvcih2YXIgWSBpbiBYKWlmKFkhPT0iX19zb3VyY2UiJiZHW1ldIT09WFtZXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB2OShHLFgpe3RoaXMucHJvcHM9Ryx0aGlzLmNvbnRleHQ9WH0odjkucHJvdG90eXBlPW5ldyByKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCx2OS5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKEcsWCl7cmV0dXJuIHk5KHRoaXMucHJvcHMsRyl8fHk5KHRoaXMuc3RhdGUsWCl9O3ZhciBoOT1JLl9fYjtJLl9fYj1mdW5jdGlvbihHKXtHLnR5cGUmJkcudHlwZS5fX2YmJkcucmVmJiYoRy5wcm9wcy5yZWY9Ry5yZWYsRy5yZWY9bnVsbCksaDkmJmg5KEcpfTt2YXIgcDg9SS5fX2U7SS5fX2U9ZnVuY3Rpb24oRyxYLEosWSl7aWYoRy50aGVuKXtmb3IodmFyIFoscT1YO3E9cS5fXzspaWYoKFo9cS5fX2MpJiZaLl9fYylyZXR1cm4gWC5fX2U9PW51bGwmJihYLl9fZT1KLl9fZSxYLl9faz1KLl9fayksWi5fX2MoRyxYKX1wOChHLFgsSixZKX07dmFyIG05PUkudW5tb3VudDtmdW5jdGlvbiB1OShHLFgsSil7cmV0dXJuIEcmJihHLl9fYyYmRy5fX2MuX19IJiYoRy5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWSl7dHlwZW9mIFkuX19jPT0iZnVuY3Rpb24iJiZZLl9fYygpfSksRy5fX2MuX19IPW51bGwpLChHPWc4KHt9LEcpKS5fX2MhPW51bGwmJihHLl9fYy5fX1A9PT1KJiYoRy5fX2MuX19QPVgpLEcuX19jLl9fZT0hMCxHLl9fYz1udWxsKSxHLl9faz1HLl9fayYmRy5fX2subWFwKGZ1bmN0aW9uKFkpe3JldHVybiB1OShZLFgsSil9KSksR31mdW5jdGlvbiBhOShHLFgsSil7cmV0dXJuIEcmJkomJihHLl9fdj1udWxsLEcuX19rPUcuX19rJiZHLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIGE5KFksWCxKKX0pLEcuX19jJiZHLl9fYy5fX1A9PT1YJiYoRy5fX2UmJkouYXBwZW5kQ2hpbGQoRy5fX2UpLEcuX19jLl9fZT0hMCxHLl9fYy5fX1A9SikpLEd9ZnVuY3Rpb24gbDEoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gbDkoRyl7dmFyIFg9Ry5fXyYmRy5fXy5fX2M7cmV0dXJuIFgmJlguX19hJiZYLl9fYShHKX1mdW5jdGlvbiBPMSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfUkudW5tb3VudD1mdW5jdGlvbihHKXt2YXIgWD1HLl9fYztYJiYoWC5fX3o9ITApLFgmJlguX19SJiZYLl9fUigpLFgmJjMyJkcuX191JiYoRy50eXBlPW51bGwpLG05JiZtOShHKX0sKGwxLnByb3RvdHlwZT1uZXcgcikuX19jPWZ1bmN0aW9uKEcsWCl7dmFyIEo9WC5fX2MsWT10aGlzO1kubz09bnVsbCYmKFkubz1bXSksWS5vLnB1c2goSik7dmFyIFo9bDkoWS5fX3YpLHE9ITEsUT1mdW5jdGlvbigpe3F8fFkuX196fHwocT0hMCxKLl9fUj1udWxsLFo/WihIKTpIKCkpfTtKLl9fUj1RO3ZhciBLPUouX19QO0ouX19QPW51bGw7dmFyIEg9ZnVuY3Rpb24oKXtpZighLS1ZLl9fdSl7aWYoWS5zdGF0ZS5fX2Epe3ZhciBWPVkuc3RhdGUuX19hO1kuX192Ll9fa1swXT1hOShWLFYuX19jLl9fUCxWLl9fYy5fX08pfXZhciBEO2ZvcihZLnNldFN0YXRlKHtfX2E6WS5fX2I9bnVsbH0pO0Q9WS5vLnBvcCgpOylELl9fUD1LLEQuZm9yY2VVcGRhdGUoKX19O1kuX191Kyt8fDMyJlguX191fHxZLnNldFN0YXRlKHtfX2E6WS5fX2I9WS5fX3YuX19rWzBdfSksRy50aGVuKFEsUSl9LGwxLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sbDEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihHLFgpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFk9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09dTkodGhpcy5fX2IsSixZLl9fTz1ZLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgWj1YLl9fYSYmUDAoYSxudWxsLEcuZmFsbGJhY2spO3JldHVybiBaJiYoWi5fX3UmPS0zMyksW1AwKGEsbnVsbCxYLl9fYT9udWxsOkcuY2hpbGRyZW4pLFpdfTt2YXIgeDk9ZnVuY3Rpb24oRyxYLEope2lmKCsrSlsxXT09PUpbMF0mJkcubC5kZWxldGUoWCksRy5wcm9wcy5yZXZlYWxPcmRlciYmKEcucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCFHLmwuc2l6ZSkpZm9yKEo9Ry5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7Ry5pPUo9SlsyXX19OyhPMS5wcm90b3R5cGU9bmV3IHIpLl9fYT1mdW5jdGlvbihHKXt2YXIgWD10aGlzLEo9bDkoWC5fX3YpLFk9WC5sLmdldChHKTtyZXR1cm4gWVswXSsrLGZ1bmN0aW9uKFope3ZhciBxPWZ1bmN0aW9uKCl7WC5wcm9wcy5yZXZlYWxPcmRlcj8oWS5wdXNoKFopLHg5KFgsRyxZKSk6WigpfTtKP0oocSk6cSgpfX0sTzEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihHKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgWD1VMChHLmNoaWxkcmVuKTtHLnJldmVhbE9yZGVyJiZHLnJldmVhbE9yZGVyWzBdPT09ImIiJiZYLnJldmVyc2UoKTtmb3IodmFyIEo9WC5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFhbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIEcuY2hpbGRyZW59LE8xLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9TzEucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIEc9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihYLEope3g5KEcsSixYKX0pfTt2YXIgZjg9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsZDg9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLHU4PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sYTg9L1tBLVowLTldL2csbDg9dHlwZW9mIGRvY3VtZW50PCJ1IixjOD1mdW5jdGlvbihHKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoRyl9O2Z1bmN0aW9uIGM5KEcsWCxKKXtyZXR1cm4gWC5fX2s9PW51bGwmJihYLnRleHRDb250ZW50PSIiKSxIMShHLFgpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksRz9HLl9fYzpudWxsfXIucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oRyl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIucHJvdG90eXBlLEcse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrR119LHNldDpmdW5jdGlvbihYKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxHLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WH0pfX0pfSk7dmFyIGc5PUkuZXZlbnQ7SS5ldmVudD1mdW5jdGlvbihHKXtyZXR1cm4gZzkmJihHPWc5KEcpKSxHLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LEcuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LEcuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sRy5uYXRpdmVFdmVudD1HfTt2YXIgaTksaTg9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LHA5PUkudm5vZGU7SS52bm9kZT1mdW5jdGlvbihHKXt0eXBlb2YgRy50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oWCl7dmFye3Byb3BzOkosdHlwZTpZfT1YLFo9e30scT1ZLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBRIGluIEope3ZhciBLPUpbUV07aWYoIShRPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJks9PW51bGx8fGw4JiZRPT09ImNoaWxkcmVuIiYmWT09PSJub3NjcmlwdCJ8fFE9PT0iY2xhc3MifHxRPT09ImNsYXNzTmFtZSIpKXt2YXIgSD1RLnRvTG93ZXJDYXNlKCk7UT09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9RPSJ2YWx1ZSI6UT09PSJkb3dubG9hZCImJks9PT0hMD9LPSIiOkg9PT0idHJhbnNsYXRlIiYmSz09PSJubyI/Sz0hMTpIWzBdPT09Im8iJiZIWzFdPT09Im4iP0g9PT0ib25kb3VibGVjbGljayI/UT0ib25kYmxjbGljayI6SCE9PSJvbmNoYW5nZSJ8fFkhPT0iaW5wdXQiJiZZIT09InRleHRhcmVhInx8YzgoSi50eXBlKT9IPT09Im9uZm9jdXMiP1E9Im9uZm9jdXNpbiI6SD09PSJvbmJsdXIiP1E9Im9uZm9jdXNvdXQiOnU4LnRlc3QoUSkmJihRPUgpOkg9UT0ib25pbnB1dCI6cSYmZDgudGVzdChRKT9RPVEucmVwbGFjZShhOCwiLSQmIikudG9Mb3dlckNhc2UoKTpLPT09bnVsbCYmKEs9dm9pZCAwKSxIPT09Im9uaW5wdXQiJiZaW1E9SF0mJihRPSJvbmlucHV0Q2FwdHVyZSIpLFpbUV09S319WT09InNlbGVjdCImJihaLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KFoudmFsdWUpJiYoWi52YWx1ZT1VMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKFYpe1YucHJvcHMuc2VsZWN0ZWQ9Wi52YWx1ZS5pbmRleE9mKFYucHJvcHMudmFsdWUpIT0tMX0pKSxaLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKFoudmFsdWU9VTAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihWKXtWLnByb3BzLnNlbGVjdGVkPVoubXVsdGlwbGU/Wi5kZWZhdWx0VmFsdWUuaW5kZXhPZihWLnByb3BzLnZhbHVlKSE9LTE6Wi5kZWZhdWx0VmFsdWU9PVYucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8oWi5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShaLCJjbGFzc05hbWUiLGk4KSk6Si5jbGFzc05hbWUmJihaLmNsYXNzPVouY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxYLnByb3BzPVp9KEcpLEcuJCR0eXBlb2Y9ZjgscDkmJnA5KEcpfTt2YXIgZjk9SS5fX3I7SS5fX3I9ZnVuY3Rpb24oRyl7ZjkmJmY5KEcpLGk5PUcuX19jfTt2YXIgZDk9SS5kaWZmZWQ7SS5kaWZmZWQ9ZnVuY3Rpb24oRyl7ZDkmJmQ5KEcpO3Zhcntwcm9wczpYLF9fZTpKfT1HO0ohPW51bGwmJkcudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBYJiZYLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9WC52YWx1ZT09bnVsbD8iIjpYLnZhbHVlKSxpOT1udWxsfTtmdW5jdGlvbiBvOShHKXtyZXR1cm4hIUcuX19rJiYoSDEobnVsbCxHKSwhMCl9ZnVuY3Rpb24gczkoRyl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihYKXtjOShYLEcpfSx1bm1vdW50OmZ1bmN0aW9uKCl7bzkoRyl9fX1mdW5jdGlvbiBxOChHLFgpe2Zvcih2YXIgSiBpbiBYKUdbSl09WFtKXTtyZXR1cm4gR31mdW5jdGlvbiByOShHLFgpe2Zvcih2YXIgSiBpbiBHKWlmKEohPT0iX19zb3VyY2UiJiYhKEogaW4gWCkpcmV0dXJuITA7Zm9yKHZhciBZIGluIFgpaWYoWSE9PSJfX3NvdXJjZSImJkdbWV0hPT1YW1ldKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHQ5KEcsWCl7dGhpcy5wcm9wcz1HLHRoaXMuY29udGV4dD1YfSh0OS5wcm90b3R5cGU9bmV3IHIpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLHQ5LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oRyxYKXtyZXR1cm4gcjkodGhpcy5wcm9wcyxHKXx8cjkodGhpcy5zdGF0ZSxYKX07dmFyIG45PUkuX19iO0kuX19iPWZ1bmN0aW9uKEcpe0cudHlwZSYmRy50eXBlLl9fZiYmRy5yZWYmJihHLnByb3BzLnJlZj1HLnJlZixHLnJlZj1udWxsKSxuOSYmbjkoRyl9O3ZhciBvOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiB5MChHKXtmdW5jdGlvbiBYKEope3ZhciBZPXE4KHt9LEopO3JldHVybiBkZWxldGUgWS5yZWYsRyhZLEoucmVmfHxudWxsKX1yZXR1cm4gWC4kJHR5cGVvZj1vOCxYLnJlbmRlcj1HLFgucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9WC5fX2Y9ITAsWC5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhHLmRpc3BsYXlOYW1lfHxHLm5hbWUpKyIpIixYfXZhciBzOD1JLl9fZTtJLl9fZT1mdW5jdGlvbihHLFgsSixZKXtpZihHLnRoZW4pe2Zvcih2YXIgWixxPVg7cT1xLl9fOylpZigoWj1xLl9fYykmJlouX19jKXJldHVybiBYLl9fZT09bnVsbCYmKFguX19lPUouX19lLFguX19rPUouX19rKSxaLl9fYyhHLFgpfXM4KEcsWCxKLFkpfTt2YXIgZTk9SS51bm1vdW50O2Z1bmN0aW9uIFE4KEcsWCxKKXtyZXR1cm4gRyYmKEcuX19jJiZHLl9fYy5fX0gmJihHLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihZKXt0eXBlb2YgWS5fX2M9PSJmdW5jdGlvbiImJlkuX19jKCl9KSxHLl9fYy5fX0g9bnVsbCksKEc9cTgoe30sRykpLl9fYyE9bnVsbCYmKEcuX19jLl9fUD09PUomJihHLl9fYy5fX1A9WCksRy5fX2MuX19lPSEwLEcuX19jPW51bGwpLEcuX19rPUcuX19rJiZHLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIFE4KFksWCxKKX0pKSxHfWZ1bmN0aW9uIF84KEcsWCxKKXtyZXR1cm4gRyYmSiYmKEcuX192PW51bGwsRy5fX2s9Ry5fX2smJkcuX19rLm1hcChmdW5jdGlvbihZKXtyZXR1cm4gXzgoWSxYLEopfSksRy5fX2MmJkcuX19jLl9fUD09PVgmJihHLl9fZSYmSi5hcHBlbmRDaGlsZChHLl9fZSksRy5fX2MuX19lPSEwLEcuX19jLl9fUD1KKSksR31mdW5jdGlvbiBpMSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiAkOChHKXt2YXIgWD1HLl9fJiZHLl9fLl9fYztyZXR1cm4gWCYmWC5fX2EmJlguX19hKEcpfWZ1bmN0aW9uIEQxKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9SS51bm1vdW50PWZ1bmN0aW9uKEcpe3ZhciBYPUcuX19jO1gmJihYLl9fej0hMCksWCYmWC5fX1ImJlguX19SKCksWCYmMzImRy5fX3UmJihHLnR5cGU9bnVsbCksZTkmJmU5KEcpfSwoaTEucHJvdG90eXBlPW5ldyByKS5fX2M9ZnVuY3Rpb24oRyxYKXt2YXIgSj1YLl9fYyxZPXRoaXM7WS5vPT1udWxsJiYoWS5vPVtdKSxZLm8ucHVzaChKKTt2YXIgWj0kOChZLl9fdikscT0hMSxRPWZ1bmN0aW9uKCl7cXx8WS5fX3p8fChxPSEwLEouX19SPW51bGwsWj9aKEgpOkgoKSl9O0ouX19SPVE7dmFyIEs9Si5fX1A7Si5fX1A9bnVsbDt2YXIgSD1mdW5jdGlvbigpe2lmKCEtLVkuX191KXtpZihZLnN0YXRlLl9fYSl7dmFyIFY9WS5zdGF0ZS5fX2E7WS5fX3YuX19rWzBdPV84KFYsVi5fX2MuX19QLFYuX19jLl9fTyl9dmFyIEQ7Zm9yKFkuc2V0U3RhdGUoe19fYTpZLl9fYj1udWxsfSk7RD1ZLm8ucG9wKCk7KUQuX19QPUssRC5mb3JjZVVwZGF0ZSgpfX07WS5fX3UrK3x8MzImWC5fX3V8fFkuc2V0U3RhdGUoe19fYTpZLl9fYj1ZLl9fdi5fX2tbMF19KSxHLnRoZW4oUSxRKX0saTEucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxpMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEcsWCl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWT10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1ROCh0aGlzLl9fYixKLFkuX19PPVkuX19QKX10aGlzLl9fYj1udWxsfXZhciBaPVguX19hJiZQMChhLG51bGwsRy5mYWxsYmFjayk7cmV0dXJuIFomJihaLl9fdSY9LTMzKSxbUDAoYSxudWxsLFguX19hP251bGw6Ry5jaGlsZHJlbiksWl19O3ZhciBHOD1mdW5jdGlvbihHLFgsSil7aWYoKytKWzFdPT09SlswXSYmRy5sLmRlbGV0ZShYKSxHLnByb3BzLnJldmVhbE9yZGVyJiYoRy5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IUcubC5zaXplKSlmb3IoSj1HLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhaztHLmk9Sj1KWzJdfX07KEQxLnByb3RvdHlwZT1uZXcgcikuX19hPWZ1bmN0aW9uKEcpe3ZhciBYPXRoaXMsSj0kOChYLl9fdiksWT1YLmwuZ2V0KEcpO3JldHVybiBZWzBdKyssZnVuY3Rpb24oWil7dmFyIHE9ZnVuY3Rpb24oKXtYLnByb3BzLnJldmVhbE9yZGVyPyhZLnB1c2goWiksRzgoWCxHLFkpKTpaKCl9O0o/SihxKTpxKCl9fSxEMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEcpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBYPVUwKEcuY2hpbGRyZW4pO0cucmV2ZWFsT3JkZXImJkcucmV2ZWFsT3JkZXJbMF09PT0iYiImJlgucmV2ZXJzZSgpO2Zvcih2YXIgSj1YLmxlbmd0aDtKLS07KXRoaXMubC5zZXQoWFtKXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gRy5jaGlsZHJlbn0sRDEucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1EMS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgRz10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKFgsSil7RzgoRyxKLFgpfSl9O3ZhciByOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyx0OD0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sbjg9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxlOD0vW0EtWjAtOV0vZyxHND10eXBlb2YgZG9jdW1lbnQ8InUiLFg0PWZ1bmN0aW9uKEcpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChHKX07ci5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbihHKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoci5wcm90b3R5cGUsRyx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitHXX0sc2V0OmZ1bmN0aW9uKFgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEcse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpYfSl9fSl9KTt2YXIgWDg9SS5ldmVudDtJLmV2ZW50PWZ1bmN0aW9uKEcpe3JldHVybiBYOCYmKEc9WDgoRykpLEcucGVyc2lzdD1mdW5jdGlvbigpe30sRy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sRy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxHLm5hdGl2ZUV2ZW50PUd9O3ZhciBLOCxKND17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sSjg9SS52bm9kZTtJLnZub2RlPWZ1bmN0aW9uKEcpe3R5cGVvZiBHLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihYKXt2YXJ7cHJvcHM6Six0eXBlOll9PVgsWj17fSxxPVkuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIFEgaW4gSil7dmFyIEs9SltRXTtpZighKFE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmSz09bnVsbHx8RzQmJlE9PT0iY2hpbGRyZW4iJiZZPT09Im5vc2NyaXB0Inx8UT09PSJjbGFzcyJ8fFE9PT0iY2xhc3NOYW1lIikpe3ZhciBIPVEudG9Mb3dlckNhc2UoKTtRPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP1E9InZhbHVlIjpRPT09ImRvd25sb2FkIiYmSz09PSEwP0s9IiI6SD09PSJ0cmFuc2xhdGUiJiZLPT09Im5vIj9LPSExOkhbMF09PT0ibyImJkhbMV09PT0ibiI/SD09PSJvbmRvdWJsZWNsaWNrIj9RPSJvbmRibGNsaWNrIjpIIT09Im9uY2hhbmdlInx8WSE9PSJpbnB1dCImJlkhPT0idGV4dGFyZWEifHxYNChKLnR5cGUpP0g9PT0ib25mb2N1cyI/UT0ib25mb2N1c2luIjpIPT09Im9uYmx1ciI/UT0ib25mb2N1c291dCI6bjgudGVzdChRKSYmKFE9SCk6SD1RPSJvbmlucHV0IjpxJiZ0OC50ZXN0KFEpP1E9US5yZXBsYWNlKGU4LCItJCYiKS50b0xvd2VyQ2FzZSgpOks9PT1udWxsJiYoSz12b2lkIDApLEg9PT0ib25pbnB1dCImJlpbUT1IXSYmKFE9Im9uaW5wdXRDYXB0dXJlIiksWltRXT1LfX1ZPT0ic2VsZWN0IiYmKFoubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoWi52YWx1ZSkmJihaLnZhbHVlPVUwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oVil7Vi5wcm9wcy5zZWxlY3RlZD1aLnZhbHVlLmluZGV4T2YoVi5wcm9wcy52YWx1ZSkhPS0xfSkpLFouZGVmYXVsdFZhbHVlIT1udWxsJiYoWi52YWx1ZT1VMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKFYpe1YucHJvcHMuc2VsZWN0ZWQ9Wi5tdWx0aXBsZT9aLmRlZmF1bHRWYWx1ZS5pbmRleE9mKFYucHJvcHMudmFsdWUpIT0tMTpaLmRlZmF1bHRWYWx1ZT09Vi5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhaLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KFosImNsYXNzTmFtZSIsSjQpKTpKLmNsYXNzTmFtZSYmKFouY2xhc3M9Wi5jbGFzc05hbWU9Si5jbGFzc05hbWUpLFgucHJvcHM9Wn0oRyksRy4kJHR5cGVvZj1yOCxKOCYmSjgoRyl9O3ZhciBZOD1JLl9fcjtJLl9fcj1mdW5jdGlvbihHKXtZOCYmWTgoRyksSzg9Ry5fX2N9O3ZhciBaOD1JLmRpZmZlZDtJLmRpZmZlZD1mdW5jdGlvbihHKXtaOCYmWjgoRyk7dmFye3Byb3BzOlgsX19lOkp9PUc7SiE9bnVsbCYmRy50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFgmJlgudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1YLnZhbHVlPT1udWxsPyIiOlgudmFsdWUpLEs4PW51bGx9O3ZhciBFMD0zO2Z1bmN0aW9uIG8xKEcpe3JldHVybiBHPT09ImxhbmRzY2FwZV9sZWZ0Inx8Rz09PSJsYW5kc2NhcGVfcmlnaHQifWZ1bmN0aW9uIGwwKEcpe3JldHVybiEhRyYmKG8xKEcub3JpZW50YXRpb24pfHxHLndpZHRoPkcuaGVpZ2h0KX1mdW5jdGlvbiBGMShHKXtpZighR3x8Ry53aWR0aDw9MHx8Ry5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFg9bzEoRy5vcmllbnRhdGlvbil8fEcud2lkdGg+Ry5oZWlnaHQsSj1YP01hdGgubWF4KEcud2lkdGgsRy5oZWlnaHQpOk1hdGgubWluKEcud2lkdGgsRy5oZWlnaHQpLFk9WD9NYXRoLm1pbihHLndpZHRoLEcuaGVpZ2h0KTpNYXRoLm1heChHLndpZHRoLEcuaGVpZ2h0KTtpZihKPT09Ry53aWR0aCYmWT09PUcuaGVpZ2h0KXJldHVybiBHO3JldHVybnsuLi5HLHdpZHRoOkosaGVpZ2h0Oll9fWZ1bmN0aW9uIGMwKEcpe2xldCBYPUYxKEcpLEo9VjgoRz8ub3JpZW50YXRpb24pLFk9TWF0aC5hYnMoSik9PT05MCxaPSEhRyYmRy53aWR0aD5HLmhlaWdodCxxPUo9PT0xODB8fFkmJiFaO3JldHVybntkaXNwbGF5Q29uZmlnOlgscm90YXRpb25EZWdyZWVzOnE/SjowLG5lZWRzQ3NzUm90YXRpb246cSxpbnB1dE9yaWVudGF0aW9uOnE/Rz8ub3JpZW50YXRpb246dm9pZCAwfX1mdW5jdGlvbiBWOChHKXtzd2l0Y2goRyl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJuIDkwO2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm4tOTA7Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJuIDE4MDtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBpMChHLFgsSil7c3dpdGNoKEcpe2Nhc2UibGFuZHNjYXBlX2xlZnQiOnJldHVybnt4OkoseToxLVh9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57eDoxLUoseTpYfTtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm57eDoxLVgseToxLUp9O2RlZmF1bHQ6cmV0dXJue3g6WCx5Okp9fX1mdW5jdGlvbiBzMShHLFgpe3N3aXRjaChHKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goWCl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIFh9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChYKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gWH1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goWCl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIFh9ZGVmYXVsdDpyZXR1cm4gWH19dmFyIFk0PTA7ZnVuY3Rpb24gXyhHLFgsSixZLFoscSl7WHx8KFg9e30pO3ZhciBRLEssSD1YO2lmKCJyZWYiaW4gSClmb3IoSyBpbiBIPXt9LFgpSz09InJlZiI/UT1YW0tdOkhbS109WFtLXTt2YXIgVj17dHlwZTpHLHByb3BzOkgsa2V5OkoscmVmOlEsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tWTQsX19pOi0xLF9fdTowLF9fc291cmNlOlosX19zZWxmOnF9O2lmKHR5cGVvZiBHPT0iZnVuY3Rpb24iJiYoUT1HLmRlZmF1bHRQcm9wcykpZm9yKEsgaW4gUSlIW0tdPT09dm9pZCAwJiYoSFtLXT1RW0tdKTtyZXR1cm4gSS52bm9kZSYmSS52bm9kZShWKSxWfXZhciB6OD1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLFo0PTMscTQ9NCxRND01O2Z1bmN0aW9uIEIxKHt1cmw6Ryx3c1VybDpYLHN0eWxlOkosaW1hZ2VTdHlsZTpZLGNsYXNzTmFtZTpaLG9uSG9tZVByZXNzOnEsb25TdHJlYW1Ub3VjaDpRLG9uU3RyZWFtTXVsdGlUb3VjaDpLLG9uU3RyZWFtQnV0dG9uOkgsc3Vic2NyaWJlRnJhbWU6VixzdHJlYW1GcmFtZTpELHN0cmVhbUNvbmZpZzokLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOkwsaGlkZUNvbnRyb2xzOlcsb25TdHJlYW1pbmdDaGFuZ2U6VSxjb25uZWN0aW9uUXVhbGl0eTpQfSl7bGV0IEY9ISFRLEU9UihudWxsKSx3PVIobnVsbCksZz1SKG51bGwpLGg9UihudWxsKSxbbyxHMF09QyghMSksW3Usdl09QyhudWxsKSxbdCxKMF09QyhudWxsKSxwPVIobnVsbCksbzA9UihMKTtvMC5jdXJyZW50PUw7bGV0IHMwPVIobnVsbCksW3owLHIwXT1DKG51bGwpO1MoKCk9PntsZXQgTj1zMC5jdXJyZW50O2lmKCFOfHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgej1uZXcgUmVzaXplT2JzZXJ2ZXIoKEIpPT57bGV0IE09QlswXT8uY29udGVudFJlY3Q7aWYoTSlyMCh7d2lkdGg6TS53aWR0aCxoZWlnaHQ6TS5oZWlnaHR9KX0pO3JldHVybiB6Lm9ic2VydmUoTiksKCk9PnouZGlzY29ubmVjdCgpfSxbXSk7bGV0W3QwLHcwXT1DKDApLEQwPVIoMCksW2sxLG0wXT1DKCExKSxIMD1SKG51bGwpO1MoKCk9PntpZihQPT09InBvb3IiKXtpZihtMCghMCksSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCk7SDAuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57bTAoITEpLEgwLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZihtMCghMSksSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCksSDAuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCl9fSxbUF0pO2xldCBDMD1gJHtHfS9zdHJlYW0ubWpwZWdgO1MoKCk9PntwLmN1cnJlbnQ9bnVsbCxKMChudWxsKX0sW0ddKTtsZXQgTDA9YigoTik9PntpZighTnx8Ti53aWR0aDw9MHx8Ti5oZWlnaHQ8PTApcmV0dXJuO2xldCB6PXAuY3VycmVudCxCPU4ub3JpZW50YXRpb249PT12b2lkIDAmJno/Lm9yaWVudGF0aW9uP3suLi5OLG9yaWVudGF0aW9uOnoub3JpZW50YXRpb259Ok47aWYoeiYmei53aWR0aD09PUIud2lkdGgmJnouaGVpZ2h0PT09Qi5oZWlnaHQmJnoub3JpZW50YXRpb249PT1CLm9yaWVudGF0aW9uKXJldHVybjtwLmN1cnJlbnQ9QixKMChCKSxvMC5jdXJyZW50Py4oQil9LFtdKSxuMD1SKFUpO24wLmN1cnJlbnQ9VSxTKCgpPT57bjAuY3VycmVudD8uKG8pfSxbb10pLFMoKCk9PntpZihGJiYkKUwwKCQpfSxbRiwkLEwwXSk7bGV0IFQwPVIoITEpO1QwLmN1cnJlbnQ9bztsZXQgVzA9UihudWxsKTtTKCgpPT57aWYoIUZ8fCFWKXJldHVybjtsZXQgej1zZXRUaW1lb3V0KCgpPT57aWYoIVQwLmN1cnJlbnQpdigiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApLEI9VigoTSk9PntEMC5jdXJyZW50KyssZTAuY3VycmVudD1EYXRlLm5vdygpO2xldCBrPXcuY3VycmVudDtpZihrKXtpZihXMC5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwoVzAuY3VycmVudCk7VzAuY3VycmVudD1NLGsuc3JjPU19aWYoIVQwLmN1cnJlbnQpY2xlYXJUaW1lb3V0KHopLEcwKCEwKSx2KG51bGwpfSk7cmV0dXJuKCk9PntpZihjbGVhclRpbWVvdXQoeiksQj8uKCksVzAuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKFcwLmN1cnJlbnQpLFcwLmN1cnJlbnQ9bnVsbH19LFtGLFZdKTtsZXQgWDA9YigoTik9PntsZXQgej1jMChwLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sQj1pMCh6LE4ueCxOLnkpLE09Ti5lZGdlPT09dm9pZCAwP3ZvaWQgMDpzMSh6LE4uZWRnZSksaz1NPT09dm9pZCAwP3t0eXBlOk4udHlwZSwuLi5CfTp7dHlwZTpOLnR5cGUsLi4uQixlZGdlOk19O2lmKEYpe1E/LihrKTtyZXR1cm59bGV0IG09aC5jdXJyZW50O2lmKCFtfHxtLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGspKSxpPW5ldyBVaW50OEFycmF5KDErYy5sZW5ndGgpO2lbMF09WjQsaS5zZXQoYywxKSxtLnNlbmQoaSl9LFtGLFFdKSxOMD1iKChOKT0+e2lmKEYpe0g/LihOKTtyZXR1cm59bGV0IHo9aC5jdXJyZW50O2lmKCF6fHx6LnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IEI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtidXR0b246Tn0pKSxNPW5ldyBVaW50OEFycmF5KDErQi5sZW5ndGgpO01bMF09cTQsTS5zZXQoQiwxKSx6LnNlbmQoTSl9LFtGLEhdKSxfMD1iKChOKT0+e2xldCB6PWMwKHAuY3VycmVudCkuaW5wdXRPcmllbnRhdGlvbixCPWkwKHosTi54MSxOLnkxKSxNPWkwKHosTi54MixOLnkyKSxrPXt0eXBlOk4udHlwZSx4MTpCLngseTE6Qi55LHgyOk0ueCx5MjpNLnl9O2lmKEYpe0s/LihrKTtyZXR1cm59bGV0IG09aC5jdXJyZW50O2lmKCFtfHxtLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGspKSxpPW5ldyBVaW50OEFycmF5KDErYy5sZW5ndGgpO2lbMF09UTQsaS5zZXQoYywxKSxtLnNlbmQoaSl9LFtGLEtdKTtTKCgpPT57aWYoRilyZXR1cm47bGV0IE49bmV3IEFib3J0Q29udHJvbGxlcix6PSgpPT57ZmV0Y2goYCR7R30vY29uZmlnYCx7c2lnbmFsOk4uc2lnbmFsfSkudGhlbigoWTEpPT5ZMS5qc29uKCkpLnRoZW4oKFkxKT0+e0wwKFkxKX0pLmNhdGNoKCgpPT57fSl9O3ooKTtsZXQgQj1zZXRJbnRlcnZhbCh6LDEwMDApLE09WD8/Ry5yZXBsYWNlKC9eaHR0cC8sIndzIikrIi93cyIsaz1uZXcgV2ViU29ja2V0KE0pO2suYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGguY3VycmVudD1rLGsub25vcGVuPSgpPT57RzAoITApLHYobnVsbCl9LGsub25jbG9zZT0oKT0+e0cwKCExKX0say5vbmVycm9yPSgpPT57digiV2ViU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIiksRzAoITEpfTtsZXQgbT1uZXcgQWJvcnRDb250cm9sbGVyLGM9c2V0SW50ZXJ2YWwoKCk9Pnt3MChEMC5jdXJyZW50KSxEMC5jdXJyZW50PTB9LDEwMDApLGk9ITEsUTk9c2V0VGltZW91dCgoKT0+e2lmKCFpKXYoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtsZXQgXzk9KGF3YWl0IGZldGNoKEMwLHtzaWduYWw6bS5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIV85KXJldHVybjtsZXQgYjE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOk04LHZhbHVlOlIxfT1hd2FpdCBfOS5yZWFkKCk7aWYoTTgpYnJlYWs7aWYoUjEpZm9yKGxldCBqMT0wO2oxPD1SMS5sZW5ndGgtYjEubGVuZ3RoO2oxKyspe2xldCAkOT0hMDtmb3IobGV0IFoxPTA7WjE8YjEubGVuZ3RoO1oxKyspaWYoUjFbajErWjFdIT09YjFbWjFdKXskOT0hMTticmVha31pZigkOSl7aWYoRDAuY3VycmVudCsrLCFpKWk9ITAsY2xlYXJUaW1lb3V0KFE5KX19fX1jYXRjaHt9fSkoKSwoKT0+e20uYWJvcnQoKSxOLmFib3J0KCksY2xlYXJJbnRlcnZhbChCKSxjbGVhckludGVydmFsKGMpLGNsZWFyVGltZW91dChROSksay5jbG9zZSgpLGguY3VycmVudD1udWxsfX0sW0csQzAsRixMMCxYXSk7bGV0IGUwPVIoMCk7UygoKT0+e2lmKCFGKXJldHVybjtsZXQgTj0yMDAwLHo9KCk9PntsZXQgaz1lMC5jdXJyZW50O2lmKCFrfHwhVDAuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1rPk4pRzAoITEpfSxCPXNldEludGVydmFsKCgpPT57dzAoRDAuY3VycmVudCksRDAuY3VycmVudD0wLHooKX0sMTAwMCksTT0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4peigpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsTSksKCk9PntjbGVhckludGVydmFsKEIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLE0pfX0sW0ZdKTtsZXQgeDA9YigoKT0+e3JldHVybiBGP3cuY3VycmVudDpFLmN1cnJlbnR9LFtGXSksJDA9YigoKT0+e3JldHVybiBnLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz94MCgpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbH0sW3gwXSksTz1iKChOLHopPT57bGV0IEI9JDAoKTtpZighQilyZXR1cm47bGV0IE09KHouY2xpZW50WC1CLmxlZnQpL0Iud2lkdGgsaz0oei5jbGllbnRZLUIudG9wKS9CLmhlaWdodDtYMCh7dHlwZTpOLHg6TSx5Omt9KX0sWyQwLFgwXSksQT1SKCExKSxUPVIoITEpLHk9UighMSksZD1SKHtkeDowLGR5OjB9KSxmPVIoITEpLFtLMCxuXT1DKCExKSxRMD1SKHt4OjAuNSx5OjAuNX0pLFtzLGVdPUMobnVsbCk7UygoKT0+e2xldCBOPShCKT0+e2lmKEIua2V5PT09IkFsdCIpbighMCl9LHo9KEIpPT57aWYoQi5rZXk9PT0iQWx0Iil7aWYobighMSksIVQuY3VycmVudCllKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixOKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHopLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLE4pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIseil9fSxbXSksUygoKT0+e2lmKEswJiYhVC5jdXJyZW50KXtsZXQgTj1RMC5jdXJyZW50O2Uoe3gxOk4ueCx5MTpOLnkseDI6MS1OLngseTI6MS1OLnl9KX1lbHNlIGlmKCFLMCYmIVQuY3VycmVudCllKG51bGwpfSxbSzBdKTtsZXQgRjA9UihudWxsKSxrMD1SKCExKSxPMD1SKDApLGIwPWIoKE4seik9PntrMC5jdXJyZW50PSEwO2xldCBCPUYwLmN1cnJlbnQ7aWYoQiljYW5jZWxBbmltYXRpb25GcmFtZShPMC5jdXJyZW50KSxPMC5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0Iuc3R5bGUubGVmdD1gJHtOKjEwMH0lYCxCLnN0eWxlLnRvcD1gJHt6KjEwMH0lYCxCLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pfSxbXSksRzE9YigoTix6KT0+e2lmKCFrMC5jdXJyZW50KXJldHVybjtsZXQgQj1GMC5jdXJyZW50O2lmKEIpY2FuY2VsQW5pbWF0aW9uRnJhbWUoTzAuY3VycmVudCksTzAuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntCLnN0eWxlLmxlZnQ9YCR7TioxMDB9JWAsQi5zdHlsZS50b3A9YCR7eioxMDB9JWB9KX0sW10pLFgxPWIoKCk9PntrMC5jdXJyZW50PSExO2xldCBOPUYwLmN1cnJlbnQ7aWYoTiljYW5jZWxBbmltYXRpb25GcmFtZShPMC5jdXJyZW50KSxOLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxbXSksSjk9UigwKSxnMD1SKG51bGwpLEE4PWIoKCk9PntsZXQgTj1EYXRlLm5vdygpLHo9Ti1KOS5jdXJyZW50O2lmKEo5LmN1cnJlbnQ9Tix6PDMwMCl7aWYoZzAuY3VycmVudCljbGVhclRpbWVvdXQoZzAuY3VycmVudCksZzAuY3VycmVudD1udWxsO2lmKHEpcSgpO2Vsc2UgTjAoImFwcF9zd2l0Y2hlciIpfWVsc2UgZzAuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57aWYocSlxKCk7ZWxzZSBOMCgiaG9tZSIpO2cwLmN1cnJlbnQ9bnVsbH0sMzAwKX0sW04wLHFdKSxDMT1jMCh0KSxwMD1DMS5kaXNwbGF5Q29uZmlnLE0wPSgoKT0+e2lmKCFwMHx8IXowKXJldHVybiBudWxsO2lmKHowLndpZHRoPT09MHx8ejAuaGVpZ2h0PT09MClyZXR1cm4gbnVsbDtsZXQgTj1NYXRoLm1pbih6MC53aWR0aC9wMC53aWR0aCx6MC5oZWlnaHQvcDAuaGVpZ2h0KTtyZXR1cm57d2lkdGg6cDAud2lkdGgqTixoZWlnaHQ6cDAuaGVpZ2h0Kk59fSkoKSxKMT1DMS5yb3RhdGlvbkRlZ3JlZXMsWTk9QzEubmVlZHNDc3NSb3RhdGlvbiYmTWF0aC5hYnMoSjEpPT09OTAsWjk9WSxxOT17cG9zaXRpb246ImFic29sdXRlIix0b3A6IjUwJSIsbGVmdDoiNTAlIix3aWR0aDpZOSYmTTA/YCR7TTAuaGVpZ2h0fXB4YDoiMTAwJSIsaGVpZ2h0Olk5JiZNMD9gJHtNMC53aWR0aH1weGA6IjEwMCUiLHRyYW5zZm9ybTpgdHJhbnNsYXRlKC01MCUsIC01MCUpJHtKMT09PTA/IiI6YCByb3RhdGUoJHtKMX1kZWcpYH1gLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciIsY3Vyc29yOno4LGRpc3BsYXk6ImJsb2NrIix1c2VyU2VsZWN0OiJub25lIixXZWJraXRVc2VyU2VsZWN0OiJub25lIix0b3VjaEFjdGlvbjoibm9uZSIsLi4uWSwuLi5KMT09PTA/e306e2JvcmRlclJhZGl1czowLGNvcm5lclNoYXBlOnZvaWQgMH19O3JldHVybiBfKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixmbGV4OjEsLi4uVz97fTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LG92ZXJmbG93OiJoaWRkZW4iLG1pbldpZHRoOjAsbWluSGVpZ2h0OjAsLi4uSn0sY2xhc3NOYW1lOlosY2hpbGRyZW46W18oImRpdiIse3JlZjpzMCxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixmbGV4OjEsbWluSGVpZ2h0OjAsbWluV2lkdGg6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpfKCJkaXYiLHtyZWY6ZyxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIix3aWR0aDpNMD9gJHtNMC53aWR0aH1weGA6IjEwMCUiLGhlaWdodDpNMD9gJHtNMC5oZWlnaHR9cHhgOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIixib3JkZXJSYWRpdXM6Wjk/LmJvcmRlclJhZGl1cyxjb3JuZXJTaGFwZTpaOT8uY29ybmVyU2hhcGV9LGNoaWxkcmVuOltfKCJpbWciLHtyZWY6RSxzcmM6Rj92b2lkIDA6QzAsZHJhZ2dhYmxlOiExLG9uTG9hZDooTik9PntsZXQgej1OLmN1cnJlbnRUYXJnZXQ7aWYoei5uYXR1cmFsV2lkdGg+MCYmei5uYXR1cmFsSGVpZ2h0PjApTDAoe3dpZHRoOnoubmF0dXJhbFdpZHRoLGhlaWdodDp6Lm5hdHVyYWxIZWlnaHR9KX0sc3R5bGU6Rj97ZGlzcGxheToibm9uZSJ9OnE5fSksRiYmXygiaW1nIix7cmVmOncsZHJhZ2dhYmxlOiExLG9uTG9hZDooTik9PntsZXQgej1OLmN1cnJlbnRUYXJnZXQ7aWYoei5uYXR1cmFsV2lkdGg+MCYmei5uYXR1cmFsSGVpZ2h0PjApTDAoe3dpZHRoOnoubmF0dXJhbFdpZHRoLGhlaWdodDp6Lm5hdHVyYWxIZWlnaHR9KX0sc3R5bGU6cTl9KSxfKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGN1cnNvcjp6OCx0b3VjaEFjdGlvbjoibm9uZSJ9LG9uTW91c2VEb3duOihOKT0+e04ucHJldmVudERlZmF1bHQoKTtsZXQgej0kMCgpO2lmKCF6KXJldHVybjtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O2lmKE4uYWx0S2V5KXtULmN1cnJlbnQ9ITAseS5jdXJyZW50PU4uc2hpZnRLZXk7bGV0IGs9e3gxOkIseTE6TSx4MjoxLUIseTI6MS1NfTtkLmN1cnJlbnQ9e2R4OjEtQi1CLGR5OjEtTS1NfSxlKGspLF8wKHt0eXBlOiJiZWdpbiIsLi4ua30pO3JldHVybn1pZihiMChCLE0pLE0+MC44OClBLmN1cnJlbnQ9ITAsWDAoe3R5cGU6ImJlZ2luIix4OkIseTpNLGVkZ2U6RTB9KTtlbHNlIEEuY3VycmVudD0hMSxPKCJiZWdpbiIsTil9LG9uTW91c2VNb3ZlOihOKT0+e2xldCB6PSQwKCk7aWYoIXopcmV0dXJuO2xldCBCPShOLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLE09KE4uY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoUTAuY3VycmVudD17eDpCLHk6TX0sTi5idXR0b25zPT09MCl7aWYoTi5hbHRLZXkpZSh7eDE6Qix5MTpNLHgyOjEtQix5MjoxLU19KTtyZXR1cm59aWYoVC5jdXJyZW50KXtsZXQgaztpZih5LmN1cnJlbnQpe2xldCBtPWQuY3VycmVudDtrPXt4MTpCLHkxOk0seDI6QittLmR4LHkyOk0rbS5keX19ZWxzZSBrPXt4MTpCLHkxOk0seDI6MS1CLHkyOjEtTX07ZShrKSxfMCh7dHlwZToibW92ZSIsLi4ua30pO3JldHVybn1pZihHMShCLE0pLEEuY3VycmVudClYMCh7dHlwZToibW92ZSIseDpCLHk6TSxlZGdlOkUwfSk7ZWxzZSBPKCJtb3ZlIixOKX0sb25Nb3VzZVVwOihOKT0+e2lmKFQuY3VycmVudCl7bGV0IHo9JDAoKTtpZih6KXtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O2lmKHkuY3VycmVudCl7bGV0IGs9ZC5jdXJyZW50O18wKHt0eXBlOiJlbmQiLHgxOkIseTE6TSx4MjpCK2suZHgseTI6TStrLmR5fSl9ZWxzZSBfMCh7dHlwZToiZW5kIix4MTpCLHkxOk0seDI6MS1CLHkyOjEtTX0pfWlmKFQuY3VycmVudD0hMSwhTi5hbHRLZXkpZShudWxsKTtyZXR1cm59aWYoWDEoKSxBLmN1cnJlbnQpe2xldCB6PSQwKCk7aWYoeil7bGV0IEI9KE4uY2xpZW50WC16LmxlZnQpL3oud2lkdGgsTT0oTi5jbGllbnRZLXoudG9wKS96LmhlaWdodDtYMCh7dHlwZToiZW5kIix4OkIseTpNLGVkZ2U6RTB9KX1BLmN1cnJlbnQ9ITE7cmV0dXJufU8oImVuZCIsTil9LG9uTW91c2VMZWF2ZTooTik9PntpZihULmN1cnJlbnQpe2lmKHMpXzAoe3R5cGU6ImVuZCIsLi4uc30pO1QuY3VycmVudD0hMSxlKG51bGwpO3JldHVybn1pZihYMSgpLEEuY3VycmVudCl7bGV0IHo9JDAoKTtpZih6KXtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O1gwKHt0eXBlOiJlbmQiLHg6Qix5Ok0sZWRnZTpFMH0pfUEuY3VycmVudD0hMTtyZXR1cm59aWYoTi5idXR0b25zPjApTygiZW5kIixOKTtlKG51bGwpfSxvblRvdWNoU3RhcnQ6KE4pPT57Ti5wcmV2ZW50RGVmYXVsdCgpO2xldCB6PSQwKCk7aWYoIXopcmV0dXJuO2lmKE4udG91Y2hlcy5sZW5ndGg+PTIpe1gxKCk7bGV0IG09Ti50b3VjaGVzWzBdLGM9Ti50b3VjaGVzWzFdLGk9e3gxOihtLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLHkxOihtLmNsaWVudFktei50b3ApL3ouaGVpZ2h0LHgyOihjLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLHkyOihjLmNsaWVudFktei50b3ApL3ouaGVpZ2h0fTtpZighZi5jdXJyZW50JiYhQS5jdXJyZW50KVgwKHt0eXBlOiJlbmQiLHg6aS54MSx5OmkueTF9KTtmLmN1cnJlbnQ9ITAsVC5jdXJyZW50PSEwLEEuY3VycmVudD0hMSxlKGkpLF8wKHt0eXBlOiJiZWdpbiIsLi4uaX0pO3JldHVybn1sZXQgQj1OLnRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoYjAoTSxrKSxrPjAuODgpQS5jdXJyZW50PSEwLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6ayxlZGdlOkUwfSk7ZWxzZSBBLmN1cnJlbnQ9ITEsWDAoe3R5cGU6ImJlZ2luIix4Ok0seTprfSl9LG9uVG91Y2hNb3ZlOihOKT0+e04ucHJldmVudERlZmF1bHQoKTtsZXQgej0kMCgpO2lmKCF6KXJldHVybjtpZihmLmN1cnJlbnQmJk4udG91Y2hlcy5sZW5ndGg+PTIpe2xldCBtPU4udG91Y2hlc1swXSxjPU4udG91Y2hlc1sxXSxpPXt4MToobS5jbGllbnRYLXoubGVmdCkvei53aWR0aCx5MToobS5jbGllbnRZLXoudG9wKS96LmhlaWdodCx4MjooYy5jbGllbnRYLXoubGVmdCkvei53aWR0aCx5MjooYy5jbGllbnRZLXoudG9wKS96LmhlaWdodH07ZShpKSxfMCh7dHlwZToibW92ZSIsLi4uaX0pO3JldHVybn1sZXQgQj1OLnRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoRzEoTSxrKSxBLmN1cnJlbnQpWDAoe3R5cGU6Im1vdmUiLHg6TSx5OmssZWRnZTpFMH0pO2Vsc2UgWDAoe3R5cGU6Im1vdmUiLHg6TSx5Omt9KX0sb25Ub3VjaEVuZDooTik9PntOLnByZXZlbnREZWZhdWx0KCk7bGV0IHo9JDAoKTtpZigheilyZXR1cm47aWYoZi5jdXJyZW50KXtpZihOLnRvdWNoZXMubGVuZ3RoPDIpe2xldCBtPU4uY2hhbmdlZFRvdWNoZXNbMF0sYz1zO2lmKG0mJmMpXzAoe3R5cGU6ImVuZCIseDE6KG0uY2xpZW50WC16LmxlZnQpL3oud2lkdGgseTE6KG0uY2xpZW50WS16LnRvcCkvei5oZWlnaHQseDI6Yy54Mix5MjpjLnkyfSk7ZWxzZSBpZihjKV8wKHt0eXBlOiJlbmQiLC4uLmN9KTtmLmN1cnJlbnQ9ITEsVC5jdXJyZW50PSExLGUobnVsbCl9cmV0dXJufWxldCBCPU4uY2hhbmdlZFRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoWDEoKSxBLmN1cnJlbnQpWDAoe3R5cGU6ImVuZCIseDpNLHk6ayxlZGdlOkUwfSksQS5jdXJyZW50PSExO2Vsc2UgWDAoe3R5cGU6ImVuZCIseDpNLHk6a30pfX0pLF8oImRpdiIse3JlZjpGMCwiZGF0YS10ZXN0aWQiOiJ0b3VjaC1pbmRpY2F0b3IiLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLHdpZHRoOjI0LGhlaWdodDoyNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSg1OSwxMzAsMjQ2LDAuNSkiLGJveFNoYWRvdzoiMCAwIDhweCByZ2JhKDU5LDEzMCwyNDYsMC4zKSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX0pLHMmJl8oYSx7Y2hpbGRyZW46W18oImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOlc4KHMueDEscy55MSl9KSxfKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpXOChzLngyLHMueTIpfSldfSksIW8mJiF1JiZfKCJkaXYiLHtzdHlsZTp7Li4uSDgsLi4uWXx8e319LGNoaWxkcmVuOl8oInNwYW4iLHtzdHlsZTp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0fSxjaGlsZHJlbjoiQ29ubmVjdGluZy4uLiJ9KX0pLHUmJl8oImRpdiIse3N0eWxlOkg4LGNoaWxkcmVuOl8oInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmNDQiLGZvbnRTaXplOjE0LHBhZGRpbmc6MjAsdGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjp1fSl9KSxrMSYmXygiZGl2Iix7c3R5bGU6XzQsY2hpbGRyZW46Xygic3BhbiIse3N0eWxlOntjb2xvcjoiI2ZiYmYyNCIsZm9udFNpemU6MTMsZm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46IlNsb3cgY29ubmVjdGlvbiJ9KX0pXX0pfSksIVcmJl8oImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI0cHggOHB4Iixib3JkZXJUb3A6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIn0sY2hpbGRyZW46W18oImJ1dHRvbiIse29uQ2xpY2s6QTgsc3R5bGU6e2JhY2tncm91bmQ6Im5vbmUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKSIsY29sb3I6IiNhYWEiLGZvbnRTaXplOjExLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIscGFkZGluZzoiMnB4IDEwcHgiLGN1cnNvcjoicG9pbnRlciIsYm9yZGVyUmFkaXVzOjR9LGNoaWxkcmVuOiJIb21lIn0pLF8oInNwYW4iLHtzdHlsZTp7Y29sb3I6dDA+MD8iIzRmNCI6IiM4ODgiLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Nn0sY2hpbGRyZW46W1AmJl8oInNwYW4iLHsiZGF0YS10ZXN0aWQiOiJxdWFsaXR5LWRvdCIsc3R5bGU6e3dpZHRoOjgsaGVpZ2h0OjgsYm9yZGVyUmFkaXVzOiI1MCUiLGRpc3BsYXk6ImlubGluZS1ibG9jayIsYmFja2dyb3VuZDpQPT09Imdvb2QiPyIjNGFkZTgwIjpQPT09ImRlZ3JhZGVkIj8iI2ZhY2MxNSI6IiNlZjQ0NDQifX0pLHQwLCIgZnBzIl19KV19KV19KX12YXIgXzQ9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjgsbGVmdDoiNTAlIix0cmFuc2Zvcm06InRyYW5zbGF0ZVgoLTUwJSkiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC43KSIsYm9yZGVyUmFkaXVzOjYscGFkZGluZzoiNHB4IDEycHgiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxIOD17cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjgpIn0sTDg9MjA7ZnVuY3Rpb24gVzgoRyxYKXtyZXR1cm57cG9zaXRpb246ImFic29sdXRlIixsZWZ0OmAke0cqMTAwfSVgLHRvcDpgJHtYKjEwMH0lYCx3aWR0aDpMOCxoZWlnaHQ6TDgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC40NSkiLGJvcmRlcjoiMS4yNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC41NSkiLGJveFNoYWRvdzoiMCAxcHggM3B4IHJnYmEoMCwwLDAsMC40NSkiLHRyYW5zZm9ybToidHJhbnNsYXRlKC01MCUsIC01MCUpIixwb2ludGVyRXZlbnRzOiJub25lIn19ZnVuY3Rpb24gdjAoRyl7aWYoIUcpcmV0dXJuImlwaG9uZSI7bGV0IFg9Ry50b0xvd2VyQ2FzZSgpO2lmKFguaW5jbHVkZXMoImlwYWQiKSlyZXR1cm4iaXBhZCI7aWYoWC5pbmNsdWRlcygid2F0Y2giKSlyZXR1cm4id2F0Y2giO2lmKFguaW5jbHVkZXMoInZpc2lvbiIpKXJldHVybiJ2aXNpb24iO3JldHVybiJpcGhvbmUifXZhciBWMD17aXBob25lOnt3aWR0aDo0MjcsaGVpZ2h0Ojg4MSxiZXplbFg6MTgsYmV6ZWxZOjE4LGlubmVyUmFkaXVzOjU1fSxpcGFkOnt3aWR0aDo0MzAsaGVpZ2h0OjYwNSxiZXplbFg6MTYsYmV6ZWxZOjE2LGlubmVyUmFkaXVzOjEyfSx3YXRjaDp7d2lkdGg6Mjc0LGhlaWdodDozMjIsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czo3OX0sdmlzaW9uOnt3aWR0aDo2NDAsaGVpZ2h0OjQwMCxiZXplbFg6MTIsYmV6ZWxZOjEyLGlubmVyUmFkaXVzOjMyfX0sdzY9VjAuaXBob25lLndpZHRoLFQ2PVYwLmlwaG9uZS5oZWlnaHQsazY9VjAuaXBob25lLmJlemVsWCxDNj1WMC5pcGhvbmUuYmV6ZWxZLGI2PVYwLmlwaG9uZS5pbm5lclJhZGl1cyxOOD17ImlQaG9uZSAxNyBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNyBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE3Ijp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSBBaXIiOnt3aWR0aDoxMjYwLGhlaWdodDoyNzM2fSwiaVBob25lIDE2IFBybyBNYXgiOnt3aWR0aDoxMzIwLGhlaWdodDoyODY4fSwiaVBob25lIDE2IFBybyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgMTYgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTYiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBob25lIDE2ZSI6e3dpZHRoOjExNzAsaGVpZ2h0OjI1MzJ9LCJpUGhvbmUgMTUgUHJvIE1heCI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUgUHJvIjp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNSBQbHVzIjp7d2lkdGg6MTI5MCxoZWlnaHQ6Mjc5Nn0sImlQaG9uZSAxNSI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGFkIFBybyAxMy1pbmNoIChNNSkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTUpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgUHJvIDEzLWluY2ggKE00KSI6e3dpZHRoOjIwNjQsaGVpZ2h0OjI3NTJ9LCJpUGFkIFBybyAxMS1pbmNoIChNNCkiOnt3aWR0aDoxNjY4LGhlaWdodDoyNDIwfSwiaVBhZCBBaXIgMTMtaW5jaCAoTTMpIjp7d2lkdGg6MjA0OCxoZWlnaHQ6MjczMn0sImlQYWQgQWlyIDExLWluY2ggKE0zKSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIChBMTYpIjp7d2lkdGg6MTY0MCxoZWlnaHQ6MjM2MH0sImlQYWQgbWluaSAoQTE3IFBybykiOnt3aWR0aDoxNDg4LGhlaWdodDoyMjY2fSwiQXBwbGUgV2F0Y2ggVWx0cmEgMyAoNDltbSkiOnt3aWR0aDo0MjIsaGVpZ2h0OjUxNH0sIkFwcGxlIFdhdGNoIFVsdHJhIDIgKDQ5bW0pIjp7d2lkdGg6NDEwLGhlaWdodDo1MDJ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTEgKDQ2bW0pIjp7d2lkdGg6NDE2LGhlaWdodDo0OTZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTEgKDQybW0pIjp7d2lkdGg6Mzc0LGhlaWdodDo0NDZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTAgKDQ2bW0pIjp7d2lkdGg6NDE2LGhlaWdodDo0OTZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTAgKDQybW0pIjp7d2lkdGg6Mzc0LGhlaWdodDo0NDZ9LCJBcHBsZSBXYXRjaCBTRSAzICg0NG1tKSI6e3dpZHRoOjM2OCxoZWlnaHQ6NDQ4fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDBtbSkiOnt3aWR0aDozMjQsaGVpZ2h0OjM5NH0sIkFwcGxlIFdhdGNoIFNFICg0NG1tKSI6e3dpZHRoOjM2OCxoZWlnaHQ6NDQ4fSwiQXBwbGUgV2F0Y2ggU0UgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBWaXNpb24gUHJvIjp7d2lkdGg6MTkyMCxoZWlnaHQ6MTA4MH19O2Z1bmN0aW9uIFAxKEcsWCl7bGV0IEo9RyYmRy53aWR0aD4wJiZHLmhlaWdodD4wP0c6WCxZPUYxKEopO2lmKFkpcmV0dXJuYCR7WS53aWR0aH0gLyAke1kuaGVpZ2h0fWA7cmV0dXJuYCR7VjAuaXBob25lLndpZHRoLTIqVjAuaXBob25lLmJlemVsWH0gLyAke1YwLmlwaG9uZS5oZWlnaHQtMipWMC5pcGhvbmUuYmV6ZWxZfWB9ZnVuY3Rpb24gVTEoRz0iaXBob25lIixYKXtsZXQgSj1YP044W1hdOm51bGw7aWYoSilyZXR1cm4gSjtsZXQgWT1WMFtHXTtyZXR1cm57d2lkdGg6WS53aWR0aC0yKlkuYmV6ZWxYLGhlaWdodDpZLmhlaWdodC0yKlkuYmV6ZWxZfX1mdW5jdGlvbiBBMShHPSJpcGhvbmUiLFgpe2lmKGwwKFgpKXN3aXRjaChHKXtjYXNlImlwYWQiOnJldHVybiA3MjA7Y2FzZSJ2aXNpb24iOnJldHVybiA1ODA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtkZWZhdWx0OnJldHVybiA2MjB9c3dpdGNoKEcpe2Nhc2UiaXBhZCI6cmV0dXJuIDQwMDtjYXNlIndhdGNoIjpyZXR1cm4gMjAwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2RlZmF1bHQ6cmV0dXJuIDMyMH19ZnVuY3Rpb24gTTEoRz0iaXBob25lIixYKXtsZXQgSj1WMFtHXSxZPUoud2lkdGgtMipKLmJlemVsWCxaPUouaGVpZ2h0LTIqSi5iZXplbFk7aWYoWTxaJiZsMChYKSlyZXR1cm5gJHtKLmlubmVyUmFkaXVzL1oqMTAwfSUgLyAke0ouaW5uZXJSYWRpdXMvWSoxMDB9JWA7cmV0dXJuYCR7Si5pbm5lclJhZGl1cy9ZKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1oqMTAwfSVgfXZhciByMT1qMChudWxsKTtmdW5jdGlvbiBJMShHKXtsZXQgWD1hMChyMSk7aWYoIVgpdGhyb3cgRXJyb3IoYDxTaW11bGF0b3JUb29sYmFyLiR7R30+IG11c3QgYmUgcmVuZGVyZWQgaW5zaWRlIDxTaW11bGF0b3JUb29sYmFyPmApO3JldHVybiBYfXZhciB6ND17ZGlzcGxheToiZmxleCIsZmxleFdyYXA6IndyYXAiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDoiNHB4IDEycHgiLHBhZGRpbmc6IjhweCAxMnB4Iixib3JkZXJSYWRpdXM6MjQsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpIixib3hTaGFkb3c6IjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMikiLG1pbldpZHRoOjI0MCx3aWR0aDoiMTAwJSJ9O2Z1bmN0aW9uIEg0KHtleGVjOkcsb25Sb3RhdGU6WCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6WSxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpxLHN0cmVhbWluZzpRPSExLGRpc2FibGVkOks9ITEsY2hpbGRyZW46SCxzdHlsZTpWLC4uLkR9KXtsZXQgJD12MChaKSxXPXtleGVjOkcsb25Sb3RhdGU6WCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6WSxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpxLGRldmljZVR5cGU6JCxzdHJlYW1pbmc6USxkaXNhYmxlZDpLfHwhWXx8IVF9O3JldHVybiBfKHIxLlByb3ZpZGVyLHt2YWx1ZTpXLGNoaWxkcmVuOl8oImRpdiIseyJkYXRhLXNpbXVsYXRvci10b29sYmFyIjohMCxzdHlsZTp7Li4uejQsLi4uVn0sLi4uRCxjaGlsZHJlbjpIfSl9KX12YXIgTDQ9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsdGV4dEFsaWduOiJsZWZ0IixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIscGFkZGluZzoiMnB4IDRweCIsbWFyZ2luOiItMnB4IC00cHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsbGluZUhlaWdodDoxLjIsZm9udEZhbWlseToiaW5oZXJpdCJ9LFc0PXkwKGZ1bmN0aW9uKHtuYW1lOlgsc3VidGl0bGU6SixoaWRlQ2hldnJvbjpZLHN0eWxlOlosb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOlEsLi4uS30sSCl7bGV0IFY9STEoIlRpdGxlIiksW0QsJF09QyghMSksTD1YPz9WLmRldmljZU5hbWU/PyJObyBzaW11bGF0b3IiLFc9Sj8/KFYuZGV2aWNlUnVudGltZT9WLmRldmljZVJ1bnRpbWUucmVwbGFjZSgvXC4vLCIgIik6IuKAlCIpO3JldHVybiBfKCJidXR0b24iLHtyZWY6SCx0eXBlOiJidXR0b24iLCJkYXRhLXNpbXVsYXRvci10b29sYmFyLXRpdGxlIjohMCxvbk1vdXNlRW50ZXI6KFUpPT57JCghMCkscT8uKFUpfSxvbk1vdXNlTGVhdmU6KFUpPT57JCghMSksUT8uKFUpfSxzdHlsZTp7Li4uTDQsYmFja2dyb3VuZDpEPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsLi4uWn0sLi4uSyxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjoiI2ZmZiIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOltMLCFZJiZfKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0eWxlOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjYpIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOl8oInBvbHlsaW5lIix7cG9pbnRzOiI2IDkgMTIgMTUgMTggOSJ9KX0pXX0pLF8oInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOld9KV19KX0pLE40PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gTzQoe3N0eWxlOkcsLi4uWH0pe3JldHVybiBfKCJkaXYiLHtzdHlsZTp7Li4uTjQsLi4uR30sLi4uWH0pfXZhciBEND17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC44KSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZC1jb2xvciAwLjE1cywgY29sb3IgMC4xNXMifSxFMT15MChmdW5jdGlvbih7Zm9yY2VEaXNhYmxlZDpYLHN0eWxlOkosZGlzYWJsZWQ6WSxvbk1vdXNlRW50ZXI6Wixvbk1vdXNlTGVhdmU6cSxjaGlsZHJlbjpRLC4uLkt9LEgpe2xldCBWPWEwKHIxKSxEPVl8fFh8fFY/LmRpc2FibGVkLFskLExdPUMoITEpO3JldHVybiBfKCJidXR0b24iLHtyZWY6SCx0eXBlOiJidXR0b24iLGRpc2FibGVkOkQsb25Nb3VzZUVudGVyOihXKT0+e0woITApLFo/LihXKX0sb25Nb3VzZUxlYXZlOihXKT0+e0woITEpLHE/LihXKX0sc3R5bGU6ey4uLkQ0LGNvbG9yOkQ/InJnYmEoMjU1LDI1NSwyNTUsMC4yNSkiOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLGJhY2tncm91bmQ6JCYmIUQ/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IixjdXJzb3I6RD8ibm90LWFsbG93ZWQiOiJwb2ludGVyIiwuLi5KfSwuLi5LLGNoaWxkcmVuOlF9KX0pO2Z1bmN0aW9uIEY0KCl7cmV0dXJuWyd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gc2V0IGZyb250bW9zdCB0byB0cnVlJywndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHBlcmZvcm0gYWN0aW9uICJBWFJhaXNlIiBvZiAoZmlyc3Qgd2luZG93IHdob3NlIG5hbWUgY29udGFpbnMgIndhdGNoT1MiKScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBjbGljayBtZW51IGl0ZW0gIkhvbWUiIG9mIG1lbnUgIkRldmljZSIgb2YgbWVudSBiYXIgaXRlbSAiRGV2aWNlIiBvZiBtZW51IGJhciAxJ10ubWFwKChYKT0+YC1lICcke1h9J2ApLnJlZHVjZSgoWCxKKT0+YCR7WH0gJHtKfWAsIm9zYXNjcmlwdCIpfXZhciBCND17cG9ydHJhaXQ6ImxhbmRzY2FwZV9sZWZ0IixsYW5kc2NhcGVfbGVmdDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXQifSxQND1fKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpfKCJwYXRoIix7ZDoiTTMgMTAuNSAxMiAzbDkgNy41VjIwYTEgMSAwIDAgMS0xIDFoLTV2LTdoLTZ2N0g0YTEgMSAwIDAgMS0xLTF6In0pfSksVTQ9Xygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMTQuNSA0aC01TDcgN0g0YTIgMiAwIDAgMC0yIDJ2OWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJWOWEyIDIgMCAwIDAtMi0yaC0zeiJ9KSxfKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiNCJ9KV19KSxBND1fKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAxMiAxMyIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOl8oInBhdGgiLHtkOiJNMTAuMjMwNSAxMi44MDc3SDQuNDIzODNDMy45MjM4MyAxMi44MDc3IDMuNTQ2ODggMTIuNjg0NiAzLjI5Mjk3IDEyLjQzODVDMy4wNDI5NyAxMi4xOTYzIDIuOTE3OTcgMTEuODE5NCAyLjkxNzk3IDExLjMwNzdWNS41MTI3NEMyLjkxNzk3IDQuOTk3MTEgMy4wNDI5NyA0LjYxODIxIDMuMjkyOTcgNC4zNzYwMkMzLjU0Njg4IDQuMTI5OTMgMy45MjM4MyA0LjAwNjg4IDQuNDIzODMgNC4wMDY4OEgxMC4yMzA1QzEwLjczNDQgNC4wMDY4OCAxMS4xMTEzIDQuMTI5OTMgMTEuMzYxMyA0LjM3NjAyQzExLjYxMTMgNC42MTgyMSAxMS43MzYzIDQuOTk3MTEgMTEuNzM2MyA1LjUxMjc0VjExLjMwNzdDMTEuNzM2MyAxMS44MTk0IDExLjYxMTMgMTIuMTk2MyAxMS4zNjEzIDEyLjQzODVDMTEuMTExMyAxMi42ODQ2IDEwLjczNDQgMTIuODA3NyAxMC4yMzA1IDEyLjgwNzdaTTEwLjIxMjkgMTEuODY0M0MxMC40MTYgMTEuODY0MyAxMC41NjI1IDExLjgxOTQgMTAuNjUyMyAxMS43Mjk1QzEwLjc0NjEgMTEuNjQzNiAxMC43OTMgMTEuNDk3MSAxMC43OTMgMTEuMjkwMVY1LjUyNDQ2QzEwLjc5MyA1LjMxNzQzIDEwLjc0NjEgNS4xNzA5NCAxMC42NTIzIDUuMDg1MDFDMTAuNTYyNSA0Ljk5NTE2IDEwLjQxNiA0Ljk1MDI0IDEwLjIxMjkgNC45NTAyNEg0LjQ0MTQxQzQuMjQyMTkgNC45NTAyNCA0LjA5NTcgNC45OTUxNiA0LjAwMTk1IDUuMDg1MDFDMy45MDgyIDUuMTcwOTQgMy44NjEzMyA1LjMxNzQzIDMuODYxMzMgNS41MjQ0NlYxMS4yOTAxQzMuODYxMzMgMTEuNDk3MSAzLjkwODIgMTEuNjQzNiA0LjAwMTk1IDExLjcyOTVDNC4wOTU3IDExLjgxOTQgNC4yNDIxOSAxMS44NjQzIDQuNDQxNDEgMTEuODY0M0gxMC4yMTI5Wk0yLjkxNzk3IDIuNTgzMDVWMC40MTUwODNDMi45MTc5NyAwLjIwMDI0IDIuOTg2MzMgMC4wNjkzODAzIDMuMTIzMDUgMC4wMjI1MDUzQzMuMjU5NzcgLTAuMDI4Mjc1OSAzLjQxMDE2IDAuMDA2ODgwMzMgMy41NzQyMiAwLjEyNzk3NEw1LjA1MDc4IDEuMjExOTZDNS4xNzU3OCAxLjMwNTcxIDUuMjM4MjggMS40MDE0MSA1LjIzODI4IDEuNDk5MDdDNS4yMzgyOCAxLjU5NjcyIDUuMTc1NzggMS42OTI0MyA1LjA1MDc4IDEuNzg2MThMMy41NzQyMiAyLjg2NDNDMy40MTAxNiAyLjk4NTQgMy4yNTk3NyAzLjAyMjUxIDMuMTIzMDUgMi45NzU2M0MyLjk4NjMzIDIuOTI0ODUgMi45MTc5NyAyLjc5Mzk5IDIuOTE3OTcgMi41ODMwNVpNMy41MzMyIDEuMTUzMzZDMy42MjY5NSAxLjE1MzM2IDMuNzA3MDMgMS4xODY1NyAzLjc3MzQ0IDEuMjUyOTdDMy44NDM3NSAxLjMxOTM4IDMuODc4OTEgMS4zOTc1MSAzLjg3ODkxIDEuNDg3MzVDMy44Nzg5MSAxLjU4MTEgMy44NDM3NSAxLjY2MzEzIDMuNzczNDQgMS43MzM0NEMzLjcwNzAzIDEuNzk5ODUgMy42MjY5NSAxLjgzMzA1IDMuNTMzMiAxLjgzMzA1SDIuODA2NjRDMi4zODA4NiAxLjgzMzA1IDIuMDExNzIgMS45MjQ4NSAxLjY5OTIyIDIuMTA4NDRDMS4zOTA2MiAyLjI4ODEzIDEuMTUyMzQgMi41MzgxMyAwLjk4NDM3NSAyLjg1ODQ0QzAuODE2NDA2IDMuMTc4NzYgMC43MzI0MjIgMy41NDU5NCAwLjczMjQyMiAzLjk2MDAxVjQuODM4OTFDMC43MzI0MjIgNC45MzY1NyAwLjY5NzI2NiA1LjAyMjUxIDAuNjI2OTUzIDUuMDk2NzJDMC41NTI3MzQgNS4xNjcwNCAwLjQ2NDg0NCA1LjIwMjE5IDAuMzYzMjgxIDUuMjAyMTlDMC4yNjU2MjUgNS4yMDIxOSAwLjE4MTY0MSA1LjE2NzA0IDAuMTExMzI4IDUuMDk2NzJDMC4wMzcxMDk0IDUuMDIyNTEgMCA0LjkzNjU3IDAgNC44Mzg5MVYzLjk2MDAxQzAgMy40MDE0MSAwLjExNzE4OCAyLjkxMTE4IDAuMzUxNTYyIDIuNDg5M0MwLjU4MjAzMSAyLjA2NzQzIDAuOTA4MjAzIDEuNzM5MyAxLjMzMDA4IDEuNTA0OTNDMS43NDgwNSAxLjI3MDU1IDIuMjM4MjggMS4xNTMzNiAyLjgwMDc4IDEuMTUzMzZIMy41MzMyWiJ9KX0pLE00PXkwKGZ1bmN0aW9uKHtvbkNsaWNrOlgsLi4uSn0sWSl7bGV0IFo9STEoIkhvbWVCdXR0b24iKTtyZXR1cm4gXyhFMSx7cmVmOlksImFyaWEtbGFiZWwiOiJIb21lIixvbkNsaWNrOihxKT0+e2lmKFg/LihxKSxxLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKFouZGV2aWNlVHlwZT09PSJ3YXRjaCIpWi5leGVjKEY0KCkpO2Vsc2UgWi5leGVjKCJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUiKX0sLi4uSixjaGlsZHJlbjpQNH0pfSksSTQ9eTAoZnVuY3Rpb24oe29uQ2xpY2s6WCwuLi5KfSxZKXtsZXQgWj1JMSgiU2NyZWVuc2hvdEJ1dHRvbiIpO3JldHVybiBfKEUxLHtyZWY6WSwiYXJpYS1sYWJlbCI6IlNjcmVlbnNob3QiLG9uQ2xpY2s6KHEpPT57aWYoWD8uKHEpLHEuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoWi5kZXZpY2VVZGlkKVouZXhlYyhgeGNydW4gc2ltY3RsIGlvICR7Wi5kZXZpY2VVZGlkfSBzY3JlZW5zaG90IH4vRGVza3RvcC9zZXJ2ZS1zaW0tc2NyZWVuc2hvdC0kKGRhdGUgKyVzKS5wbmdgKX0sLi4uSixjaGlsZHJlbjpVNH0pfSksRTQ9eTAoZnVuY3Rpb24oe29uQ2xpY2s6WCxmb3JjZURpc2FibGVkOkosLi4uWX0sWil7bGV0IHE9STEoIlJvdGF0ZUJ1dHRvbiIpLFE9cS5kZXZpY2VUeXBlPT09IndhdGNoInx8cS5kZXZpY2VUeXBlPT09InZpc2lvbiIsW0ssSF09QygicG9ydHJhaXQiKTtyZXR1cm4gUygoKT0+e0gocS5vcmllbnRhdGlvbj8/InBvcnRyYWl0Iil9LFtxLmRldmljZVVkaWQscS5vcmllbnRhdGlvbl0pLF8oRTEse3JlZjpaLCJhcmlhLWxhYmVsIjoiUm90YXRlIGRldmljZSIsZm9yY2VEaXNhYmxlZDpKfHxRLG9uQ2xpY2s6KFYpPT57aWYoWD8uKFYpLFYuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoIXEuZGV2aWNlVWRpZHx8USlyZXR1cm47bGV0IEQ9QjRbcS5vcmllbnRhdGlvbj8/S107aWYoSChEKSxxLm9uUm90YXRlKXEub25Sb3RhdGUoRCk7ZWxzZSBxLmV4ZWMoYHNlcnZlLXNpbSByb3RhdGUgJHtEfSAtZCAke3EuZGV2aWNlVWRpZH1gKX0sLi4uWSxjaGlsZHJlbjpBNH0pfSksWTA9SDQ7WTAuVGl0bGU9VzQ7WTAuQWN0aW9ucz1PNDtZMC5CdXR0b249RTE7WTAuSG9tZUJ1dHRvbj1NNDtZMC5TY3JlZW5zaG90QnV0dG9uPUk0O1kwLlJvdGF0ZUJ1dHRvbj1FNDtmdW5jdGlvbiB3NChHKXtsZXRbWCxKXT1DKG51bGwpLFk9UihuZXcgU2V0KSxaPWIoKHEpPT57cmV0dXJuIFkuY3VycmVudC5hZGQocSksKCk9PntZLmN1cnJlbnQuZGVsZXRlKHEpfX0sW10pO3JldHVybiBTKCgpPT57aWYoIUcpcmV0dXJuO2xldCBxPW5ldyBBYm9ydENvbnRyb2xsZXIsUT0hMSxLPW51bGwsSD1HLnJlcGxhY2UoL1wvc3RyZWFtXC5tanBlZyQvLCIiKSxWPShGKT0+e2lmKEYud2lkdGg8PTB8fEYuaGVpZ2h0PD0wKXJldHVybjtKKChFKT0+RSYmRS53aWR0aD09PUYud2lkdGgmJkUuaGVpZ2h0PT09Ri5oZWlnaHQmJkUub3JpZW50YXRpb249PT1GLm9yaWVudGF0aW9uP0U6Ril9LEQ9KCk9PntmZXRjaChgJHtIfS9jb25maWdgLHtzaWduYWw6cS5zaWduYWx9KS50aGVuKChGKT0+Ri5qc29uKCkpLnRoZW4oVikuY2F0Y2goKCk9Pnt9KX07RCgpO2xldCAkPXNldEludGVydmFsKEQsMTAwMCksTD1uZXcgVVJMKEcpO0wuc2VhcmNoUGFyYW1zLnNldCgicmF3IiwiMSIpO2xldCBXPUwudG9TdHJpbmcoKSxVPSgpPT57aWYoUXx8cS5zaWduYWwuYWJvcnRlZHx8SylyZXR1cm47Sz1zZXRUaW1lb3V0KCgpPT57Sz1udWxsLFAoKX0sMTAwMCl9LFA9YXN5bmMoKT0+e3RyeXtsZXQgRT0oYXdhaXQgZmV0Y2goVyx7c2lnbmFsOnEuc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFFKXtVKCk7cmV0dXJufWxldCB3PW5ldyBVaW50OEFycmF5KDApO3doaWxlKCEwKXtsZXR7ZG9uZTpnLHZhbHVlOmh9PWF3YWl0IEUucmVhZCgpO2lmKGcpYnJlYWs7bGV0IG89bmV3IFVpbnQ4QXJyYXkody5sZW5ndGgraC5sZW5ndGgpO28uc2V0KHcpLG8uc2V0KGgsdy5sZW5ndGgpLHc9bzt3aGlsZSghMCl7bGV0IEcwPS0xO2ZvcihsZXQgcD0wO3A8dy5sZW5ndGgtMTtwKyspaWYod1twXT09PTI1NSYmd1twKzFdPT09MjE2KXtHMD1wO2JyZWFrfWlmKEcwPT09LTEpYnJlYWs7bGV0IHU9LTE7Zm9yKGxldCBwPUcwKzI7cDx3Lmxlbmd0aC0xO3ArKylpZih3W3BdPT09MjU1JiZ3W3ArMV09PT0yMTcpe3U9cCsyO2JyZWFrfWlmKHU9PT0tMSlicmVhaztsZXQgdj13LnNsaWNlKEcwLHUpO3c9dy5zbGljZSh1KTtsZXQgdD1uZXcgQmxvYihbdl0se3R5cGU6ImltYWdlL2pwZWcifSksSjA9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KTtpZihZLmN1cnJlbnQuc2l6ZT09PTApe1VSTC5yZXZva2VPYmplY3RVUkwoSjApO2NvbnRpbnVlfWZvcihsZXQgcCBvZiBZLmN1cnJlbnQpcChKMCl9fX1jYXRjaHt9ZmluYWxseXtVKCl9fTtyZXR1cm4gUCgpLCgpPT57aWYoUT0hMCxLKWNsZWFyVGltZW91dChLKTtxLmFib3J0KCksY2xlYXJJbnRlcnZhbCgkKX19LFtHXSkse3N1YnNjcmliZUZyYW1lOlosZnJhbWU6bnVsbCxjb25maWc6WH19dmFyIFQ0PXtLZXlBOjQsS2V5Qjo1LEtleUM6NixLZXlEOjcsS2V5RTo4LEtleUY6OSxLZXlHOjEwLEtleUg6MTEsS2V5SToxMixLZXlKOjEzLEtleUs6MTQsS2V5TDoxNSxLZXlNOjE2LEtleU46MTcsS2V5TzoxOCxLZXlQOjE5LEtleVE6MjAsS2V5UjoyMSxLZXlTOjIyLEtleVQ6MjMsS2V5VToyNCxLZXlWOjI1LEtleVc6MjYsS2V5WDoyNyxLZXlZOjI4LEtleVo6MjksRGlnaXQxOjMwLERpZ2l0MjozMSxEaWdpdDM6MzIsRGlnaXQ0OjMzLERpZ2l0NTozNCxEaWdpdDY6MzUsRGlnaXQ3OjM2LERpZ2l0ODozNyxEaWdpdDk6MzgsRGlnaXQwOjM5LEVudGVyOjQwLEVzY2FwZTo0MSxCYWNrc3BhY2U6NDIsVGFiOjQzLFNwYWNlOjQ0LE1pbnVzOjQ1LEVxdWFsOjQ2LEJyYWNrZXRMZWZ0OjQ3LEJyYWNrZXRSaWdodDo0OCxCYWNrc2xhc2g6NDksU2VtaWNvbG9uOjUxLFF1b3RlOjUyLEJhY2txdW90ZTo1MyxDb21tYTo1NCxQZXJpb2Q6NTUsU2xhc2g6NTYsQ2Fwc0xvY2s6NTcsRjE6NTgsRjI6NTksRjM6NjAsRjQ6NjEsRjU6NjIsRjY6NjMsRjc6NjQsRjg6NjUsRjk6NjYsRjEwOjY3LEYxMTo2OCxGMTI6NjksUHJpbnRTY3JlZW46NzAsU2Nyb2xsTG9jazo3MSxQYXVzZTo3MixJbnNlcnQ6NzMsSG9tZTo3NCxQYWdlVXA6NzUsRGVsZXRlOjc2LEVuZDo3NyxQYWdlRG93bjo3OCxBcnJvd1JpZ2h0Ojc5LEFycm93TGVmdDo4MCxBcnJvd0Rvd246ODEsQXJyb3dVcDo4MixOdW1Mb2NrOjgzLE51bXBhZERpdmlkZTo4NCxOdW1wYWRNdWx0aXBseTo4NSxOdW1wYWRTdWJ0cmFjdDo4NixOdW1wYWRBZGQ6ODcsTnVtcGFkRW50ZXI6ODgsTnVtcGFkMTo4OSxOdW1wYWQyOjkwLE51bXBhZDM6OTEsTnVtcGFkNDo5MixOdW1wYWQ1OjkzLE51bXBhZDY6OTQsTnVtcGFkNzo5NSxOdW1wYWQ4Ojk2LE51bXBhZDk6OTcsTnVtcGFkMDo5OCxOdW1wYWREZWNpbWFsOjk5LENvbnRyb2xMZWZ0OjIyNCxTaGlmdExlZnQ6MjI1LEFsdExlZnQ6MjI2LE1ldGFMZWZ0OjIyNyxDb250cm9sUmlnaHQ6MjI4LFNoaWZ0UmlnaHQ6MjI5LEFsdFJpZ2h0OjIzMCxNZXRhUmlnaHQ6MjMxfTtmdW5jdGlvbiBrNChHKXtyZXR1cm4gVDRbR10/P251bGx9YXN5bmMgZnVuY3Rpb24gcTAoRyl7cmV0dXJuKGF3YWl0IGZldGNoKCIvZXhlYyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtjb21tYW5kOkd9KX0pKS5qc29uKCl9ZnVuY3Rpb24gQzQoRyl7dHJ5e2xldCBYPUpTT04ucGFyc2UoRyksSj1bXTtmb3IobGV0W1ksWl1vZiBPYmplY3QuZW50cmllcyhYLmRldmljZXM/P3t9KSl7bGV0IHE9WS5yZXBsYWNlKC9eY29tXC5hcHBsZVwuQ29yZVNpbXVsYXRvclwuU2ltUnVudGltZVwuLywiIikucmVwbGFjZSgvLS9nLCIuIik7Zm9yKGxldCBRIG9mIFopaWYoUS5pc0F2YWlsYWJsZSlKLnB1c2goe3VkaWQ6US51ZGlkLG5hbWU6US5uYW1lLHN0YXRlOlEuc3RhdGUscnVudGltZTpxfSl9cmV0dXJuIEp9Y2F0Y2h7cmV0dXJuW119fWZ1bmN0aW9uIHcxKEcpe2xldCBYPUcudG9Mb3dlckNhc2UoKTtpZihYLmluY2x1ZGVzKCJpcGhvbmUiKSlyZXR1cm4gMDtpZihYLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuIDE7aWYoWC5pbmNsdWRlcygid2F0Y2giKSlyZXR1cm4gMjtpZihYLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4gMztyZXR1cm4gNH1mdW5jdGlvbiBUMShHKXtsZXQgWD1HLnRvTG93ZXJDYXNlKCk7aWYoWC5zdGFydHNXaXRoKCJpb3MiKSlyZXR1cm4gMDtpZihYLnN0YXJ0c1dpdGgoImlwYWRvcyIpKXJldHVybiAxO2lmKFguc3RhcnRzV2l0aCgid2F0Y2hvcyIpKXJldHVybiAyO2lmKFguc3RhcnRzV2l0aCgidmlzaW9ub3MiKXx8WC5zdGFydHNXaXRoKCJ4cm9zIikpcmV0dXJuIDM7cmV0dXJuIDR9ZnVuY3Rpb24gYjQoe2RldmljZXM6RyxzZWxlY3RlZFVkaWQ6WCxsb2FkaW5nOkosZXJyb3I6WSxzdG9wcGluZ1VkaWRzOlosb25SZWZyZXNoOnEsb25TZWxlY3Q6USxvblN0b3A6Syx0cmlnZ2VyOkh9KXtsZXRbVixEXT1DKCExKSwkPVIobnVsbCk7UygoKT0+e2lmKCFWKXJldHVybjtsZXQgUD0oRik9PntpZighJC5jdXJyZW50Py5jb250YWlucyhGLnRhcmdldCkpRCghMSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixQKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsUCl9LFtWXSk7bGV0IEw9bmV3IE1hcDtmb3IobGV0IFAgb2YgRyl7aWYoUC51ZGlkPT09WCljb250aW51ZTtsZXQgRj1MLmdldChQLnJ1bnRpbWUpO2lmKCFGKUY9W10sTC5zZXQoUC5ydW50aW1lLEYpO0YucHVzaChQKX1mb3IobGV0IFAgb2YgTC52YWx1ZXMoKSlQLnNvcnQoKEYsRSk9PncxKEYubmFtZSktdzEoRS5uYW1lKXx8Ri5uYW1lLmxvY2FsZUNvbXBhcmUoRS5uYW1lKSk7bGV0IFc9Wy4uLkwuZW50cmllcygpXS5zb3J0KChbUF0sW0ZdKT0+VDEoUCktVDEoRil8fFAubG9jYWxlQ29tcGFyZShGKSksVT1HLmZpbmQoKFApPT5QLnVkaWQ9PT1YKT8/bnVsbDtyZXR1cm4gXygiZGl2Iix7cmVmOiQsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOltfKCJkaXYiLHtvbkNsaWNrOigpPT57aWYoIVYpcSgpO0QoKFApPT4hUCl9LGNoaWxkcmVuOkh9KSxWJiZfKCJkaXYiLHtzdHlsZTpjNCxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6RDgsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLF8oImJ1dHRvbiIse29uQ2xpY2s6KFApPT57UC5zdG9wUHJvcGFnYXRpb24oKSxxKCl9LGRpc2FibGVkOkosc3R5bGU6RjgsY2hpbGRyZW46Sj8iLi4uIjoiUmVmcmVzaCJ9KV19KSxZJiZfKCJkaXYiLHtzdHlsZTplMSxjaGlsZHJlbjpZfSksVSYmXyhhLHtjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ey4uLkc5LGNvbG9yOiIjYTViNGZjIn0sY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTpuMShVLnN0YXRlPT09IkJvb3RlZCI/IiM0YWRlODAiOiIjNDQ0Iil9KSxfKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46VS5uYW1lfSldfSksXygiZGl2Iix7c3R5bGU6aTR9KV19KSxHLmxlbmd0aD09PTAmJiFKJiYhWSYmXygiZGl2Iix7c3R5bGU6QjgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLFcubWFwKChbUCxGXSk9Pl8oImRpdiIse2NoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpQOCxjaGlsZHJlbjpQfSksRi5tYXAoKEUpPT57bGV0IHc9Wi5oYXMoRS51ZGlkKSxnPUUuc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gXygiZGl2Iix7c3R5bGU6Rzksb25Nb3VzZUVudGVyOihoKT0+aC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLG9uTW91c2VMZWF2ZTooaCk9PmguY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIsb25DbGljazooKT0+e1EoRSksRCghMSl9LGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6bjEoZz8iIzRhZGU4MCI6IiM0NDQiKX0pLF8oInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpFLm5hbWV9KSxnJiZfKCJzcGFuIix7cm9sZToiYnV0dG9uIixvbkNsaWNrOihoKT0+e2lmKGguc3RvcFByb3BhZ2F0aW9uKCksIXcpSyhFLnVkaWQpfSxzdHlsZTp7Zm9udFNpemU6MTAscGFkZGluZzoiMXB4IDZweCIsYm9yZGVyUmFkaXVzOjQsY29sb3I6dz8iIzg4OCI6IiNmODcxNzEiLGJhY2tncm91bmQ6dz8idHJhbnNwYXJlbnQiOiJyZ2JhKDI0OCwxMTMsMTEzLDAuMSkiLGN1cnNvcjp3PyJkZWZhdWx0IjoicG9pbnRlciJ9LGNoaWxkcmVuOnc/IlN0b3BwaW5nLi4uIjoiU3RvcCJ9KV19LEUudWRpZCl9KV19LFApKV19KV19KX1mdW5jdGlvbiBuMShHKXtyZXR1cm57d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpHLGZsZXhTaHJpbms6MH19dmFyIFI0PW5ldyBTZXQoWyJpbWFnZS9qcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvZ2lmIiwiaW1hZ2UvaGVpYyIsImltYWdlL2hlaWYiLCJpbWFnZS93ZWJwIiwidmlkZW8vbXA0IiwidmlkZW8vcXVpY2t0aW1lIl0pLE84PTI2MjE0NCxqND01MjQyODgwMDA7ZnVuY3Rpb24gUzQoRyl7aWYoWDkoRyk9PT0iaXBhIilyZXR1cm4iaXBhIjtpZihSNC5oYXMoRy50eXBlKSlyZXR1cm4ibWVkaWEiO3JldHVybiBudWxsfWZ1bmN0aW9uIHk0KEcpe2xldCBYPW5ldyBVaW50OEFycmF5KEcpLEo9IiI7Zm9yKGxldCBZPTA7WTxYLmxlbmd0aDtZKyspSis9U3RyaW5nLmZyb21DaGFyQ29kZShYW1ldKTtyZXR1cm4gYnRvYShKKX1mdW5jdGlvbiBYOShHKXtsZXQgWD1HLm5hbWUsSj1YLmxhc3RJbmRleE9mKCIuIik7aWYoSj49MClyZXR1cm4gWC5zbGljZShKKzEpLnRvTG93ZXJDYXNlKCk7aWYoRy50eXBlLnN0YXJ0c1dpdGgoInZpZGVvLyIpKXJldHVybiJtcDQiO3JldHVybiJqcGcifWFzeW5jIGZ1bmN0aW9uIHY0KEcsWCxKLFkpe2lmKEcuc2l6ZT5qNCl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtsZXQgWj1YPT09ImlwYSI/ImlwYSI6WDkoRyksUT1gL3RtcC8ke1g9PT0iaXBhIj8ic2VydmUtc2ltLWluc3RhbGwiOiJzZXJ2ZS1zaW0tdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke1p9YDt0cnl7bGV0IEs9YXdhaXQgRy5hcnJheUJ1ZmZlcigpLEg9eTQoSyk7Zm9yKGxldCAkPTA7JDxILmxlbmd0aDskKz1POCl7bGV0IEw9SC5zbGljZSgkLCQrTzgpLFU9YXdhaXQgSihgYmFzaCAtYyAnZWNobyAke0x9IHwgYmFzZTY0IC1kICR7JD09PTA/Ij4iOiI+PiJ9ICR7UX0nYCk7aWYoVS5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoVS5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtVLmV4aXRDb2RlfSlgKX1sZXQgVj1YPT09ImlwYSI/YHhjcnVuIHNpbWN0bCBpbnN0YWxsICR7WX0gJHtRfWA6YHhjcnVuIHNpbWN0bCBhZGRtZWRpYSAke1l9ICR7UX1gLEQ9YXdhaXQgSihWKTtpZihELmV4aXRDb2RlIT09MCl7bGV0ICQ9WD09PSJpcGEiPyJpbnN0YWxsIjoiYWRkbWVkaWEiO3Rocm93IEVycm9yKEQuc3RkZXJyfHxgJHskfSBmYWlsZWQgKGV4aXQgJHtELmV4aXRDb2RlfSlgKX19ZmluYWxseXtKKGBiYXNoIC1jICdybSAtZiAke1F9J2ApLmNhdGNoKCgpPT57fSl9fWZ1bmN0aW9uIGg0KCl7bGV0W0csWF09QyhbXSksSj1iKChaLHEpPT57bGV0IFE9Y3J5cHRvLnJhbmRvbVVVSUQoKTtyZXR1cm4gWCgoSyk9PlsuLi5LLHtpZDpRLG5hbWU6WixraW5kOnEsc3RhdHVzOiJ1cGxvYWRpbmcifV0pLFF9LFtdKSxZPWIoKFoscSk9PntpZihYKChRKT0+US5tYXAoKEspPT5LLmlkPT09Wj97Li4uSywuLi5xfTpLKSkscS5zdGF0dXM9PT0ic3VjY2VzcyJ8fHEuc3RhdHVzPT09ImVycm9yIilzZXRUaW1lb3V0KCgpPT57WCgoUSk9PlEuZmlsdGVyKChLKT0+Sy5pZCE9PVopKX0sMzAwMCl9LFtdKTtyZXR1cm57dG9hc3RzOkcsYWRkOkosdXBkYXRlOll9fWZ1bmN0aW9uIG00KHtleGVjOkcsdWRpZDpYLGVuYWJsZWQ6SixvblVwbG9hZFN0YXJ0Olksb25VcGxvYWRFbmQ6WixvblVuc3VwcG9ydGVkOnF9KXtsZXRbUSxLXT1DKCExKSxIPVIoMCksVj1iKGFzeW5jKFcpPT57aWYoVy5wcmV2ZW50RGVmYXVsdCgpLFcuc3RvcFByb3BhZ2F0aW9uKCksSC5jdXJyZW50PTAsSyghMSksIUp8fCFYKXJldHVybjtsZXQgVT1BcnJheS5mcm9tKFcuZGF0YVRyYW5zZmVyLmZpbGVzKTtpZihVLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgUCBvZiBVKXtsZXQgRj1TNChQKTtpZighRil7cShQKTtjb250aW51ZX1sZXQgRT1ZKFAubmFtZSxGKTt2NChQLEYsRyxYKS50aGVuKCgpPT5aKEUsITApKS5jYXRjaCgodyk9PlooRSwhMSx3IGluc3RhbmNlb2YgRXJyb3I/dy5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW0osWCxHLFksWixxXSksRD1iKChXKT0+e2lmKFcucHJldmVudERlZmF1bHQoKSxKKVcuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkifSxbSl0pLCQ9YigoVyk9PntpZihXLnByZXZlbnREZWZhdWx0KCksIUopcmV0dXJuO2lmKEguY3VycmVudCsrLEguY3VycmVudD09PTEpSyghMCl9LFtKXSksTD1iKChXKT0+e2lmKFcucHJldmVudERlZmF1bHQoKSxILmN1cnJlbnQtLSxILmN1cnJlbnQ8PTApSC5jdXJyZW50PTAsSyghMSl9LFtdKTtyZXR1cm57aXNEcmFnT3ZlcjpRLGRyb3Bab25lUHJvcHM6e29uRHJhZ092ZXI6RCxvbkRyYWdFbnRlcjokLG9uRHJhZ0xlYXZlOkwsb25Ecm9wOlZ9fX1mdW5jdGlvbiBBMChHKXtyZXR1cm5gJyR7Ry5yZXBsYWNlKC8nL2csIidcXCcnIil9J2B9YXN5bmMgZnVuY3Rpb24geDQoRyxYLEope2xldCBZPWF3YWl0IEcoYHhjcnVuIHNpbWN0bCBnZXRfYXBwX2NvbnRhaW5lciAke1h9ICR7QTAoSil9IGFwcGApO2lmKFkuZXhpdENvZGUhPT0wKXJldHVybntlcnJvcjpZLnN0ZGVyci50cmltKCl8fCJBcHAgbm90IGZvdW5kIG9uIHNpbXVsYXRvciJ9O2xldCBaPVkuc3Rkb3V0LnRyaW0oKTtpZighWilyZXR1cm57ZXJyb3I6IkVtcHR5IGFwcCBwYXRoIn07bGV0IHE9YXdhaXQgRyhgcGx1dGlsIC1jb252ZXJ0IGpzb24gLW8gLSAke0EwKForIi9JbmZvLnBsaXN0Iil9YCksUT17fTtpZihxLmV4aXRDb2RlPT09MCl0cnl7UT1KU09OLnBhcnNlKHEuc3Rkb3V0KX1jYXRjaHt9bGV0IEssVj0oUT8uQ0ZCdW5kbGVJY29ucz8uQ0ZCdW5kbGVQcmltYXJ5SWNvbj8/UT8uWyJDRkJ1bmRsZUljb25zfmlwYWQiXT8uQ0ZCdW5kbGVQcmltYXJ5SWNvbik/LkNGQnVuZGxlSWNvbkZpbGVzPz9RPy5DRkJ1bmRsZUljb25GaWxlcztpZihWJiZWLmxlbmd0aD4wKUs9VltWLmxlbmd0aC0xXTtlbHNlIGlmKHR5cGVvZiBRPy5DRkJ1bmRsZUljb25GaWxlPT09InN0cmluZyIpSz1RLkNGQnVuZGxlSWNvbkZpbGU7bGV0IEQ9bnVsbDtpZihLKXtsZXQgJD1bYCR7S31AM3gucG5nYCxgJHtLfUAyeC5wbmdgLGAke0t9LnBuZ2AsYCR7S302MHg2MEAzeC5wbmdgLGAke0t9NjB4NjBAMngucG5nYF0sVz0oYXdhaXQgRyhgYmFzaCAtYyAke0EwKCQubWFwKChVKT0+YFsgLWYgJHtBMChaKyIvIitVKX0gXSAmJiBlY2hvICR7QTAoWisiLyIrVSl9ICYmIGV4aXQgMGApLmpvaW4oIjsgIikrIjsgZXhpdCAxIil9YCkpLnN0ZG91dC50cmltKCk7aWYoVyl7bGV0IFU9YXdhaXQgRyhgYmFzZTY0IC1pICR7QTAoVyl9YCk7aWYoVS5leGl0Q29kZT09PTApRD1gZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7VS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpfWB9fXJldHVybnthcHBQYXRoOlosZGlzcGxheU5hbWU6US5DRkJ1bmRsZURpc3BsYXlOYW1lPz9RLkNGQnVuZGxlTmFtZSxzaG9ydFZlcnNpb246US5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyxidW5kbGVWZXJzaW9uOlEuQ0ZCdW5kbGVWZXJzaW9uLG1pbk9TOlEuTWluaW11bU9TVmVyc2lvbixleGVjdXRhYmxlOlEuQ0ZCdW5kbGVFeGVjdXRhYmxlLGljb25EYXRhVXJsOkR9fWZ1bmN0aW9uIGc0KHt1ZGlkOkcsY3VycmVudEFwcDpYfSl7bGV0W0osWV09QyhudWxsKTtpZihTKCgpPT57aWYoIVgpe1kobnVsbCk7cmV0dXJufWxldCBaPSExO3JldHVybiBZKHtidW5kbGVJZDpYLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6WC5pc1JlYWN0TmF0aXZlLHBpZDpYLnBpZCxsb2FkaW5nOiEwfSkseDQocTAsRyxYLmJ1bmRsZUlkKS50aGVuKChxKT0+e2lmKFopcmV0dXJuO1koe2J1bmRsZUlkOlguYnVuZGxlSWQsaXNSZWFjdE5hdGl2ZTpYLmlzUmVhY3ROYXRpdmUscGlkOlgucGlkLGxvYWRpbmc6ITEsLi4ucX0pfSksKCk9PntaPSEwfX0sW0csWD8uYnVuZGxlSWQsWD8ucGlkLFg/LmlzUmVhY3ROYXRpdmVdKSwhSilyZXR1cm4gXygiZGl2Iix7c3R5bGU6ai5lbXB0eSxjaGlsZHJlbjoiV2FpdGluZyBmb3IgYW4gYXBwIHRvIGNvbWUgdG8gdGhlIGZvcmVncm91bmTigKYifSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOmouc2VjdGlvbixjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ai5hcHBIZWFkZXIsY2hpbGRyZW46W0ouaWNvbkRhdGFVcmw/XygiaW1nIix7c3JjOkouaWNvbkRhdGFVcmwsc3R5bGU6ai5hcHBJY29uLGFsdDoiIn0pOl8oImRpdiIse3N0eWxlOnsuLi5qLmFwcEljb24sYmFja2dyb3VuZDoiIzJhMmEyYyJ9fSksXygiZGl2Iix7c3R5bGU6e21pbldpZHRoOjAsZmxleDoxfSxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ai5hcHBOYW1lLGNoaWxkcmVuOltKLmRpc3BsYXlOYW1lPz9KLmJ1bmRsZUlkLEoubG9hZGluZyYmXygic3BhbiIse3N0eWxlOmouc3Bpbm5lcixjaGlsZHJlbjoiIOKApiJ9KV19KSxfKCJkaXYiLHtzdHlsZTpqLmFwcEJ1bmRsZSx0aXRsZTpKLmJ1bmRsZUlkLGNoaWxkcmVuOkouYnVuZGxlSWR9KV19KV19KSxKLmVycm9yJiZfKCJkaXYiLHtzdHlsZTpqLmVycm9yLGNoaWxkcmVuOkouZXJyb3J9KSxfKCJkbCIse3N0eWxlOmouZGwsY2hpbGRyZW46W18oaDAse2xhYmVsOiJWZXJzaW9uIix2YWx1ZTpKLnNob3J0VmVyc2lvbj9gJHtKLnNob3J0VmVyc2lvbn0gKCR7Si5idW5kbGVWZXJzaW9uPz8i4oCUIn0pYDpKLmxvYWRpbmc/IuKApiI6IuKAlCJ9KSxfKGgwLHtsYWJlbDoiTWluIGlPUyIsdmFsdWU6Si5taW5PUz8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxfKGgwLHtsYWJlbDoiRXhlY3V0YWJsZSIsdmFsdWU6Si5leGVjdXRhYmxlPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKX0pLF8oaDAse2xhYmVsOiJQSUQiLHZhbHVlOkoucGlkIT1udWxsP1N0cmluZyhKLnBpZCk6IuKAlCJ9KSxKLmlzUmVhY3ROYXRpdmUmJl8oaDAse2xhYmVsOiJSZWFjdCBOYXRpdmUiLHZhbHVlOiJZZXMifSksXyhoMCx7bGFiZWw6IkFwcCBwYXRoIix2YWx1ZTpKLmFwcFBhdGg/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpLG1vbm86ITAsYWN0aW9uOkouYXBwUGF0aD97dGl0bGU6IlJldmVhbCBpbiBGaW5kZXIiLG9uQ2xpY2s6KCk9PntxMChgb3BlbiAtUiAke0EwKEouYXBwUGF0aCl9YCl9LGljb246Xygic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi4yIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiI3Iix5MToiMTciLHgyOiIxNyIseTI6IjcifSksXygicG9seWxpbmUiLHtwb2ludHM6IjEwIDcgMTcgNyAxNyAxNCJ9KV19KX06dm9pZCAwfSldfSldfSl9ZnVuY3Rpb24gaDAoe2xhYmVsOkcsdmFsdWU6WCxtb25vOkosYWN0aW9uOll9KXtsZXRbWixxXT1DKCExKTtyZXR1cm4gXygiZGl2Iix7c3R5bGU6ai5yb3csb25Nb3VzZUVudGVyOigpPT5xKCEwKSxvbk1vdXNlTGVhdmU6KCk9PnEoITEpLGNoaWxkcmVuOltfKCJkdCIse3N0eWxlOmouZHQsY2hpbGRyZW46R30pLF8oImRkIix7c3R5bGU6ey4uLmouZGQsZm9udEZhbWlseTpKPyJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSI6dm9pZCAwLGZvbnRTaXplOko/MTE6MTIscG9zaXRpb246InJlbGF0aXZlIn0sdGl0bGU6WCxjaGlsZHJlbjpbWCxZJiZfKCJkaXYiLHtzdHlsZTp7Li4uai5yb3dBY3Rpb25XcmFwLG9wYWNpdHk6Wj8xOjAsdHJhbnNmb3JtOlo/InRyYW5zbGF0ZVgoMCkiOiJ0cmFuc2xhdGVYKDRweCkiLHBvaW50ZXJFdmVudHM6Wj8iYXV0byI6Im5vbmUifSxjaGlsZHJlbjpfKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6WS5vbkNsaWNrLHRpdGxlOlkudGl0bGUsImFyaWEtbGFiZWwiOlkudGl0bGUsc3R5bGU6ai5yb3dBY3Rpb24sY2hpbGRyZW46WS5pY29ufSl9KV19KV19KX12YXIgcDQ9W3trZXk6ImNhbWVyYSIsbGFiZWw6IkNhbWVyYSJ9LHtrZXk6Im1pY3JvcGhvbmUiLGxhYmVsOiJNaWNyb3Bob25lIn0se2tleToicGhvdG9zIixsYWJlbDoiUGhvdG9zIn0se2tleToicGhvdG9zLWFkZCIsbGFiZWw6IkFkZCB0byBQaG90b3MifSx7a2V5OiJjb250YWN0cyIsbGFiZWw6IkNvbnRhY3RzIn0se2tleToiY2FsZW5kYXIiLGxhYmVsOiJDYWxlbmRhciJ9LHtrZXk6InJlbWluZGVycyIsbGFiZWw6IlJlbWluZGVycyJ9LHtrZXk6ImxvY2F0aW9uIixsYWJlbDoiTG9jYXRpb24ifSx7a2V5OiJsb2NhdGlvbi1hbHdheXMiLGxhYmVsOiJMb2NhdGlvbiAoQWx3YXlzKSJ9LHtrZXk6Im1vdGlvbiIsbGFiZWw6Ik1vdGlvbiJ9LHtrZXk6Im1lZGlhLWxpYnJhcnkiLGxhYmVsOiJNZWRpYSBMaWJyYXJ5In0se2tleToic2lyaSIsbGFiZWw6IlNpcmkifV07ZnVuY3Rpb24gZjQoe3VkaWQ6RyxidW5kbGVJZDpYfSl7bGV0W0osWV09Qyh7fSksW1oscV09QyhudWxsKSxbUSxLXT1DKG51bGwpLFtILFZdPUMoITEpO1MoKCk9PntZKHt9KSxLKG51bGwpfSxbWF0pO2xldCBEPWIoYXN5bmMoTCxXKT0+e2lmKCFYKXJldHVybjtsZXQgVT1gJHtMfToke1d9YDtxKFUpLEsobnVsbCk7dHJ5e2xldCBQPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgcHJpdmFjeSAke0d9ICR7V30gJHtMfSAke0EwKFgpfWApO2lmKFAuZXhpdENvZGUhPT0wKXtLKFAuc3RkZXJyLnRyaW0oKXx8YHNpbWN0bCBwcml2YWN5IGZhaWxlZCAoZXhpdCAke1AuZXhpdENvZGV9KWApO3JldHVybn1ZKChGKT0+KHsuLi5GLFtMXTpXPT09InJlc2V0Ij92b2lkIDA6V30pKX1maW5hbGx5e3EobnVsbCl9fSxbRyxYXSksJD1iKGFzeW5jKCk9PntpZighWClyZXR1cm47cSgiX19hbGxfXyIpLEsobnVsbCk7dHJ5e2xldCBMPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgcHJpdmFjeSAke0d9IHJlc2V0IGFsbCAke0EwKFgpfWApO2lmKEwuZXhpdENvZGUhPT0wKXtLKEwuc3RkZXJyLnRyaW0oKXx8YHNpbWN0bCBwcml2YWN5IGZhaWxlZCAoZXhpdCAke0wuZXhpdENvZGV9KWApO3JldHVybn1ZKHt9KX1maW5hbGx5e3EobnVsbCl9fSxbRyxYXSk7aWYoIVgpcmV0dXJuIF8oImRpdiIse3N0eWxlOmouZW1wdHksY2hpbGRyZW46IlBlcm1pc3Npb25zIGFwcGVhciBvbmNlIGFuIGFwcCBpcyBpbiB0aGUgZm9yZWdyb3VuZC4ifSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOnsuLi5qLnNlY3Rpb24scGFkZGluZzoiOHB4IDEycHgifSxjaGlsZHJlbjpbXygiYnV0dG9uIix7b25DbGljazooKT0+VigoTCk9PiFMKSxzdHlsZTpqLnBlcm1zVG9nZ2xlLCJhcmlhLWV4cGFuZGVkIjpILGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6ey4uLmouc2VjdGlvblRpdGxlLG1hcmdpbjowfSxjaGlsZHJlbjoiUGVybWlzc2lvbnMifSksXygic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHlsZTp7dHJhbnNmb3JtOkg/InJvdGF0ZSg5MGRlZykiOiJyb3RhdGUoMGRlZykiLHRyYW5zaXRpb246InRyYW5zZm9ybSAwLjE1cyIsZmxleFNocmluazowfSxjaGlsZHJlbjpfKCJwb2x5bGluZSIse3BvaW50czoiOSAxOCAxNSAxMiA5IDYifSl9KV19KSxIJiZRJiZfKCJkaXYiLHtzdHlsZTp7Li4uai5lcnJvcixtYXJnaW5Ub3A6OH0sY2hpbGRyZW46UX0pLEgmJl8oImRpdiIse3N0eWxlOmoucGVybXNTY3JvbGxXcmFwLGNoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpqLnBlcm1zU2Nyb2xsLGNoaWxkcmVuOnA0Lm1hcCgoe2tleTpMLGxhYmVsOld9KT0+e2xldCBVPUpbTF07cmV0dXJuIF8oImRpdiIse3N0eWxlOmoucGVybVJvdyxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOmoucGVybUxhYmVsLGNoaWxkcmVuOld9KSxfKCJkaXYiLHtzdHlsZTpqLnBlcm1TZWcscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpXLGNoaWxkcmVuOltfKHQxLHthY3RpdmU6VT09PSJncmFudCIscGVuZGluZzpaPT09YCR7TH06Z3JhbnRgLG9uQ2xpY2s6KCk9PkQoTCwiZ3JhbnQiKSx2YXJpYW50OiJncmFudCIsdGl0bGU6IkFsbG93IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIzIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpfKCJwb2x5bGluZSIse3BvaW50czoiNSAxMiAxMCAxNyAxOSA3In0pfSl9KSxfKHQxLHthY3RpdmU6VT09PSJyZXZva2UiLHBlbmRpbmc6Wj09PWAke0x9OnJldm9rZWAsb25DbGljazooKT0+RChMLCJyZXZva2UiKSx2YXJpYW50OiJyZXZva2UiLHRpdGxlOiJEZW55IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIzIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiI2Iix5MToiNiIseDI6IjE4Iix5MjoiMTgifSksXygibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSldfSl9KSxfKHQxLHthY3RpdmU6ITEscGVuZGluZzpaPT09YCR7TH06cmVzZXRgLG9uQ2xpY2s6KCk9PkQoTCwicmVzZXQiKSx2YXJpYW50OiJyZXNldCIsdGl0bGU6IlJlc2V0IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltfKCJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDMuNS03LjEifSksXygicG9seWxpbmUiLHtwb2ludHM6IjMgMyAzIDkgOSA5In0pXX0pfSldfSldfSxMKX0pfSksXygiZGl2Iix7c3R5bGU6ai5wZXJtc0ZhZGVUb3B9KSxfKCJkaXYiLHtzdHlsZTpqLnBlcm1zRmFkZUJvdHRvbX0pXX0pLEgmJl8oImRpdiIse3N0eWxlOmoucGVybXNGb290ZXIsY2hpbGRyZW46XygiYnV0dG9uIix7b25DbGljazokLGRpc2FibGVkOlo9PT0iX19hbGxfXyIsc3R5bGU6ai5yZXNldEFsbEJ0bix0aXRsZToieGNydW4gc2ltY3RsIHByaXZhY3kgcmVzZXQgYWxsIixjaGlsZHJlbjpaPT09Il9fYWxsX18iPyLigKYiOiJSZXNldCBhbGwifSl9KV19KX1mdW5jdGlvbiBkNCh7ZGV2aWNlczpHLGxvYWRpbmc6WCxlcnJvcjpKLG9uUmVmcmVzaDpZfSl7bGV0W1oscV09QyhudWxsKSxbUSxLXT1DKG51bGwpLEg9Yihhc3luYygkKT0+e2lmKFopcmV0dXJuO3EoJC51ZGlkKSxLKG51bGwpO3RyeXtpZigkLnN0YXRlIT09IkJvb3RlZCIpe2xldCBQPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgYm9vdCAkeyQudWRpZH1gKTtpZihQLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihQLnN0ZGVycnx8IkZhaWxlZCB0byBib290IHNpbXVsYXRvciIpfWxldCBMPWF3YWl0IHEwKGBidW54IHNlcnZlLXNpbSAtLWRldGFjaCAkeyQudWRpZH1gKTtpZihMLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihMLnN0ZGVycnx8IkZhaWxlZCB0byBzdGFydCBzZXJ2ZS1zaW0iKTtsZXQgVz1EYXRlLm5vdygpKzE1MDAwLFU9YC9hcGk/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQudWRpZCl9YDt3aGlsZShEYXRlLm5vdygpPFcpe3RyeXtsZXQgUD1hd2FpdCBmZXRjaChVLHtjYWNoZToibm8tc3RvcmUifSk7aWYoUC5vayYmYXdhaXQgUC5qc29uKCkpe2xldCBGPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO0Yuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIiwkLnVkaWQpLHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oRi50b1N0cmluZygpKTtyZXR1cm59fWNhdGNoe31hd2FpdCBuZXcgUHJvbWlzZSgoUCk9PnNldFRpbWVvdXQoUCw0MDApKX10aHJvdyBFcnJvcigic2VydmUtc2ltIHN0YXJ0ZWQgYnV0IG5vIHN0cmVhbSBzdGF0ZSBhcHBlYXJlZCIpfWNhdGNoKEwpe0soTCBpbnN0YW5jZW9mIEVycm9yP0wubWVzc2FnZToiRmFpbGVkIHRvIHN0YXJ0IHN0cmVhbSIpLHEobnVsbCl9fSxbWl0pLFY9bmV3IE1hcDtmb3IobGV0ICQgb2YgRyl7bGV0IEw9Vi5nZXQoJC5ydW50aW1lKTtpZighTClMPVtdLFYuc2V0KCQucnVudGltZSxMKTtMLnB1c2goJCl9Zm9yKGxldCAkIG9mIFYudmFsdWVzKCkpJC5zb3J0KChMLFcpPT57bGV0IFU9TC5zdGF0ZT09PSJCb290ZWQiPzA6MSxQPVcuc3RhdGU9PT0iQm9vdGVkIj8wOjE7aWYoVSE9PVApcmV0dXJuIFUtUDtyZXR1cm4gdzEoTC5uYW1lKS13MShXLm5hbWUpfHxMLm5hbWUubG9jYWxlQ29tcGFyZShXLm5hbWUpfSk7bGV0IEQ9Wy4uLlYuZW50cmllcygpXS5zb3J0KChbJF0sW0xdKT0+VDEoJCktVDEoTCl8fCQubG9jYWxlQ29tcGFyZShMKSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOlowLnBhZ2UsY2hpbGRyZW46XygiZGl2Iix7c3R5bGU6WjAuZW1wdHksY2hpbGRyZW46W18oImgxIix7c3R5bGU6WjAuZW1wdHlUaXRsZSxjaGlsZHJlbjoiTm8gc2VydmUtc2ltIHN0cmVhbSBydW5uaW5nIn0pLF8oInAiLHtzdHlsZTpaMC5lbXB0eUhpbnQsY2hpbGRyZW46WyJQaWNrIGEgc2ltdWxhdG9yIHRvIGJvb3QsIG9yIHN0YXJ0IG9uZSB5b3Vyc2VsZiB3aXRoIiwiICIsXygiY29kZSIse3N0eWxlOlowLmNvZGUsY2hpbGRyZW46ImJ1bnggc2VydmUtc2ltIC0tZGV0YWNoIn0pLCIuIl19KSxfKCJkaXYiLHtzdHlsZTphNCxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6RDgsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLF8oImJ1dHRvbiIse29uQ2xpY2s6WSxkaXNhYmxlZDpYLHN0eWxlOkY4LGNoaWxkcmVuOlg/Ii4uLiI6IlJlZnJlc2gifSldfSksSiYmXygiZGl2Iix7c3R5bGU6ZTEsY2hpbGRyZW46Sn0pLFEmJl8oImRpdiIse3N0eWxlOmUxLGNoaWxkcmVuOlF9KSwhWCYmIUomJkcubGVuZ3RoPT09MCYmXygiZGl2Iix7c3R5bGU6QjgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLEQubWFwKChbJCxMXSk9Pl8oImRpdiIse2NoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpQOCxjaGlsZHJlbjokfSksTC5tYXAoKFcpPT57bGV0IFU9Wj09PVcudWRpZCxQPVohPT1udWxsJiYhVSxGPVcuc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gXygiZGl2Iix7c3R5bGU6ey4uLkc5LGN1cnNvcjpQPyJkZWZhdWx0IjoicG9pbnRlciIsb3BhY2l0eTpQPzAuNToxfSxvbk1vdXNlRW50ZXI6KEUpPT57aWYoIVApRS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxvbk1vdXNlTGVhdmU6KEUpPT5FLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntpZighUClIKFcpfSxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOm4xKEY/IiM0YWRlODAiOiIjNDQ0Iil9KSxfKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSx0ZXh0QWxpZ246ImxlZnQifSxjaGlsZHJlbjpXLm5hbWV9KSxfKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOlU/IiNhNWI0ZmMiOiIjODg4In0sY2hpbGRyZW46VT9GPyJTdGFydGluZy4uLiI6IkJvb3RpbmcuLi4iOkY/IlN0YXJ0IHN0cmVhbSI6IkJvb3QgJiBzdHJlYW0ifSldfSxXLnVkaWQpfSldfSwkKSldfSldfSl9KX1mdW5jdGlvbiB0MSh7YWN0aXZlOkcscGVuZGluZzpYLG9uQ2xpY2s6Six2YXJpYW50OlksdGl0bGU6WixjaGlsZHJlbjpxfSl7bGV0IFE9WT09PSJncmFudCI/IiM0YWRlODAiOlk9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBfKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6WCx0aXRsZTpaLCJhcmlhLWxhYmVsIjpaLHN0eWxlOnsuLi5qLnBlcm1CdG4sYmFja2dyb3VuZDpHP2Ake1F9MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6Rz9ROiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5Olg/MC41OjF9LGNoaWxkcmVuOnF9KX1mdW5jdGlvbiB1NCh7b3BlbjpHLG9uQ2xvc2U6WCx1ZGlkOkosY3VycmVudEFwcDpZfSl7cmV0dXJuIF8oImFzaWRlIix7c3R5bGU6ey4uLmoucGFuZWwsdHJhbnNmb3JtOkc/InRyYW5zbGF0ZVgoMCkiOiJ0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDI0cHgpKSIsb3BhY2l0eTpHPzE6MCxwb2ludGVyRXZlbnRzOkc/ImF1dG8iOiJub25lIn0sImFyaWEtaGlkZGVuIjohRyxjaGlsZHJlbjpbXygiaGVhZGVyIix7c3R5bGU6ai5oZWFkZXIsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTpqLmhlYWRlclRpdGxlLGNoaWxkcmVuOiJUb29scyJ9KSxfKCJidXR0b24iLHtvbkNsaWNrOlgsc3R5bGU6ai5jbG9zZUJ0biwiYXJpYS1sYWJlbCI6IkNsb3NlIHBhbmVsIixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSksXygibGluZSIse3gxOiI2Iix5MToiNiIseDI6IjE4Iix5MjoiMTgifSldfSl9KV19KSxfKCJkaXYiLHtzdHlsZTpqLmJvZHksY2hpbGRyZW46W18oZzQse3VkaWQ6SixjdXJyZW50QXBwOll9KSxfKGY0LHt1ZGlkOkosYnVuZGxlSWQ6WT8uYnVuZGxlSWQ/P251bGx9KV19KV19KX12YXIgYTQ9e3dpZHRoOiIxMDAlIixtYXhXaWR0aDozNjAsbWFyZ2luVG9wOjgsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6NCxmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTMsY29sb3I6IiNlZWUiLHRleHRBbGlnbjoibGVmdCJ9O2Z1bmN0aW9uIGw0KCl7bGV0IEc9d2luZG93Ll9fU0lNX1BSRVZJRVdfXyxbWCxKXT1DKCExKSxbWSxaXT1DKFtdKSxbcSxRXT1DKCExKSxbSyxIXT1DKG51bGwpLFtWLERdPUMobmV3IFNldCksWyQsTF09QyghMSksVz1iKGFzeW5jKCk9PntRKCEwKSxIKG51bGwpO3RyeXtsZXQgTz1hd2FpdCBxMCgieGNydW4gc2ltY3RsIGxpc3QgZGV2aWNlcyBhdmFpbGFibGUgLWoiKTtpZihPLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihPLnN0ZGVycnx8InNpbWN0bCBsaXN0IGZhaWxlZCIpO1ooQzQoTy5zdGRvdXQpKX1jYXRjaChPKXtIKE8gaW5zdGFuY2VvZiBFcnJvcj9PLm1lc3NhZ2U6IkZhaWxlZCB0byBsaXN0IGRldmljZXMiKX1maW5hbGx5e1EoITEpfX0sW10pO2lmKFMoKCk9PntXKCl9LFtXXSksUygoKT0+e2lmKCFHPy5sb2dzRW5kcG9pbnQpcmV0dXJuO2xldCBPPW5ldyBFdmVudFNvdXJjZShHLmxvZ3NFbmRwb2ludCksQT1uZXcgTWFwLFQ9WyIjOGJlOWZkIiwiIzUwZmE3YiIsIiNmZmI4NmMiLCIjZmY3OWM2IiwiI2JkOTNmOSIsIiNmMWZhOGMiLCIjNjI3MmE0IiwiI2ZmNTU1NSIsIiM2OWZmOTQiLCIjZDZhY2ZmIiwiI2ZmZmZhNSIsIiNhNGZmZmYiLCIjZmY2ZTZlIiwiI2NhYTlmYSIsIiM1YWY3OGUiXTtmdW5jdGlvbiB5KEswKXtsZXQgbj1BLmdldChLMCk7aWYoIW4pe2xldCBRMD0wO2ZvcihsZXQgcz0wO3M8SzAubGVuZ3RoO3MrKylRMD0oUTA8PDUpLVEwK0swLmNoYXJDb2RlQXQocyl8MDtuPVRbTWF0aC5hYnMoUTApJVQubGVuZ3RoXSxBLnNldChLMCxuKX1yZXR1cm4gbn1sZXQgZD0iIixmPSExO3JldHVybiBPLm9ubWVzc2FnZT0oSzApPT57dHJ5e2xldCBuPUpTT04ucGFyc2UoSzAuZGF0YSksUTA9bi5wcm9jZXNzSW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz9uLnNlbmRlckltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/IiIscz1uLnN1YnN5c3RlbT8/IiIsZT1uLmNhdGVnb3J5Pz8iIixGMD1uLmV2ZW50TWVzc2FnZT8/IiI7aWYoIUYwKXJldHVybjtpZihRMCE9PWQpe2lmKGYpY29uc29sZS5ncm91cEVuZCgpO2xldCBHMT15KFEwKTtjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGAlYyR7UTB9JHtzP2AgJWMke3N9JHtlPyI6IitlOiIifWA6IiJ9YCxgY29sb3I6JHtHMX07Zm9udC13ZWlnaHQ6Ym9sZGAsLi4ucz9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLGY9ITAsZD1RMH1sZXQgazA9KG4ubWVzc2FnZVR5cGU/PyIiKS50b0xvd2VyQ2FzZSgpLE8wPXMmJlEwPT09ZD9gJWMke2V8fHN9JWMgYDoiIixiMD1PMD9bImNvbG9yOiM4ODg7Zm9udC1zdHlsZTppdGFsaWMiLCJjb2xvcjppbmhlcml0Il06W107aWYoazA9PT0iZmF1bHQifHxrMD09PSJlcnJvciIpY29uc29sZS5sb2coYCR7TzB9JWMke0YwfWAsLi4uYjAsImNvbG9yOiNmZjU1NTUiKTtlbHNlIGlmKGswPT09ImRlYnVnIiljb25zb2xlLmxvZyhgJHtPMH0lYyR7RjB9YCwuLi5iMCwiY29sb3I6IzYyNzJhNCIpO2Vsc2UgY29uc29sZS5sb2coYCR7TzB9JWMke0YwfWAsLi4uYjAsImNvbG9yOmluaGVyaXQiKX1jYXRjaHt9fSwoKT0+e2lmKGYpY29uc29sZS5ncm91cEVuZCgpO08uY2xvc2UoKX19LFtHPy5sb2dzRW5kcG9pbnRdKSwhRylyZXR1cm4gXyhkNCx7ZGV2aWNlczpZLGxvYWRpbmc6cSxlcnJvcjpLLG9uUmVmcmVzaDpXfSk7bGV0IFU9WS5maW5kKChPKT0+Ty51ZGlkPT09Ry5kZXZpY2UpPz9udWxsO1MoKCk9Pntkb2N1bWVudC50aXRsZT1VPy5uYW1lP2BTaW11bGF0b3IgLSAke1UubmFtZX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtVPy5uYW1lXSk7bGV0IFA9djAoVT8ubmFtZSksRj13NChHLnN0cmVhbVVybCksW0Usd109QyhudWxsKSxnPUU/P0YuY29uZmlnPz9VMShQLFU/Lm5hbWUpLGg9TTEoUCxnKSxvPUExKFAsZyksRzA9UDEoZyksdT1SKG51bGwpO1MoKCk9PntsZXQgTz0hMSxBPW51bGwsVD1udWxsLHk9KCk9PntpZihPfHxBKXJldHVybjtBPXNldFRpbWVvdXQoKCk9PntBPW51bGwsZCgpfSwxMDAwKX0sZD0oKT0+e2xldCBmPW5ldyBXZWJTb2NrZXQoRy53c1VybCk7Zi5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsVD1mLHUuY3VycmVudD1mLGYub25jbG9zZT0oKT0+e2lmKHUuY3VycmVudD09PWYpdS5jdXJyZW50PW51bGw7eSgpfSxmLm9uZXJyb3I9KCk9PntmLmNsb3NlKCl9fTtyZXR1cm4gZCgpLCgpPT57aWYoTz0hMCxBKWNsZWFyVGltZW91dChBKTtpZih1LmN1cnJlbnQ9PT1UKXUuY3VycmVudD1udWxsO1Q/LmNsb3NlKCl9fSxbRy53c1VybF0pO2xldCB2PWIoKE8sQSk9PntsZXQgVD11LmN1cnJlbnQ7aWYoIVR8fFQucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgeT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoQSkpLGQ9bmV3IFVpbnQ4QXJyYXkoMSt5Lmxlbmd0aCk7ZFswXT1PLGQuc2V0KHksMSksVC5zZW5kKGQpfSxbXSksdD1iKChPKT0+digzLE8pLFt2XSksSjA9YigoTyk9PnYoNSxPKSxbdl0pLHA9YigoTyk9PnYoNCx7YnV0dG9uOk99KSxbdl0pLG8wPWIoKE8pPT57dygoQSk9PkEmJkEud2lkdGg9PT1PLndpZHRoJiZBLmhlaWdodD09PU8uaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ty5vcmllbnRhdGlvbj9BOk8pfSxbXSksczA9YigoTyk9Pnt2KDcse29yaWVudGF0aW9uOk99KX0sW3ZdKTtTKCgpPT57dyhudWxsKX0sW0cuc3RyZWFtVXJsXSksUygoKT0+e2xldCBPPUYuY29uZmlnO2lmKCFPKXJldHVybjt3KChBKT0+QSYmQS53aWR0aD09PU8ud2lkdGgmJkEuaGVpZ2h0PT09Ty5oZWlnaHQmJkEub3JpZW50YXRpb249PT1PLm9yaWVudGF0aW9uP0E6bnVsbCl9LFtGLmNvbmZpZz8ud2lkdGgsRi5jb25maWc/LmhlaWdodCxGLmNvbmZpZz8ub3JpZW50YXRpb25dKTtsZXQgejA9YigoTyxBKT0+e3YoNix7dHlwZTpPLHVzYWdlOkF9KX0sW3ZdKSxbcjAsdDBdPUMobnVsbCksW3cwLEQwXT1DKCExKSxbazEsbTBdPUMoKCk9PnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5pbm5lcldpZHRoOjApO1MoKCk9PntsZXQgTz0oKT0+bTAod2luZG93LmlubmVyV2lkdGgpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixPKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsTyl9LFtdKSxTKCgpPT57bGV0IE89bmV3IEV2ZW50U291cmNlKEcuYXBwU3RhdGVFbmRwb2ludD8/Ii9hcHBzdGF0ZSIpLEE9bnVsbDtyZXR1cm4gTy5vbm1lc3NhZ2U9KFQpPT57dHJ5e2xldCB5PUpTT04ucGFyc2UoVC5kYXRhKTtpZihBKWNsZWFyVGltZW91dChBKTtsZXQgZD15Py5pc1JlYWN0TmF0aXZlPzA6NjAwO0E9c2V0VGltZW91dCgoKT0+dDAoeSksZCl9Y2F0Y2h7fX0sKCk9PntpZihBKWNsZWFyVGltZW91dChBKTtPLmNsb3NlKCl9fSxbRy5hcHBTdGF0ZUVuZHBvaW50XSk7bGV0IEgwPWIoYXN5bmMoKT0+e3owKCJkb3duIiwyMjcpLGF3YWl0IG5ldyBQcm9taXNlKChUKT0+c2V0VGltZW91dChULDMwKSksejAoImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgoVCk9PnNldFRpbWVvdXQoVCwzMCkpLHowKCJ1cCIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKChUKT0+c2V0VGltZW91dChULDMwKSksejAoInVwIiwyMjcpfSxbejBdKSxDMD1SKG51bGwpLFtMMCxuMF09QyghMCksVDA9UighMCk7VDAuY3VycmVudD1MMDtsZXQgVzA9UihuZXcgU2V0KTtTKCgpPT57bGV0IE89KEEpPT57bGV0IFQ9ISFDMC5jdXJyZW50Py5jb250YWlucyhBLnRhcmdldCk7bjAoVCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsTywhMCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixPLCEwKX0sW10pLFMoKCk9PntpZihMMClyZXR1cm47bGV0IE89VzAuY3VycmVudDtpZihPLnNpemU9PT0wKXJldHVybjtmb3IobGV0IEEgb2YgTyl2KDYse3R5cGU6InVwIix1c2FnZTpBfSk7Ty5jbGVhcigpfSxbTDAsdl0pLFMoKCk9PntsZXQgTz0oeSxkKT0+e2lmKCFUMC5jdXJyZW50KXJldHVybjtpZih5LmNvZGU9PT0iS2V5SCImJnkubWV0YUtleSYmeS5zaGlmdEtleSl7aWYoeS5wcmV2ZW50RGVmYXVsdCgpLGQ9PT0iZG93biImJiF5LnJlcGVhdCl2KDQse2J1dHRvbjoiaG9tZSJ9KTtyZXR1cm59aWYoeS5jb2RlPT09IktleUEiJiZ5Lm1ldGFLZXkmJnkuc2hpZnRLZXkpe2lmKHkucHJldmVudERlZmF1bHQoKSxkPT09ImRvd24iJiYheS5yZXBlYXQpcTAoYHhjcnVuIHNpbWN0bCB1aSAke0cuZGV2aWNlfSBhcHBlYXJhbmNlYCkudGhlbigoSzApPT57bGV0IG49SzAuc3Rkb3V0LnRyaW0oKT09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtyZXR1cm4gcTAoYHhjcnVuIHNpbWN0bCB1aSAke0cuZGV2aWNlfSBhcHBlYXJhbmNlICR7bn1gKX0pLmNhdGNoKCgpPT57fSk7cmV0dXJufWxldCBmPWs0KHkuY29kZSk7aWYoZj09bnVsbClyZXR1cm47aWYoeS5wcmV2ZW50RGVmYXVsdCgpLGQ9PT0iZG93biIpVzAuY3VycmVudC5hZGQoZik7ZWxzZSBXMC5jdXJyZW50LmRlbGV0ZShmKTt2KDYse3R5cGU6ZCx1c2FnZTpmfSl9LEE9KHkpPT5PKHksImRvd24iKSxUPSh5KT0+Tyh5LCJ1cCIpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixUKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixBKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLFQpfX0sW3YsRy5kZXZpY2VdKTtsZXQgWDA9Yihhc3luYyhPKT0+e2lmKCR8fE8udWRpZD09PUcuZGV2aWNlKXJldHVybjtMKCEwKTt0cnl7aWYoTy5zdGF0ZSE9PSJCb290ZWQiKWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgYm9vdCAke08udWRpZH1gKTtsZXQgQT1hd2FpdCBxMChgYnVueCBzZXJ2ZS1zaW0gLS1kZXRhY2ggJHtPLnVkaWR9YCk7aWYoQS5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoQS5zdGRlcnJ8fCJGYWlsZWQgdG8gc3RhcnQgc2VydmUtc2ltIik7bGV0IFQ9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7VC5zZWFyY2hQYXJhbXMuc2V0KCJkZXZpY2UiLE8udWRpZCksd2luZG93LmxvY2F0aW9uLmFzc2lnbihULnRvU3RyaW5nKCkpfWNhdGNoe0woITEpfX0sWyQsRy5kZXZpY2VdKSxOMD1oNCgpLF8wPW00KHtleGVjOnEwLHVkaWQ6Ry5kZXZpY2UsZW5hYmxlZDpYLG9uVXBsb2FkU3RhcnQ6TjAuYWRkLG9uVXBsb2FkRW5kOihPLEEsVCk9Pk4wLnVwZGF0ZShPLHtzdGF0dXM6QT8ic3VjY2VzcyI6ImVycm9yIixtZXNzYWdlOlR9KSxvblVuc3VwcG9ydGVkOihPKT0+e2xldCBBPU4wLmFkZChPLm5hbWUsIm1lZGlhIik7TjAudXBkYXRlKEEse3N0YXR1czoiZXJyb3IiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkOiAke08udHlwZXx8WDkoTyl9YH0pfX0pLGUwPWIoYXN5bmMoTyk9PntEKChBKT0+bmV3IFNldChBKS5hZGQoTykpO3RyeXthd2FpdCBxMChgeGNydW4gc2ltY3RsIHNodXRkb3duICR7T31gKSxhd2FpdCBXKCl9ZmluYWxseXtEKChBKT0+e2xldCBUPW5ldyBTZXQoQSk7cmV0dXJuIFQuZGVsZXRlKE8pLFR9KX19LFtXXSkseDA9VTgrMjQsJDA9dzAmJmsxPj1vK3gwKzY0P3gwOjA7cmV0dXJuIF8oImRpdiIse3N0eWxlOnsuLi5aMC5wYWdlLHBhZGRpbmdSaWdodDoyNCskMCx0cmFuc2l0aW9uOiJwYWRkaW5nLXJpZ2h0IDAuMjVzIGVhc2UifSxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ey4uLlowLnNpbXVsYXRvclN0YWNrLG1heFdpZHRoOm99LGNoaWxkcmVuOltfKFkwLHtleGVjOnEwLG9uUm90YXRlOnMwLG9yaWVudGF0aW9uOmcub3JpZW50YXRpb24/P251bGwsZGV2aWNlVWRpZDpHLmRldmljZSxkZXZpY2VOYW1lOlU/Lm5hbWU/P251bGwsZGV2aWNlUnVudGltZTpVPy5ydW50aW1lPz9udWxsLHN0cmVhbWluZzpYLGNoaWxkcmVuOltfKGI0LHtkZXZpY2VzOlksc2VsZWN0ZWRVZGlkOkcuZGV2aWNlLGxvYWRpbmc6cSxlcnJvcjpLLHN0b3BwaW5nVWRpZHM6VixvblJlZnJlc2g6VyxvblNlbGVjdDpYMCxvblN0b3A6ZTAsdHJpZ2dlcjpfKFkwLlRpdGxlLHt9KX0pLF8oWTAuQWN0aW9ucyx7Y2hpbGRyZW46W18oWTAuSG9tZUJ1dHRvbix7b25DbGljazooTyk9PntPLnByZXZlbnREZWZhdWx0KCkscCgiaG9tZSIpfX0pLHIwPy5pc1JlYWN0TmF0aXZlJiZfKFkwLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoQ21kK1IpIixvbkNsaWNrOigpPT52b2lkIEgwKCksY2hpbGRyZW46Xygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgMy41LTcuMSJ9KSxfKCJwb2x5bGluZSIse3BvaW50czoiMyAzIDMgOSA5IDkifSldfSl9KSxfKFkwLlJvdGF0ZUJ1dHRvbix7dGl0bGU6IlJvdGF0ZSBkZXZpY2UifSldfSldfSksXygiZGl2Iix7cmVmOkMwLHN0eWxlOnttYXhXaWR0aDpvLG1heEhlaWdodDoiMTAwJSIsd2lkdGg6IjEwMCUiLGFzcGVjdFJhdGlvOkcwLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LC4uLl8wLmRyb3Bab25lUHJvcHMsY2hpbGRyZW46W18oQjEse3VybDpHLnVybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIn0saW1hZ2VTdHlsZTp7Ym9yZGVyUmFkaXVzOmgsY29ybmVyU2hhcGU6InN1cGVyZWxsaXBzZSgxLjMpIn0saGlkZUNvbnRyb2xzOiEwLG9uU3RyZWFtaW5nQ2hhbmdlOkosb25TdHJlYW1Ub3VjaDp0LG9uU3RyZWFtTXVsdGlUb3VjaDpKMCxvblN0cmVhbUJ1dHRvbjpwLHN1YnNjcmliZUZyYW1lOkYuc3Vic2NyaWJlRnJhbWUsc3RyZWFtRnJhbWU6Ri5mcmFtZSxzdHJlYW1Db25maWc6ZyxvblNjcmVlbkNvbmZpZ0NoYW5nZTpvMH0pLF8wLmlzRHJhZ092ZXImJl8oImRpdiIse3N0eWxlOnsuLi5aMC5kcm9wT3ZlcmxheSxib3JkZXJSYWRpdXM6aH0sY2hpbGRyZW46W18oInN2ZyIse3dpZHRoOiIzMiIsaGVpZ2h0OiIzMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9KSxfKCJwb2x5bGluZSIse3BvaW50czoiMTcgOCAxMiAzIDcgOCJ9KSxfKCJsaW5lIix7eDE6IjEyIix5MToiMyIseDI6IjEyIix5MjoiMTUifSldfSksXygic3BhbiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjUwMH0sY2hpbGRyZW46IkRyb3AgbWVkaWEgb3IgLmlwYSJ9KV19KV19KV19KSxOMC50b2FzdHMubGVuZ3RoPjAmJl8oImRpdiIse3N0eWxlOlowLnRvYXN0U3RhY2ssY2hpbGRyZW46TjAudG9hc3RzLm1hcCgoTyk9Pl8oImRpdiIse3N0eWxlOlowLnRvYXN0LGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6ey4uLlowLmRvdCxiYWNrZ3JvdW5kOk8uc3RhdHVzPT09InVwbG9hZGluZyI/IiNhNWI0ZmMiOk8uc3RhdHVzPT09InN1Y2Nlc3MiPyIjNGFkZTgwIjoiI2Y4NzE3MSJ9fSksXygic3BhbiIse3N0eWxlOntmbGV4OjEsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W08uc3RhdHVzPT09InVwbG9hZGluZyImJihPLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGluZyAke08ubmFtZX3igKZgOmBVcGxvYWRpbmcgJHtPLm5hbWV94oCmYCksTy5zdGF0dXM9PT0ic3VjY2VzcyImJihPLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGVkICR7Ty5uYW1lfWA6YEFkZGVkICR7Ty5uYW1lfSB0byBQaG90b3NgKSxPLnN0YXR1cz09PSJlcnJvciImJmAke08ubmFtZX06ICR7Ty5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCJ9YF19KV19LE8uaWQpKX0pLF8oImJ1dHRvbiIse29uQ2xpY2s6KCk9PkQwKChPKT0+IU8pLHN0eWxlOnsuLi5qLnRvZ2dsZSxvcGFjaXR5OncwPzA6MSxwb2ludGVyRXZlbnRzOncwPyJub25lIjoiYXV0byJ9LCJhcmlhLWxhYmVsIjoiT3BlbiB0b29scyBwYW5lbCIsdGl0bGU6Ik9wZW4gdG9vbHMiLGNoaWxkcmVuOl8oInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNzUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltfKCJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjE2IixyeDoiMi41In0pLF8oImxpbmUiLHt4MToiMTUiLHkxOiI0Iix4MjoiMTUiLHkyOiIyMCJ9KV19KX0pLF8odTQse29wZW46dzAsb25DbG9zZTooKT0+RDAoITEpLHVkaWQ6Ry5kZXZpY2UsY3VycmVudEFwcDpyMH0pLF8oImRpdiIse3N0eWxlOlowLmJhcixjaGlsZHJlbjpfKCJzcGFuIix7c3R5bGU6ey4uLlowLmxpdmUsY29sb3I6WD8iIzRhZGU4MCI6IiM2NjYifSxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOnsuLi5aMC5kb3QsYmFja2dyb3VuZDpYPyIjNGFkZTgwIjoiIzY2NiJ9fSksWD8ibGl2ZSI6ImNvbm5lY3RpbmciXX0pfSldfSl9dmFyIFowPXtwYWdlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDB2aCIsYmFja2dyb3VuZDoiIzBhMGEwYSIscGFkZGluZzoyNCxnYXA6MTIsZm9udEZhbWlseToiLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixib3hTaXppbmc6ImJvcmRlci1ib3gifSxzaW11bGF0b3JTdGFjazp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMix3aWR0aDoiMTAwJSIsbWluV2lkdGg6MCx0cmFuc2l0aW9uOiJtYXgtd2lkdGggMC4yNXMgZWFzZSJ9LGJhcjp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAsZm9udFNpemU6MTIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGNvbG9yOiIjNjY2In0sbGl2ZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NSx0cmFuc2l0aW9uOiJjb2xvciAwLjNzIn0sZG90Ont3aWR0aDo2LGhlaWdodDo2LGJvcmRlclJhZGl1czoiNTAlIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuM3MifSxlbXB0eTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMix0ZXh0QWxpZ246ImNlbnRlciJ9LGVtcHR5VGl0bGU6e2ZvbnRTaXplOjE4LG1hcmdpbjowLGNvbG9yOiIjZWVlIn0sZW1wdHlIaW50Ontjb2xvcjoiIzg4OCIsZm9udFNpemU6MTQsbWF4V2lkdGg6NDgwfSxjb2RlOntiYWNrZ3JvdW5kOiIjMjIyIixwYWRkaW5nOiIycHggNnB4Iixib3JkZXJSYWRpdXM6NCxmb250U2l6ZToxM30sZHJvcE92ZXJsYXk6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjgsYm9yZGVyOiIycHggZGFzaGVkICNhNWI0ZmMiLGJhY2tncm91bmQ6InJnYmEoOTksMTAyLDI0MSwwLjEyKSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMnB4KSIsY29sb3I6IiNhNWI0ZmMiLHBvaW50ZXJFdmVudHM6Im5vbmUiLHpJbmRleDoyMH0sdG9hc3RTdGFjazp7cG9zaXRpb246ImZpeGVkIixib3R0b206MTYscmlnaHQ6MTYsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NixtYXhXaWR0aDozMjAsekluZGV4OjMwfSx0b2FzdDp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OCxwYWRkaW5nOiI4cHggMTJweCIsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjgsY29sb3I6IiNlZWUiLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixib3hTaGFkb3c6IjAgNHB4IDEycHggcmdiYSgwLDAsMCwwLjQpIn19LGM0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiY2FsYygxMDAlICsgNnB4KSIsbGVmdDowLG1pbldpZHRoOjI2MCxtYXhIZWlnaHQ6MzYwLG92ZXJmbG93WToiYXV0byIsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6NCxib3hTaGFkb3c6IjAgOHB4IDI0cHggcmdiYSgwLDAsMCwwLjUpIixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTMsY29sb3I6IiNlZWUiLHpJbmRleDoyMH0sRDg9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjZweCAxMHB4Iixmb250U2l6ZToxMSxjb2xvcjoiI2FhYSJ9LEY4PXtiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2E1YjRmYyIsZm9udFNpemU6MTEsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjB9LGUxPXtwYWRkaW5nOiI2cHggMTBweCIsY29sb3I6IiNmODcxNzEiLGZvbnRTaXplOjExfSxHOT17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OCxwYWRkaW5nOiI2cHggMTBweCIsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuMTVzIn0saTQ9e2hlaWdodDoxLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLG1hcmdpbjoiNHB4IDAifSxCOD17cGFkZGluZzoxMixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIixmb250U2l6ZToxMSx0ZXh0QWxpZ246ImNlbnRlciJ9LFA4PXtwYWRkaW5nOiI2cHggMTBweCAycHgiLGZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNCkiLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbGV0dGVyU3BhY2luZzoiMC4wOGVtIn0sVTg9MzIwLGo9e3RvZ2dsZTp7cG9zaXRpb246ImZpeGVkIix0b3A6MTYscmlnaHQ6MTYsd2lkdGg6MzAsaGVpZ2h0OjMwLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjYsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC42KSIsY3Vyc29yOiJwb2ludGVyIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2UiLHpJbmRleDo0MH0scGFuZWw6e3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjEyLHJpZ2h0OjEyLGJvdHRvbToxMix3aWR0aDpVOCxiYWNrZ3JvdW5kOiJyZ2JhKDIwLDIwLDIyLDAuOTIpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6MTQsY29sb3I6IiNlZWUiLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsb3ZlcmZsb3c6ImhpZGRlbiIsdHJhbnNpdGlvbjoidHJhbnNmb3JtIDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlIixib3hTaGFkb3c6IjAgMTJweCA0MHB4IHJnYmEoMCwwLDAsMC41NSkiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDE4cHgpIixXZWJraXRCYWNrZHJvcEZpbHRlcjoiYmx1cigxOHB4KSIsZm9udEZhbWlseToiLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIix6SW5kZXg6MzV9LGhlYWRlcjp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNnB4IDEwcHggNnB4IDEycHgifSxoZWFkZXJUaXRsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41NSkifSxjbG9zZUJ0bjp7YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNhYWEiLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzo0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYm9yZGVyUmFkaXVzOjR9LGJvZHk6e3BhZGRpbmc6MTQsb3ZlcmZsb3dZOiJhdXRvIixmbGV4OjEsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTJ9LHNlY3Rpb25UaXRsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo2MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA4ZW0iLG1hcmdpbjoiMCAwIDEwcHgifSxzZWN0aW9uOntiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6MTAscGFkZGluZzoxMn0sZW1wdHk6e2JhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjE2LGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLGZvbnRTaXplOjEyLHRleHRBbGlnbjoiY2VudGVyIn0sYXBwSGVhZGVyOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMixtYXJnaW5Cb3R0b206MTB9LGFwcEljb246e3dpZHRoOjQ0LGhlaWdodDo0NCxib3JkZXJSYWRpdXM6MTAsZmxleFNocmluazowLG9iamVjdEZpdDoiY292ZXIiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxhcHBOYW1lOntmb250U2l6ZToxNCxmb250V2VpZ2h0OjYwMCxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxhcHBCdW5kbGU6e2ZvbnRTaXplOjExLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxzcGlubmVyOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIixmb250V2VpZ2h0OjQwMH0sZXJyb3I6e2JhY2tncm91bmQ6InJnYmEoMjQ4LDExMywxMTMsMC4wOCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjQ4LDExMywxMTMsMC4yKSIsY29sb3I6IiNmY2E1YTUiLGZvbnRTaXplOjExLHBhZGRpbmc6IjZweCA4cHgiLGJvcmRlclJhZGl1czo2LG1hcmdpbkJvdHRvbToxMH0sZGw6e21hcmdpbjowLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjZ9LHJvdzp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiYmFzZWxpbmUiLGdhcDo4LG1pbldpZHRoOjB9LGR0OnttYXJnaW46MCxmb250U2l6ZToxMSxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIix3aWR0aDo4NCxmbGV4U2hyaW5rOjB9LGRkOnttYXJnaW46MCxmb250U2l6ZToxMixjb2xvcjoiI2VlZSIsZmxleDoxLG1pbldpZHRoOjAsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0scm93QWN0aW9uV3JhcDp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxyaWdodDowLGJvdHRvbTowLHBhZGRpbmdMZWZ0OjI4LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjgsMjgsMzAsMCkgMCUsICMxYzFjMWUgNTUlKSIsdHJhbnNpdGlvbjoib3BhY2l0eSAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZSJ9LHBlcm1zVG9nZ2xlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6NixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIixwYWRkaW5nOjAsbWFyZ2luOjAsY3Vyc29yOiJwb2ludGVyIix3aWR0aDoiMTAwJSIsdGV4dEFsaWduOiJsZWZ0IixsaW5lSGVpZ2h0OjF9LHBlcm1zU2Nyb2xsV3JhcDp7cG9zaXRpb246InJlbGF0aXZlIixtYXJnaW5Ub3A6OH0scGVybXNTY3JvbGw6e21heEhlaWdodDoyNjAsb3ZlcmZsb3dZOiJhdXRvIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo0LHBhZGRpbmc6IjhweCAwIixzY3JvbGxiYXJXaWR0aDoidGhpbiJ9LHBlcm1zRmFkZVRvcDp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAscmlnaHQ6MCxoZWlnaHQ6MTQscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzFjMWMxZSAwJSwgcmdiYSgyOCwyOCwzMCwwKSAxMDAlKSIsYm9yZGVyVG9wTGVmdFJhZGl1czoxMCxib3JkZXJUb3BSaWdodFJhZGl1czoxMH0scGVybXNGYWRlQm90dG9tOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowLGhlaWdodDoxNCxwb2ludGVyRXZlbnRzOiJub25lIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMWMxYzFlIDAlLCByZ2JhKDI4LDI4LDMwLDApIDEwMCUpIn0scGVybXNGb290ZXI6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJmbGV4LWVuZCIscGFkZGluZ1RvcDo4fSxyZXNldEFsbEJ0bjp7YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNykiLGZvbnRTaXplOjEwLHBhZGRpbmc6IjNweCA4cHgiLGJvcmRlclJhZGl1czo1LGN1cnNvcjoicG9pbnRlciIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA0ZW0ifSxwZXJtc0xpc3Q6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjQsbWFyZ2luVG9wOjR9LHBlcm1Sb3c6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDo4LHBhZGRpbmc6IjRweCAycHgifSxwZXJtTGFiZWw6e2ZvbnRTaXplOjEyLGNvbG9yOiIjZWVlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAiLGZsZXg6MSxtaW5XaWR0aDowfSxwZXJtU2VnOntkaXNwbGF5OiJmbGV4IixnYXA6MixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6NixwYWRkaW5nOjJ9LHBlcm1CdG46e3dpZHRoOjI0LGhlaWdodDoyMixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjAsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjEycywgY29sb3IgMC4xMnMifSxyb3dBY3Rpb246e3dpZHRoOjIwLGhlaWdodDoyMCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGJvcmRlclJhZGl1czo0LGNvbG9yOiIjZmZmIixjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6MH19O3M5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290IikpLnJlbmRlcihfKGw0LHt9KSk7Cjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==","base64").toString("utf-8");return U}function s_(e){let _=(e?.basePath??"/.sim").replace(/\/+$/,"");return(t,s,i)=>{let S=t.url??"",C=S.indexOf("?"),n=C===-1?S:S.slice(0,C),$=__(S)??e?.device??null;if(n===_||n===_+"/"){let r=h(),o=d(r,$),A=t_();if(o){let a=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...o,logsEndpoint:se(_,"/logs",o.device),appStateEndpoint:se(_,"/appstate",o.device)})}</script>`;A=A.replace("<!--__SIM_PREVIEW_CONFIG__-->",a)}s.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),s.end(A);return}if(n===_+"/api"){let r=h(),o=d(r,$);s.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),s.end(JSON.stringify(o||null));return}if((n===_+"/exec"||n===_+"/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}Ke(o,{maxBuffer:16777216},(A,y,a)=>{s.writeHead(200,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:y.toString(),stderr:a.toString(),exitCode:A?A.code??1:0}))})});return}if(n===_+"/logs"){let r=h(),o=d(r,$);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let A=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
2
+ var me=Object.defineProperty;var he=(e)=>e;function He(e,_){this[e]=he.bind(null,_)}var Ne=(e,_)=>{for(var t in _)me(e,t,{get:_[t],enumerable:!0,configurable:!0,set:He.bind(_,t)})};var Ve=(e,_)=>()=>(e&&(_=e(e=0)),_);var Se={};Ne(Se,{simMiddleware:()=>S_,selectServeSimState:()=>d});import{readdirSync as qe,readFileSync as ke,existsSync as Xe,unlinkSync as ee}from"fs";import{execSync as Ke,spawn as _e,exec as xe,execFile as ze}from"child_process";import{tmpdir as je}from"os";import{join as I}from"path";function Ye(e){return!Ze.test(e)}function e_(e,_){if(Qe.has(_))return Promise.resolve(!0);return new Promise((t)=>{ze("xcrun",["simctl","get_app_container",e,_,"app"],{timeout:2000},(s,i)=>{if(s)return t(!1);let S=i.trim();if(!S)return t(!1);for(let C of Je)if(Xe(I(S,C)))return t(!0);t(!1)})})}function __(){let e=Date.now();if(m.booted&&e-m.at<1500)return m.booted;try{let _=Ke("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),t=JSON.parse(_),s=new Set;for(let i of Object.values(t.devices))for(let S of i)if(S.state==="Booted")s.add(S.udid);return m={at:e,booted:s},s}catch{return null}}function h(){let e;try{e=qe(te).filter((s)=>s.startsWith("server-")&&s.endsWith(".json"))}catch{return[]}let _=__(),t=[];for(let s of e){let i=I(te,s);try{let S=JSON.parse(ke(i,"utf-8"));try{process.kill(S.pid,0)}catch{try{ee(i)}catch{}continue}if(_&&!_.has(S.device)){try{process.kill(S.pid,"SIGTERM")}catch{}try{ee(i)}catch{}continue}t.push(S)}catch{}}return t}function d(e,_){if(_)return e.find((t)=>t.device===_)??null;return e[0]??null}function t_(e){let _=e.indexOf("?");if(_===-1)return null;return new URLSearchParams(e.slice(_+1)).get("device")}function se(e,_,t){return`${`${e}${_}`}?device=${encodeURIComponent(t)}`}function s_(){if(!U)U=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciB6MSxJLEg5LEk4LEkwLEs5LEw5LFc5LFMxLFExLGYwLE45LHgxLHkxLHYxLE85LCQxPXt9LEsxPVtdLEU4PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksZDA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBCMChHLFgpe2Zvcih2YXIgSiBpbiBYKUdbSl09WFtKXTtyZXR1cm4gR31mdW5jdGlvbiBnMShHKXtHJiZHLnBhcmVudE5vZGUmJkcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChHKX1mdW5jdGlvbiBQMChHLFgsSil7dmFyIFksWixxLFE9e307Zm9yKHEgaW4gWClxPT0ia2V5Ij9ZPVhbcV06cT09InJlZiI/Wj1YW3FdOlFbcV09WFtxXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihRLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz96MS5jYWxsKGFyZ3VtZW50cywyKTpKKSx0eXBlb2YgRz09ImZ1bmN0aW9uIiYmRy5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKHEgaW4gRy5kZWZhdWx0UHJvcHMpUVtxXT09PXZvaWQgMCYmKFFbcV09Ry5kZWZhdWx0UHJvcHNbcV0pO3JldHVybiBfMShHLFEsWSxaLG51bGwpfWZ1bmN0aW9uIF8xKEcsWCxKLFksWil7dmFyIHE9e3R5cGU6Ryxwcm9wczpYLGtleTpKLHJlZjpZLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpaPT1udWxsPysrSDk6WixfX2k6LTEsX191OjB9O3JldHVybiBaPT1udWxsJiZJLnZub2RlIT1udWxsJiZJLnZub2RlKHEpLHF9ZnVuY3Rpb24gYShHKXtyZXR1cm4gRy5jaGlsZHJlbn1mdW5jdGlvbiByKEcsWCl7dGhpcy5wcm9wcz1HLHRoaXMuY29udGV4dD1YfWZ1bmN0aW9uIFIwKEcsWCl7aWYoWD09bnVsbClyZXR1cm4gRy5fXz9SMChHLl9fLEcuX19pKzEpOm51bGw7Zm9yKHZhciBKO1g8Ry5fX2subGVuZ3RoO1grKylpZigoSj1HLl9fa1tYXSkhPW51bGwmJkouX19lIT1udWxsKXJldHVybiBKLl9fZTtyZXR1cm4gdHlwZW9mIEcudHlwZT09ImZ1bmN0aW9uIj9SMChHKTpudWxsfWZ1bmN0aW9uIHc4KEcpe2lmKEcuX19QJiZHLl9fZCl7dmFyIFg9Ry5fX3YsSj1YLl9fZSxZPVtdLFo9W10scT1CMCh7fSxYKTtxLl9fdj1YLl9fdisxLEkudm5vZGUmJkkudm5vZGUocSkscDEoRy5fX1AscSxYLEcuX19uLEcuX19QLm5hbWVzcGFjZVVSSSwzMiZYLl9fdT9bSl06bnVsbCxZLEo9PW51bGw/UjAoWCk6SiwhISgzMiZYLl9fdSksWikscS5fX3Y9WC5fX3YscS5fXy5fX2tbcS5fX2ldPXEsUDkoWSxxLFopLFguX19lPVguX189bnVsbCxxLl9fZSE9SiYmRDkocSl9fWZ1bmN0aW9uIEQ5KEcpe2lmKChHPUcuX18pIT1udWxsJiZHLl9fYyE9bnVsbClyZXR1cm4gRy5fX2U9Ry5fX2MuYmFzZT1udWxsLEcuX19rLnNvbWUoZnVuY3Rpb24oWCl7aWYoWCE9bnVsbCYmWC5fX2UhPW51bGwpcmV0dXJuIEcuX19lPUcuX19jLmJhc2U9WC5fX2V9KSxEOShHKX1mdW5jdGlvbiBoMShHKXsoIUcuX19kJiYoRy5fX2Q9ITApJiZJMC5wdXNoKEcpJiYhVjEuX19yKyt8fEs5IT1JLmRlYm91bmNlUmVuZGVyaW5nKSYmKChLOT1JLmRlYm91bmNlUmVuZGVyaW5nKXx8TDkpKFYxKX1mdW5jdGlvbiBWMSgpe3RyeXtmb3IodmFyIEcsWD0xO0kwLmxlbmd0aDspSTAubGVuZ3RoPlgmJkkwLnNvcnQoVzkpLEc9STAuc2hpZnQoKSxYPUkwLmxlbmd0aCx3OChHKX1maW5hbGx5e0kwLmxlbmd0aD1WMS5fX3I9MH19ZnVuY3Rpb24gRjkoRyxYLEosWSxaLHEsUSxLLEgsVixEKXt2YXIgJCxMLFcsVSxQLEYsRSx3PVkmJlkuX19rfHxLMSxnPVgubGVuZ3RoO2ZvcihIPVQ4KEosWCx3LEgsZyksJD0wOyQ8ZzskKyspKFc9Si5fX2tbJF0pIT1udWxsJiYoTD1XLl9faSE9LTEmJndbVy5fX2ldfHwkMSxXLl9faT0kLEY9cDEoRyxXLEwsWixxLFEsSyxILFYsRCksVT1XLl9fZSxXLnJlZiYmTC5yZWYhPVcucmVmJiYoTC5yZWYmJmYxKEwucmVmLG51bGwsVyksRC5wdXNoKFcucmVmLFcuX19jfHxVLFcpKSxQPT1udWxsJiZVIT1udWxsJiYoUD1VKSwoRT0hISg0JlcuX191KSl8fEwuX19rPT09Vy5fX2s/KEg9QjkoVyxILEcsRSksRSYmTC5fX2UmJihMLl9fZT1udWxsKSk6dHlwZW9mIFcudHlwZT09ImZ1bmN0aW9uIiYmRiE9PXZvaWQgMD9IPUY6VSYmKEg9VS5uZXh0U2libGluZyksVy5fX3UmPS03KTtyZXR1cm4gSi5fX2U9UCxIfWZ1bmN0aW9uIFQ4KEcsWCxKLFksWil7dmFyIHEsUSxLLEgsVixEPUoubGVuZ3RoLCQ9RCxMPTA7Zm9yKEcuX19rPUFycmF5KFopLHE9MDtxPFo7cSsrKShRPVhbcV0pIT1udWxsJiZ0eXBlb2YgUSE9ImJvb2xlYW4iJiZ0eXBlb2YgUSE9ImZ1bmN0aW9uIj8odHlwZW9mIFE9PSJzdHJpbmcifHx0eXBlb2YgUT09Im51bWJlciJ8fHR5cGVvZiBRPT0iYmlnaW50Inx8US5jb25zdHJ1Y3Rvcj09U3RyaW5nP1E9Ry5fX2tbcV09XzEobnVsbCxRLG51bGwsbnVsbCxudWxsKTpkMChRKT9RPUcuX19rW3FdPV8xKGEse2NoaWxkcmVuOlF9LG51bGwsbnVsbCxudWxsKTpRLmNvbnN0cnVjdG9yPT09dm9pZCAwJiZRLl9fYj4wP1E9Ry5fX2tbcV09XzEoUS50eXBlLFEucHJvcHMsUS5rZXksUS5yZWY/US5yZWY6bnVsbCxRLl9fdik6Ry5fX2tbcV09USxIPXErTCxRLl9fPUcsUS5fX2I9Ry5fX2IrMSxLPW51bGwsKFY9US5fX2k9azgoUSxKLEgsJCkpIT0tMSYmKCQtLSwoSz1KW1ZdKSYmKEsuX191fD0yKSksSz09bnVsbHx8Sy5fX3Y9PW51bGw/KFY9PS0xJiYoWj5EP0wtLTpaPEQmJkwrKyksdHlwZW9mIFEudHlwZSE9ImZ1bmN0aW9uIiYmKFEuX191fD00KSk6ViE9SCYmKFY9PUgtMT9MLS06Vj09SCsxP0wrKzooVj5IP0wtLTpMKyssUS5fX3V8PTQpKSk6Ry5fX2tbcV09bnVsbDtpZigkKWZvcihxPTA7cTxEO3ErKykoSz1KW3FdKSE9bnVsbCYmKDImSy5fX3UpPT0wJiYoSy5fX2U9PVkmJihZPVIwKEspKSxBOShLLEspKTtyZXR1cm4gWX1mdW5jdGlvbiBCOShHLFgsSixZKXt2YXIgWixxO2lmKHR5cGVvZiBHLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihaPUcuX19rLHE9MDtaJiZxPFoubGVuZ3RoO3ErKylaW3FdJiYoWltxXS5fXz1HLFg9QjkoWltxXSxYLEosWSkpO3JldHVybiBYfUcuX19lIT1YJiYoWSYmKFgmJkcudHlwZSYmIVgucGFyZW50Tm9kZSYmKFg9UjAoRykpLEouaW5zZXJ0QmVmb3JlKEcuX19lLFh8fG51bGwpKSxYPUcuX19lKTtkbyBYPVgmJlgubmV4dFNpYmxpbmc7d2hpbGUoWCE9bnVsbCYmWC5ub2RlVHlwZT09OCk7cmV0dXJuIFh9ZnVuY3Rpb24gVTAoRyxYKXtyZXR1cm4gWD1YfHxbXSxHPT1udWxsfHx0eXBlb2YgRz09ImJvb2xlYW4ifHwoZDAoRyk/Ry5zb21lKGZ1bmN0aW9uKEope1UwKEosWCl9KTpYLnB1c2goRykpLFh9ZnVuY3Rpb24gazgoRyxYLEosWSl7dmFyIFoscSxRLEs9Ry5rZXksSD1HLnR5cGUsVj1YW0pdLEQ9ViE9bnVsbCYmKDImVi5fX3UpPT0wO2lmKFY9PT1udWxsJiZLPT1udWxsfHxEJiZLPT1WLmtleSYmSD09Vi50eXBlKXJldHVybiBKO2lmKFk+KEQ/MTowKSl7Zm9yKFo9Si0xLHE9SisxO1o+PTB8fHE8WC5sZW5ndGg7KWlmKChWPVhbUT1aPj0wP1otLTpxKytdKSE9bnVsbCYmKDImVi5fX3UpPT0wJiZLPT1WLmtleSYmSD09Vi50eXBlKXJldHVybiBRfXJldHVybi0xfWZ1bmN0aW9uIFY5KEcsWCxKKXtYWzBdPT0iLSI/Ry5zZXRQcm9wZXJ0eShYLEo9PW51bGw/IiI6Sik6R1tYXT1KPT1udWxsPyIiOnR5cGVvZiBKIT0ibnVtYmVyInx8RTgudGVzdChYKT9KOkorInB4In1mdW5jdGlvbiBxMShHLFgsSixZLFope3ZhciBxLFE7RzppZihYPT0ic3R5bGUiKWlmKHR5cGVvZiBKPT0ic3RyaW5nIilHLnN0eWxlLmNzc1RleHQ9SjtlbHNle2lmKHR5cGVvZiBZPT0ic3RyaW5nIiYmKEcuc3R5bGUuY3NzVGV4dD1ZPSIiKSxZKWZvcihYIGluIFkpSiYmWCBpbiBKfHxWOShHLnN0eWxlLFgsIiIpO2lmKEopZm9yKFggaW4gSilZJiZKW1hdPT1ZW1hdfHxWOShHLnN0eWxlLFgsSltYXSl9ZWxzZSBpZihYWzBdPT0ibyImJlhbMV09PSJuIilxPVghPShYPVgucmVwbGFjZShOOSwiJDEiKSksUT1YLnRvTG93ZXJDYXNlKCksWD1RIGluIEd8fFg9PSJvbkZvY3VzT3V0Inx8WD09Im9uRm9jdXNJbiI/US5zbGljZSgyKTpYLnNsaWNlKDIpLEcubHx8KEcubD17fSksRy5sW1grcV09SixKP1k/SltmMF09WVtmMF06KEpbZjBdPXgxLEcuYWRkRXZlbnRMaXN0ZW5lcihYLHE/djE6eTEscSkpOkcucmVtb3ZlRXZlbnRMaXN0ZW5lcihYLHE/djE6eTEscSk7ZWxzZXtpZihaPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKVg9WC5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihYIT0id2lkdGgiJiZYIT0iaGVpZ2h0IiYmWCE9ImhyZWYiJiZYIT0ibGlzdCImJlghPSJmb3JtIiYmWCE9InRhYkluZGV4IiYmWCE9ImRvd25sb2FkIiYmWCE9InJvd1NwYW4iJiZYIT0iY29sU3BhbiImJlghPSJyb2xlIiYmWCE9InBvcG92ZXIiJiZYIGluIEcpdHJ5e0dbWF09Sj09bnVsbD8iIjpKO2JyZWFrIEd9Y2F0Y2goSyl7fXR5cGVvZiBKPT0iZnVuY3Rpb24ifHwoSj09bnVsbHx8Sj09PSExJiZYWzRdIT0iLSI/Ry5yZW1vdmVBdHRyaWJ1dGUoWCk6Ry5zZXRBdHRyaWJ1dGUoWCxYPT0icG9wb3ZlciImJko9PTE/IiI6SikpfX1mdW5jdGlvbiB6OShHKXtyZXR1cm4gZnVuY3Rpb24oWCl7aWYodGhpcy5sKXt2YXIgSj10aGlzLmxbWC50eXBlK0ddO2lmKFhbUTFdPT1udWxsKVhbUTFdPXgxKys7ZWxzZSBpZihYW1ExXTxKW2YwXSlyZXR1cm47cmV0dXJuIEooSS5ldmVudD9JLmV2ZW50KFgpOlgpfX19ZnVuY3Rpb24gcDEoRyxYLEosWSxaLHEsUSxLLEgsVil7dmFyIEQsJCxMLFcsVSxQLEYsRSx3LGcsaCxvLEcwLHUsdix0PVgudHlwZTtpZihYLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZKLl9fdSYmKEg9ISEoMzImSi5fX3UpLHE9W0s9WC5fX2U9Si5fX2VdKSwoRD1JLl9fYikmJkQoWCk7RzppZih0eXBlb2YgdD09ImZ1bmN0aW9uIil0cnl7aWYoRT1YLnByb3BzLHc9dC5wcm90b3R5cGUmJnQucHJvdG90eXBlLnJlbmRlcixnPShEPXQuY29udGV4dFR5cGUpJiZZW0QuX19jXSxoPUQ/Zz9nLnByb3BzLnZhbHVlOkQuX186WSxKLl9fYz9GPSgkPVguX19jPUouX19jKS5fXz0kLl9fRToodz9YLl9fYz0kPW5ldyB0KEUsaCk6KFguX19jPSQ9bmV3IHIoRSxoKSwkLmNvbnN0cnVjdG9yPXQsJC5yZW5kZXI9YjgpLGcmJmcuc3ViKCQpLCQuc3RhdGV8fCgkLnN0YXRlPXt9KSwkLl9fbj1ZLEw9JC5fX2Q9ITAsJC5fX2g9W10sJC5fc2I9W10pLHcmJiQuX19zPT1udWxsJiYoJC5fX3M9JC5zdGF0ZSksdyYmdC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMhPW51bGwmJigkLl9fcz09JC5zdGF0ZSYmKCQuX19zPUIwKHt9LCQuX19zKSksQjAoJC5fX3MsdC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoRSwkLl9fcykpKSxXPSQucHJvcHMsVT0kLnN0YXRlLCQuX192PVgsTCl3JiZ0LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmJC5jb21wb25lbnRXaWxsTW91bnQhPW51bGwmJiQuY29tcG9uZW50V2lsbE1vdW50KCksdyYmJC5jb21wb25lbnREaWRNb3VudCE9bnVsbCYmJC5fX2gucHVzaCgkLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKHcmJnQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZFIT09VyYmJC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1udWxsJiYkLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoRSxoKSxYLl9fdj09Si5fX3Z8fCEkLl9fZSYmJC5zaG91bGRDb21wb25lbnRVcGRhdGUhPW51bGwmJiQuc2hvdWxkQ29tcG9uZW50VXBkYXRlKEUsJC5fX3MsaCk9PT0hMSl7WC5fX3YhPUouX192JiYoJC5wcm9wcz1FLCQuc3RhdGU9JC5fX3MsJC5fX2Q9ITEpLFguX19lPUouX19lLFguX19rPUouX19rLFguX19rLnNvbWUoZnVuY3Rpb24oSjApe0owJiYoSjAuX189WCl9KSxLMS5wdXNoLmFwcGx5KCQuX19oLCQuX3NiKSwkLl9zYj1bXSwkLl9faC5sZW5ndGgmJlEucHVzaCgkKTticmVhayBHfSQuY29tcG9uZW50V2lsbFVwZGF0ZSE9bnVsbCYmJC5jb21wb25lbnRXaWxsVXBkYXRlKEUsJC5fX3MsaCksdyYmJC5jb21wb25lbnREaWRVcGRhdGUhPW51bGwmJiQuX19oLnB1c2goZnVuY3Rpb24oKXskLmNvbXBvbmVudERpZFVwZGF0ZShXLFUsUCl9KX1pZigkLmNvbnRleHQ9aCwkLnByb3BzPUUsJC5fX1A9RywkLl9fZT0hMSxvPUkuX19yLEcwPTAsdykkLnN0YXRlPSQuX19zLCQuX19kPSExLG8mJm8oWCksRD0kLnJlbmRlcigkLnByb3BzLCQuc3RhdGUsJC5jb250ZXh0KSxLMS5wdXNoLmFwcGx5KCQuX19oLCQuX3NiKSwkLl9zYj1bXTtlbHNlIGRvICQuX19kPSExLG8mJm8oWCksRD0kLnJlbmRlcigkLnByb3BzLCQuc3RhdGUsJC5jb250ZXh0KSwkLnN0YXRlPSQuX19zO3doaWxlKCQuX19kJiYrK0cwPDI1KTskLnN0YXRlPSQuX19zLCQuZ2V0Q2hpbGRDb250ZXh0IT1udWxsJiYoWT1CMChCMCh7fSxZKSwkLmdldENoaWxkQ29udGV4dCgpKSksdyYmIUwmJiQuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPW51bGwmJihQPSQuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoVyxVKSksdT1EIT1udWxsJiZELnR5cGU9PT1hJiZELmtleT09bnVsbD9VOShELnByb3BzLmNoaWxkcmVuKTpELEs9RjkoRyxkMCh1KT91Olt1XSxYLEosWSxaLHEsUSxLLEgsViksJC5iYXNlPVguX19lLFguX191Jj0tMTYxLCQuX19oLmxlbmd0aCYmUS5wdXNoKCQpLEYmJigkLl9fRT0kLl9fPW51bGwpfWNhdGNoKEowKXtpZihYLl9fdj1udWxsLEh8fHEhPW51bGwpaWYoSjAudGhlbil7Zm9yKFguX191fD1IPzE2MDoxMjg7SyYmSy5ub2RlVHlwZT09OCYmSy5uZXh0U2libGluZzspSz1LLm5leHRTaWJsaW5nO3FbcS5pbmRleE9mKEspXT1udWxsLFguX19lPUt9ZWxzZXtmb3Iodj1xLmxlbmd0aDt2LS07KWcxKHFbdl0pO20xKFgpfWVsc2UgWC5fX2U9Si5fX2UsWC5fX2s9Si5fX2ssSjAudGhlbnx8bTEoWCk7SS5fX2UoSjAsWCxKKX1lbHNlIHE9PW51bGwmJlguX192PT1KLl9fdj8oWC5fX2s9Si5fX2ssWC5fX2U9Si5fX2UpOks9WC5fX2U9QzgoSi5fX2UsWCxKLFksWixxLFEsSCxWKTtyZXR1cm4oRD1JLmRpZmZlZCkmJkQoWCksMTI4JlguX191P3ZvaWQgMDpLfWZ1bmN0aW9uIG0xKEcpe0cmJihHLl9fYyYmKEcuX19jLl9fZT0hMCksRy5fX2smJkcuX19rLnNvbWUobTEpKX1mdW5jdGlvbiBQOShHLFgsSil7Zm9yKHZhciBZPTA7WTxKLmxlbmd0aDtZKyspZjEoSltZXSxKWysrWV0sSlsrK1ldKTtJLl9fYyYmSS5fX2MoWCxHKSxHLnNvbWUoZnVuY3Rpb24oWil7dHJ5e0c9Wi5fX2gsWi5fX2g9W10sRy5zb21lKGZ1bmN0aW9uKHEpe3EuY2FsbChaKX0pfWNhdGNoKHEpe0kuX19lKHEsWi5fX3YpfX0pfWZ1bmN0aW9uIFU5KEcpe3JldHVybiB0eXBlb2YgRyE9Im9iamVjdCJ8fEc9PW51bGx8fEcuX19iPjA/RzpkMChHKT9HLm1hcChVOSk6QjAoe30sRyl9ZnVuY3Rpb24gQzgoRyxYLEosWSxaLHEsUSxLLEgpe3ZhciBWLEQsJCxMLFcsVSxQLEY9Si5wcm9wc3x8JDEsRT1YLnByb3BzLHc9WC50eXBlO2lmKHc9PSJzdmciP1o9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjp3PT0ibWF0aCI/Wj0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6Wnx8KFo9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxxIT1udWxsKXtmb3IoVj0wO1Y8cS5sZW5ndGg7VisrKWlmKChXPXFbVl0pJiYic2V0QXR0cmlidXRlImluIFc9PSEhdyYmKHc/Vy5sb2NhbE5hbWU9PXc6Vy5ub2RlVHlwZT09Mykpe0c9VyxxW1ZdPW51bGw7YnJlYWt9fWlmKEc9PW51bGwpe2lmKHc9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEUpO0c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFosdyxFLmlzJiZFKSxLJiYoSS5fX20mJkkuX19tKFgscSksSz0hMSkscT1udWxsfWlmKHc9PW51bGwpRj09PUV8fEsmJkcuZGF0YT09RXx8KEcuZGF0YT1FKTtlbHNle2lmKHE9cSYmejEuY2FsbChHLmNoaWxkTm9kZXMpLCFLJiZxIT1udWxsKWZvcihGPXt9LFY9MDtWPEcuYXR0cmlidXRlcy5sZW5ndGg7VisrKUZbKFc9Ry5hdHRyaWJ1dGVzW1ZdKS5uYW1lXT1XLnZhbHVlO2ZvcihWIGluIEYpVz1GW1ZdLFY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/JD1XOlY9PSJjaGlsZHJlbiJ8fChWIGluIEUpfHxWPT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBFKXx8Vj09ImNoZWNrZWQiJiYoImRlZmF1bHRDaGVja2VkImluIEUpfHxxMShHLFYsbnVsbCxXLFopO2ZvcihWIGluIEUpVz1FW1ZdLFY9PSJjaGlsZHJlbiI/TD1XOlY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/RD1XOlY9PSJ2YWx1ZSI/VT1XOlY9PSJjaGVja2VkIj9QPVc6SyYmdHlwZW9mIFchPSJmdW5jdGlvbiJ8fEZbVl09PT1XfHxxMShHLFYsVyxGW1ZdLFopO2lmKEQpS3x8JCYmKEQuX19odG1sPT0kLl9faHRtbHx8RC5fX2h0bWw9PUcuaW5uZXJIVE1MKXx8KEcuaW5uZXJIVE1MPUQuX19odG1sKSxYLl9faz1bXTtlbHNlIGlmKCQmJihHLmlubmVySFRNTD0iIiksRjkoWC50eXBlPT0idGVtcGxhdGUiP0cuY29udGVudDpHLGQwKEwpP0w6W0xdLFgsSixZLHc9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6WixxLFEscT9xWzBdOkouX19rJiZSMChKLDApLEssSCkscSE9bnVsbClmb3IoVj1xLmxlbmd0aDtWLS07KWcxKHFbVl0pO0t8fChWPSJ2YWx1ZSIsdz09InByb2dyZXNzIiYmVT09bnVsbD9HLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpVIT1udWxsJiYoVSE9PUdbVl18fHc9PSJwcm9ncmVzcyImJiFVfHx3PT0ib3B0aW9uIiYmVSE9RltWXSkmJnExKEcsVixVLEZbVl0sWiksVj0iY2hlY2tlZCIsUCE9bnVsbCYmUCE9R1tWXSYmcTEoRyxWLFAsRltWXSxaKSl9cmV0dXJuIEd9ZnVuY3Rpb24gZjEoRyxYLEope3RyeXtpZih0eXBlb2YgRz09ImZ1bmN0aW9uIil7dmFyIFk9dHlwZW9mIEcuX191PT0iZnVuY3Rpb24iO1kmJkcuX191KCksWSYmWD09bnVsbHx8KEcuX191PUcoWCkpfWVsc2UgRy5jdXJyZW50PVh9Y2F0Y2goWil7SS5fX2UoWixKKX19ZnVuY3Rpb24gQTkoRyxYLEope3ZhciBZLFo7aWYoSS51bm1vdW50JiZJLnVubW91bnQoRyksKFk9Ry5yZWYpJiYoWS5jdXJyZW50JiZZLmN1cnJlbnQhPUcuX19lfHxmMShZLG51bGwsWCkpLChZPUcuX19jKSE9bnVsbCl7aWYoWS5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7WS5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKHEpe0kuX19lKHEsWCl9WS5iYXNlPVkuX19QPW51bGx9aWYoWT1HLl9faylmb3IoWj0wO1o8WS5sZW5ndGg7WisrKVlbWl0mJkE5KFlbWl0sWCxKfHx0eXBlb2YgRy50eXBlIT0iZnVuY3Rpb24iKTtKfHxnMShHLl9fZSksRy5fX2M9Ry5fXz1HLl9fZT12b2lkIDB9ZnVuY3Rpb24gYjgoRyxYLEope3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKEcsSil9ZnVuY3Rpb24gSDEoRyxYLEope3ZhciBZLFoscSxRO1g9PWRvY3VtZW50JiYoWD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLEkuX18mJkkuX18oRyxYKSxaPShZPXR5cGVvZiBKPT0iZnVuY3Rpb24iKT9udWxsOkomJkouX19rfHxYLl9fayxxPVtdLFE9W10scDEoWCxHPSghWSYmSnx8WCkuX19rPVAwKGEsbnVsbCxbR10pLFp8fCQxLCQxLFgubmFtZXNwYWNlVVJJLCFZJiZKP1tKXTpaP251bGw6WC5maXJzdENoaWxkP3oxLmNhbGwoWC5jaGlsZE5vZGVzKTpudWxsLHEsIVkmJko/SjpaP1ouX19lOlguZmlyc3RDaGlsZCxZLFEpLFA5KHEsRyxRKX1mdW5jdGlvbiBqMChHKXtmdW5jdGlvbiBYKEope3ZhciBZLFo7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoWT1uZXcgU2V0LChaPXt9KVtYLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBafSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WT1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihxKXt0aGlzLnByb3BzLnZhbHVlIT1xLnZhbHVlJiZZLmZvckVhY2goZnVuY3Rpb24oUSl7US5fX2U9ITAsaDEoUSl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24ocSl7WS5hZGQocSk7dmFyIFE9cS5jb21wb25lbnRXaWxsVW5tb3VudDtxLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WSYmWS5kZWxldGUocSksUSYmUS5jYWxsKHEpfX0pLEouY2hpbGRyZW59cmV0dXJuIFguX19jPSJfX2NDIitPOSsrLFguX189RyxYLlByb3ZpZGVyPVguX19sPShYLkNvbnN1bWVyPWZ1bmN0aW9uKEosWSl7cmV0dXJuIEouY2hpbGRyZW4oWSl9KS5jb250ZXh0VHlwZT1YLFh9ejE9SzEuc2xpY2UsST17X19lOmZ1bmN0aW9uKEcsWCxKLFkpe2Zvcih2YXIgWixxLFE7WD1YLl9fOylpZigoWj1YLl9fYykmJiFaLl9fKXRyeXtpZigocT1aLmNvbnN0cnVjdG9yKSYmcS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihaLnNldFN0YXRlKHEuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKEcpKSxRPVouX19kKSxaLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYoWi5jb21wb25lbnREaWRDYXRjaChHLFl8fHt9KSxRPVouX19kKSxRKXJldHVybiBaLl9fRT1afWNhdGNoKEspe0c9S310aHJvdyBHfX0sSDk9MCxJOD1mdW5jdGlvbihHKXtyZXR1cm4gRyE9bnVsbCYmRy5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sci5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oRyxYKXt2YXIgSjtKPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1CMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgRz09ImZ1bmN0aW9uIiYmKEc9RyhCMCh7fSxKKSx0aGlzLnByb3BzKSksRyYmQjAoSixHKSxHIT1udWxsJiZ0aGlzLl9fdiYmKFgmJnRoaXMuX3NiLnB1c2goWCksaDEodGhpcykpfSxyLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihHKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLEcmJnRoaXMuX19oLnB1c2goRyksaDEodGhpcykpfSxyLnByb3RvdHlwZS5yZW5kZXI9YSxJMD1bXSxMOT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsVzk9ZnVuY3Rpb24oRyxYKXtyZXR1cm4gRy5fX3YuX19iLVguX192Ll9fYn0sVjEuX19yPTAsUzE9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxRMT0iX19kIitTMSxmMD0iX19hIitTMSxOOT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSx4MT0wLHkxPXo5KCExKSx2MT16OSghMCksTzk9MDt2YXIgUzAseCxkMSxNOSx1MD0wLFI5PVtdLGw9SSxJOT1sLl9fYixFOT1sLl9fcix3OT1sLmRpZmZlZCxUOT1sLl9fYyxrOT1sLnVubW91bnQsQzk9bC5fXztmdW5jdGlvbiBXMShHLFgpe2wuX19oJiZsLl9faCh4LEcsdTB8fFgpLHUwPTA7dmFyIEo9eC5fX0h8fCh4Ll9fSD17X186W10sX19oOltdfSk7cmV0dXJuIEc+PUouX18ubGVuZ3RoJiZKLl9fLnB1c2goe30pLEouX19bR119ZnVuY3Rpb24gQyhHKXtyZXR1cm4gdTA9MSxhMShTOSxHKX1mdW5jdGlvbiBhMShHLFgsSil7dmFyIFk9VzEoUzArKywyKTtpZihZLnQ9RywhWS5fX2MmJihZLl9fPVtKP0ooWCk6Uzkodm9pZCAwLFgpLGZ1bmN0aW9uKEspe3ZhciBIPVkuX19OP1kuX19OWzBdOlkuX19bMF0sVj1ZLnQoSCxLKTtIIT09ViYmKFkuX19OPVtWLFkuX19bMV1dLFkuX19jLnNldFN0YXRlKHt9KSl9XSxZLl9fYz14LCF4Ll9fZikpe3ZhciBaPWZ1bmN0aW9uKEssSCxWKXtpZighWS5fX2MuX19IKXJldHVybiEwO3ZhciBEPVkuX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24oTCl7cmV0dXJuIEwuX19jfSk7aWYoRC5ldmVyeShmdW5jdGlvbihMKXtyZXR1cm4hTC5fX059KSlyZXR1cm4hcXx8cS5jYWxsKHRoaXMsSyxILFYpO3ZhciAkPVkuX19jLnByb3BzIT09SztyZXR1cm4gRC5zb21lKGZ1bmN0aW9uKEwpe2lmKEwuX19OKXt2YXIgVz1MLl9fWzBdO0wuX189TC5fX04sTC5fX049dm9pZCAwLFchPT1MLl9fWzBdJiYoJD0hMCl9fSkscSYmcS5jYWxsKHRoaXMsSyxILFYpfHwkfTt4Ll9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOnEsY29tcG9uZW50V2lsbFVwZGF0ZTpRfT14O3guY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbihLLEgsVil7aWYodGhpcy5fX2Upe3ZhciBEPXE7cT12b2lkIDAsWihLLEgsVikscT1EfVEmJlEuY2FsbCh0aGlzLEssSCxWKX0seC5zaG91bGRDb21wb25lbnRVcGRhdGU9Wn1yZXR1cm4gWS5fX058fFkuX199ZnVuY3Rpb24gUyhHLFgpe3ZhciBKPVcxKFMwKyssMyk7IWwuX19zJiZqOShKLl9fSCxYKSYmKEouX189RyxKLnU9WCx4Ll9fSC5fX2gucHVzaChKKSl9ZnVuY3Rpb24gUihHKXtyZXR1cm4gdTA9NSxOMShmdW5jdGlvbigpe3JldHVybntjdXJyZW50Okd9fSxbXSl9ZnVuY3Rpb24gTjEoRyxYKXt2YXIgSj1XMShTMCsrLDcpO3JldHVybiBqOShKLl9fSCxYKSYmKEouX189RygpLEouX19IPVgsSi5fX2g9RyksSi5fX31mdW5jdGlvbiBiKEcsWCl7cmV0dXJuIHUwPTgsTjEoZnVuY3Rpb24oKXtyZXR1cm4gR30sWCl9ZnVuY3Rpb24gYTAoRyl7dmFyIFg9eC5jb250ZXh0W0cuX19jXSxKPVcxKFMwKyssOSk7cmV0dXJuIEouYz1HLFg/KEouX189PW51bGwmJihKLl9fPSEwLFguc3ViKHgpKSxYLnByb3BzLnZhbHVlKTpHLl9ffWZ1bmN0aW9uIFI4KCl7Zm9yKHZhciBHO0c9Ujkuc2hpZnQoKTspe3ZhciBYPUcuX19IO2lmKEcuX19QJiZYKXRyeXtYLl9faC5zb21lKEwxKSxYLl9faC5zb21lKHUxKSxYLl9faD1bXX1jYXRjaChKKXtYLl9faD1bXSxsLl9fZShKLEcuX192KX19fWwuX19iPWZ1bmN0aW9uKEcpe3g9bnVsbCxJOSYmSTkoRyl9LGwuX189ZnVuY3Rpb24oRyxYKXtHJiZYLl9fayYmWC5fX2suX19tJiYoRy5fX209WC5fX2suX19tKSxDOSYmQzkoRyxYKX0sbC5fX3I9ZnVuY3Rpb24oRyl7RTkmJkU5KEcpLFMwPTA7dmFyIFg9KHg9Ry5fX2MpLl9fSDtYJiYoZDE9PT14PyhYLl9faD1bXSx4Ll9faD1bXSxYLl9fLnNvbWUoZnVuY3Rpb24oSil7Si5fX04mJihKLl9fPUouX19OKSxKLnU9Si5fX049dm9pZCAwfSkpOihYLl9faC5zb21lKEwxKSxYLl9faC5zb21lKHUxKSxYLl9faD1bXSxTMD0wKSksZDE9eH0sbC5kaWZmZWQ9ZnVuY3Rpb24oRyl7dzkmJnc5KEcpO3ZhciBYPUcuX19jO1gmJlguX19IJiYoWC5fX0guX19oLmxlbmd0aCYmKFI5LnB1c2goWCkhPT0xJiZNOT09PWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKE05PWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8ajgpKFI4KSksWC5fX0guX18uc29tZShmdW5jdGlvbihKKXtKLnUmJihKLl9fSD1KLnUpLEoudT12b2lkIDB9KSksZDE9eD1udWxsfSxsLl9fYz1mdW5jdGlvbihHLFgpe1guc29tZShmdW5jdGlvbihKKXt0cnl7Si5fX2guc29tZShMMSksSi5fX2g9Si5fX2guZmlsdGVyKGZ1bmN0aW9uKFkpe3JldHVybiFZLl9ffHx1MShZKX0pfWNhdGNoKFkpe1guc29tZShmdW5jdGlvbihaKXtaLl9faCYmKFouX19oPVtdKX0pLFg9W10sbC5fX2UoWSxKLl9fdil9fSksVDkmJlQ5KEcsWCl9LGwudW5tb3VudD1mdW5jdGlvbihHKXtrOSYmazkoRyk7dmFyIFgsSj1HLl9fYztKJiZKLl9fSCYmKEouX19ILl9fLnNvbWUoZnVuY3Rpb24oWSl7dHJ5e0wxKFkpfWNhdGNoKFope1g9Wn19KSxKLl9fSD12b2lkIDAsWCYmbC5fX2UoWCxKLl9fdikpfTt2YXIgYjk9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiBqOChHKXt2YXIgWCxKPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFkpLGI5JiZjYW5jZWxBbmltYXRpb25GcmFtZShYKSxzZXRUaW1lb3V0KEcpfSxZPXNldFRpbWVvdXQoSiwzNSk7YjkmJihYPXJlcXVlc3RBbmltYXRpb25GcmFtZShKKSl9ZnVuY3Rpb24gTDEoRyl7dmFyIFg9eCxKPUcuX19jO3R5cGVvZiBKPT0iZnVuY3Rpb24iJiYoRy5fX2M9dm9pZCAwLEooKSkseD1YfWZ1bmN0aW9uIHUxKEcpe3ZhciBYPXg7Ry5fX2M9Ry5fXygpLHg9WH1mdW5jdGlvbiBqOShHLFgpe3JldHVybiFHfHxHLmxlbmd0aCE9PVgubGVuZ3RofHxYLnNvbWUoZnVuY3Rpb24oSixZKXtyZXR1cm4gSiE9PUdbWV19KX1mdW5jdGlvbiBTOShHLFgpe3JldHVybiB0eXBlb2YgWD09ImZ1bmN0aW9uIj9YKEcpOlh9ZnVuY3Rpb24gZzgoRyxYKXtmb3IodmFyIEogaW4gWClHW0pdPVhbSl07cmV0dXJuIEd9ZnVuY3Rpb24geTkoRyxYKXtmb3IodmFyIEogaW4gRylpZihKIT09Il9fc291cmNlIiYmIShKIGluIFgpKXJldHVybiEwO2Zvcih2YXIgWSBpbiBYKWlmKFkhPT0iX19zb3VyY2UiJiZHW1ldIT09WFtZXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB2OShHLFgpe3RoaXMucHJvcHM9Ryx0aGlzLmNvbnRleHQ9WH0odjkucHJvdG90eXBlPW5ldyByKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCx2OS5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKEcsWCl7cmV0dXJuIHk5KHRoaXMucHJvcHMsRyl8fHk5KHRoaXMuc3RhdGUsWCl9O3ZhciBoOT1JLl9fYjtJLl9fYj1mdW5jdGlvbihHKXtHLnR5cGUmJkcudHlwZS5fX2YmJkcucmVmJiYoRy5wcm9wcy5yZWY9Ry5yZWYsRy5yZWY9bnVsbCksaDkmJmg5KEcpfTt2YXIgcDg9SS5fX2U7SS5fX2U9ZnVuY3Rpb24oRyxYLEosWSl7aWYoRy50aGVuKXtmb3IodmFyIFoscT1YO3E9cS5fXzspaWYoKFo9cS5fX2MpJiZaLl9fYylyZXR1cm4gWC5fX2U9PW51bGwmJihYLl9fZT1KLl9fZSxYLl9faz1KLl9fayksWi5fX2MoRyxYKX1wOChHLFgsSixZKX07dmFyIG05PUkudW5tb3VudDtmdW5jdGlvbiB1OShHLFgsSil7cmV0dXJuIEcmJihHLl9fYyYmRy5fX2MuX19IJiYoRy5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWSl7dHlwZW9mIFkuX19jPT0iZnVuY3Rpb24iJiZZLl9fYygpfSksRy5fX2MuX19IPW51bGwpLChHPWc4KHt9LEcpKS5fX2MhPW51bGwmJihHLl9fYy5fX1A9PT1KJiYoRy5fX2MuX19QPVgpLEcuX19jLl9fZT0hMCxHLl9fYz1udWxsKSxHLl9faz1HLl9fayYmRy5fX2subWFwKGZ1bmN0aW9uKFkpe3JldHVybiB1OShZLFgsSil9KSksR31mdW5jdGlvbiBhOShHLFgsSil7cmV0dXJuIEcmJkomJihHLl9fdj1udWxsLEcuX19rPUcuX19rJiZHLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIGE5KFksWCxKKX0pLEcuX19jJiZHLl9fYy5fX1A9PT1YJiYoRy5fX2UmJkouYXBwZW5kQ2hpbGQoRy5fX2UpLEcuX19jLl9fZT0hMCxHLl9fYy5fX1A9SikpLEd9ZnVuY3Rpb24gbDEoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gbDkoRyl7dmFyIFg9Ry5fXyYmRy5fXy5fX2M7cmV0dXJuIFgmJlguX19hJiZYLl9fYShHKX1mdW5jdGlvbiBPMSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfUkudW5tb3VudD1mdW5jdGlvbihHKXt2YXIgWD1HLl9fYztYJiYoWC5fX3o9ITApLFgmJlguX19SJiZYLl9fUigpLFgmJjMyJkcuX191JiYoRy50eXBlPW51bGwpLG05JiZtOShHKX0sKGwxLnByb3RvdHlwZT1uZXcgcikuX19jPWZ1bmN0aW9uKEcsWCl7dmFyIEo9WC5fX2MsWT10aGlzO1kubz09bnVsbCYmKFkubz1bXSksWS5vLnB1c2goSik7dmFyIFo9bDkoWS5fX3YpLHE9ITEsUT1mdW5jdGlvbigpe3F8fFkuX196fHwocT0hMCxKLl9fUj1udWxsLFo/WihIKTpIKCkpfTtKLl9fUj1RO3ZhciBLPUouX19QO0ouX19QPW51bGw7dmFyIEg9ZnVuY3Rpb24oKXtpZighLS1ZLl9fdSl7aWYoWS5zdGF0ZS5fX2Epe3ZhciBWPVkuc3RhdGUuX19hO1kuX192Ll9fa1swXT1hOShWLFYuX19jLl9fUCxWLl9fYy5fX08pfXZhciBEO2ZvcihZLnNldFN0YXRlKHtfX2E6WS5fX2I9bnVsbH0pO0Q9WS5vLnBvcCgpOylELl9fUD1LLEQuZm9yY2VVcGRhdGUoKX19O1kuX191Kyt8fDMyJlguX191fHxZLnNldFN0YXRlKHtfX2E6WS5fX2I9WS5fX3YuX19rWzBdfSksRy50aGVuKFEsUSl9LGwxLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sbDEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihHLFgpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFk9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09dTkodGhpcy5fX2IsSixZLl9fTz1ZLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgWj1YLl9fYSYmUDAoYSxudWxsLEcuZmFsbGJhY2spO3JldHVybiBaJiYoWi5fX3UmPS0zMyksW1AwKGEsbnVsbCxYLl9fYT9udWxsOkcuY2hpbGRyZW4pLFpdfTt2YXIgeDk9ZnVuY3Rpb24oRyxYLEope2lmKCsrSlsxXT09PUpbMF0mJkcubC5kZWxldGUoWCksRy5wcm9wcy5yZXZlYWxPcmRlciYmKEcucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCFHLmwuc2l6ZSkpZm9yKEo9Ry5pO0o7KXtmb3IoO0oubGVuZ3RoPjM7KUoucG9wKCkoKTtpZihKWzFdPEpbMF0pYnJlYWs7Ry5pPUo9SlsyXX19OyhPMS5wcm90b3R5cGU9bmV3IHIpLl9fYT1mdW5jdGlvbihHKXt2YXIgWD10aGlzLEo9bDkoWC5fX3YpLFk9WC5sLmdldChHKTtyZXR1cm4gWVswXSsrLGZ1bmN0aW9uKFope3ZhciBxPWZ1bmN0aW9uKCl7WC5wcm9wcy5yZXZlYWxPcmRlcj8oWS5wdXNoKFopLHg5KFgsRyxZKSk6WigpfTtKP0oocSk6cSgpfX0sTzEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihHKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgWD1VMChHLmNoaWxkcmVuKTtHLnJldmVhbE9yZGVyJiZHLnJldmVhbE9yZGVyWzBdPT09ImIiJiZYLnJldmVyc2UoKTtmb3IodmFyIEo9WC5sZW5ndGg7Si0tOyl0aGlzLmwuc2V0KFhbSl0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIEcuY2hpbGRyZW59LE8xLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9TzEucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIEc9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihYLEope3g5KEcsSixYKX0pfTt2YXIgZjg9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsZDg9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLHU4PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sYTg9L1tBLVowLTldL2csbDg9dHlwZW9mIGRvY3VtZW50PCJ1IixjOD1mdW5jdGlvbihHKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoRyl9O2Z1bmN0aW9uIGM5KEcsWCxKKXtyZXR1cm4gWC5fX2s9PW51bGwmJihYLnRleHRDb250ZW50PSIiKSxIMShHLFgpLHR5cGVvZiBKPT0iZnVuY3Rpb24iJiZKKCksRz9HLl9fYzpudWxsfXIucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oRyl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIucHJvdG90eXBlLEcse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrR119LHNldDpmdW5jdGlvbihYKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxHLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WH0pfX0pfSk7dmFyIGc5PUkuZXZlbnQ7SS5ldmVudD1mdW5jdGlvbihHKXtyZXR1cm4gZzkmJihHPWc5KEcpKSxHLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LEcuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LEcuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sRy5uYXRpdmVFdmVudD1HfTt2YXIgaTksaTg9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LHA5PUkudm5vZGU7SS52bm9kZT1mdW5jdGlvbihHKXt0eXBlb2YgRy50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oWCl7dmFye3Byb3BzOkosdHlwZTpZfT1YLFo9e30scT1ZLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciBRIGluIEope3ZhciBLPUpbUV07aWYoIShRPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gSikmJks9PW51bGx8fGw4JiZRPT09ImNoaWxkcmVuIiYmWT09PSJub3NjcmlwdCJ8fFE9PT0iY2xhc3MifHxRPT09ImNsYXNzTmFtZSIpKXt2YXIgSD1RLnRvTG93ZXJDYXNlKCk7UT09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gSiYmSi52YWx1ZT09bnVsbD9RPSJ2YWx1ZSI6UT09PSJkb3dubG9hZCImJks9PT0hMD9LPSIiOkg9PT0idHJhbnNsYXRlIiYmSz09PSJubyI/Sz0hMTpIWzBdPT09Im8iJiZIWzFdPT09Im4iP0g9PT0ib25kb3VibGVjbGljayI/UT0ib25kYmxjbGljayI6SCE9PSJvbmNoYW5nZSJ8fFkhPT0iaW5wdXQiJiZZIT09InRleHRhcmVhInx8YzgoSi50eXBlKT9IPT09Im9uZm9jdXMiP1E9Im9uZm9jdXNpbiI6SD09PSJvbmJsdXIiP1E9Im9uZm9jdXNvdXQiOnU4LnRlc3QoUSkmJihRPUgpOkg9UT0ib25pbnB1dCI6cSYmZDgudGVzdChRKT9RPVEucmVwbGFjZShhOCwiLSQmIikudG9Mb3dlckNhc2UoKTpLPT09bnVsbCYmKEs9dm9pZCAwKSxIPT09Im9uaW5wdXQiJiZaW1E9SF0mJihRPSJvbmlucHV0Q2FwdHVyZSIpLFpbUV09S319WT09InNlbGVjdCImJihaLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KFoudmFsdWUpJiYoWi52YWx1ZT1VMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKFYpe1YucHJvcHMuc2VsZWN0ZWQ9Wi52YWx1ZS5pbmRleE9mKFYucHJvcHMudmFsdWUpIT0tMX0pKSxaLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKFoudmFsdWU9VTAoSi5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbihWKXtWLnByb3BzLnNlbGVjdGVkPVoubXVsdGlwbGU/Wi5kZWZhdWx0VmFsdWUuaW5kZXhPZihWLnByb3BzLnZhbHVlKSE9LTE6Wi5kZWZhdWx0VmFsdWU9PVYucHJvcHMudmFsdWV9KSkpLEouY2xhc3MmJiFKLmNsYXNzTmFtZT8oWi5jbGFzcz1KLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShaLCJjbGFzc05hbWUiLGk4KSk6Si5jbGFzc05hbWUmJihaLmNsYXNzPVouY2xhc3NOYW1lPUouY2xhc3NOYW1lKSxYLnByb3BzPVp9KEcpLEcuJCR0eXBlb2Y9ZjgscDkmJnA5KEcpfTt2YXIgZjk9SS5fX3I7SS5fX3I9ZnVuY3Rpb24oRyl7ZjkmJmY5KEcpLGk5PUcuX19jfTt2YXIgZDk9SS5kaWZmZWQ7SS5kaWZmZWQ9ZnVuY3Rpb24oRyl7ZDkmJmQ5KEcpO3Zhcntwcm9wczpYLF9fZTpKfT1HO0ohPW51bGwmJkcudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBYJiZYLnZhbHVlIT09Si52YWx1ZSYmKEoudmFsdWU9WC52YWx1ZT09bnVsbD8iIjpYLnZhbHVlKSxpOT1udWxsfTtmdW5jdGlvbiBvOShHKXtyZXR1cm4hIUcuX19rJiYoSDEobnVsbCxHKSwhMCl9ZnVuY3Rpb24gczkoRyl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihYKXtjOShYLEcpfSx1bm1vdW50OmZ1bmN0aW9uKCl7bzkoRyl9fX1mdW5jdGlvbiBxOChHLFgpe2Zvcih2YXIgSiBpbiBYKUdbSl09WFtKXTtyZXR1cm4gR31mdW5jdGlvbiByOShHLFgpe2Zvcih2YXIgSiBpbiBHKWlmKEohPT0iX19zb3VyY2UiJiYhKEogaW4gWCkpcmV0dXJuITA7Zm9yKHZhciBZIGluIFgpaWYoWSE9PSJfX3NvdXJjZSImJkdbWV0hPT1YW1ldKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHQ5KEcsWCl7dGhpcy5wcm9wcz1HLHRoaXMuY29udGV4dD1YfSh0OS5wcm90b3R5cGU9bmV3IHIpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLHQ5LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oRyxYKXtyZXR1cm4gcjkodGhpcy5wcm9wcyxHKXx8cjkodGhpcy5zdGF0ZSxYKX07dmFyIG45PUkuX19iO0kuX19iPWZ1bmN0aW9uKEcpe0cudHlwZSYmRy50eXBlLl9fZiYmRy5yZWYmJihHLnByb3BzLnJlZj1HLnJlZixHLnJlZj1udWxsKSxuOSYmbjkoRyl9O3ZhciBvOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiB5MChHKXtmdW5jdGlvbiBYKEope3ZhciBZPXE4KHt9LEopO3JldHVybiBkZWxldGUgWS5yZWYsRyhZLEoucmVmfHxudWxsKX1yZXR1cm4gWC4kJHR5cGVvZj1vOCxYLnJlbmRlcj1HLFgucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9WC5fX2Y9ITAsWC5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhHLmRpc3BsYXlOYW1lfHxHLm5hbWUpKyIpIixYfXZhciBzOD1JLl9fZTtJLl9fZT1mdW5jdGlvbihHLFgsSixZKXtpZihHLnRoZW4pe2Zvcih2YXIgWixxPVg7cT1xLl9fOylpZigoWj1xLl9fYykmJlouX19jKXJldHVybiBYLl9fZT09bnVsbCYmKFguX19lPUouX19lLFguX19rPUouX19rKSxaLl9fYyhHLFgpfXM4KEcsWCxKLFkpfTt2YXIgZTk9SS51bm1vdW50O2Z1bmN0aW9uIFE4KEcsWCxKKXtyZXR1cm4gRyYmKEcuX19jJiZHLl9fYy5fX0gmJihHLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihZKXt0eXBlb2YgWS5fX2M9PSJmdW5jdGlvbiImJlkuX19jKCl9KSxHLl9fYy5fX0g9bnVsbCksKEc9cTgoe30sRykpLl9fYyE9bnVsbCYmKEcuX19jLl9fUD09PUomJihHLl9fYy5fX1A9WCksRy5fX2MuX19lPSEwLEcuX19jPW51bGwpLEcuX19rPUcuX19rJiZHLl9fay5tYXAoZnVuY3Rpb24oWSl7cmV0dXJuIFE4KFksWCxKKX0pKSxHfWZ1bmN0aW9uIF84KEcsWCxKKXtyZXR1cm4gRyYmSiYmKEcuX192PW51bGwsRy5fX2s9Ry5fX2smJkcuX19rLm1hcChmdW5jdGlvbihZKXtyZXR1cm4gXzgoWSxYLEopfSksRy5fX2MmJkcuX19jLl9fUD09PVgmJihHLl9fZSYmSi5hcHBlbmRDaGlsZChHLl9fZSksRy5fX2MuX19lPSEwLEcuX19jLl9fUD1KKSksR31mdW5jdGlvbiBpMSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiAkOChHKXt2YXIgWD1HLl9fJiZHLl9fLl9fYztyZXR1cm4gWCYmWC5fX2EmJlguX19hKEcpfWZ1bmN0aW9uIEQxKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9SS51bm1vdW50PWZ1bmN0aW9uKEcpe3ZhciBYPUcuX19jO1gmJihYLl9fej0hMCksWCYmWC5fX1ImJlguX19SKCksWCYmMzImRy5fX3UmJihHLnR5cGU9bnVsbCksZTkmJmU5KEcpfSwoaTEucHJvdG90eXBlPW5ldyByKS5fX2M9ZnVuY3Rpb24oRyxYKXt2YXIgSj1YLl9fYyxZPXRoaXM7WS5vPT1udWxsJiYoWS5vPVtdKSxZLm8ucHVzaChKKTt2YXIgWj0kOChZLl9fdikscT0hMSxRPWZ1bmN0aW9uKCl7cXx8WS5fX3p8fChxPSEwLEouX19SPW51bGwsWj9aKEgpOkgoKSl9O0ouX19SPVE7dmFyIEs9Si5fX1A7Si5fX1A9bnVsbDt2YXIgSD1mdW5jdGlvbigpe2lmKCEtLVkuX191KXtpZihZLnN0YXRlLl9fYSl7dmFyIFY9WS5zdGF0ZS5fX2E7WS5fX3YuX19rWzBdPV84KFYsVi5fX2MuX19QLFYuX19jLl9fTyl9dmFyIEQ7Zm9yKFkuc2V0U3RhdGUoe19fYTpZLl9fYj1udWxsfSk7RD1ZLm8ucG9wKCk7KUQuX19QPUssRC5mb3JjZVVwZGF0ZSgpfX07WS5fX3UrK3x8MzImWC5fX3V8fFkuc2V0U3RhdGUoe19fYTpZLl9fYj1ZLl9fdi5fX2tbMF19KSxHLnRoZW4oUSxRKX0saTEucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxpMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEcsWCl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIEo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWT10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1ROCh0aGlzLl9fYixKLFkuX19PPVkuX19QKX10aGlzLl9fYj1udWxsfXZhciBaPVguX19hJiZQMChhLG51bGwsRy5mYWxsYmFjayk7cmV0dXJuIFomJihaLl9fdSY9LTMzKSxbUDAoYSxudWxsLFguX19hP251bGw6Ry5jaGlsZHJlbiksWl19O3ZhciBHOD1mdW5jdGlvbihHLFgsSil7aWYoKytKWzFdPT09SlswXSYmRy5sLmRlbGV0ZShYKSxHLnByb3BzLnJldmVhbE9yZGVyJiYoRy5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IUcubC5zaXplKSlmb3IoSj1HLmk7Sjspe2Zvcig7Si5sZW5ndGg+MzspSi5wb3AoKSgpO2lmKEpbMV08SlswXSlicmVhaztHLmk9Sj1KWzJdfX07KEQxLnByb3RvdHlwZT1uZXcgcikuX19hPWZ1bmN0aW9uKEcpe3ZhciBYPXRoaXMsSj0kOChYLl9fdiksWT1YLmwuZ2V0KEcpO3JldHVybiBZWzBdKyssZnVuY3Rpb24oWil7dmFyIHE9ZnVuY3Rpb24oKXtYLnByb3BzLnJldmVhbE9yZGVyPyhZLnB1c2goWiksRzgoWCxHLFkpKTpaKCl9O0o/SihxKTpxKCl9fSxEMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEcpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBYPVUwKEcuY2hpbGRyZW4pO0cucmV2ZWFsT3JkZXImJkcucmV2ZWFsT3JkZXJbMF09PT0iYiImJlgucmV2ZXJzZSgpO2Zvcih2YXIgSj1YLmxlbmd0aDtKLS07KXRoaXMubC5zZXQoWFtKXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gRy5jaGlsZHJlbn0sRDEucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1EMS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgRz10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKFgsSil7RzgoRyxKLFgpfSl9O3ZhciByOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyx0OD0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sbjg9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxlOD0vW0EtWjAtOV0vZyxHND10eXBlb2YgZG9jdW1lbnQ8InUiLFg0PWZ1bmN0aW9uKEcpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChHKX07ci5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbihHKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoci5wcm90b3R5cGUsRyx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitHXX0sc2V0OmZ1bmN0aW9uKFgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEcse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpYfSl9fSl9KTt2YXIgWDg9SS5ldmVudDtJLmV2ZW50PWZ1bmN0aW9uKEcpe3JldHVybiBYOCYmKEc9WDgoRykpLEcucGVyc2lzdD1mdW5jdGlvbigpe30sRy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sRy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxHLm5hdGl2ZUV2ZW50PUd9O3ZhciBLOCxKND17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sSjg9SS52bm9kZTtJLnZub2RlPWZ1bmN0aW9uKEcpe3R5cGVvZiBHLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihYKXt2YXJ7cHJvcHM6Six0eXBlOll9PVgsWj17fSxxPVkuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIFEgaW4gSil7dmFyIEs9SltRXTtpZighKFE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBKKSYmSz09bnVsbHx8RzQmJlE9PT0iY2hpbGRyZW4iJiZZPT09Im5vc2NyaXB0Inx8UT09PSJjbGFzcyJ8fFE9PT0iY2xhc3NOYW1lIikpe3ZhciBIPVEudG9Mb3dlckNhc2UoKTtRPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlPT1udWxsP1E9InZhbHVlIjpRPT09ImRvd25sb2FkIiYmSz09PSEwP0s9IiI6SD09PSJ0cmFuc2xhdGUiJiZLPT09Im5vIj9LPSExOkhbMF09PT0ibyImJkhbMV09PT0ibiI/SD09PSJvbmRvdWJsZWNsaWNrIj9RPSJvbmRibGNsaWNrIjpIIT09Im9uY2hhbmdlInx8WSE9PSJpbnB1dCImJlkhPT0idGV4dGFyZWEifHxYNChKLnR5cGUpP0g9PT0ib25mb2N1cyI/UT0ib25mb2N1c2luIjpIPT09Im9uYmx1ciI/UT0ib25mb2N1c291dCI6bjgudGVzdChRKSYmKFE9SCk6SD1RPSJvbmlucHV0IjpxJiZ0OC50ZXN0KFEpP1E9US5yZXBsYWNlKGU4LCItJCYiKS50b0xvd2VyQ2FzZSgpOks9PT1udWxsJiYoSz12b2lkIDApLEg9PT0ib25pbnB1dCImJlpbUT1IXSYmKFE9Im9uaW5wdXRDYXB0dXJlIiksWltRXT1LfX1ZPT0ic2VsZWN0IiYmKFoubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoWi52YWx1ZSkmJihaLnZhbHVlPVUwKEouY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oVil7Vi5wcm9wcy5zZWxlY3RlZD1aLnZhbHVlLmluZGV4T2YoVi5wcm9wcy52YWx1ZSkhPS0xfSkpLFouZGVmYXVsdFZhbHVlIT1udWxsJiYoWi52YWx1ZT1VMChKLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKFYpe1YucHJvcHMuc2VsZWN0ZWQ9Wi5tdWx0aXBsZT9aLmRlZmF1bHRWYWx1ZS5pbmRleE9mKFYucHJvcHMudmFsdWUpIT0tMTpaLmRlZmF1bHRWYWx1ZT09Vi5wcm9wcy52YWx1ZX0pKSksSi5jbGFzcyYmIUouY2xhc3NOYW1lPyhaLmNsYXNzPUouY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KFosImNsYXNzTmFtZSIsSjQpKTpKLmNsYXNzTmFtZSYmKFouY2xhc3M9Wi5jbGFzc05hbWU9Si5jbGFzc05hbWUpLFgucHJvcHM9Wn0oRyksRy4kJHR5cGVvZj1yOCxKOCYmSjgoRyl9O3ZhciBZOD1JLl9fcjtJLl9fcj1mdW5jdGlvbihHKXtZOCYmWTgoRyksSzg9Ry5fX2N9O3ZhciBaOD1JLmRpZmZlZDtJLmRpZmZlZD1mdW5jdGlvbihHKXtaOCYmWjgoRyk7dmFye3Byb3BzOlgsX19lOkp9PUc7SiE9bnVsbCYmRy50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFgmJlgudmFsdWUhPT1KLnZhbHVlJiYoSi52YWx1ZT1YLnZhbHVlPT1udWxsPyIiOlgudmFsdWUpLEs4PW51bGx9O3ZhciBFMD0zO2Z1bmN0aW9uIG8xKEcpe3JldHVybiBHPT09ImxhbmRzY2FwZV9sZWZ0Inx8Rz09PSJsYW5kc2NhcGVfcmlnaHQifWZ1bmN0aW9uIGwwKEcpe3JldHVybiEhRyYmKG8xKEcub3JpZW50YXRpb24pfHxHLndpZHRoPkcuaGVpZ2h0KX1mdW5jdGlvbiBGMShHKXtpZighR3x8Ry53aWR0aDw9MHx8Ry5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFg9bzEoRy5vcmllbnRhdGlvbil8fEcud2lkdGg+Ry5oZWlnaHQsSj1YP01hdGgubWF4KEcud2lkdGgsRy5oZWlnaHQpOk1hdGgubWluKEcud2lkdGgsRy5oZWlnaHQpLFk9WD9NYXRoLm1pbihHLndpZHRoLEcuaGVpZ2h0KTpNYXRoLm1heChHLndpZHRoLEcuaGVpZ2h0KTtpZihKPT09Ry53aWR0aCYmWT09PUcuaGVpZ2h0KXJldHVybiBHO3JldHVybnsuLi5HLHdpZHRoOkosaGVpZ2h0Oll9fWZ1bmN0aW9uIGMwKEcpe2xldCBYPUYxKEcpLEo9VjgoRz8ub3JpZW50YXRpb24pLFk9TWF0aC5hYnMoSik9PT05MCxaPSEhRyYmRy53aWR0aD5HLmhlaWdodCxxPUo9PT0xODB8fFkmJiFaO3JldHVybntkaXNwbGF5Q29uZmlnOlgscm90YXRpb25EZWdyZWVzOnE/SjowLG5lZWRzQ3NzUm90YXRpb246cSxpbnB1dE9yaWVudGF0aW9uOnE/Rz8ub3JpZW50YXRpb246dm9pZCAwfX1mdW5jdGlvbiBWOChHKXtzd2l0Y2goRyl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJuIDkwO2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm4tOTA7Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJuIDE4MDtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBpMChHLFgsSil7c3dpdGNoKEcpe2Nhc2UibGFuZHNjYXBlX2xlZnQiOnJldHVybnt4OkoseToxLVh9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57eDoxLUoseTpYfTtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm57eDoxLVgseToxLUp9O2RlZmF1bHQ6cmV0dXJue3g6WCx5Okp9fX1mdW5jdGlvbiBzMShHLFgpe3N3aXRjaChHKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goWCl7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIFh9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChYKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gWH1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goWCl7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIFh9ZGVmYXVsdDpyZXR1cm4gWH19dmFyIFk0PTA7ZnVuY3Rpb24gXyhHLFgsSixZLFoscSl7WHx8KFg9e30pO3ZhciBRLEssSD1YO2lmKCJyZWYiaW4gSClmb3IoSyBpbiBIPXt9LFgpSz09InJlZiI/UT1YW0tdOkhbS109WFtLXTt2YXIgVj17dHlwZTpHLHByb3BzOkgsa2V5OkoscmVmOlEsX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192Oi0tWTQsX19pOi0xLF9fdTowLF9fc291cmNlOlosX19zZWxmOnF9O2lmKHR5cGVvZiBHPT0iZnVuY3Rpb24iJiYoUT1HLmRlZmF1bHRQcm9wcykpZm9yKEsgaW4gUSlIW0tdPT09dm9pZCAwJiYoSFtLXT1RW0tdKTtyZXR1cm4gSS52bm9kZSYmSS52bm9kZShWKSxWfXZhciB6OD1gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwwLjQ1KScgc3Ryb2tlPSdyZ2JhKDAsMCwwLDAuNTUpJyBzdHJva2Utd2lkdGg9JzEuMjUnIGZpbHRlcj0nZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsMC40NSkpJy8lM0UlM0Mvc3ZnJTNFIikgMTIgMTIsIHBvaW50ZXJgLFo0PTMscTQ9NCxRND01O2Z1bmN0aW9uIEIxKHt1cmw6Ryx3c1VybDpYLHN0eWxlOkosaW1hZ2VTdHlsZTpZLGNsYXNzTmFtZTpaLG9uSG9tZVByZXNzOnEsb25TdHJlYW1Ub3VjaDpRLG9uU3RyZWFtTXVsdGlUb3VjaDpLLG9uU3RyZWFtQnV0dG9uOkgsc3Vic2NyaWJlRnJhbWU6VixzdHJlYW1GcmFtZTpELHN0cmVhbUNvbmZpZzokLG9uU2NyZWVuQ29uZmlnQ2hhbmdlOkwsaGlkZUNvbnRyb2xzOlcsb25TdHJlYW1pbmdDaGFuZ2U6VSxjb25uZWN0aW9uUXVhbGl0eTpQfSl7bGV0IEY9ISFRLEU9UihudWxsKSx3PVIobnVsbCksZz1SKG51bGwpLGg9UihudWxsKSxbbyxHMF09QyghMSksW3Usdl09QyhudWxsKSxbdCxKMF09QyhudWxsKSxwPVIobnVsbCksbzA9UihMKTtvMC5jdXJyZW50PUw7bGV0IHMwPVIobnVsbCksW3owLHIwXT1DKG51bGwpO1MoKCk9PntsZXQgTj1zMC5jdXJyZW50O2lmKCFOfHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgej1uZXcgUmVzaXplT2JzZXJ2ZXIoKEIpPT57bGV0IE09QlswXT8uY29udGVudFJlY3Q7aWYoTSlyMCh7d2lkdGg6TS53aWR0aCxoZWlnaHQ6TS5oZWlnaHR9KX0pO3JldHVybiB6Lm9ic2VydmUoTiksKCk9PnouZGlzY29ubmVjdCgpfSxbXSk7bGV0W3QwLHcwXT1DKDApLEQwPVIoMCksW2sxLG0wXT1DKCExKSxIMD1SKG51bGwpO1MoKCk9PntpZihQPT09InBvb3IiKXtpZihtMCghMCksSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCk7SDAuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57bTAoITEpLEgwLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZihtMCghMSksSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCksSDAuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoSDAuY3VycmVudCljbGVhclRpbWVvdXQoSDAuY3VycmVudCl9fSxbUF0pO2xldCBDMD1gJHtHfS9zdHJlYW0ubWpwZWdgO1MoKCk9PntwLmN1cnJlbnQ9bnVsbCxKMChudWxsKX0sW0ddKTtsZXQgTDA9YigoTik9PntpZighTnx8Ti53aWR0aDw9MHx8Ti5oZWlnaHQ8PTApcmV0dXJuO2xldCB6PXAuY3VycmVudCxCPU4ub3JpZW50YXRpb249PT12b2lkIDAmJno/Lm9yaWVudGF0aW9uP3suLi5OLG9yaWVudGF0aW9uOnoub3JpZW50YXRpb259Ok47aWYoeiYmei53aWR0aD09PUIud2lkdGgmJnouaGVpZ2h0PT09Qi5oZWlnaHQmJnoub3JpZW50YXRpb249PT1CLm9yaWVudGF0aW9uKXJldHVybjtwLmN1cnJlbnQ9QixKMChCKSxvMC5jdXJyZW50Py4oQil9LFtdKSxuMD1SKFUpO24wLmN1cnJlbnQ9VSxTKCgpPT57bjAuY3VycmVudD8uKG8pfSxbb10pLFMoKCk9PntpZihGJiYkKUwwKCQpfSxbRiwkLEwwXSk7bGV0IFQwPVIoITEpO1QwLmN1cnJlbnQ9bztsZXQgVzA9UihudWxsKTtTKCgpPT57aWYoIUZ8fCFWKXJldHVybjtsZXQgej1zZXRUaW1lb3V0KCgpPT57aWYoIVQwLmN1cnJlbnQpdigiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApLEI9VigoTSk9PntEMC5jdXJyZW50KyssZTAuY3VycmVudD1EYXRlLm5vdygpO2xldCBrPXcuY3VycmVudDtpZihrKXtpZihXMC5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwoVzAuY3VycmVudCk7VzAuY3VycmVudD1NLGsuc3JjPU19aWYoIVQwLmN1cnJlbnQpY2xlYXJUaW1lb3V0KHopLEcwKCEwKSx2KG51bGwpfSk7cmV0dXJuKCk9PntpZihjbGVhclRpbWVvdXQoeiksQj8uKCksVzAuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKFcwLmN1cnJlbnQpLFcwLmN1cnJlbnQ9bnVsbH19LFtGLFZdKTtsZXQgWDA9YigoTik9PntsZXQgej1jMChwLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sQj1pMCh6LE4ueCxOLnkpLE09Ti5lZGdlPT09dm9pZCAwP3ZvaWQgMDpzMSh6LE4uZWRnZSksaz1NPT09dm9pZCAwP3t0eXBlOk4udHlwZSwuLi5CfTp7dHlwZTpOLnR5cGUsLi4uQixlZGdlOk19O2lmKEYpe1E/LihrKTtyZXR1cm59bGV0IG09aC5jdXJyZW50O2lmKCFtfHxtLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGspKSxpPW5ldyBVaW50OEFycmF5KDErYy5sZW5ndGgpO2lbMF09WjQsaS5zZXQoYywxKSxtLnNlbmQoaSl9LFtGLFFdKSxOMD1iKChOKT0+e2lmKEYpe0g/LihOKTtyZXR1cm59bGV0IHo9aC5jdXJyZW50O2lmKCF6fHx6LnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IEI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtidXR0b246Tn0pKSxNPW5ldyBVaW50OEFycmF5KDErQi5sZW5ndGgpO01bMF09cTQsTS5zZXQoQiwxKSx6LnNlbmQoTSl9LFtGLEhdKSxfMD1iKChOKT0+e2xldCB6PWMwKHAuY3VycmVudCkuaW5wdXRPcmllbnRhdGlvbixCPWkwKHosTi54MSxOLnkxKSxNPWkwKHosTi54MixOLnkyKSxrPXt0eXBlOk4udHlwZSx4MTpCLngseTE6Qi55LHgyOk0ueCx5MjpNLnl9O2lmKEYpe0s/LihrKTtyZXR1cm59bGV0IG09aC5jdXJyZW50O2lmKCFtfHxtLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGM9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGspKSxpPW5ldyBVaW50OEFycmF5KDErYy5sZW5ndGgpO2lbMF09UTQsaS5zZXQoYywxKSxtLnNlbmQoaSl9LFtGLEtdKTtTKCgpPT57aWYoRilyZXR1cm47bGV0IE49bmV3IEFib3J0Q29udHJvbGxlcix6PSgpPT57ZmV0Y2goYCR7R30vY29uZmlnYCx7c2lnbmFsOk4uc2lnbmFsfSkudGhlbigoWTEpPT5ZMS5qc29uKCkpLnRoZW4oKFkxKT0+e0wwKFkxKX0pLmNhdGNoKCgpPT57fSl9O3ooKTtsZXQgQj1zZXRJbnRlcnZhbCh6LDEwMDApLE09WD8/Ry5yZXBsYWNlKC9eaHR0cC8sIndzIikrIi93cyIsaz1uZXcgV2ViU29ja2V0KE0pO2suYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGguY3VycmVudD1rLGsub25vcGVuPSgpPT57RzAoITApLHYobnVsbCl9LGsub25jbG9zZT0oKT0+e0cwKCExKX0say5vbmVycm9yPSgpPT57digiV2ViU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIiksRzAoITEpfTtsZXQgbT1uZXcgQWJvcnRDb250cm9sbGVyLGM9c2V0SW50ZXJ2YWwoKCk9Pnt3MChEMC5jdXJyZW50KSxEMC5jdXJyZW50PTB9LDEwMDApLGk9ITEsUTk9c2V0VGltZW91dCgoKT0+e2lmKCFpKXYoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtsZXQgXzk9KGF3YWl0IGZldGNoKEMwLHtzaWduYWw6bS5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIV85KXJldHVybjtsZXQgYjE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOk04LHZhbHVlOlIxfT1hd2FpdCBfOS5yZWFkKCk7aWYoTTgpYnJlYWs7aWYoUjEpZm9yKGxldCBqMT0wO2oxPD1SMS5sZW5ndGgtYjEubGVuZ3RoO2oxKyspe2xldCAkOT0hMDtmb3IobGV0IFoxPTA7WjE8YjEubGVuZ3RoO1oxKyspaWYoUjFbajErWjFdIT09YjFbWjFdKXskOT0hMTticmVha31pZigkOSl7aWYoRDAuY3VycmVudCsrLCFpKWk9ITAsY2xlYXJUaW1lb3V0KFE5KX19fX1jYXRjaHt9fSkoKSwoKT0+e20uYWJvcnQoKSxOLmFib3J0KCksY2xlYXJJbnRlcnZhbChCKSxjbGVhckludGVydmFsKGMpLGNsZWFyVGltZW91dChROSksay5jbG9zZSgpLGguY3VycmVudD1udWxsfX0sW0csQzAsRixMMCxYXSk7bGV0IGUwPVIoMCk7UygoKT0+e2lmKCFGKXJldHVybjtsZXQgTj0yMDAwLHo9KCk9PntsZXQgaz1lMC5jdXJyZW50O2lmKCFrfHwhVDAuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1rPk4pRzAoITEpfSxCPXNldEludGVydmFsKCgpPT57dzAoRDAuY3VycmVudCksRDAuY3VycmVudD0wLHooKX0sMTAwMCksTT0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4peigpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsTSksKCk9PntjbGVhckludGVydmFsKEIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLE0pfX0sW0ZdKTtsZXQgeDA9YigoKT0+e3JldHVybiBGP3cuY3VycmVudDpFLmN1cnJlbnR9LFtGXSksJDA9YigoKT0+e3JldHVybiBnLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz94MCgpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbH0sW3gwXSksTz1iKChOLHopPT57bGV0IEI9JDAoKTtpZighQilyZXR1cm47bGV0IE09KHouY2xpZW50WC1CLmxlZnQpL0Iud2lkdGgsaz0oei5jbGllbnRZLUIudG9wKS9CLmhlaWdodDtYMCh7dHlwZTpOLHg6TSx5Omt9KX0sWyQwLFgwXSksQT1SKCExKSxUPVIoITEpLHk9UighMSksZD1SKHtkeDowLGR5OjB9KSxmPVIoITEpLFtLMCxuXT1DKCExKSxRMD1SKHt4OjAuNSx5OjAuNX0pLFtzLGVdPUMobnVsbCk7UygoKT0+e2xldCBOPShCKT0+e2lmKEIua2V5PT09IkFsdCIpbighMCl9LHo9KEIpPT57aWYoQi5rZXk9PT0iQWx0Iil7aWYobighMSksIVQuY3VycmVudCllKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixOKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHopLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLE4pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIseil9fSxbXSksUygoKT0+e2lmKEswJiYhVC5jdXJyZW50KXtsZXQgTj1RMC5jdXJyZW50O2Uoe3gxOk4ueCx5MTpOLnkseDI6MS1OLngseTI6MS1OLnl9KX1lbHNlIGlmKCFLMCYmIVQuY3VycmVudCllKG51bGwpfSxbSzBdKTtsZXQgRjA9UihudWxsKSxrMD1SKCExKSxPMD1SKDApLGIwPWIoKE4seik9PntrMC5jdXJyZW50PSEwO2xldCBCPUYwLmN1cnJlbnQ7aWYoQiljYW5jZWxBbmltYXRpb25GcmFtZShPMC5jdXJyZW50KSxPMC5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0Iuc3R5bGUubGVmdD1gJHtOKjEwMH0lYCxCLnN0eWxlLnRvcD1gJHt6KjEwMH0lYCxCLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pfSxbXSksRzE9YigoTix6KT0+e2lmKCFrMC5jdXJyZW50KXJldHVybjtsZXQgQj1GMC5jdXJyZW50O2lmKEIpY2FuY2VsQW5pbWF0aW9uRnJhbWUoTzAuY3VycmVudCksTzAuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntCLnN0eWxlLmxlZnQ9YCR7TioxMDB9JWAsQi5zdHlsZS50b3A9YCR7eioxMDB9JWB9KX0sW10pLFgxPWIoKCk9PntrMC5jdXJyZW50PSExO2xldCBOPUYwLmN1cnJlbnQ7aWYoTiljYW5jZWxBbmltYXRpb25GcmFtZShPMC5jdXJyZW50KSxOLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxbXSksSjk9UigwKSxnMD1SKG51bGwpLEE4PWIoKCk9PntsZXQgTj1EYXRlLm5vdygpLHo9Ti1KOS5jdXJyZW50O2lmKEo5LmN1cnJlbnQ9Tix6PDMwMCl7aWYoZzAuY3VycmVudCljbGVhclRpbWVvdXQoZzAuY3VycmVudCksZzAuY3VycmVudD1udWxsO2lmKHEpcSgpO2Vsc2UgTjAoImFwcF9zd2l0Y2hlciIpfWVsc2UgZzAuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57aWYocSlxKCk7ZWxzZSBOMCgiaG9tZSIpO2cwLmN1cnJlbnQ9bnVsbH0sMzAwKX0sW04wLHFdKSxDMT1jMCh0KSxwMD1DMS5kaXNwbGF5Q29uZmlnLE0wPSgoKT0+e2lmKCFwMHx8IXowKXJldHVybiBudWxsO2lmKHowLndpZHRoPT09MHx8ejAuaGVpZ2h0PT09MClyZXR1cm4gbnVsbDtsZXQgTj1NYXRoLm1pbih6MC53aWR0aC9wMC53aWR0aCx6MC5oZWlnaHQvcDAuaGVpZ2h0KTtyZXR1cm57d2lkdGg6cDAud2lkdGgqTixoZWlnaHQ6cDAuaGVpZ2h0Kk59fSkoKSxKMT1DMS5yb3RhdGlvbkRlZ3JlZXMsWTk9QzEubmVlZHNDc3NSb3RhdGlvbiYmTWF0aC5hYnMoSjEpPT09OTAsWjk9WSxxOT17cG9zaXRpb246ImFic29sdXRlIix0b3A6IjUwJSIsbGVmdDoiNTAlIix3aWR0aDpZOSYmTTA/YCR7TTAuaGVpZ2h0fXB4YDoiMTAwJSIsaGVpZ2h0Olk5JiZNMD9gJHtNMC53aWR0aH1weGA6IjEwMCUiLHRyYW5zZm9ybTpgdHJhbnNsYXRlKC01MCUsIC01MCUpJHtKMT09PTA/IiI6YCByb3RhdGUoJHtKMX1kZWcpYH1gLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciIsY3Vyc29yOno4LGRpc3BsYXk6ImJsb2NrIix1c2VyU2VsZWN0OiJub25lIixXZWJraXRVc2VyU2VsZWN0OiJub25lIix0b3VjaEFjdGlvbjoibm9uZSIsLi4uWSwuLi5KMT09PTA/e306e2JvcmRlclJhZGl1czowLGNvcm5lclNoYXBlOnZvaWQgMH19O3JldHVybiBfKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixmbGV4OjEsLi4uVz97fTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LG92ZXJmbG93OiJoaWRkZW4iLG1pbldpZHRoOjAsbWluSGVpZ2h0OjAsLi4uSn0sY2xhc3NOYW1lOlosY2hpbGRyZW46W18oImRpdiIse3JlZjpzMCxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixmbGV4OjEsbWluSGVpZ2h0OjAsbWluV2lkdGg6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpfKCJkaXYiLHtyZWY6ZyxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIix3aWR0aDpNMD9gJHtNMC53aWR0aH1weGA6IjEwMCUiLGhlaWdodDpNMD9gJHtNMC5oZWlnaHR9cHhgOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIixib3JkZXJSYWRpdXM6Wjk/LmJvcmRlclJhZGl1cyxjb3JuZXJTaGFwZTpaOT8uY29ybmVyU2hhcGV9LGNoaWxkcmVuOltfKCJpbWciLHtyZWY6RSxzcmM6Rj92b2lkIDA6QzAsZHJhZ2dhYmxlOiExLG9uTG9hZDooTik9PntsZXQgej1OLmN1cnJlbnRUYXJnZXQ7aWYoei5uYXR1cmFsV2lkdGg+MCYmei5uYXR1cmFsSGVpZ2h0PjApTDAoe3dpZHRoOnoubmF0dXJhbFdpZHRoLGhlaWdodDp6Lm5hdHVyYWxIZWlnaHR9KX0sc3R5bGU6Rj97ZGlzcGxheToibm9uZSJ9OnE5fSksRiYmXygiaW1nIix7cmVmOncsZHJhZ2dhYmxlOiExLG9uTG9hZDooTik9PntsZXQgej1OLmN1cnJlbnRUYXJnZXQ7aWYoei5uYXR1cmFsV2lkdGg+MCYmei5uYXR1cmFsSGVpZ2h0PjApTDAoe3dpZHRoOnoubmF0dXJhbFdpZHRoLGhlaWdodDp6Lm5hdHVyYWxIZWlnaHR9KX0sc3R5bGU6cTl9KSxfKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGN1cnNvcjp6OCx0b3VjaEFjdGlvbjoibm9uZSJ9LG9uTW91c2VEb3duOihOKT0+e04ucHJldmVudERlZmF1bHQoKTtsZXQgej0kMCgpO2lmKCF6KXJldHVybjtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O2lmKE4uYWx0S2V5KXtULmN1cnJlbnQ9ITAseS5jdXJyZW50PU4uc2hpZnRLZXk7bGV0IGs9e3gxOkIseTE6TSx4MjoxLUIseTI6MS1NfTtkLmN1cnJlbnQ9e2R4OjEtQi1CLGR5OjEtTS1NfSxlKGspLF8wKHt0eXBlOiJiZWdpbiIsLi4ua30pO3JldHVybn1pZihiMChCLE0pLE0+MC44OClBLmN1cnJlbnQ9ITAsWDAoe3R5cGU6ImJlZ2luIix4OkIseTpNLGVkZ2U6RTB9KTtlbHNlIEEuY3VycmVudD0hMSxPKCJiZWdpbiIsTil9LG9uTW91c2VNb3ZlOihOKT0+e2xldCB6PSQwKCk7aWYoIXopcmV0dXJuO2xldCBCPShOLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLE09KE4uY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoUTAuY3VycmVudD17eDpCLHk6TX0sTi5idXR0b25zPT09MCl7aWYoTi5hbHRLZXkpZSh7eDE6Qix5MTpNLHgyOjEtQix5MjoxLU19KTtyZXR1cm59aWYoVC5jdXJyZW50KXtsZXQgaztpZih5LmN1cnJlbnQpe2xldCBtPWQuY3VycmVudDtrPXt4MTpCLHkxOk0seDI6QittLmR4LHkyOk0rbS5keX19ZWxzZSBrPXt4MTpCLHkxOk0seDI6MS1CLHkyOjEtTX07ZShrKSxfMCh7dHlwZToibW92ZSIsLi4ua30pO3JldHVybn1pZihHMShCLE0pLEEuY3VycmVudClYMCh7dHlwZToibW92ZSIseDpCLHk6TSxlZGdlOkUwfSk7ZWxzZSBPKCJtb3ZlIixOKX0sb25Nb3VzZVVwOihOKT0+e2lmKFQuY3VycmVudCl7bGV0IHo9JDAoKTtpZih6KXtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O2lmKHkuY3VycmVudCl7bGV0IGs9ZC5jdXJyZW50O18wKHt0eXBlOiJlbmQiLHgxOkIseTE6TSx4MjpCK2suZHgseTI6TStrLmR5fSl9ZWxzZSBfMCh7dHlwZToiZW5kIix4MTpCLHkxOk0seDI6MS1CLHkyOjEtTX0pfWlmKFQuY3VycmVudD0hMSwhTi5hbHRLZXkpZShudWxsKTtyZXR1cm59aWYoWDEoKSxBLmN1cnJlbnQpe2xldCB6PSQwKCk7aWYoeil7bGV0IEI9KE4uY2xpZW50WC16LmxlZnQpL3oud2lkdGgsTT0oTi5jbGllbnRZLXoudG9wKS96LmhlaWdodDtYMCh7dHlwZToiZW5kIix4OkIseTpNLGVkZ2U6RTB9KX1BLmN1cnJlbnQ9ITE7cmV0dXJufU8oImVuZCIsTil9LG9uTW91c2VMZWF2ZTooTik9PntpZihULmN1cnJlbnQpe2lmKHMpXzAoe3R5cGU6ImVuZCIsLi4uc30pO1QuY3VycmVudD0hMSxlKG51bGwpO3JldHVybn1pZihYMSgpLEEuY3VycmVudCl7bGV0IHo9JDAoKTtpZih6KXtsZXQgQj0oTi5jbGllbnRYLXoubGVmdCkvei53aWR0aCxNPShOLmNsaWVudFktei50b3ApL3ouaGVpZ2h0O1gwKHt0eXBlOiJlbmQiLHg6Qix5Ok0sZWRnZTpFMH0pfUEuY3VycmVudD0hMTtyZXR1cm59aWYoTi5idXR0b25zPjApTygiZW5kIixOKTtlKG51bGwpfSxvblRvdWNoU3RhcnQ6KE4pPT57Ti5wcmV2ZW50RGVmYXVsdCgpO2xldCB6PSQwKCk7aWYoIXopcmV0dXJuO2lmKE4udG91Y2hlcy5sZW5ndGg+PTIpe1gxKCk7bGV0IG09Ti50b3VjaGVzWzBdLGM9Ti50b3VjaGVzWzFdLGk9e3gxOihtLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLHkxOihtLmNsaWVudFktei50b3ApL3ouaGVpZ2h0LHgyOihjLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLHkyOihjLmNsaWVudFktei50b3ApL3ouaGVpZ2h0fTtpZighZi5jdXJyZW50JiYhQS5jdXJyZW50KVgwKHt0eXBlOiJlbmQiLHg6aS54MSx5OmkueTF9KTtmLmN1cnJlbnQ9ITAsVC5jdXJyZW50PSEwLEEuY3VycmVudD0hMSxlKGkpLF8wKHt0eXBlOiJiZWdpbiIsLi4uaX0pO3JldHVybn1sZXQgQj1OLnRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoYjAoTSxrKSxrPjAuODgpQS5jdXJyZW50PSEwLFgwKHt0eXBlOiJiZWdpbiIseDpNLHk6ayxlZGdlOkUwfSk7ZWxzZSBBLmN1cnJlbnQ9ITEsWDAoe3R5cGU6ImJlZ2luIix4Ok0seTprfSl9LG9uVG91Y2hNb3ZlOihOKT0+e04ucHJldmVudERlZmF1bHQoKTtsZXQgej0kMCgpO2lmKCF6KXJldHVybjtpZihmLmN1cnJlbnQmJk4udG91Y2hlcy5sZW5ndGg+PTIpe2xldCBtPU4udG91Y2hlc1swXSxjPU4udG91Y2hlc1sxXSxpPXt4MToobS5jbGllbnRYLXoubGVmdCkvei53aWR0aCx5MToobS5jbGllbnRZLXoudG9wKS96LmhlaWdodCx4MjooYy5jbGllbnRYLXoubGVmdCkvei53aWR0aCx5MjooYy5jbGllbnRZLXoudG9wKS96LmhlaWdodH07ZShpKSxfMCh7dHlwZToibW92ZSIsLi4uaX0pO3JldHVybn1sZXQgQj1OLnRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoRzEoTSxrKSxBLmN1cnJlbnQpWDAoe3R5cGU6Im1vdmUiLHg6TSx5OmssZWRnZTpFMH0pO2Vsc2UgWDAoe3R5cGU6Im1vdmUiLHg6TSx5Omt9KX0sb25Ub3VjaEVuZDooTik9PntOLnByZXZlbnREZWZhdWx0KCk7bGV0IHo9JDAoKTtpZigheilyZXR1cm47aWYoZi5jdXJyZW50KXtpZihOLnRvdWNoZXMubGVuZ3RoPDIpe2xldCBtPU4uY2hhbmdlZFRvdWNoZXNbMF0sYz1zO2lmKG0mJmMpXzAoe3R5cGU6ImVuZCIseDE6KG0uY2xpZW50WC16LmxlZnQpL3oud2lkdGgseTE6KG0uY2xpZW50WS16LnRvcCkvei5oZWlnaHQseDI6Yy54Mix5MjpjLnkyfSk7ZWxzZSBpZihjKV8wKHt0eXBlOiJlbmQiLC4uLmN9KTtmLmN1cnJlbnQ9ITEsVC5jdXJyZW50PSExLGUobnVsbCl9cmV0dXJufWxldCBCPU4uY2hhbmdlZFRvdWNoZXNbMF07aWYoIUIpcmV0dXJuO2xldCBNPShCLmNsaWVudFgtei5sZWZ0KS96LndpZHRoLGs9KEIuY2xpZW50WS16LnRvcCkvei5oZWlnaHQ7aWYoWDEoKSxBLmN1cnJlbnQpWDAoe3R5cGU6ImVuZCIseDpNLHk6ayxlZGdlOkUwfSksQS5jdXJyZW50PSExO2Vsc2UgWDAoe3R5cGU6ImVuZCIseDpNLHk6a30pfX0pLF8oImRpdiIse3JlZjpGMCwiZGF0YS10ZXN0aWQiOiJ0b3VjaC1pbmRpY2F0b3IiLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLHdpZHRoOjI0LGhlaWdodDoyNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSg1OSwxMzAsMjQ2LDAuNSkiLGJveFNoYWRvdzoiMCAwIDhweCByZ2JhKDU5LDEzMCwyNDYsMC4zKSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX0pLHMmJl8oYSx7Y2hpbGRyZW46W18oImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOlc4KHMueDEscy55MSl9KSxfKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpXOChzLngyLHMueTIpfSldfSksIW8mJiF1JiZfKCJkaXYiLHtzdHlsZTp7Li4uSDgsLi4uWXx8e319LGNoaWxkcmVuOl8oInNwYW4iLHtzdHlsZTp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0fSxjaGlsZHJlbjoiQ29ubmVjdGluZy4uLiJ9KX0pLHUmJl8oImRpdiIse3N0eWxlOkg4LGNoaWxkcmVuOl8oInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmNDQiLGZvbnRTaXplOjE0LHBhZGRpbmc6MjAsdGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjp1fSl9KSxrMSYmXygiZGl2Iix7c3R5bGU6XzQsY2hpbGRyZW46Xygic3BhbiIse3N0eWxlOntjb2xvcjoiI2ZiYmYyNCIsZm9udFNpemU6MTMsZm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46IlNsb3cgY29ubmVjdGlvbiJ9KX0pXX0pfSksIVcmJl8oImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI0cHggOHB4Iixib3JkZXJUb3A6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIn0sY2hpbGRyZW46W18oImJ1dHRvbiIse29uQ2xpY2s6QTgsc3R5bGU6e2JhY2tncm91bmQ6Im5vbmUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKSIsY29sb3I6IiNhYWEiLGZvbnRTaXplOjExLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIscGFkZGluZzoiMnB4IDEwcHgiLGN1cnNvcjoicG9pbnRlciIsYm9yZGVyUmFkaXVzOjR9LGNoaWxkcmVuOiJIb21lIn0pLF8oInNwYW4iLHtzdHlsZTp7Y29sb3I6dDA+MD8iIzRmNCI6IiM4ODgiLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Nn0sY2hpbGRyZW46W1AmJl8oInNwYW4iLHsiZGF0YS10ZXN0aWQiOiJxdWFsaXR5LWRvdCIsc3R5bGU6e3dpZHRoOjgsaGVpZ2h0OjgsYm9yZGVyUmFkaXVzOiI1MCUiLGRpc3BsYXk6ImlubGluZS1ibG9jayIsYmFja2dyb3VuZDpQPT09Imdvb2QiPyIjNGFkZTgwIjpQPT09ImRlZ3JhZGVkIj8iI2ZhY2MxNSI6IiNlZjQ0NDQifX0pLHQwLCIgZnBzIl19KV19KV19KX12YXIgXzQ9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjgsbGVmdDoiNTAlIix0cmFuc2Zvcm06InRyYW5zbGF0ZVgoLTUwJSkiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC43KSIsYm9yZGVyUmFkaXVzOjYscGFkZGluZzoiNHB4IDEycHgiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxIOD17cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjgpIn0sTDg9MjA7ZnVuY3Rpb24gVzgoRyxYKXtyZXR1cm57cG9zaXRpb246ImFic29sdXRlIixsZWZ0OmAke0cqMTAwfSVgLHRvcDpgJHtYKjEwMH0lYCx3aWR0aDpMOCxoZWlnaHQ6TDgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC40NSkiLGJvcmRlcjoiMS4yNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC41NSkiLGJveFNoYWRvdzoiMCAxcHggM3B4IHJnYmEoMCwwLDAsMC40NSkiLHRyYW5zZm9ybToidHJhbnNsYXRlKC01MCUsIC01MCUpIixwb2ludGVyRXZlbnRzOiJub25lIn19ZnVuY3Rpb24gdjAoRyl7aWYoIUcpcmV0dXJuImlwaG9uZSI7bGV0IFg9Ry50b0xvd2VyQ2FzZSgpO2lmKFguaW5jbHVkZXMoImlwYWQiKSlyZXR1cm4iaXBhZCI7aWYoWC5pbmNsdWRlcygid2F0Y2giKSlyZXR1cm4id2F0Y2giO2lmKFguaW5jbHVkZXMoInZpc2lvbiIpKXJldHVybiJ2aXNpb24iO3JldHVybiJpcGhvbmUifXZhciBWMD17aXBob25lOnt3aWR0aDo0MjcsaGVpZ2h0Ojg4MSxiZXplbFg6MTgsYmV6ZWxZOjE4LGlubmVyUmFkaXVzOjU1fSxpcGFkOnt3aWR0aDo0MzAsaGVpZ2h0OjYwNSxiZXplbFg6MTYsYmV6ZWxZOjE2LGlubmVyUmFkaXVzOjEyfSx3YXRjaDp7d2lkdGg6Mjc0LGhlaWdodDozMjIsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czo3OX0sdmlzaW9uOnt3aWR0aDo2NDAsaGVpZ2h0OjQwMCxiZXplbFg6MTIsYmV6ZWxZOjEyLGlubmVyUmFkaXVzOjMyfX0sdzY9VjAuaXBob25lLndpZHRoLFQ2PVYwLmlwaG9uZS5oZWlnaHQsazY9VjAuaXBob25lLmJlemVsWCxDNj1WMC5pcGhvbmUuYmV6ZWxZLGI2PVYwLmlwaG9uZS5pbm5lclJhZGl1cyxOOD17ImlQaG9uZSAxNyBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNyBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE3Ijp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSBBaXIiOnt3aWR0aDoxMjYwLGhlaWdodDoyNzM2fSwiaVBob25lIDE2IFBybyBNYXgiOnt3aWR0aDoxMzIwLGhlaWdodDoyODY4fSwiaVBob25lIDE2IFBybyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgMTYgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTYiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBob25lIDE2ZSI6e3dpZHRoOjExNzAsaGVpZ2h0OjI1MzJ9LCJpUGhvbmUgMTUgUHJvIE1heCI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUgUHJvIjp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNSBQbHVzIjp7d2lkdGg6MTI5MCxoZWlnaHQ6Mjc5Nn0sImlQaG9uZSAxNSI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGFkIFBybyAxMy1pbmNoIChNNSkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTUpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgUHJvIDEzLWluY2ggKE00KSI6e3dpZHRoOjIwNjQsaGVpZ2h0OjI3NTJ9LCJpUGFkIFBybyAxMS1pbmNoIChNNCkiOnt3aWR0aDoxNjY4LGhlaWdodDoyNDIwfSwiaVBhZCBBaXIgMTMtaW5jaCAoTTMpIjp7d2lkdGg6MjA0OCxoZWlnaHQ6MjczMn0sImlQYWQgQWlyIDExLWluY2ggKE0zKSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIChBMTYpIjp7d2lkdGg6MTY0MCxoZWlnaHQ6MjM2MH0sImlQYWQgbWluaSAoQTE3IFBybykiOnt3aWR0aDoxNDg4LGhlaWdodDoyMjY2fSwiQXBwbGUgV2F0Y2ggVWx0cmEgMyAoNDltbSkiOnt3aWR0aDo0MjIsaGVpZ2h0OjUxNH0sIkFwcGxlIFdhdGNoIFVsdHJhIDIgKDQ5bW0pIjp7d2lkdGg6NDEwLGhlaWdodDo1MDJ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTEgKDQ2bW0pIjp7d2lkdGg6NDE2LGhlaWdodDo0OTZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTEgKDQybW0pIjp7d2lkdGg6Mzc0LGhlaWdodDo0NDZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTAgKDQ2bW0pIjp7d2lkdGg6NDE2LGhlaWdodDo0OTZ9LCJBcHBsZSBXYXRjaCBTZXJpZXMgMTAgKDQybW0pIjp7d2lkdGg6Mzc0LGhlaWdodDo0NDZ9LCJBcHBsZSBXYXRjaCBTRSAzICg0NG1tKSI6e3dpZHRoOjM2OCxoZWlnaHQ6NDQ4fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDBtbSkiOnt3aWR0aDozMjQsaGVpZ2h0OjM5NH0sIkFwcGxlIFdhdGNoIFNFICg0NG1tKSI6e3dpZHRoOjM2OCxoZWlnaHQ6NDQ4fSwiQXBwbGUgV2F0Y2ggU0UgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBWaXNpb24gUHJvIjp7d2lkdGg6MTkyMCxoZWlnaHQ6MTA4MH19O2Z1bmN0aW9uIFAxKEcsWCl7bGV0IEo9RyYmRy53aWR0aD4wJiZHLmhlaWdodD4wP0c6WCxZPUYxKEopO2lmKFkpcmV0dXJuYCR7WS53aWR0aH0gLyAke1kuaGVpZ2h0fWA7cmV0dXJuYCR7VjAuaXBob25lLndpZHRoLTIqVjAuaXBob25lLmJlemVsWH0gLyAke1YwLmlwaG9uZS5oZWlnaHQtMipWMC5pcGhvbmUuYmV6ZWxZfWB9ZnVuY3Rpb24gVTEoRz0iaXBob25lIixYKXtsZXQgSj1YP044W1hdOm51bGw7aWYoSilyZXR1cm4gSjtsZXQgWT1WMFtHXTtyZXR1cm57d2lkdGg6WS53aWR0aC0yKlkuYmV6ZWxYLGhlaWdodDpZLmhlaWdodC0yKlkuYmV6ZWxZfX1mdW5jdGlvbiBBMShHPSJpcGhvbmUiLFgpe2lmKGwwKFgpKXN3aXRjaChHKXtjYXNlImlwYWQiOnJldHVybiA3MjA7Y2FzZSJ2aXNpb24iOnJldHVybiA1ODA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtkZWZhdWx0OnJldHVybiA2MjB9c3dpdGNoKEcpe2Nhc2UiaXBhZCI6cmV0dXJuIDQwMDtjYXNlIndhdGNoIjpyZXR1cm4gMjAwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2RlZmF1bHQ6cmV0dXJuIDMyMH19ZnVuY3Rpb24gTTEoRz0iaXBob25lIixYKXtsZXQgSj1WMFtHXSxZPUoud2lkdGgtMipKLmJlemVsWCxaPUouaGVpZ2h0LTIqSi5iZXplbFk7aWYoWTxaJiZsMChYKSlyZXR1cm5gJHtKLmlubmVyUmFkaXVzL1oqMTAwfSUgLyAke0ouaW5uZXJSYWRpdXMvWSoxMDB9JWA7cmV0dXJuYCR7Si5pbm5lclJhZGl1cy9ZKjEwMH0lIC8gJHtKLmlubmVyUmFkaXVzL1oqMTAwfSVgfXZhciByMT1qMChudWxsKTtmdW5jdGlvbiBJMShHKXtsZXQgWD1hMChyMSk7aWYoIVgpdGhyb3cgRXJyb3IoYDxTaW11bGF0b3JUb29sYmFyLiR7R30+IG11c3QgYmUgcmVuZGVyZWQgaW5zaWRlIDxTaW11bGF0b3JUb29sYmFyPmApO3JldHVybiBYfXZhciB6ND17ZGlzcGxheToiZmxleCIsZmxleFdyYXA6IndyYXAiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDoiNHB4IDEycHgiLHBhZGRpbmc6IjhweCAxMnB4Iixib3JkZXJSYWRpdXM6MjQsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpIixib3hTaGFkb3c6IjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMikiLG1pbldpZHRoOjI0MCx3aWR0aDoiMTAwJSJ9O2Z1bmN0aW9uIEg0KHtleGVjOkcsb25Sb3RhdGU6WCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6WSxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpxLHN0cmVhbWluZzpRPSExLGRpc2FibGVkOks9ITEsY2hpbGRyZW46SCxzdHlsZTpWLC4uLkR9KXtsZXQgJD12MChaKSxXPXtleGVjOkcsb25Sb3RhdGU6WCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6WSxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpxLGRldmljZVR5cGU6JCxzdHJlYW1pbmc6USxkaXNhYmxlZDpLfHwhWXx8IVF9O3JldHVybiBfKHIxLlByb3ZpZGVyLHt2YWx1ZTpXLGNoaWxkcmVuOl8oImRpdiIseyJkYXRhLXNpbXVsYXRvci10b29sYmFyIjohMCxzdHlsZTp7Li4uejQsLi4uVn0sLi4uRCxjaGlsZHJlbjpIfSl9KX12YXIgTDQ9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsdGV4dEFsaWduOiJsZWZ0IixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIscGFkZGluZzoiMnB4IDRweCIsbWFyZ2luOiItMnB4IC00cHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsbGluZUhlaWdodDoxLjIsZm9udEZhbWlseToiaW5oZXJpdCJ9LFc0PXkwKGZ1bmN0aW9uKHtuYW1lOlgsc3VidGl0bGU6SixoaWRlQ2hldnJvbjpZLHN0eWxlOlosb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOlEsLi4uS30sSCl7bGV0IFY9STEoIlRpdGxlIiksW0QsJF09QyghMSksTD1YPz9WLmRldmljZU5hbWU/PyJObyBzaW11bGF0b3IiLFc9Sj8/KFYuZGV2aWNlUnVudGltZT9WLmRldmljZVJ1bnRpbWUucmVwbGFjZSgvXC4vLCIgIik6IuKAlCIpO3JldHVybiBfKCJidXR0b24iLHtyZWY6SCx0eXBlOiJidXR0b24iLCJkYXRhLXNpbXVsYXRvci10b29sYmFyLXRpdGxlIjohMCxvbk1vdXNlRW50ZXI6KFUpPT57JCghMCkscT8uKFUpfSxvbk1vdXNlTGVhdmU6KFUpPT57JCghMSksUT8uKFUpfSxzdHlsZTp7Li4uTDQsYmFja2dyb3VuZDpEPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsLi4uWn0sLi4uSyxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjoiI2ZmZiIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOltMLCFZJiZfKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0eWxlOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjYpIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOl8oInBvbHlsaW5lIix7cG9pbnRzOiI2IDkgMTIgMTUgMTggOSJ9KX0pXX0pLF8oInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOld9KV19KX0pLE40PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gTzQoe3N0eWxlOkcsLi4uWH0pe3JldHVybiBfKCJkaXYiLHtzdHlsZTp7Li4uTjQsLi4uR30sLi4uWH0pfXZhciBEND17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC44KSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZC1jb2xvciAwLjE1cywgY29sb3IgMC4xNXMifSxFMT15MChmdW5jdGlvbih7Zm9yY2VEaXNhYmxlZDpYLHN0eWxlOkosZGlzYWJsZWQ6WSxvbk1vdXNlRW50ZXI6Wixvbk1vdXNlTGVhdmU6cSxjaGlsZHJlbjpRLC4uLkt9LEgpe2xldCBWPWEwKHIxKSxEPVl8fFh8fFY/LmRpc2FibGVkLFskLExdPUMoITEpO3JldHVybiBfKCJidXR0b24iLHtyZWY6SCx0eXBlOiJidXR0b24iLGRpc2FibGVkOkQsb25Nb3VzZUVudGVyOihXKT0+e0woITApLFo/LihXKX0sb25Nb3VzZUxlYXZlOihXKT0+e0woITEpLHE/LihXKX0sc3R5bGU6ey4uLkQ0LGNvbG9yOkQ/InJnYmEoMjU1LDI1NSwyNTUsMC4yNSkiOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLGJhY2tncm91bmQ6JCYmIUQ/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IixjdXJzb3I6RD8ibm90LWFsbG93ZWQiOiJwb2ludGVyIiwuLi5KfSwuLi5LLGNoaWxkcmVuOlF9KX0pO2Z1bmN0aW9uIEY0KCl7cmV0dXJuWyd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gc2V0IGZyb250bW9zdCB0byB0cnVlJywndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHBlcmZvcm0gYWN0aW9uICJBWFJhaXNlIiBvZiAoZmlyc3Qgd2luZG93IHdob3NlIG5hbWUgY29udGFpbnMgIndhdGNoT1MiKScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBjbGljayBtZW51IGl0ZW0gIkhvbWUiIG9mIG1lbnUgIkRldmljZSIgb2YgbWVudSBiYXIgaXRlbSAiRGV2aWNlIiBvZiBtZW51IGJhciAxJ10ubWFwKChYKT0+YC1lICcke1h9J2ApLnJlZHVjZSgoWCxKKT0+YCR7WH0gJHtKfWAsIm9zYXNjcmlwdCIpfXZhciBCND17cG9ydHJhaXQ6ImxhbmRzY2FwZV9sZWZ0IixsYW5kc2NhcGVfbGVmdDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXQifSxQND1fKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpfKCJwYXRoIix7ZDoiTTMgMTAuNSAxMiAzbDkgNy41VjIwYTEgMSAwIDAgMS0xIDFoLTV2LTdoLTZ2N0g0YTEgMSAwIDAgMS0xLTF6In0pfSksVTQ9Xygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMTQuNSA0aC01TDcgN0g0YTIgMiAwIDAgMC0yIDJ2OWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJWOWEyIDIgMCAwIDAtMi0yaC0zeiJ9KSxfKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiNCJ9KV19KSxBND1fKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAxMiAxMyIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOl8oInBhdGgiLHtkOiJNMTAuMjMwNSAxMi44MDc3SDQuNDIzODNDMy45MjM4MyAxMi44MDc3IDMuNTQ2ODggMTIuNjg0NiAzLjI5Mjk3IDEyLjQzODVDMy4wNDI5NyAxMi4xOTYzIDIuOTE3OTcgMTEuODE5NCAyLjkxNzk3IDExLjMwNzdWNS41MTI3NEMyLjkxNzk3IDQuOTk3MTEgMy4wNDI5NyA0LjYxODIxIDMuMjkyOTcgNC4zNzYwMkMzLjU0Njg4IDQuMTI5OTMgMy45MjM4MyA0LjAwNjg4IDQuNDIzODMgNC4wMDY4OEgxMC4yMzA1QzEwLjczNDQgNC4wMDY4OCAxMS4xMTEzIDQuMTI5OTMgMTEuMzYxMyA0LjM3NjAyQzExLjYxMTMgNC42MTgyMSAxMS43MzYzIDQuOTk3MTEgMTEuNzM2MyA1LjUxMjc0VjExLjMwNzdDMTEuNzM2MyAxMS44MTk0IDExLjYxMTMgMTIuMTk2MyAxMS4zNjEzIDEyLjQzODVDMTEuMTExMyAxMi42ODQ2IDEwLjczNDQgMTIuODA3NyAxMC4yMzA1IDEyLjgwNzdaTTEwLjIxMjkgMTEuODY0M0MxMC40MTYgMTEuODY0MyAxMC41NjI1IDExLjgxOTQgMTAuNjUyMyAxMS43Mjk1QzEwLjc0NjEgMTEuNjQzNiAxMC43OTMgMTEuNDk3MSAxMC43OTMgMTEuMjkwMVY1LjUyNDQ2QzEwLjc5MyA1LjMxNzQzIDEwLjc0NjEgNS4xNzA5NCAxMC42NTIzIDUuMDg1MDFDMTAuNTYyNSA0Ljk5NTE2IDEwLjQxNiA0Ljk1MDI0IDEwLjIxMjkgNC45NTAyNEg0LjQ0MTQxQzQuMjQyMTkgNC45NTAyNCA0LjA5NTcgNC45OTUxNiA0LjAwMTk1IDUuMDg1MDFDMy45MDgyIDUuMTcwOTQgMy44NjEzMyA1LjMxNzQzIDMuODYxMzMgNS41MjQ0NlYxMS4yOTAxQzMuODYxMzMgMTEuNDk3MSAzLjkwODIgMTEuNjQzNiA0LjAwMTk1IDExLjcyOTVDNC4wOTU3IDExLjgxOTQgNC4yNDIxOSAxMS44NjQzIDQuNDQxNDEgMTEuODY0M0gxMC4yMTI5Wk0yLjkxNzk3IDIuNTgzMDVWMC40MTUwODNDMi45MTc5NyAwLjIwMDI0IDIuOTg2MzMgMC4wNjkzODAzIDMuMTIzMDUgMC4wMjI1MDUzQzMuMjU5NzcgLTAuMDI4Mjc1OSAzLjQxMDE2IDAuMDA2ODgwMzMgMy41NzQyMiAwLjEyNzk3NEw1LjA1MDc4IDEuMjExOTZDNS4xNzU3OCAxLjMwNTcxIDUuMjM4MjggMS40MDE0MSA1LjIzODI4IDEuNDk5MDdDNS4yMzgyOCAxLjU5NjcyIDUuMTc1NzggMS42OTI0MyA1LjA1MDc4IDEuNzg2MThMMy41NzQyMiAyLjg2NDNDMy40MTAxNiAyLjk4NTQgMy4yNTk3NyAzLjAyMjUxIDMuMTIzMDUgMi45NzU2M0MyLjk4NjMzIDIuOTI0ODUgMi45MTc5NyAyLjc5Mzk5IDIuOTE3OTcgMi41ODMwNVpNMy41MzMyIDEuMTUzMzZDMy42MjY5NSAxLjE1MzM2IDMuNzA3MDMgMS4xODY1NyAzLjc3MzQ0IDEuMjUyOTdDMy44NDM3NSAxLjMxOTM4IDMuODc4OTEgMS4zOTc1MSAzLjg3ODkxIDEuNDg3MzVDMy44Nzg5MSAxLjU4MTEgMy44NDM3NSAxLjY2MzEzIDMuNzczNDQgMS43MzM0NEMzLjcwNzAzIDEuNzk5ODUgMy42MjY5NSAxLjgzMzA1IDMuNTMzMiAxLjgzMzA1SDIuODA2NjRDMi4zODA4NiAxLjgzMzA1IDIuMDExNzIgMS45MjQ4NSAxLjY5OTIyIDIuMTA4NDRDMS4zOTA2MiAyLjI4ODEzIDEuMTUyMzQgMi41MzgxMyAwLjk4NDM3NSAyLjg1ODQ0QzAuODE2NDA2IDMuMTc4NzYgMC43MzI0MjIgMy41NDU5NCAwLjczMjQyMiAzLjk2MDAxVjQuODM4OTFDMC43MzI0MjIgNC45MzY1NyAwLjY5NzI2NiA1LjAyMjUxIDAuNjI2OTUzIDUuMDk2NzJDMC41NTI3MzQgNS4xNjcwNCAwLjQ2NDg0NCA1LjIwMjE5IDAuMzYzMjgxIDUuMjAyMTlDMC4yNjU2MjUgNS4yMDIxOSAwLjE4MTY0MSA1LjE2NzA0IDAuMTExMzI4IDUuMDk2NzJDMC4wMzcxMDk0IDUuMDIyNTEgMCA0LjkzNjU3IDAgNC44Mzg5MVYzLjk2MDAxQzAgMy40MDE0MSAwLjExNzE4OCAyLjkxMTE4IDAuMzUxNTYyIDIuNDg5M0MwLjU4MjAzMSAyLjA2NzQzIDAuOTA4MjAzIDEuNzM5MyAxLjMzMDA4IDEuNTA0OTNDMS43NDgwNSAxLjI3MDU1IDIuMjM4MjggMS4xNTMzNiAyLjgwMDc4IDEuMTUzMzZIMy41MzMyWiJ9KX0pLE00PXkwKGZ1bmN0aW9uKHtvbkNsaWNrOlgsLi4uSn0sWSl7bGV0IFo9STEoIkhvbWVCdXR0b24iKTtyZXR1cm4gXyhFMSx7cmVmOlksImFyaWEtbGFiZWwiOiJIb21lIixvbkNsaWNrOihxKT0+e2lmKFg/LihxKSxxLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKFouZGV2aWNlVHlwZT09PSJ3YXRjaCIpWi5leGVjKEY0KCkpO2Vsc2UgWi5leGVjKCJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUiKX0sLi4uSixjaGlsZHJlbjpQNH0pfSksSTQ9eTAoZnVuY3Rpb24oe29uQ2xpY2s6WCwuLi5KfSxZKXtsZXQgWj1JMSgiU2NyZWVuc2hvdEJ1dHRvbiIpO3JldHVybiBfKEUxLHtyZWY6WSwiYXJpYS1sYWJlbCI6IlNjcmVlbnNob3QiLG9uQ2xpY2s6KHEpPT57aWYoWD8uKHEpLHEuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoWi5kZXZpY2VVZGlkKVouZXhlYyhgeGNydW4gc2ltY3RsIGlvICR7Wi5kZXZpY2VVZGlkfSBzY3JlZW5zaG90IH4vRGVza3RvcC9zZXJ2ZS1zaW0tc2NyZWVuc2hvdC0kKGRhdGUgKyVzKS5wbmdgKX0sLi4uSixjaGlsZHJlbjpVNH0pfSksRTQ9eTAoZnVuY3Rpb24oe29uQ2xpY2s6WCxmb3JjZURpc2FibGVkOkosLi4uWX0sWil7bGV0IHE9STEoIlJvdGF0ZUJ1dHRvbiIpLFE9cS5kZXZpY2VUeXBlPT09IndhdGNoInx8cS5kZXZpY2VUeXBlPT09InZpc2lvbiIsW0ssSF09QygicG9ydHJhaXQiKTtyZXR1cm4gUygoKT0+e0gocS5vcmllbnRhdGlvbj8/InBvcnRyYWl0Iil9LFtxLmRldmljZVVkaWQscS5vcmllbnRhdGlvbl0pLF8oRTEse3JlZjpaLCJhcmlhLWxhYmVsIjoiUm90YXRlIGRldmljZSIsZm9yY2VEaXNhYmxlZDpKfHxRLG9uQ2xpY2s6KFYpPT57aWYoWD8uKFYpLFYuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoIXEuZGV2aWNlVWRpZHx8USlyZXR1cm47bGV0IEQ9QjRbcS5vcmllbnRhdGlvbj8/S107aWYoSChEKSxxLm9uUm90YXRlKXEub25Sb3RhdGUoRCk7ZWxzZSBxLmV4ZWMoYHNlcnZlLXNpbSByb3RhdGUgJHtEfSAtZCAke3EuZGV2aWNlVWRpZH1gKX0sLi4uWSxjaGlsZHJlbjpBNH0pfSksWTA9SDQ7WTAuVGl0bGU9VzQ7WTAuQWN0aW9ucz1PNDtZMC5CdXR0b249RTE7WTAuSG9tZUJ1dHRvbj1NNDtZMC5TY3JlZW5zaG90QnV0dG9uPUk0O1kwLlJvdGF0ZUJ1dHRvbj1FNDtmdW5jdGlvbiB3NChHKXtsZXRbWCxKXT1DKG51bGwpLFk9UihuZXcgU2V0KSxaPWIoKHEpPT57cmV0dXJuIFkuY3VycmVudC5hZGQocSksKCk9PntZLmN1cnJlbnQuZGVsZXRlKHEpfX0sW10pO3JldHVybiBTKCgpPT57aWYoIUcpcmV0dXJuO2xldCBxPW5ldyBBYm9ydENvbnRyb2xsZXIsUT0hMSxLPW51bGwsSD1HLnJlcGxhY2UoL1wvc3RyZWFtXC5tanBlZyQvLCIiKSxWPShGKT0+e2lmKEYud2lkdGg8PTB8fEYuaGVpZ2h0PD0wKXJldHVybjtKKChFKT0+RSYmRS53aWR0aD09PUYud2lkdGgmJkUuaGVpZ2h0PT09Ri5oZWlnaHQmJkUub3JpZW50YXRpb249PT1GLm9yaWVudGF0aW9uP0U6Ril9LEQ9KCk9PntmZXRjaChgJHtIfS9jb25maWdgLHtzaWduYWw6cS5zaWduYWx9KS50aGVuKChGKT0+Ri5qc29uKCkpLnRoZW4oVikuY2F0Y2goKCk9Pnt9KX07RCgpO2xldCAkPXNldEludGVydmFsKEQsMTAwMCksTD1uZXcgVVJMKEcpO0wuc2VhcmNoUGFyYW1zLnNldCgicmF3IiwiMSIpO2xldCBXPUwudG9TdHJpbmcoKSxVPSgpPT57aWYoUXx8cS5zaWduYWwuYWJvcnRlZHx8SylyZXR1cm47Sz1zZXRUaW1lb3V0KCgpPT57Sz1udWxsLFAoKX0sMTAwMCl9LFA9YXN5bmMoKT0+e3RyeXtsZXQgRT0oYXdhaXQgZmV0Y2goVyx7c2lnbmFsOnEuc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFFKXtVKCk7cmV0dXJufWxldCB3PW5ldyBVaW50OEFycmF5KDApO3doaWxlKCEwKXtsZXR7ZG9uZTpnLHZhbHVlOmh9PWF3YWl0IEUucmVhZCgpO2lmKGcpYnJlYWs7bGV0IG89bmV3IFVpbnQ4QXJyYXkody5sZW5ndGgraC5sZW5ndGgpO28uc2V0KHcpLG8uc2V0KGgsdy5sZW5ndGgpLHc9bzt3aGlsZSghMCl7bGV0IEcwPS0xO2ZvcihsZXQgcD0wO3A8dy5sZW5ndGgtMTtwKyspaWYod1twXT09PTI1NSYmd1twKzFdPT09MjE2KXtHMD1wO2JyZWFrfWlmKEcwPT09LTEpYnJlYWs7bGV0IHU9LTE7Zm9yKGxldCBwPUcwKzI7cDx3Lmxlbmd0aC0xO3ArKylpZih3W3BdPT09MjU1JiZ3W3ArMV09PT0yMTcpe3U9cCsyO2JyZWFrfWlmKHU9PT0tMSlicmVhaztsZXQgdj13LnNsaWNlKEcwLHUpO3c9dy5zbGljZSh1KTtsZXQgdD1uZXcgQmxvYihbdl0se3R5cGU6ImltYWdlL2pwZWcifSksSjA9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KTtpZihZLmN1cnJlbnQuc2l6ZT09PTApe1VSTC5yZXZva2VPYmplY3RVUkwoSjApO2NvbnRpbnVlfWZvcihsZXQgcCBvZiBZLmN1cnJlbnQpcChKMCl9fX1jYXRjaHt9ZmluYWxseXtVKCl9fTtyZXR1cm4gUCgpLCgpPT57aWYoUT0hMCxLKWNsZWFyVGltZW91dChLKTtxLmFib3J0KCksY2xlYXJJbnRlcnZhbCgkKX19LFtHXSkse3N1YnNjcmliZUZyYW1lOlosZnJhbWU6bnVsbCxjb25maWc6WH19dmFyIFQ0PXtLZXlBOjQsS2V5Qjo1LEtleUM6NixLZXlEOjcsS2V5RTo4LEtleUY6OSxLZXlHOjEwLEtleUg6MTEsS2V5SToxMixLZXlKOjEzLEtleUs6MTQsS2V5TDoxNSxLZXlNOjE2LEtleU46MTcsS2V5TzoxOCxLZXlQOjE5LEtleVE6MjAsS2V5UjoyMSxLZXlTOjIyLEtleVQ6MjMsS2V5VToyNCxLZXlWOjI1LEtleVc6MjYsS2V5WDoyNyxLZXlZOjI4LEtleVo6MjksRGlnaXQxOjMwLERpZ2l0MjozMSxEaWdpdDM6MzIsRGlnaXQ0OjMzLERpZ2l0NTozNCxEaWdpdDY6MzUsRGlnaXQ3OjM2LERpZ2l0ODozNyxEaWdpdDk6MzgsRGlnaXQwOjM5LEVudGVyOjQwLEVzY2FwZTo0MSxCYWNrc3BhY2U6NDIsVGFiOjQzLFNwYWNlOjQ0LE1pbnVzOjQ1LEVxdWFsOjQ2LEJyYWNrZXRMZWZ0OjQ3LEJyYWNrZXRSaWdodDo0OCxCYWNrc2xhc2g6NDksU2VtaWNvbG9uOjUxLFF1b3RlOjUyLEJhY2txdW90ZTo1MyxDb21tYTo1NCxQZXJpb2Q6NTUsU2xhc2g6NTYsQ2Fwc0xvY2s6NTcsRjE6NTgsRjI6NTksRjM6NjAsRjQ6NjEsRjU6NjIsRjY6NjMsRjc6NjQsRjg6NjUsRjk6NjYsRjEwOjY3LEYxMTo2OCxGMTI6NjksUHJpbnRTY3JlZW46NzAsU2Nyb2xsTG9jazo3MSxQYXVzZTo3MixJbnNlcnQ6NzMsSG9tZTo3NCxQYWdlVXA6NzUsRGVsZXRlOjc2LEVuZDo3NyxQYWdlRG93bjo3OCxBcnJvd1JpZ2h0Ojc5LEFycm93TGVmdDo4MCxBcnJvd0Rvd246ODEsQXJyb3dVcDo4MixOdW1Mb2NrOjgzLE51bXBhZERpdmlkZTo4NCxOdW1wYWRNdWx0aXBseTo4NSxOdW1wYWRTdWJ0cmFjdDo4NixOdW1wYWRBZGQ6ODcsTnVtcGFkRW50ZXI6ODgsTnVtcGFkMTo4OSxOdW1wYWQyOjkwLE51bXBhZDM6OTEsTnVtcGFkNDo5MixOdW1wYWQ1OjkzLE51bXBhZDY6OTQsTnVtcGFkNzo5NSxOdW1wYWQ4Ojk2LE51bXBhZDk6OTcsTnVtcGFkMDo5OCxOdW1wYWREZWNpbWFsOjk5LENvbnRyb2xMZWZ0OjIyNCxTaGlmdExlZnQ6MjI1LEFsdExlZnQ6MjI2LE1ldGFMZWZ0OjIyNyxDb250cm9sUmlnaHQ6MjI4LFNoaWZ0UmlnaHQ6MjI5LEFsdFJpZ2h0OjIzMCxNZXRhUmlnaHQ6MjMxfTtmdW5jdGlvbiBrNChHKXtyZXR1cm4gVDRbR10/P251bGx9YXN5bmMgZnVuY3Rpb24gcTAoRyl7cmV0dXJuKGF3YWl0IGZldGNoKCIvZXhlYyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtjb21tYW5kOkd9KX0pKS5qc29uKCl9ZnVuY3Rpb24gQzQoRyl7dHJ5e2xldCBYPUpTT04ucGFyc2UoRyksSj1bXTtmb3IobGV0W1ksWl1vZiBPYmplY3QuZW50cmllcyhYLmRldmljZXM/P3t9KSl7bGV0IHE9WS5yZXBsYWNlKC9eY29tXC5hcHBsZVwuQ29yZVNpbXVsYXRvclwuU2ltUnVudGltZVwuLywiIikucmVwbGFjZSgvLS9nLCIuIik7Zm9yKGxldCBRIG9mIFopaWYoUS5pc0F2YWlsYWJsZSlKLnB1c2goe3VkaWQ6US51ZGlkLG5hbWU6US5uYW1lLHN0YXRlOlEuc3RhdGUscnVudGltZTpxfSl9cmV0dXJuIEp9Y2F0Y2h7cmV0dXJuW119fWZ1bmN0aW9uIHcxKEcpe2xldCBYPUcudG9Mb3dlckNhc2UoKTtpZihYLmluY2x1ZGVzKCJpcGhvbmUiKSlyZXR1cm4gMDtpZihYLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuIDE7aWYoWC5pbmNsdWRlcygid2F0Y2giKSlyZXR1cm4gMjtpZihYLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4gMztyZXR1cm4gNH1mdW5jdGlvbiBUMShHKXtsZXQgWD1HLnRvTG93ZXJDYXNlKCk7aWYoWC5zdGFydHNXaXRoKCJpb3MiKSlyZXR1cm4gMDtpZihYLnN0YXJ0c1dpdGgoImlwYWRvcyIpKXJldHVybiAxO2lmKFguc3RhcnRzV2l0aCgid2F0Y2hvcyIpKXJldHVybiAyO2lmKFguc3RhcnRzV2l0aCgidmlzaW9ub3MiKXx8WC5zdGFydHNXaXRoKCJ4cm9zIikpcmV0dXJuIDM7cmV0dXJuIDR9ZnVuY3Rpb24gYjQoe2RldmljZXM6RyxzZWxlY3RlZFVkaWQ6WCxsb2FkaW5nOkosZXJyb3I6WSxzdG9wcGluZ1VkaWRzOlosb25SZWZyZXNoOnEsb25TZWxlY3Q6USxvblN0b3A6Syx0cmlnZ2VyOkh9KXtsZXRbVixEXT1DKCExKSwkPVIobnVsbCk7UygoKT0+e2lmKCFWKXJldHVybjtsZXQgUD0oRik9PntpZighJC5jdXJyZW50Py5jb250YWlucyhGLnRhcmdldCkpRCghMSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixQKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsUCl9LFtWXSk7bGV0IEw9bmV3IE1hcDtmb3IobGV0IFAgb2YgRyl7aWYoUC51ZGlkPT09WCljb250aW51ZTtsZXQgRj1MLmdldChQLnJ1bnRpbWUpO2lmKCFGKUY9W10sTC5zZXQoUC5ydW50aW1lLEYpO0YucHVzaChQKX1mb3IobGV0IFAgb2YgTC52YWx1ZXMoKSlQLnNvcnQoKEYsRSk9PncxKEYubmFtZSktdzEoRS5uYW1lKXx8Ri5uYW1lLmxvY2FsZUNvbXBhcmUoRS5uYW1lKSk7bGV0IFc9Wy4uLkwuZW50cmllcygpXS5zb3J0KChbUF0sW0ZdKT0+VDEoUCktVDEoRil8fFAubG9jYWxlQ29tcGFyZShGKSksVT1HLmZpbmQoKFApPT5QLnVkaWQ9PT1YKT8/bnVsbDtyZXR1cm4gXygiZGl2Iix7cmVmOiQsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOltfKCJkaXYiLHtvbkNsaWNrOigpPT57aWYoIVYpcSgpO0QoKFApPT4hUCl9LGNoaWxkcmVuOkh9KSxWJiZfKCJkaXYiLHtzdHlsZTpjNCxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6RDgsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLF8oImJ1dHRvbiIse29uQ2xpY2s6KFApPT57UC5zdG9wUHJvcGFnYXRpb24oKSxxKCl9LGRpc2FibGVkOkosc3R5bGU6RjgsY2hpbGRyZW46Sj8iLi4uIjoiUmVmcmVzaCJ9KV19KSxZJiZfKCJkaXYiLHtzdHlsZTplMSxjaGlsZHJlbjpZfSksVSYmXyhhLHtjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ey4uLkc5LGNvbG9yOiIjYTViNGZjIn0sY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTpuMShVLnN0YXRlPT09IkJvb3RlZCI/IiM0YWRlODAiOiIjNDQ0Iil9KSxfKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46VS5uYW1lfSldfSksXygiZGl2Iix7c3R5bGU6aTR9KV19KSxHLmxlbmd0aD09PTAmJiFKJiYhWSYmXygiZGl2Iix7c3R5bGU6QjgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLFcubWFwKChbUCxGXSk9Pl8oImRpdiIse2NoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpQOCxjaGlsZHJlbjpQfSksRi5tYXAoKEUpPT57bGV0IHc9Wi5oYXMoRS51ZGlkKSxnPUUuc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gXygiZGl2Iix7c3R5bGU6Rzksb25Nb3VzZUVudGVyOihoKT0+aC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLG9uTW91c2VMZWF2ZTooaCk9PmguY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIsb25DbGljazooKT0+e1EoRSksRCghMSl9LGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6bjEoZz8iIzRhZGU4MCI6IiM0NDQiKX0pLF8oInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpFLm5hbWV9KSxnJiZfKCJzcGFuIix7cm9sZToiYnV0dG9uIixvbkNsaWNrOihoKT0+e2lmKGguc3RvcFByb3BhZ2F0aW9uKCksIXcpSyhFLnVkaWQpfSxzdHlsZTp7Zm9udFNpemU6MTAscGFkZGluZzoiMXB4IDZweCIsYm9yZGVyUmFkaXVzOjQsY29sb3I6dz8iIzg4OCI6IiNmODcxNzEiLGJhY2tncm91bmQ6dz8idHJhbnNwYXJlbnQiOiJyZ2JhKDI0OCwxMTMsMTEzLDAuMSkiLGN1cnNvcjp3PyJkZWZhdWx0IjoicG9pbnRlciJ9LGNoaWxkcmVuOnc/IlN0b3BwaW5nLi4uIjoiU3RvcCJ9KV19LEUudWRpZCl9KV19LFApKV19KV19KX1mdW5jdGlvbiBuMShHKXtyZXR1cm57d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpHLGZsZXhTaHJpbms6MH19dmFyIFI0PW5ldyBTZXQoWyJpbWFnZS9qcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvZ2lmIiwiaW1hZ2UvaGVpYyIsImltYWdlL2hlaWYiLCJpbWFnZS93ZWJwIiwidmlkZW8vbXA0IiwidmlkZW8vcXVpY2t0aW1lIl0pLE84PTI2MjE0NCxqND01MjQyODgwMDA7ZnVuY3Rpb24gUzQoRyl7aWYoWDkoRyk9PT0iaXBhIilyZXR1cm4iaXBhIjtpZihSNC5oYXMoRy50eXBlKSlyZXR1cm4ibWVkaWEiO3JldHVybiBudWxsfWZ1bmN0aW9uIHk0KEcpe2xldCBYPW5ldyBVaW50OEFycmF5KEcpLEo9IiI7Zm9yKGxldCBZPTA7WTxYLmxlbmd0aDtZKyspSis9U3RyaW5nLmZyb21DaGFyQ29kZShYW1ldKTtyZXR1cm4gYnRvYShKKX1mdW5jdGlvbiBYOShHKXtsZXQgWD1HLm5hbWUsSj1YLmxhc3RJbmRleE9mKCIuIik7aWYoSj49MClyZXR1cm4gWC5zbGljZShKKzEpLnRvTG93ZXJDYXNlKCk7aWYoRy50eXBlLnN0YXJ0c1dpdGgoInZpZGVvLyIpKXJldHVybiJtcDQiO3JldHVybiJqcGcifWFzeW5jIGZ1bmN0aW9uIHY0KEcsWCxKLFkpe2lmKEcuc2l6ZT5qNCl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtsZXQgWj1YPT09ImlwYSI/ImlwYSI6WDkoRyksUT1gL3RtcC8ke1g9PT0iaXBhIj8ic2VydmUtc2ltLWluc3RhbGwiOiJzZXJ2ZS1zaW0tdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke1p9YDt0cnl7bGV0IEs9YXdhaXQgRy5hcnJheUJ1ZmZlcigpLEg9eTQoSyk7Zm9yKGxldCAkPTA7JDxILmxlbmd0aDskKz1POCl7bGV0IEw9SC5zbGljZSgkLCQrTzgpLFU9YXdhaXQgSihgYmFzaCAtYyAnZWNobyAke0x9IHwgYmFzZTY0IC1kICR7JD09PTA/Ij4iOiI+PiJ9ICR7UX0nYCk7aWYoVS5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoVS5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtVLmV4aXRDb2RlfSlgKX1sZXQgVj1YPT09ImlwYSI/YHhjcnVuIHNpbWN0bCBpbnN0YWxsICR7WX0gJHtRfWA6YHhjcnVuIHNpbWN0bCBhZGRtZWRpYSAke1l9ICR7UX1gLEQ9YXdhaXQgSihWKTtpZihELmV4aXRDb2RlIT09MCl7bGV0ICQ9WD09PSJpcGEiPyJpbnN0YWxsIjoiYWRkbWVkaWEiO3Rocm93IEVycm9yKEQuc3RkZXJyfHxgJHskfSBmYWlsZWQgKGV4aXQgJHtELmV4aXRDb2RlfSlgKX19ZmluYWxseXtKKGBiYXNoIC1jICdybSAtZiAke1F9J2ApLmNhdGNoKCgpPT57fSl9fWZ1bmN0aW9uIGg0KCl7bGV0W0csWF09QyhbXSksSj1iKChaLHEpPT57bGV0IFE9Y3J5cHRvLnJhbmRvbVVVSUQoKTtyZXR1cm4gWCgoSyk9PlsuLi5LLHtpZDpRLG5hbWU6WixraW5kOnEsc3RhdHVzOiJ1cGxvYWRpbmcifV0pLFF9LFtdKSxZPWIoKFoscSk9PntpZihYKChRKT0+US5tYXAoKEspPT5LLmlkPT09Wj97Li4uSywuLi5xfTpLKSkscS5zdGF0dXM9PT0ic3VjY2VzcyJ8fHEuc3RhdHVzPT09ImVycm9yIilzZXRUaW1lb3V0KCgpPT57WCgoUSk9PlEuZmlsdGVyKChLKT0+Sy5pZCE9PVopKX0sMzAwMCl9LFtdKTtyZXR1cm57dG9hc3RzOkcsYWRkOkosdXBkYXRlOll9fWZ1bmN0aW9uIG00KHtleGVjOkcsdWRpZDpYLGVuYWJsZWQ6SixvblVwbG9hZFN0YXJ0Olksb25VcGxvYWRFbmQ6WixvblVuc3VwcG9ydGVkOnF9KXtsZXRbUSxLXT1DKCExKSxIPVIoMCksVj1iKGFzeW5jKFcpPT57aWYoVy5wcmV2ZW50RGVmYXVsdCgpLFcuc3RvcFByb3BhZ2F0aW9uKCksSC5jdXJyZW50PTAsSyghMSksIUp8fCFYKXJldHVybjtsZXQgVT1BcnJheS5mcm9tKFcuZGF0YVRyYW5zZmVyLmZpbGVzKTtpZihVLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgUCBvZiBVKXtsZXQgRj1TNChQKTtpZighRil7cShQKTtjb250aW51ZX1sZXQgRT1ZKFAubmFtZSxGKTt2NChQLEYsRyxYKS50aGVuKCgpPT5aKEUsITApKS5jYXRjaCgodyk9PlooRSwhMSx3IGluc3RhbmNlb2YgRXJyb3I/dy5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW0osWCxHLFksWixxXSksRD1iKChXKT0+e2lmKFcucHJldmVudERlZmF1bHQoKSxKKVcuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkifSxbSl0pLCQ9YigoVyk9PntpZihXLnByZXZlbnREZWZhdWx0KCksIUopcmV0dXJuO2lmKEguY3VycmVudCsrLEguY3VycmVudD09PTEpSyghMCl9LFtKXSksTD1iKChXKT0+e2lmKFcucHJldmVudERlZmF1bHQoKSxILmN1cnJlbnQtLSxILmN1cnJlbnQ8PTApSC5jdXJyZW50PTAsSyghMSl9LFtdKTtyZXR1cm57aXNEcmFnT3ZlcjpRLGRyb3Bab25lUHJvcHM6e29uRHJhZ092ZXI6RCxvbkRyYWdFbnRlcjokLG9uRHJhZ0xlYXZlOkwsb25Ecm9wOlZ9fX1mdW5jdGlvbiBBMChHKXtyZXR1cm5gJyR7Ry5yZXBsYWNlKC8nL2csIidcXCcnIil9J2B9YXN5bmMgZnVuY3Rpb24geDQoRyxYLEope2xldCBZPWF3YWl0IEcoYHhjcnVuIHNpbWN0bCBnZXRfYXBwX2NvbnRhaW5lciAke1h9ICR7QTAoSil9IGFwcGApO2lmKFkuZXhpdENvZGUhPT0wKXJldHVybntlcnJvcjpZLnN0ZGVyci50cmltKCl8fCJBcHAgbm90IGZvdW5kIG9uIHNpbXVsYXRvciJ9O2xldCBaPVkuc3Rkb3V0LnRyaW0oKTtpZighWilyZXR1cm57ZXJyb3I6IkVtcHR5IGFwcCBwYXRoIn07bGV0IHE9YXdhaXQgRyhgcGx1dGlsIC1jb252ZXJ0IGpzb24gLW8gLSAke0EwKForIi9JbmZvLnBsaXN0Iil9YCksUT17fTtpZihxLmV4aXRDb2RlPT09MCl0cnl7UT1KU09OLnBhcnNlKHEuc3Rkb3V0KX1jYXRjaHt9bGV0IEssVj0oUT8uQ0ZCdW5kbGVJY29ucz8uQ0ZCdW5kbGVQcmltYXJ5SWNvbj8/UT8uWyJDRkJ1bmRsZUljb25zfmlwYWQiXT8uQ0ZCdW5kbGVQcmltYXJ5SWNvbik/LkNGQnVuZGxlSWNvbkZpbGVzPz9RPy5DRkJ1bmRsZUljb25GaWxlcztpZihWJiZWLmxlbmd0aD4wKUs9VltWLmxlbmd0aC0xXTtlbHNlIGlmKHR5cGVvZiBRPy5DRkJ1bmRsZUljb25GaWxlPT09InN0cmluZyIpSz1RLkNGQnVuZGxlSWNvbkZpbGU7bGV0IEQ9bnVsbDtpZihLKXtsZXQgJD1bYCR7S31AM3gucG5nYCxgJHtLfUAyeC5wbmdgLGAke0t9LnBuZ2AsYCR7S302MHg2MEAzeC5wbmdgLGAke0t9NjB4NjBAMngucG5nYF0sVz0oYXdhaXQgRyhgYmFzaCAtYyAke0EwKCQubWFwKChVKT0+YFsgLWYgJHtBMChaKyIvIitVKX0gXSAmJiBlY2hvICR7QTAoWisiLyIrVSl9ICYmIGV4aXQgMGApLmpvaW4oIjsgIikrIjsgZXhpdCAxIil9YCkpLnN0ZG91dC50cmltKCk7aWYoVyl7bGV0IFU9YXdhaXQgRyhgYmFzZTY0IC1pICR7QTAoVyl9YCk7aWYoVS5leGl0Q29kZT09PTApRD1gZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7VS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpfWB9fXJldHVybnthcHBQYXRoOlosZGlzcGxheU5hbWU6US5DRkJ1bmRsZURpc3BsYXlOYW1lPz9RLkNGQnVuZGxlTmFtZSxzaG9ydFZlcnNpb246US5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyxidW5kbGVWZXJzaW9uOlEuQ0ZCdW5kbGVWZXJzaW9uLG1pbk9TOlEuTWluaW11bU9TVmVyc2lvbixleGVjdXRhYmxlOlEuQ0ZCdW5kbGVFeGVjdXRhYmxlLGljb25EYXRhVXJsOkR9fWZ1bmN0aW9uIGc0KHt1ZGlkOkcsY3VycmVudEFwcDpYfSl7bGV0W0osWV09QyhudWxsKTtpZihTKCgpPT57aWYoIVgpe1kobnVsbCk7cmV0dXJufWxldCBaPSExO3JldHVybiBZKHtidW5kbGVJZDpYLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6WC5pc1JlYWN0TmF0aXZlLHBpZDpYLnBpZCxsb2FkaW5nOiEwfSkseDQocTAsRyxYLmJ1bmRsZUlkKS50aGVuKChxKT0+e2lmKFopcmV0dXJuO1koe2J1bmRsZUlkOlguYnVuZGxlSWQsaXNSZWFjdE5hdGl2ZTpYLmlzUmVhY3ROYXRpdmUscGlkOlgucGlkLGxvYWRpbmc6ITEsLi4ucX0pfSksKCk9PntaPSEwfX0sW0csWD8uYnVuZGxlSWQsWD8ucGlkLFg/LmlzUmVhY3ROYXRpdmVdKSwhSilyZXR1cm4gXygiZGl2Iix7c3R5bGU6ai5lbXB0eSxjaGlsZHJlbjoiV2FpdGluZyBmb3IgYW4gYXBwIHRvIGNvbWUgdG8gdGhlIGZvcmVncm91bmTigKYifSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOmouc2VjdGlvbixjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ai5hcHBIZWFkZXIsY2hpbGRyZW46W0ouaWNvbkRhdGFVcmw/XygiaW1nIix7c3JjOkouaWNvbkRhdGFVcmwsc3R5bGU6ai5hcHBJY29uLGFsdDoiIn0pOl8oImRpdiIse3N0eWxlOnsuLi5qLmFwcEljb24sYmFja2dyb3VuZDoiIzJhMmEyYyJ9fSksXygiZGl2Iix7c3R5bGU6e21pbldpZHRoOjAsZmxleDoxfSxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ai5hcHBOYW1lLGNoaWxkcmVuOltKLmRpc3BsYXlOYW1lPz9KLmJ1bmRsZUlkLEoubG9hZGluZyYmXygic3BhbiIse3N0eWxlOmouc3Bpbm5lcixjaGlsZHJlbjoiIOKApiJ9KV19KSxfKCJkaXYiLHtzdHlsZTpqLmFwcEJ1bmRsZSx0aXRsZTpKLmJ1bmRsZUlkLGNoaWxkcmVuOkouYnVuZGxlSWR9KV19KV19KSxKLmVycm9yJiZfKCJkaXYiLHtzdHlsZTpqLmVycm9yLGNoaWxkcmVuOkouZXJyb3J9KSxfKCJkbCIse3N0eWxlOmouZGwsY2hpbGRyZW46W18oaDAse2xhYmVsOiJWZXJzaW9uIix2YWx1ZTpKLnNob3J0VmVyc2lvbj9gJHtKLnNob3J0VmVyc2lvbn0gKCR7Si5idW5kbGVWZXJzaW9uPz8i4oCUIn0pYDpKLmxvYWRpbmc/IuKApiI6IuKAlCJ9KSxfKGgwLHtsYWJlbDoiTWluIGlPUyIsdmFsdWU6Si5taW5PUz8/KEoubG9hZGluZz8i4oCmIjoi4oCUIil9KSxfKGgwLHtsYWJlbDoiRXhlY3V0YWJsZSIsdmFsdWU6Si5leGVjdXRhYmxlPz8oSi5sb2FkaW5nPyLigKYiOiLigJQiKX0pLF8oaDAse2xhYmVsOiJQSUQiLHZhbHVlOkoucGlkIT1udWxsP1N0cmluZyhKLnBpZCk6IuKAlCJ9KSxKLmlzUmVhY3ROYXRpdmUmJl8oaDAse2xhYmVsOiJSZWFjdCBOYXRpdmUiLHZhbHVlOiJZZXMifSksXyhoMCx7bGFiZWw6IkFwcCBwYXRoIix2YWx1ZTpKLmFwcFBhdGg/PyhKLmxvYWRpbmc/IuKApiI6IuKAlCIpLG1vbm86ITAsYWN0aW9uOkouYXBwUGF0aD97dGl0bGU6IlJldmVhbCBpbiBGaW5kZXIiLG9uQ2xpY2s6KCk9PntxMChgb3BlbiAtUiAke0EwKEouYXBwUGF0aCl9YCl9LGljb246Xygic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi4yIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiI3Iix5MToiMTciLHgyOiIxNyIseTI6IjcifSksXygicG9seWxpbmUiLHtwb2ludHM6IjEwIDcgMTcgNyAxNyAxNCJ9KV19KX06dm9pZCAwfSldfSldfSl9ZnVuY3Rpb24gaDAoe2xhYmVsOkcsdmFsdWU6WCxtb25vOkosYWN0aW9uOll9KXtsZXRbWixxXT1DKCExKTtyZXR1cm4gXygiZGl2Iix7c3R5bGU6ai5yb3csb25Nb3VzZUVudGVyOigpPT5xKCEwKSxvbk1vdXNlTGVhdmU6KCk9PnEoITEpLGNoaWxkcmVuOltfKCJkdCIse3N0eWxlOmouZHQsY2hpbGRyZW46R30pLF8oImRkIix7c3R5bGU6ey4uLmouZGQsZm9udEZhbWlseTpKPyJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSI6dm9pZCAwLGZvbnRTaXplOko/MTE6MTIscG9zaXRpb246InJlbGF0aXZlIn0sdGl0bGU6WCxjaGlsZHJlbjpbWCxZJiZfKCJkaXYiLHtzdHlsZTp7Li4uai5yb3dBY3Rpb25XcmFwLG9wYWNpdHk6Wj8xOjAsdHJhbnNmb3JtOlo/InRyYW5zbGF0ZVgoMCkiOiJ0cmFuc2xhdGVYKDRweCkiLHBvaW50ZXJFdmVudHM6Wj8iYXV0byI6Im5vbmUifSxjaGlsZHJlbjpfKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6WS5vbkNsaWNrLHRpdGxlOlkudGl0bGUsImFyaWEtbGFiZWwiOlkudGl0bGUsc3R5bGU6ai5yb3dBY3Rpb24sY2hpbGRyZW46WS5pY29ufSl9KV19KV19KX12YXIgcDQ9W3trZXk6ImNhbWVyYSIsbGFiZWw6IkNhbWVyYSJ9LHtrZXk6Im1pY3JvcGhvbmUiLGxhYmVsOiJNaWNyb3Bob25lIn0se2tleToicGhvdG9zIixsYWJlbDoiUGhvdG9zIn0se2tleToicGhvdG9zLWFkZCIsbGFiZWw6IkFkZCB0byBQaG90b3MifSx7a2V5OiJjb250YWN0cyIsbGFiZWw6IkNvbnRhY3RzIn0se2tleToiY2FsZW5kYXIiLGxhYmVsOiJDYWxlbmRhciJ9LHtrZXk6InJlbWluZGVycyIsbGFiZWw6IlJlbWluZGVycyJ9LHtrZXk6ImxvY2F0aW9uIixsYWJlbDoiTG9jYXRpb24ifSx7a2V5OiJsb2NhdGlvbi1hbHdheXMiLGxhYmVsOiJMb2NhdGlvbiAoQWx3YXlzKSJ9LHtrZXk6Im1vdGlvbiIsbGFiZWw6Ik1vdGlvbiJ9LHtrZXk6Im1lZGlhLWxpYnJhcnkiLGxhYmVsOiJNZWRpYSBMaWJyYXJ5In0se2tleToic2lyaSIsbGFiZWw6IlNpcmkifV07ZnVuY3Rpb24gZjQoe3VkaWQ6RyxidW5kbGVJZDpYfSl7bGV0W0osWV09Qyh7fSksW1oscV09QyhudWxsKSxbUSxLXT1DKG51bGwpLFtILFZdPUMoITEpO1MoKCk9PntZKHt9KSxLKG51bGwpfSxbWF0pO2xldCBEPWIoYXN5bmMoTCxXKT0+e2lmKCFYKXJldHVybjtsZXQgVT1gJHtMfToke1d9YDtxKFUpLEsobnVsbCk7dHJ5e2xldCBQPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgcHJpdmFjeSAke0d9ICR7V30gJHtMfSAke0EwKFgpfWApO2lmKFAuZXhpdENvZGUhPT0wKXtLKFAuc3RkZXJyLnRyaW0oKXx8YHNpbWN0bCBwcml2YWN5IGZhaWxlZCAoZXhpdCAke1AuZXhpdENvZGV9KWApO3JldHVybn1ZKChGKT0+KHsuLi5GLFtMXTpXPT09InJlc2V0Ij92b2lkIDA6V30pKX1maW5hbGx5e3EobnVsbCl9fSxbRyxYXSksJD1iKGFzeW5jKCk9PntpZighWClyZXR1cm47cSgiX19hbGxfXyIpLEsobnVsbCk7dHJ5e2xldCBMPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgcHJpdmFjeSAke0d9IHJlc2V0IGFsbCAke0EwKFgpfWApO2lmKEwuZXhpdENvZGUhPT0wKXtLKEwuc3RkZXJyLnRyaW0oKXx8YHNpbWN0bCBwcml2YWN5IGZhaWxlZCAoZXhpdCAke0wuZXhpdENvZGV9KWApO3JldHVybn1ZKHt9KX1maW5hbGx5e3EobnVsbCl9fSxbRyxYXSk7aWYoIVgpcmV0dXJuIF8oImRpdiIse3N0eWxlOmouZW1wdHksY2hpbGRyZW46IlBlcm1pc3Npb25zIGFwcGVhciBvbmNlIGFuIGFwcCBpcyBpbiB0aGUgZm9yZWdyb3VuZC4ifSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOnsuLi5qLnNlY3Rpb24scGFkZGluZzoiOHB4IDEycHgifSxjaGlsZHJlbjpbXygiYnV0dG9uIix7b25DbGljazooKT0+VigoTCk9PiFMKSxzdHlsZTpqLnBlcm1zVG9nZ2xlLCJhcmlhLWV4cGFuZGVkIjpILGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6ey4uLmouc2VjdGlvblRpdGxlLG1hcmdpbjowfSxjaGlsZHJlbjoiUGVybWlzc2lvbnMifSksXygic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHlsZTp7dHJhbnNmb3JtOkg/InJvdGF0ZSg5MGRlZykiOiJyb3RhdGUoMGRlZykiLHRyYW5zaXRpb246InRyYW5zZm9ybSAwLjE1cyIsZmxleFNocmluazowfSxjaGlsZHJlbjpfKCJwb2x5bGluZSIse3BvaW50czoiOSAxOCAxNSAxMiA5IDYifSl9KV19KSxIJiZRJiZfKCJkaXYiLHtzdHlsZTp7Li4uai5lcnJvcixtYXJnaW5Ub3A6OH0sY2hpbGRyZW46UX0pLEgmJl8oImRpdiIse3N0eWxlOmoucGVybXNTY3JvbGxXcmFwLGNoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpqLnBlcm1zU2Nyb2xsLGNoaWxkcmVuOnA0Lm1hcCgoe2tleTpMLGxhYmVsOld9KT0+e2xldCBVPUpbTF07cmV0dXJuIF8oImRpdiIse3N0eWxlOmoucGVybVJvdyxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOmoucGVybUxhYmVsLGNoaWxkcmVuOld9KSxfKCJkaXYiLHtzdHlsZTpqLnBlcm1TZWcscm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpXLGNoaWxkcmVuOltfKHQxLHthY3RpdmU6VT09PSJncmFudCIscGVuZGluZzpaPT09YCR7TH06Z3JhbnRgLG9uQ2xpY2s6KCk9PkQoTCwiZ3JhbnQiKSx2YXJpYW50OiJncmFudCIsdGl0bGU6IkFsbG93IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIzIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpfKCJwb2x5bGluZSIse3BvaW50czoiNSAxMiAxMCAxNyAxOSA3In0pfSl9KSxfKHQxLHthY3RpdmU6VT09PSJyZXZva2UiLHBlbmRpbmc6Wj09PWAke0x9OnJldm9rZWAsb25DbGljazooKT0+RChMLCJyZXZva2UiKSx2YXJpYW50OiJyZXZva2UiLHRpdGxlOiJEZW55IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIzIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiI2Iix5MToiNiIseDI6IjE4Iix5MjoiMTgifSksXygibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSldfSl9KSxfKHQxLHthY3RpdmU6ITEscGVuZGluZzpaPT09YCR7TH06cmVzZXRgLG9uQ2xpY2s6KCk9PkQoTCwicmVzZXQiKSx2YXJpYW50OiJyZXNldCIsdGl0bGU6IlJlc2V0IixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltfKCJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDMuNS03LjEifSksXygicG9seWxpbmUiLHtwb2ludHM6IjMgMyAzIDkgOSA5In0pXX0pfSldfSldfSxMKX0pfSksXygiZGl2Iix7c3R5bGU6ai5wZXJtc0ZhZGVUb3B9KSxfKCJkaXYiLHtzdHlsZTpqLnBlcm1zRmFkZUJvdHRvbX0pXX0pLEgmJl8oImRpdiIse3N0eWxlOmoucGVybXNGb290ZXIsY2hpbGRyZW46XygiYnV0dG9uIix7b25DbGljazokLGRpc2FibGVkOlo9PT0iX19hbGxfXyIsc3R5bGU6ai5yZXNldEFsbEJ0bix0aXRsZToieGNydW4gc2ltY3RsIHByaXZhY3kgcmVzZXQgYWxsIixjaGlsZHJlbjpaPT09Il9fYWxsX18iPyLigKYiOiJSZXNldCBhbGwifSl9KV19KX1mdW5jdGlvbiBkNCh7ZGV2aWNlczpHLGxvYWRpbmc6WCxlcnJvcjpKLG9uUmVmcmVzaDpZfSl7bGV0W1oscV09QyhudWxsKSxbUSxLXT1DKG51bGwpLEg9Yihhc3luYygkKT0+e2lmKFopcmV0dXJuO3EoJC51ZGlkKSxLKG51bGwpO3RyeXtpZigkLnN0YXRlIT09IkJvb3RlZCIpe2xldCBQPWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgYm9vdCAkeyQudWRpZH1gKTtpZihQLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihQLnN0ZGVycnx8IkZhaWxlZCB0byBib290IHNpbXVsYXRvciIpfWxldCBMPWF3YWl0IHEwKGBidW54IHNlcnZlLXNpbSAtLWRldGFjaCAkeyQudWRpZH1gKTtpZihMLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihMLnN0ZGVycnx8IkZhaWxlZCB0byBzdGFydCBzZXJ2ZS1zaW0iKTtsZXQgVz1EYXRlLm5vdygpKzE1MDAwLFU9YC9hcGk/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQudWRpZCl9YDt3aGlsZShEYXRlLm5vdygpPFcpe3RyeXtsZXQgUD1hd2FpdCBmZXRjaChVLHtjYWNoZToibm8tc3RvcmUifSk7aWYoUC5vayYmYXdhaXQgUC5qc29uKCkpe2xldCBGPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO0Yuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIiwkLnVkaWQpLHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oRi50b1N0cmluZygpKTtyZXR1cm59fWNhdGNoe31hd2FpdCBuZXcgUHJvbWlzZSgoUCk9PnNldFRpbWVvdXQoUCw0MDApKX10aHJvdyBFcnJvcigic2VydmUtc2ltIHN0YXJ0ZWQgYnV0IG5vIHN0cmVhbSBzdGF0ZSBhcHBlYXJlZCIpfWNhdGNoKEwpe0soTCBpbnN0YW5jZW9mIEVycm9yP0wubWVzc2FnZToiRmFpbGVkIHRvIHN0YXJ0IHN0cmVhbSIpLHEobnVsbCl9fSxbWl0pLFY9bmV3IE1hcDtmb3IobGV0ICQgb2YgRyl7bGV0IEw9Vi5nZXQoJC5ydW50aW1lKTtpZighTClMPVtdLFYuc2V0KCQucnVudGltZSxMKTtMLnB1c2goJCl9Zm9yKGxldCAkIG9mIFYudmFsdWVzKCkpJC5zb3J0KChMLFcpPT57bGV0IFU9TC5zdGF0ZT09PSJCb290ZWQiPzA6MSxQPVcuc3RhdGU9PT0iQm9vdGVkIj8wOjE7aWYoVSE9PVApcmV0dXJuIFUtUDtyZXR1cm4gdzEoTC5uYW1lKS13MShXLm5hbWUpfHxMLm5hbWUubG9jYWxlQ29tcGFyZShXLm5hbWUpfSk7bGV0IEQ9Wy4uLlYuZW50cmllcygpXS5zb3J0KChbJF0sW0xdKT0+VDEoJCktVDEoTCl8fCQubG9jYWxlQ29tcGFyZShMKSk7cmV0dXJuIF8oImRpdiIse3N0eWxlOlowLnBhZ2UsY2hpbGRyZW46XygiZGl2Iix7c3R5bGU6WjAuZW1wdHksY2hpbGRyZW46W18oImgxIix7c3R5bGU6WjAuZW1wdHlUaXRsZSxjaGlsZHJlbjoiTm8gc2VydmUtc2ltIHN0cmVhbSBydW5uaW5nIn0pLF8oInAiLHtzdHlsZTpaMC5lbXB0eUhpbnQsY2hpbGRyZW46WyJQaWNrIGEgc2ltdWxhdG9yIHRvIGJvb3QsIG9yIHN0YXJ0IG9uZSB5b3Vyc2VsZiB3aXRoIiwiICIsXygiY29kZSIse3N0eWxlOlowLmNvZGUsY2hpbGRyZW46ImJ1bnggc2VydmUtc2ltIC0tZGV0YWNoIn0pLCIuIl19KSxfKCJkaXYiLHtzdHlsZTphNCxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6RDgsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiJTaW11bGF0b3JzIn0pLF8oImJ1dHRvbiIse29uQ2xpY2s6WSxkaXNhYmxlZDpYLHN0eWxlOkY4LGNoaWxkcmVuOlg/Ii4uLiI6IlJlZnJlc2gifSldfSksSiYmXygiZGl2Iix7c3R5bGU6ZTEsY2hpbGRyZW46Sn0pLFEmJl8oImRpdiIse3N0eWxlOmUxLGNoaWxkcmVuOlF9KSwhWCYmIUomJkcubGVuZ3RoPT09MCYmXygiZGl2Iix7c3R5bGU6QjgsY2hpbGRyZW46Ik5vIGF2YWlsYWJsZSBzaW11bGF0b3JzIGZvdW5kIn0pLEQubWFwKChbJCxMXSk9Pl8oImRpdiIse2NoaWxkcmVuOltfKCJkaXYiLHtzdHlsZTpQOCxjaGlsZHJlbjokfSksTC5tYXAoKFcpPT57bGV0IFU9Wj09PVcudWRpZCxQPVohPT1udWxsJiYhVSxGPVcuc3RhdGU9PT0iQm9vdGVkIjtyZXR1cm4gXygiZGl2Iix7c3R5bGU6ey4uLkc5LGN1cnNvcjpQPyJkZWZhdWx0IjoicG9pbnRlciIsb3BhY2l0eTpQPzAuNToxfSxvbk1vdXNlRW50ZXI6KEUpPT57aWYoIVApRS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxvbk1vdXNlTGVhdmU6KEUpPT5FLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiLG9uQ2xpY2s6KCk9PntpZighUClIKFcpfSxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOm4xKEY/IiM0YWRlODAiOiIjNDQ0Iil9KSxfKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSx0ZXh0QWxpZ246ImxlZnQifSxjaGlsZHJlbjpXLm5hbWV9KSxfKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOlU/IiNhNWI0ZmMiOiIjODg4In0sY2hpbGRyZW46VT9GPyJTdGFydGluZy4uLiI6IkJvb3RpbmcuLi4iOkY/IlN0YXJ0IHN0cmVhbSI6IkJvb3QgJiBzdHJlYW0ifSldfSxXLnVkaWQpfSldfSwkKSldfSldfSl9KX1mdW5jdGlvbiB0MSh7YWN0aXZlOkcscGVuZGluZzpYLG9uQ2xpY2s6Six2YXJpYW50OlksdGl0bGU6WixjaGlsZHJlbjpxfSl7bGV0IFE9WT09PSJncmFudCI/IiM0YWRlODAiOlk9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBfKCJidXR0b24iLHtvbkNsaWNrOkosZGlzYWJsZWQ6WCx0aXRsZTpaLCJhcmlhLWxhYmVsIjpaLHN0eWxlOnsuLi5qLnBlcm1CdG4sYmFja2dyb3VuZDpHP2Ake1F9MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6Rz9ROiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5Olg/MC41OjF9LGNoaWxkcmVuOnF9KX1mdW5jdGlvbiB1NCh7b3BlbjpHLG9uQ2xvc2U6WCx1ZGlkOkosY3VycmVudEFwcDpZfSl7cmV0dXJuIF8oImFzaWRlIix7c3R5bGU6ey4uLmoucGFuZWwsdHJhbnNmb3JtOkc/InRyYW5zbGF0ZVgoMCkiOiJ0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDI0cHgpKSIsb3BhY2l0eTpHPzE6MCxwb2ludGVyRXZlbnRzOkc/ImF1dG8iOiJub25lIn0sImFyaWEtaGlkZGVuIjohRyxjaGlsZHJlbjpbXygiaGVhZGVyIix7c3R5bGU6ai5oZWFkZXIsY2hpbGRyZW46W18oInNwYW4iLHtzdHlsZTpqLmhlYWRlclRpdGxlLGNoaWxkcmVuOiJUb29scyJ9KSxfKCJidXR0b24iLHtvbkNsaWNrOlgsc3R5bGU6ai5jbG9zZUJ0biwiYXJpYS1sYWJlbCI6IkNsb3NlIHBhbmVsIixjaGlsZHJlbjpfKCJzdmciLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbXygibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSksXygibGluZSIse3gxOiI2Iix5MToiNiIseDI6IjE4Iix5MjoiMTgifSldfSl9KV19KSxfKCJkaXYiLHtzdHlsZTpqLmJvZHksY2hpbGRyZW46W18oZzQse3VkaWQ6SixjdXJyZW50QXBwOll9KSxfKGY0LHt1ZGlkOkosYnVuZGxlSWQ6WT8uYnVuZGxlSWQ/P251bGx9KV19KV19KX12YXIgYTQ9e3dpZHRoOiIxMDAlIixtYXhXaWR0aDozNjAsbWFyZ2luVG9wOjgsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6NCxmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTMsY29sb3I6IiNlZWUiLHRleHRBbGlnbjoibGVmdCJ9O2Z1bmN0aW9uIGw0KCl7bGV0IEc9d2luZG93Ll9fU0lNX1BSRVZJRVdfXyxbWCxKXT1DKCExKSxbWSxaXT1DKFtdKSxbcSxRXT1DKCExKSxbSyxIXT1DKG51bGwpLFtWLERdPUMobmV3IFNldCksWyQsTF09QyghMSksVz1iKGFzeW5jKCk9PntRKCEwKSxIKG51bGwpO3RyeXtsZXQgTz1hd2FpdCBxMCgieGNydW4gc2ltY3RsIGxpc3QgZGV2aWNlcyBhdmFpbGFibGUgLWoiKTtpZihPLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihPLnN0ZGVycnx8InNpbWN0bCBsaXN0IGZhaWxlZCIpO1ooQzQoTy5zdGRvdXQpKX1jYXRjaChPKXtIKE8gaW5zdGFuY2VvZiBFcnJvcj9PLm1lc3NhZ2U6IkZhaWxlZCB0byBsaXN0IGRldmljZXMiKX1maW5hbGx5e1EoITEpfX0sW10pO2lmKFMoKCk9PntXKCl9LFtXXSksUygoKT0+e2lmKCFHPy5sb2dzRW5kcG9pbnQpcmV0dXJuO2xldCBPPW5ldyBFdmVudFNvdXJjZShHLmxvZ3NFbmRwb2ludCksQT1uZXcgTWFwLFQ9WyIjOGJlOWZkIiwiIzUwZmE3YiIsIiNmZmI4NmMiLCIjZmY3OWM2IiwiI2JkOTNmOSIsIiNmMWZhOGMiLCIjNjI3MmE0IiwiI2ZmNTU1NSIsIiM2OWZmOTQiLCIjZDZhY2ZmIiwiI2ZmZmZhNSIsIiNhNGZmZmYiLCIjZmY2ZTZlIiwiI2NhYTlmYSIsIiM1YWY3OGUiXTtmdW5jdGlvbiB5KEswKXtsZXQgbj1BLmdldChLMCk7aWYoIW4pe2xldCBRMD0wO2ZvcihsZXQgcz0wO3M8SzAubGVuZ3RoO3MrKylRMD0oUTA8PDUpLVEwK0swLmNoYXJDb2RlQXQocyl8MDtuPVRbTWF0aC5hYnMoUTApJVQubGVuZ3RoXSxBLnNldChLMCxuKX1yZXR1cm4gbn1sZXQgZD0iIixmPSExO3JldHVybiBPLm9ubWVzc2FnZT0oSzApPT57dHJ5e2xldCBuPUpTT04ucGFyc2UoSzAuZGF0YSksUTA9bi5wcm9jZXNzSW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz9uLnNlbmRlckltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/IiIscz1uLnN1YnN5c3RlbT8/IiIsZT1uLmNhdGVnb3J5Pz8iIixGMD1uLmV2ZW50TWVzc2FnZT8/IiI7aWYoIUYwKXJldHVybjtpZihRMCE9PWQpe2lmKGYpY29uc29sZS5ncm91cEVuZCgpO2xldCBHMT15KFEwKTtjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGAlYyR7UTB9JHtzP2AgJWMke3N9JHtlPyI6IitlOiIifWA6IiJ9YCxgY29sb3I6JHtHMX07Zm9udC13ZWlnaHQ6Ym9sZGAsLi4ucz9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLGY9ITAsZD1RMH1sZXQgazA9KG4ubWVzc2FnZVR5cGU/PyIiKS50b0xvd2VyQ2FzZSgpLE8wPXMmJlEwPT09ZD9gJWMke2V8fHN9JWMgYDoiIixiMD1PMD9bImNvbG9yOiM4ODg7Zm9udC1zdHlsZTppdGFsaWMiLCJjb2xvcjppbmhlcml0Il06W107aWYoazA9PT0iZmF1bHQifHxrMD09PSJlcnJvciIpY29uc29sZS5sb2coYCR7TzB9JWMke0YwfWAsLi4uYjAsImNvbG9yOiNmZjU1NTUiKTtlbHNlIGlmKGswPT09ImRlYnVnIiljb25zb2xlLmxvZyhgJHtPMH0lYyR7RjB9YCwuLi5iMCwiY29sb3I6IzYyNzJhNCIpO2Vsc2UgY29uc29sZS5sb2coYCR7TzB9JWMke0YwfWAsLi4uYjAsImNvbG9yOmluaGVyaXQiKX1jYXRjaHt9fSwoKT0+e2lmKGYpY29uc29sZS5ncm91cEVuZCgpO08uY2xvc2UoKX19LFtHPy5sb2dzRW5kcG9pbnRdKSwhRylyZXR1cm4gXyhkNCx7ZGV2aWNlczpZLGxvYWRpbmc6cSxlcnJvcjpLLG9uUmVmcmVzaDpXfSk7bGV0IFU9WS5maW5kKChPKT0+Ty51ZGlkPT09Ry5kZXZpY2UpPz9udWxsO1MoKCk9Pntkb2N1bWVudC50aXRsZT1VPy5uYW1lP2BTaW11bGF0b3IgLSAke1UubmFtZX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtVPy5uYW1lXSk7bGV0IFA9djAoVT8ubmFtZSksRj13NChHLnN0cmVhbVVybCksW0Usd109QyhudWxsKSxnPUU/P0YuY29uZmlnPz9VMShQLFU/Lm5hbWUpLGg9TTEoUCxnKSxvPUExKFAsZyksRzA9UDEoZyksdT1SKG51bGwpO1MoKCk9PntsZXQgTz0hMSxBPW51bGwsVD1udWxsLHk9KCk9PntpZihPfHxBKXJldHVybjtBPXNldFRpbWVvdXQoKCk9PntBPW51bGwsZCgpfSwxMDAwKX0sZD0oKT0+e2xldCBmPW5ldyBXZWJTb2NrZXQoRy53c1VybCk7Zi5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsVD1mLHUuY3VycmVudD1mLGYub25jbG9zZT0oKT0+e2lmKHUuY3VycmVudD09PWYpdS5jdXJyZW50PW51bGw7eSgpfSxmLm9uZXJyb3I9KCk9PntmLmNsb3NlKCl9fTtyZXR1cm4gZCgpLCgpPT57aWYoTz0hMCxBKWNsZWFyVGltZW91dChBKTtpZih1LmN1cnJlbnQ9PT1UKXUuY3VycmVudD1udWxsO1Q/LmNsb3NlKCl9fSxbRy53c1VybF0pO2xldCB2PWIoKE8sQSk9PntsZXQgVD11LmN1cnJlbnQ7aWYoIVR8fFQucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgeT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoQSkpLGQ9bmV3IFVpbnQ4QXJyYXkoMSt5Lmxlbmd0aCk7ZFswXT1PLGQuc2V0KHksMSksVC5zZW5kKGQpfSxbXSksdD1iKChPKT0+digzLE8pLFt2XSksSjA9YigoTyk9PnYoNSxPKSxbdl0pLHA9YigoTyk9PnYoNCx7YnV0dG9uOk99KSxbdl0pLG8wPWIoKE8pPT57dygoQSk9PkEmJkEud2lkdGg9PT1PLndpZHRoJiZBLmhlaWdodD09PU8uaGVpZ2h0JiZBLm9yaWVudGF0aW9uPT09Ty5vcmllbnRhdGlvbj9BOk8pfSxbXSksczA9YigoTyk9Pnt2KDcse29yaWVudGF0aW9uOk99KX0sW3ZdKTtTKCgpPT57dyhudWxsKX0sW0cuc3RyZWFtVXJsXSksUygoKT0+e2xldCBPPUYuY29uZmlnO2lmKCFPKXJldHVybjt3KChBKT0+QSYmQS53aWR0aD09PU8ud2lkdGgmJkEuaGVpZ2h0PT09Ty5oZWlnaHQmJkEub3JpZW50YXRpb249PT1PLm9yaWVudGF0aW9uP0E6bnVsbCl9LFtGLmNvbmZpZz8ud2lkdGgsRi5jb25maWc/LmhlaWdodCxGLmNvbmZpZz8ub3JpZW50YXRpb25dKTtsZXQgejA9YigoTyxBKT0+e3YoNix7dHlwZTpPLHVzYWdlOkF9KX0sW3ZdKSxbcjAsdDBdPUMobnVsbCksW3cwLEQwXT1DKCExKSxbazEsbTBdPUMoKCk9PnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5pbm5lcldpZHRoOjApO1MoKCk9PntsZXQgTz0oKT0+bTAod2luZG93LmlubmVyV2lkdGgpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixPKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsTyl9LFtdKSxTKCgpPT57bGV0IE89bmV3IEV2ZW50U291cmNlKEcuYXBwU3RhdGVFbmRwb2ludD8/Ii9hcHBzdGF0ZSIpLEE9bnVsbDtyZXR1cm4gTy5vbm1lc3NhZ2U9KFQpPT57dHJ5e2xldCB5PUpTT04ucGFyc2UoVC5kYXRhKTtpZihBKWNsZWFyVGltZW91dChBKTtsZXQgZD15Py5pc1JlYWN0TmF0aXZlPzA6NjAwO0E9c2V0VGltZW91dCgoKT0+dDAoeSksZCl9Y2F0Y2h7fX0sKCk9PntpZihBKWNsZWFyVGltZW91dChBKTtPLmNsb3NlKCl9fSxbRy5hcHBTdGF0ZUVuZHBvaW50XSk7bGV0IEgwPWIoYXN5bmMoKT0+e3owKCJkb3duIiwyMjcpLGF3YWl0IG5ldyBQcm9taXNlKChUKT0+c2V0VGltZW91dChULDMwKSksejAoImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgoVCk9PnNldFRpbWVvdXQoVCwzMCkpLHowKCJ1cCIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKChUKT0+c2V0VGltZW91dChULDMwKSksejAoInVwIiwyMjcpfSxbejBdKSxDMD1SKG51bGwpLFtMMCxuMF09QyghMCksVDA9UighMCk7VDAuY3VycmVudD1MMDtsZXQgVzA9UihuZXcgU2V0KTtTKCgpPT57bGV0IE89KEEpPT57bGV0IFQ9ISFDMC5jdXJyZW50Py5jb250YWlucyhBLnRhcmdldCk7bjAoVCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsTywhMCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixPLCEwKX0sW10pLFMoKCk9PntpZihMMClyZXR1cm47bGV0IE89VzAuY3VycmVudDtpZihPLnNpemU9PT0wKXJldHVybjtmb3IobGV0IEEgb2YgTyl2KDYse3R5cGU6InVwIix1c2FnZTpBfSk7Ty5jbGVhcigpfSxbTDAsdl0pLFMoKCk9PntsZXQgTz0oeSxkKT0+e2lmKCFUMC5jdXJyZW50KXJldHVybjtpZih5LmNvZGU9PT0iS2V5SCImJnkubWV0YUtleSYmeS5zaGlmdEtleSl7aWYoeS5wcmV2ZW50RGVmYXVsdCgpLGQ9PT0iZG93biImJiF5LnJlcGVhdCl2KDQse2J1dHRvbjoiaG9tZSJ9KTtyZXR1cm59aWYoeS5jb2RlPT09IktleUEiJiZ5Lm1ldGFLZXkmJnkuc2hpZnRLZXkpe2lmKHkucHJldmVudERlZmF1bHQoKSxkPT09ImRvd24iJiYheS5yZXBlYXQpcTAoYHhjcnVuIHNpbWN0bCB1aSAke0cuZGV2aWNlfSBhcHBlYXJhbmNlYCkudGhlbigoSzApPT57bGV0IG49SzAuc3Rkb3V0LnRyaW0oKT09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtyZXR1cm4gcTAoYHhjcnVuIHNpbWN0bCB1aSAke0cuZGV2aWNlfSBhcHBlYXJhbmNlICR7bn1gKX0pLmNhdGNoKCgpPT57fSk7cmV0dXJufWxldCBmPWs0KHkuY29kZSk7aWYoZj09bnVsbClyZXR1cm47aWYoeS5wcmV2ZW50RGVmYXVsdCgpLGQ9PT0iZG93biIpVzAuY3VycmVudC5hZGQoZik7ZWxzZSBXMC5jdXJyZW50LmRlbGV0ZShmKTt2KDYse3R5cGU6ZCx1c2FnZTpmfSl9LEE9KHkpPT5PKHksImRvd24iKSxUPSh5KT0+Tyh5LCJ1cCIpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsQSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixUKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixBKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLFQpfX0sW3YsRy5kZXZpY2VdKTtsZXQgWDA9Yihhc3luYyhPKT0+e2lmKCR8fE8udWRpZD09PUcuZGV2aWNlKXJldHVybjtMKCEwKTt0cnl7aWYoTy5zdGF0ZSE9PSJCb290ZWQiKWF3YWl0IHEwKGB4Y3J1biBzaW1jdGwgYm9vdCAke08udWRpZH1gKTtsZXQgQT1hd2FpdCBxMChgYnVueCBzZXJ2ZS1zaW0gLS1kZXRhY2ggJHtPLnVkaWR9YCk7aWYoQS5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoQS5zdGRlcnJ8fCJGYWlsZWQgdG8gc3RhcnQgc2VydmUtc2ltIik7bGV0IFQ9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7VC5zZWFyY2hQYXJhbXMuc2V0KCJkZXZpY2UiLE8udWRpZCksd2luZG93LmxvY2F0aW9uLmFzc2lnbihULnRvU3RyaW5nKCkpfWNhdGNoe0woITEpfX0sWyQsRy5kZXZpY2VdKSxOMD1oNCgpLF8wPW00KHtleGVjOnEwLHVkaWQ6Ry5kZXZpY2UsZW5hYmxlZDpYLG9uVXBsb2FkU3RhcnQ6TjAuYWRkLG9uVXBsb2FkRW5kOihPLEEsVCk9Pk4wLnVwZGF0ZShPLHtzdGF0dXM6QT8ic3VjY2VzcyI6ImVycm9yIixtZXNzYWdlOlR9KSxvblVuc3VwcG9ydGVkOihPKT0+e2xldCBBPU4wLmFkZChPLm5hbWUsIm1lZGlhIik7TjAudXBkYXRlKEEse3N0YXR1czoiZXJyb3IiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkOiAke08udHlwZXx8WDkoTyl9YH0pfX0pLGUwPWIoYXN5bmMoTyk9PntEKChBKT0+bmV3IFNldChBKS5hZGQoTykpO3RyeXthd2FpdCBxMChgeGNydW4gc2ltY3RsIHNodXRkb3duICR7T31gKSxhd2FpdCBXKCl9ZmluYWxseXtEKChBKT0+e2xldCBUPW5ldyBTZXQoQSk7cmV0dXJuIFQuZGVsZXRlKE8pLFR9KX19LFtXXSkseDA9VTgrMjQsJDA9dzAmJmsxPj1vK3gwKzY0P3gwOjA7cmV0dXJuIF8oImRpdiIse3N0eWxlOnsuLi5aMC5wYWdlLHBhZGRpbmdSaWdodDoyNCskMCx0cmFuc2l0aW9uOiJwYWRkaW5nLXJpZ2h0IDAuMjVzIGVhc2UifSxjaGlsZHJlbjpbXygiZGl2Iix7c3R5bGU6ey4uLlowLnNpbXVsYXRvclN0YWNrLG1heFdpZHRoOm99LGNoaWxkcmVuOltfKFkwLHtleGVjOnEwLG9uUm90YXRlOnMwLG9yaWVudGF0aW9uOmcub3JpZW50YXRpb24/P251bGwsZGV2aWNlVWRpZDpHLmRldmljZSxkZXZpY2VOYW1lOlU/Lm5hbWU/P251bGwsZGV2aWNlUnVudGltZTpVPy5ydW50aW1lPz9udWxsLHN0cmVhbWluZzpYLGNoaWxkcmVuOltfKGI0LHtkZXZpY2VzOlksc2VsZWN0ZWRVZGlkOkcuZGV2aWNlLGxvYWRpbmc6cSxlcnJvcjpLLHN0b3BwaW5nVWRpZHM6VixvblJlZnJlc2g6VyxvblNlbGVjdDpYMCxvblN0b3A6ZTAsdHJpZ2dlcjpfKFkwLlRpdGxlLHt9KX0pLF8oWTAuQWN0aW9ucyx7Y2hpbGRyZW46W18oWTAuSG9tZUJ1dHRvbix7b25DbGljazooTyk9PntPLnByZXZlbnREZWZhdWx0KCkscCgiaG9tZSIpfX0pLHIwPy5pc1JlYWN0TmF0aXZlJiZfKFkwLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoQ21kK1IpIixvbkNsaWNrOigpPT52b2lkIEgwKCksY2hpbGRyZW46Xygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgMy41LTcuMSJ9KSxfKCJwb2x5bGluZSIse3BvaW50czoiMyAzIDMgOSA5IDkifSldfSl9KSxfKFkwLlJvdGF0ZUJ1dHRvbix7dGl0bGU6IlJvdGF0ZSBkZXZpY2UifSldfSldfSksXygiZGl2Iix7cmVmOkMwLHN0eWxlOnttYXhXaWR0aDpvLG1heEhlaWdodDoiMTAwJSIsd2lkdGg6IjEwMCUiLGFzcGVjdFJhdGlvOkcwLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LC4uLl8wLmRyb3Bab25lUHJvcHMsY2hpbGRyZW46W18oQjEse3VybDpHLnVybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIn0saW1hZ2VTdHlsZTp7Ym9yZGVyUmFkaXVzOmgsY29ybmVyU2hhcGU6InN1cGVyZWxsaXBzZSgxLjMpIn0saGlkZUNvbnRyb2xzOiEwLG9uU3RyZWFtaW5nQ2hhbmdlOkosb25TdHJlYW1Ub3VjaDp0LG9uU3RyZWFtTXVsdGlUb3VjaDpKMCxvblN0cmVhbUJ1dHRvbjpwLHN1YnNjcmliZUZyYW1lOkYuc3Vic2NyaWJlRnJhbWUsc3RyZWFtRnJhbWU6Ri5mcmFtZSxzdHJlYW1Db25maWc6ZyxvblNjcmVlbkNvbmZpZ0NoYW5nZTpvMH0pLF8wLmlzRHJhZ092ZXImJl8oImRpdiIse3N0eWxlOnsuLi5aMC5kcm9wT3ZlcmxheSxib3JkZXJSYWRpdXM6aH0sY2hpbGRyZW46W18oInN2ZyIse3dpZHRoOiIzMiIsaGVpZ2h0OiIzMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W18oInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9KSxfKCJwb2x5bGluZSIse3BvaW50czoiMTcgOCAxMiAzIDcgOCJ9KSxfKCJsaW5lIix7eDE6IjEyIix5MToiMyIseDI6IjEyIix5MjoiMTUifSldfSksXygic3BhbiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjUwMH0sY2hpbGRyZW46IkRyb3AgbWVkaWEgb3IgLmlwYSJ9KV19KV19KV19KSxOMC50b2FzdHMubGVuZ3RoPjAmJl8oImRpdiIse3N0eWxlOlowLnRvYXN0U3RhY2ssY2hpbGRyZW46TjAudG9hc3RzLm1hcCgoTyk9Pl8oImRpdiIse3N0eWxlOlowLnRvYXN0LGNoaWxkcmVuOltfKCJzcGFuIix7c3R5bGU6ey4uLlowLmRvdCxiYWNrZ3JvdW5kOk8uc3RhdHVzPT09InVwbG9hZGluZyI/IiNhNWI0ZmMiOk8uc3RhdHVzPT09InN1Y2Nlc3MiPyIjNGFkZTgwIjoiI2Y4NzE3MSJ9fSksXygic3BhbiIse3N0eWxlOntmbGV4OjEsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W08uc3RhdHVzPT09InVwbG9hZGluZyImJihPLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGluZyAke08ubmFtZX3igKZgOmBVcGxvYWRpbmcgJHtPLm5hbWV94oCmYCksTy5zdGF0dXM9PT0ic3VjY2VzcyImJihPLmtpbmQ9PT0iaXBhIj9gSW5zdGFsbGVkICR7Ty5uYW1lfWA6YEFkZGVkICR7Ty5uYW1lfSB0byBQaG90b3NgKSxPLnN0YXR1cz09PSJlcnJvciImJmAke08ubmFtZX06ICR7Ty5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCJ9YF19KV19LE8uaWQpKX0pLF8oImJ1dHRvbiIse29uQ2xpY2s6KCk9PkQwKChPKT0+IU8pLHN0eWxlOnsuLi5qLnRvZ2dsZSxvcGFjaXR5OncwPzA6MSxwb2ludGVyRXZlbnRzOncwPyJub25lIjoiYXV0byJ9LCJhcmlhLWxhYmVsIjoiT3BlbiB0b29scyBwYW5lbCIsdGl0bGU6Ik9wZW4gdG9vbHMiLGNoaWxkcmVuOl8oInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNzUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltfKCJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjE2IixyeDoiMi41In0pLF8oImxpbmUiLHt4MToiMTUiLHkxOiI0Iix4MjoiMTUiLHkyOiIyMCJ9KV19KX0pLF8odTQse29wZW46dzAsb25DbG9zZTooKT0+RDAoITEpLHVkaWQ6Ry5kZXZpY2UsY3VycmVudEFwcDpyMH0pLF8oImRpdiIse3N0eWxlOlowLmJhcixjaGlsZHJlbjpfKCJzcGFuIix7c3R5bGU6ey4uLlowLmxpdmUsY29sb3I6WD8iIzRhZGU4MCI6IiM2NjYifSxjaGlsZHJlbjpbXygic3BhbiIse3N0eWxlOnsuLi5aMC5kb3QsYmFja2dyb3VuZDpYPyIjNGFkZTgwIjoiIzY2NiJ9fSksWD8ibGl2ZSI6ImNvbm5lY3RpbmciXX0pfSldfSl9dmFyIFowPXtwYWdlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDB2aCIsYmFja2dyb3VuZDoiIzBhMGEwYSIscGFkZGluZzoyNCxnYXA6MTIsZm9udEZhbWlseToiLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixib3hTaXppbmc6ImJvcmRlci1ib3gifSxzaW11bGF0b3JTdGFjazp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMix3aWR0aDoiMTAwJSIsbWluV2lkdGg6MCx0cmFuc2l0aW9uOiJtYXgtd2lkdGggMC4yNXMgZWFzZSJ9LGJhcjp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAsZm9udFNpemU6MTIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGNvbG9yOiIjNjY2In0sbGl2ZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NSx0cmFuc2l0aW9uOiJjb2xvciAwLjNzIn0sZG90Ont3aWR0aDo2LGhlaWdodDo2LGJvcmRlclJhZGl1czoiNTAlIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuM3MifSxlbXB0eTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMix0ZXh0QWxpZ246ImNlbnRlciJ9LGVtcHR5VGl0bGU6e2ZvbnRTaXplOjE4LG1hcmdpbjowLGNvbG9yOiIjZWVlIn0sZW1wdHlIaW50Ontjb2xvcjoiIzg4OCIsZm9udFNpemU6MTQsbWF4V2lkdGg6NDgwfSxjb2RlOntiYWNrZ3JvdW5kOiIjMjIyIixwYWRkaW5nOiIycHggNnB4Iixib3JkZXJSYWRpdXM6NCxmb250U2l6ZToxM30sZHJvcE92ZXJsYXk6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjgsYm9yZGVyOiIycHggZGFzaGVkICNhNWI0ZmMiLGJhY2tncm91bmQ6InJnYmEoOTksMTAyLDI0MSwwLjEyKSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMnB4KSIsY29sb3I6IiNhNWI0ZmMiLHBvaW50ZXJFdmVudHM6Im5vbmUiLHpJbmRleDoyMH0sdG9hc3RTdGFjazp7cG9zaXRpb246ImZpeGVkIixib3R0b206MTYscmlnaHQ6MTYsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NixtYXhXaWR0aDozMjAsekluZGV4OjMwfSx0b2FzdDp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OCxwYWRkaW5nOiI4cHggMTJweCIsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjgsY29sb3I6IiNlZWUiLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixib3hTaGFkb3c6IjAgNHB4IDEycHggcmdiYSgwLDAsMCwwLjQpIn19LGM0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiY2FsYygxMDAlICsgNnB4KSIsbGVmdDowLG1pbldpZHRoOjI2MCxtYXhIZWlnaHQ6MzYwLG92ZXJmbG93WToiYXV0byIsYmFja2dyb3VuZDoiIzFjMWMxZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6NCxib3hTaGFkb3c6IjAgOHB4IDI0cHggcmdiYSgwLDAsMCwwLjUpIixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsZm9udFNpemU6MTMsY29sb3I6IiNlZWUiLHpJbmRleDoyMH0sRDg9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjZweCAxMHB4Iixmb250U2l6ZToxMSxjb2xvcjoiI2FhYSJ9LEY4PXtiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2E1YjRmYyIsZm9udFNpemU6MTEsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjB9LGUxPXtwYWRkaW5nOiI2cHggMTBweCIsY29sb3I6IiNmODcxNzEiLGZvbnRTaXplOjExfSxHOT17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OCxwYWRkaW5nOiI2cHggMTBweCIsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuMTVzIn0saTQ9e2hlaWdodDoxLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLG1hcmdpbjoiNHB4IDAifSxCOD17cGFkZGluZzoxMixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIixmb250U2l6ZToxMSx0ZXh0QWxpZ246ImNlbnRlciJ9LFA4PXtwYWRkaW5nOiI2cHggMTBweCAycHgiLGZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNCkiLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbGV0dGVyU3BhY2luZzoiMC4wOGVtIn0sVTg9MzIwLGo9e3RvZ2dsZTp7cG9zaXRpb246ImZpeGVkIix0b3A6MTYscmlnaHQ6MTYsd2lkdGg6MzAsaGVpZ2h0OjMwLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjYsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC42KSIsY3Vyc29yOiJwb2ludGVyIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2UiLHpJbmRleDo0MH0scGFuZWw6e3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjEyLHJpZ2h0OjEyLGJvdHRvbToxMix3aWR0aDpVOCxiYWNrZ3JvdW5kOiJyZ2JhKDIwLDIwLDIyLDAuOTIpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6MTQsY29sb3I6IiNlZWUiLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsb3ZlcmZsb3c6ImhpZGRlbiIsdHJhbnNpdGlvbjoidHJhbnNmb3JtIDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlIixib3hTaGFkb3c6IjAgMTJweCA0MHB4IHJnYmEoMCwwLDAsMC41NSkiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDE4cHgpIixXZWJraXRCYWNrZHJvcEZpbHRlcjoiYmx1cigxOHB4KSIsZm9udEZhbWlseToiLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIix6SW5kZXg6MzV9LGhlYWRlcjp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNnB4IDEwcHggNnB4IDEycHgifSxoZWFkZXJUaXRsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41NSkifSxjbG9zZUJ0bjp7YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNhYWEiLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzo0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsYm9yZGVyUmFkaXVzOjR9LGJvZHk6e3BhZGRpbmc6MTQsb3ZlcmZsb3dZOiJhdXRvIixmbGV4OjEsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTJ9LHNlY3Rpb25UaXRsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo2MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA4ZW0iLG1hcmdpbjoiMCAwIDEwcHgifSxzZWN0aW9uOntiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6MTAscGFkZGluZzoxMn0sZW1wdHk6e2JhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjE2LGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLGZvbnRTaXplOjEyLHRleHRBbGlnbjoiY2VudGVyIn0sYXBwSGVhZGVyOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMixtYXJnaW5Cb3R0b206MTB9LGFwcEljb246e3dpZHRoOjQ0LGhlaWdodDo0NCxib3JkZXJSYWRpdXM6MTAsZmxleFNocmluazowLG9iamVjdEZpdDoiY292ZXIiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkifSxhcHBOYW1lOntmb250U2l6ZToxNCxmb250V2VpZ2h0OjYwMCxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxhcHBCdW5kbGU6e2ZvbnRTaXplOjExLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxzcGlubmVyOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIixmb250V2VpZ2h0OjQwMH0sZXJyb3I6e2JhY2tncm91bmQ6InJnYmEoMjQ4LDExMywxMTMsMC4wOCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjQ4LDExMywxMTMsMC4yKSIsY29sb3I6IiNmY2E1YTUiLGZvbnRTaXplOjExLHBhZGRpbmc6IjZweCA4cHgiLGJvcmRlclJhZGl1czo2LG1hcmdpbkJvdHRvbToxMH0sZGw6e21hcmdpbjowLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjZ9LHJvdzp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiYmFzZWxpbmUiLGdhcDo4LG1pbldpZHRoOjB9LGR0OnttYXJnaW46MCxmb250U2l6ZToxMSxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIix3aWR0aDo4NCxmbGV4U2hyaW5rOjB9LGRkOnttYXJnaW46MCxmb250U2l6ZToxMixjb2xvcjoiI2VlZSIsZmxleDoxLG1pbldpZHRoOjAsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0scm93QWN0aW9uV3JhcDp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxyaWdodDowLGJvdHRvbTowLHBhZGRpbmdMZWZ0OjI4LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjgsMjgsMzAsMCkgMCUsICMxYzFjMWUgNTUlKSIsdHJhbnNpdGlvbjoib3BhY2l0eSAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZSJ9LHBlcm1zVG9nZ2xlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6NixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIixwYWRkaW5nOjAsbWFyZ2luOjAsY3Vyc29yOiJwb2ludGVyIix3aWR0aDoiMTAwJSIsdGV4dEFsaWduOiJsZWZ0IixsaW5lSGVpZ2h0OjF9LHBlcm1zU2Nyb2xsV3JhcDp7cG9zaXRpb246InJlbGF0aXZlIixtYXJnaW5Ub3A6OH0scGVybXNTY3JvbGw6e21heEhlaWdodDoyNjAsb3ZlcmZsb3dZOiJhdXRvIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo0LHBhZGRpbmc6IjhweCAwIixzY3JvbGxiYXJXaWR0aDoidGhpbiJ9LHBlcm1zRmFkZVRvcDp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAscmlnaHQ6MCxoZWlnaHQ6MTQscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzFjMWMxZSAwJSwgcmdiYSgyOCwyOCwzMCwwKSAxMDAlKSIsYm9yZGVyVG9wTGVmdFJhZGl1czoxMCxib3JkZXJUb3BSaWdodFJhZGl1czoxMH0scGVybXNGYWRlQm90dG9tOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowLGhlaWdodDoxNCxwb2ludGVyRXZlbnRzOiJub25lIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMWMxYzFlIDAlLCByZ2JhKDI4LDI4LDMwLDApIDEwMCUpIn0scGVybXNGb290ZXI6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJmbGV4LWVuZCIscGFkZGluZ1RvcDo4fSxyZXNldEFsbEJ0bjp7YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNykiLGZvbnRTaXplOjEwLHBhZGRpbmc6IjNweCA4cHgiLGJvcmRlclJhZGl1czo1LGN1cnNvcjoicG9pbnRlciIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA0ZW0ifSxwZXJtc0xpc3Q6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjQsbWFyZ2luVG9wOjR9LHBlcm1Sb3c6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGdhcDo4LHBhZGRpbmc6IjRweCAycHgifSxwZXJtTGFiZWw6e2ZvbnRTaXplOjEyLGNvbG9yOiIjZWVlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAiLGZsZXg6MSxtaW5XaWR0aDowfSxwZXJtU2VnOntkaXNwbGF5OiJmbGV4IixnYXA6MixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixib3JkZXJSYWRpdXM6NixwYWRkaW5nOjJ9LHBlcm1CdG46e3dpZHRoOjI0LGhlaWdodDoyMixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjAsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjEycywgY29sb3IgMC4xMnMifSxyb3dBY3Rpb246e3dpZHRoOjIwLGhlaWdodDoyMCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGJvcmRlclJhZGl1czo0LGNvbG9yOiIjZmZmIixjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6MH19O3M5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290IikpLnJlbmRlcihfKGw0LHt9KSk7Cjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==","base64").toString("utf-8");return U}function S_(e){let _=(e?.basePath??"/.sim").replace(/\/+$/,"");return(t,s,i)=>{let S=t.url??"",C=S.indexOf("?"),n=C===-1?S:S.slice(0,C),$=t_(S)??e?.device??null;if(n===_||n===_+"/"){let r=h(),o=d(r,$),A=s_();if(o){let a=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...o,logsEndpoint:se(_,"/logs",o.device),appStateEndpoint:se(_,"/appstate",o.device)})}</script>`;A=A.replace("<!--__SIM_PREVIEW_CONFIG__-->",a)}s.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),s.end(A);return}if(n===_+"/api"){let r=h(),o=d(r,$);s.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),s.end(JSON.stringify(o||null));return}if((n===_+"/exec"||n===_+"/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}xe(o,{maxBuffer:16777216},(A,y,a)=>{s.writeHead(200,{"Content-Type":"application/json"}),s.end(JSON.stringify({stdout:y.toString(),stderr:a.toString(),exitCode:A?A.code??1:0}))})});return}if(n===_+"/logs"){let r=h(),o=d(r,$);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let A=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
3
3
 
4
4
  `);let y=_e("xcrun",["simctl","spawn",A,"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(`
5
5
  `))!==-1){let v=a.slice(0,R).trim();if(a=a.slice(R+1),v)s.write("data: "+v+`
@@ -7,16 +7,16 @@ var we=Object.defineProperty;var me=(e)=>e;function he(e,_){this[e]=me.bind(null
7
7
  `)}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(n===_+"/appstate"){let r=h(),o=d(r,$);if(!o){s.writeHead(404),s.end("No serve-sim device");return}let A=o.device;s.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),s.write(`:
8
8
 
9
9
  `);let y=_e("xcrun",["simctl","spawn",A,"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",(v)=>{R+=v.toString();let M;while((M=R.indexOf(`
10
- `))!==-1){let j=R.slice(0,M).trim();if(R=R.slice(M+1),!j)continue;let Q;try{Q=JSON.parse(j).eventMessage??""}catch{continue}let P=a.exec(Q);if(!P)continue;let T=P[1],be=parseInt(P[2],10);if(!Ze(T))continue;if(T===p)continue;p=T,Ye(A,T).then((Oe)=>{s.write("data: "+JSON.stringify({bundleId:T,pid:be,isReactNative:Oe})+`
10
+ `))!==-1){let j=R.slice(0,M).trim();if(R=R.slice(M+1),!j)continue;let Q;try{Q=JSON.parse(j).eventMessage??""}catch{continue}let P=a.exec(Q);if(!P)continue;let T=P[1],Oe=parseInt(P[2],10);if(!Ye(T))continue;if(T===p)continue;p=T,e_(A,T).then((we)=>{s.write("data: "+JSON.stringify({bundleId:T,pid:Oe,isReactNative:we})+`
11
11
 
12
- `)})}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(i)i()}}var te,je,Qe,Je,m,U=null;var ie=Ne(()=>{te=I(ze(),"serve-sim"),je=new Set(["host.exp.Exponent","dev.expo.Exponent"]),Qe=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],Je=/(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;m={at:0,booted:null}});import{execSync as B,spawn as oe}from"child_process";import{chmodSync as S_,existsSync as l,mkdirSync as ne,openSync as Ae,closeSync as $e,readFileSync as V,unlinkSync as L,writeFileSync as ye}from"fs";import{createHash as i_}from"crypto";import{homedir as r_,networkInterfaces as C_}from"os";import{join as o_,resolve as q}from"path";import{tmpdir as Ve}from"os";import{join as g}from"path";import{readdirSync as Le}from"fs";var F=g(Ve(),"serve-sim"),N_=g(F,"server.json");function b(e){return g(F,`server-${e}.json`)}function O(){try{return Le(F).filter((e)=>e.startsWith("server-")&&e.endsWith(".json")).map((e)=>g(F,e))}catch{return[]}}import{fileURLToPath as We}from"url";import{dirname as Ge}from"path";import{createServer as Me}from"http";import{createServer as Pe}from"net";function J(e){return Ge(We(e))}function w(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)}async function Z(e){return new Promise((_)=>{let t=Pe();t.once("error",()=>_(!1)),t.once("listening",()=>t.close(()=>_(!0))),t.listen(e)})}async function Y(e){let _=Me((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 i=(C)=>{_.removeListener("listening",S),s(C)},S=()=>{_.removeListener("error",i),t()};_.once("error",i),_.once("listening",S),_.listen(e.port)}),{stop:()=>_.close()}}var D="./serve-sim-bin-1rnq2bhp.";var n_=J(import.meta.url);function z(){if(!l(F))ne(F,{recursive:!0})}function f(e){if(e)return k(b(e));for(let _ of O()){let t=k(_);if(t)return t}return null}var H={at:0,booted:null};function A_(){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 i of Object.values(t.devices))for(let S of i)if(S.state==="Booted")s.add(S.udid);return H={at:e,booted:s},s}catch{return null}}function k(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=A_();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 O()){let t=k(_);if(t)e.push(t)}return e}function re(e){z(),ye(b(e.device),JSON.stringify(e,null,2))}function u(e){if(e)try{L(b(e))}catch{}else for(let _ of O())try{L(_)}catch{}}function $_(){let e=D.startsWith("/$bunfs/");if(!e&&l(D))return D;if(!e){let S=q(n_,"../bin/serve-sim-bin");if(l(S))return S;throw Error(`serve-sim-bin not found. Run 'bun run build:swift' first.
13
- Checked: ${D}, ${S}`)}let _=V(D),t=i_("sha256").update(_).digest("hex").slice(0,16),s=q(r_(),"Library/Caches/serve-sim");ne(s,{recursive:!0});let i=q(s,`serve-sim-bin-${t}`);if(!l(i)){ye(i,_),S_(i,493);try{B(`codesign -s - -f ${JSON.stringify(i)}`,{stdio:"ignore"})}catch{}}return i}function ae(){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 ce(){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,i)=>{let S=(s.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number),C=(i.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number);return(C[0]??0)-(S[0]??0)||(C[1]??0)-(S[1]??0)});for(let s of t){let S=(_.devices[s]??[]).find((C)=>C.isAvailable!==!1&&/^iPhone\b/i.test(C.name));if(S)return{udid:S.udid,name:S.name}}}catch{}return null}function Ce(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 i of s)if(i.udid===e)return i.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 i of s)if(i.name.toLowerCase()===e.toLowerCase())return i.udid}catch{}console.error(`Could not resolve device: ${e}`),process.exit(1)}function Re(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 i of s)if(i.udid===e)return i.state==="Booted"}catch{}return!1}function X(e){try{return process.kill(e,0),!0}catch{return!1}}function K(e){try{process.kill(e,"SIGTERM")}catch{return}let _=Date.now()+500;while(Date.now()<_)try{process.kill(e,0),w(25)}catch{return}try{process.kill(e,"SIGKILL")}catch{}let t=Date.now()+500;while(Date.now()<t)try{process.kill(e,0),w(25)}catch{return}}function y_(e){try{let _=B(`lsof -ti tcp:${e}`,{encoding:"utf-8",stdio:"pipe"}).trim();if(!_)return[];let t=process.pid;return _.split(`
14
- `).map((s)=>parseInt(s,10)).filter((s)=>Number.isFinite(s)&&s!==t)}catch{return[]}}function a_(e){let _=y_(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{}w(100)}function c_(e){if(!Re(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 R_(){let e=C_();for(let _ of Object.values(e))for(let t of _??[])if(t.family==="IPv4"&&!t.internal)return t.address;return null}async function Be(e){let _=new Set(W().map((t)=>t.port));for(let t=e;t<e+100;t++){if(_.has(t))continue;if(await Z(t))return t}throw Error(`No available port found in range ${e}-${e+99}`)}async function B_(e){c_(e);try{B(`xcrun simctl bootstatus ${e} -b`,{encoding:"utf-8",stdio:"pipe",timeout:60000})}catch(_){if(!Re(e))console.error(`Device ${e} failed to reach booted state: ${_.stderr||_.message}`),process.exit(1)}}async function fe(e,_,t,s){let i=!1;for(let C=0;C<30;C++){if(!s())break;try{if((await fetch(`${_}/health`)).ok){i=!0;break}}catch{}await new Promise((n)=>setTimeout(n,100))}if(i){let C=Date.now()+8000;while(Date.now()<C){if(await new Promise((n)=>setTimeout(n,200)),!s()){i=!1;break}try{if(V(t,"utf-8").includes("Capture started"))break}catch{}}}let S="";try{S=V(t,"utf-8").trim()}catch{}return{ready:i,log:S}}async function f_(e){let{helperPath:_,udid:t,port:s,host:i,logFile:S}=e,C=`http://${i}:${s}`;z();let n=Ae(S,"w"),$=oe(_,[t,"--port",String(s)],{detached:!0,stdio:["ignore",n,n]});$.unref(),$e(n);let r=$.pid,o=!1;$.once("exit",()=>{o=!0});let{ready:A,log:y}=await fe(r,C,S,()=>!o&&X(r));return{ready:A,pid:r,exited:o||!X(r),log:y}}async function p_(e){let{helperPath:_,udid:t,port:s,host:i,logFile:S}=e,C=`http://${i}:${s}`;z();let n=Ae(S,"w"),$=oe(_,[t,"--port",String(s)],{detached:!1,stdio:["ignore",n,n]});$e(n);let r=$.pid,o=!1;$.once("exit",()=>{o=!0});let{ready:A,log:y}=await fe(r,C,S,()=>!o&&X(r));return{ready:A,child:$,log:y}}async function pe(e,_,t){await B_(e);let s="127.0.0.1",i=$_(),S=o_(F,`server-${e}.log`),C={helperPath:i,udid:e,port:_,host:s,logFile:S},n="",$=2;for(let o=1;o<=$;o++){if(a_(_),t.detach){let A=await f_(C);if(A.ready){let y={pid:A.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return re(y),{pid:A.pid}}K(A.pid),n=A.log}else{let A=await p_(C);if(A.ready){let y={pid:A.child.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return re(y),{pid:A.child.pid,child:A.child}}K(A.child.pid),n=A.log}if(o<$)await new Promise((A)=>setTimeout(A,500))}let r=n?`Helper failed:
15
- ${n}`:"Helper process failed to start";console.error(r),process.exit(1)}async function F_(e,_,t){let s=e.length>0?e.map(G):(()=>{let r=ae();if(r)return[r];let o=ce();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]})(),i=new Map,S=[],C=_;for(let r of s){let o=f(r);if(o){if(!t){let R=Ce(r)??r;if(s.length>1)console.log(`
16
- ==> ${R} (${r}) <==`);console.log(` Already running on port ${o.port}`),console.log(` Stream: ${o.streamUrl}`),console.log(` WebSocket: ${o.wsUrl}`)}S.push(o);continue}C=await Be(C);let{pid:A,child:y}=await pe(r,C,{detach:!1});if(y)i.set(r,y);let a="127.0.0.1",p={pid:A,port:C,device:r,url:`http://${a}:${C}`,streamUrl:`http://${a}:${C}/stream.mjpeg`,wsUrl:`ws://${a}:${C}/ws`};if(S.push(p),!t){let R=Ce(r)??r;if(s.length>1)console.log(`
12
+ `)})}}),y.on("close",()=>s.end()),t.on("close",()=>y.kill());return}if(i)i()}}var te,Qe,Je,Ze,m,U=null;var ie=Ve(()=>{te=I(je(),"serve-sim"),Qe=new Set(["host.exp.Exponent","dev.expo.Exponent"]),Je=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],Ze=/(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;m={at:0,booted:null}});import{execSync as B,spawn as oe}from"child_process";import{chmodSync as i_,existsSync as l,mkdirSync as ne,openSync as Ae,closeSync as $e,readFileSync as V,unlinkSync as L,writeFileSync as ye}from"fs";import{createHash as r_}from"crypto";import{homedir as C_,networkInterfaces as o_}from"os";import{join as n_,resolve as q}from"path";import{tmpdir as Le}from"os";import{join as g}from"path";import{readdirSync as We}from"fs";var F=g(Le(),"serve-sim"),V_=g(F,"server.json");function b(e){return g(F,`server-${e}.json`)}function O(){try{return We(F).filter((e)=>e.startsWith("server-")&&e.endsWith(".json")).map((e)=>g(F,e))}catch{return[]}}import{fileURLToPath as Ge}from"url";import{dirname as Me}from"path";import{createServer as Pe}from"http";import{createServer as Ue}from"net";function J(e){return Me(Ge(e))}function w(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)}async function Z(e){return new Promise((_)=>{let t=Ue();t.once("error",()=>_(!1)),t.once("listening",()=>t.close(()=>_(!0))),t.listen(e)})}async function Y(e){let _=Pe((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 i=(C)=>{_.removeListener("listening",S),s(C)},S=()=>{_.removeListener("error",i),t()};_.once("error",i),_.once("listening",S),_.listen(e.port)}),{stop:()=>_.close()}}var D="./serve-sim-bin-d74r4fv7.";var A_=J(import.meta.url);function z(){if(!l(F))ne(F,{recursive:!0})}function f(e){if(e)return k(b(e));for(let _ of O()){let t=k(_);if(t)return t}return null}var H={at:0,booted:null};function $_(){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 i of Object.values(t.devices))for(let S of i)if(S.state==="Booted")s.add(S.udid);return H={at:e,booted:s},s}catch{return null}}function k(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=$_();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 O()){let t=k(_);if(t)e.push(t)}return e}function re(e){z(),ye(b(e.device),JSON.stringify(e,null,2))}function u(e){if(e)try{L(b(e))}catch{}else for(let _ of O())try{L(_)}catch{}}function y_(){let e=D.startsWith("/$bunfs/");if(!e&&l(D))return D;if(!e){let S=q(A_,"../bin/serve-sim-bin");if(l(S))return S;throw Error(`serve-sim-bin not found. Run 'bun run build:swift' first.
13
+ Checked: ${D}, ${S}`)}let _=V(D),t=r_("sha256").update(_).digest("hex").slice(0,16),s=q(C_(),"Library/Caches/serve-sim");ne(s,{recursive:!0});let i=q(s,`serve-sim-bin-${t}`);if(!l(i)){ye(i,_),i_(i,493);try{B(`codesign -s - -f ${JSON.stringify(i)}`,{stdio:"ignore"})}catch{}}return i}function ae(){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 ce(){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 Re(){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,i)=>{let S=(s.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number),C=(i.match(/iOS-(\d+)-(\d+)/)??[]).slice(1).map(Number);return(C[0]??0)-(S[0]??0)||(C[1]??0)-(S[1]??0)});for(let s of t){let S=(_.devices[s]??[]).find((C)=>C.isAvailable!==!1&&/^iPhone\b/i.test(C.name));if(S)return{udid:S.udid,name:S.name}}}catch{}return null}function Ce(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 i of s)if(i.udid===e)return i.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 i of s)if(i.name.toLowerCase()===e.toLowerCase())return i.udid}catch{}console.error(`Could not resolve device: ${e}`),process.exit(1)}function Be(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 i of s)if(i.udid===e)return i.state==="Booted"}catch{}return!1}function X(e){try{return process.kill(e,0),!0}catch{return!1}}function K(e){try{process.kill(e,"SIGTERM")}catch{return}let _=Date.now()+500;while(Date.now()<_)try{process.kill(e,0),w(25)}catch{return}try{process.kill(e,"SIGKILL")}catch{}let t=Date.now()+500;while(Date.now()<t)try{process.kill(e,0),w(25)}catch{return}}function a_(e){try{let _=B(`lsof -ti tcp:${e}`,{encoding:"utf-8",stdio:"pipe"}).trim();if(!_)return[];let t=process.pid;return _.split(`
14
+ `).map((s)=>parseInt(s,10)).filter((s)=>Number.isFinite(s)&&s!==t)}catch{return[]}}function c_(e){let _=a_(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{}w(100)}function R_(e){if(!Be(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 B_(){let e=o_();for(let _ of Object.values(e))for(let t of _??[])if(t.family==="IPv4"&&!t.internal)return t.address;return null}async function fe(e){let _=new Set(W().map((t)=>t.port));for(let t=e;t<e+100;t++){if(_.has(t))continue;if(await Z(t))return t}throw Error(`No available port found in range ${e}-${e+99}`)}async function f_(e){R_(e);try{B(`xcrun simctl bootstatus ${e} -b`,{encoding:"utf-8",stdio:"pipe",timeout:60000})}catch(_){if(!Be(e))console.error(`Device ${e} failed to reach booted state: ${_.stderr||_.message}`),process.exit(1)}}async function pe(e,_,t,s){let i=!1;for(let C=0;C<30;C++){if(!s())break;try{if((await fetch(`${_}/health`)).ok){i=!0;break}}catch{}await new Promise((n)=>setTimeout(n,100))}if(i){let C=Date.now()+8000;while(Date.now()<C){if(await new Promise((n)=>setTimeout(n,200)),!s()){i=!1;break}try{if(V(t,"utf-8").includes("Capture started"))break}catch{}}}let S="";try{S=V(t,"utf-8").trim()}catch{}return{ready:i,log:S}}async function p_(e){let{helperPath:_,udid:t,port:s,host:i,logFile:S}=e,C=`http://${i}:${s}`;z();let n=Ae(S,"w"),$=oe(_,[t,"--port",String(s)],{detached:!0,stdio:["ignore",n,n],env:ae()});$.unref(),$e(n);let r=$.pid,o=!1;$.once("exit",()=>{o=!0});let{ready:A,log:y}=await pe(r,C,S,()=>!o&&X(r));return{ready:A,pid:r,exited:o||!X(r),log:y}}async function F_(e){let{helperPath:_,udid:t,port:s,host:i,logFile:S}=e,C=`http://${i}:${s}`;z();let n=Ae(S,"w"),$=oe(_,[t,"--port",String(s)],{detached:!1,stdio:["ignore",n,n],env:ae()});$e(n);let r=$.pid,o=!1;$.once("exit",()=>{o=!0});let{ready:A,log:y}=await pe(r,C,S,()=>!o&&X(r));return{ready:A,child:$,log:y}}async function Fe(e,_,t){await f_(e);let s="127.0.0.1",i=y_(),S=n_(F,`server-${e}.log`),C={helperPath:i,udid:e,port:_,host:s,logFile:S},n="",$=2;for(let o=1;o<=$;o++){if(c_(_),t.detach){let A=await p_(C);if(A.ready){let y={pid:A.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return re(y),{pid:A.pid}}K(A.pid),n=A.log}else{let A=await F_(C);if(A.ready){let y={pid:A.child.pid,port:_,device:e,url:`http://${s}:${_}`,streamUrl:`http://${s}:${_}/stream.mjpeg`,wsUrl:`ws://${s}:${_}/ws`};return re(y),{pid:A.child.pid,child:A.child}}K(A.child.pid),n=A.log}if(o<$)await new Promise((A)=>setTimeout(A,500))}let r=n?`Helper failed:
15
+ ${n}`:"Helper process failed to start";console.error(r),process.exit(1)}async function D_(e,_,t){let s=e.length>0?e.map(G):(()=>{let r=ce();if(r)return[r];let o=Re();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]})(),i=new Map,S=[],C=_;for(let r of s){let o=f(r);if(o){if(!t){let R=Ce(r)??r;if(s.length>1)console.log(`
16
+ ==> ${R} (${r}) <==`);console.log(` Already running on port ${o.port}`),console.log(` Stream: ${o.streamUrl}`),console.log(` WebSocket: ${o.wsUrl}`)}S.push(o);continue}C=await fe(C);let{pid:A,child:y}=await Fe(r,C,{detach:!1});if(y)i.set(r,y);let a="127.0.0.1",p={pid:A,port:C,device:r,url:`http://${a}:${C}`,streamUrl:`http://${a}:${C}/stream.mjpeg`,wsUrl:`ws://${a}:${C}/ws`};if(S.push(p),!t){let R=Ce(r)??r;if(s.length>1)console.log(`
17
17
  ==> ${R} (${r}) <==`);console.log(` Stream: ${p.streamUrl}`),console.log(` WebSocket: ${p.wsUrl}`),console.log(` Port: ${C}`)}C++}if(S.length===1){let r=S[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:S.map((r)=>({url:r.url,streamUrl:r.streamUrl,wsUrl:r.wsUrl,port:r.port,device:r.device}))}));if(i.size===0)return;let n=!1,$=(r)=>{if(n)return;if(n=!0,!t)console.log(`
18
- Shutting down...`);for(let[o,A]of i){let y=A.pid;if(y)K(y);u(o)}i.clear(),process.exit(r)};for(let[r,o]of i)o.on("exit",(A)=>{if(n)return;if(!t)console.error(`[${r}] Helper exited (code ${A})`);if(u(r),i.delete(r),i.size===0)$(A??1)});process.on("SIGINT",()=>$(0)),process.on("SIGTERM",()=>$(0)),process.on("SIGHUP",()=>$(0)),process.on("exit",()=>{for(let[r,o]of i){try{if(o.pid)process.kill(o.pid,"SIGTERM")}catch{}try{u(r)}catch{}}}),await new Promise(()=>{})}async function x(e,_){let t=e.length>0?e.map(G):(()=>{let S=ae();if(S)return[S];let C=ce();if(!C)console.error("No device specified and no available iOS simulator found."),process.exit(1);return[C.udid]})(),s=[],i=_;for(let S of t){let C=f(S);if(C){s.push(C);continue}i=await Be(i),await pe(S,i,{detach:!0});let n="127.0.0.1";s.push({pid:f(S).pid,port:i,device:S,url:`http://${n}:${i}`,streamUrl:`http://${n}:${i}/stream.mjpeg`,wsUrl:`ws://${n}:${i}/ws`}),i++}return s}function D_(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 T_(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 d_(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{}u(_),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)}u(),console.log(JSON.stringify({disconnected:!0,devices:t}))}}async function E_(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 i=t[0];if(!i)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 S;try{S=JSON.parse(i)}catch{console.error("Invalid JSON:",i),process.exit(1)}return new Promise((C,n)=>{let $=new WebSocket(s.wsUrl);$.binaryType="arraybuffer",$.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify(S)),o=new Uint8Array(1+r.length);o[0]=3,o.set(r,1),$.send(o),setTimeout(()=>{$.close(),C()},50)},$.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),n(Error("WebSocket connection failed"))}})}async function l_(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 i=t[0],S=new Set(["portrait","portrait_upside_down","landscape_left","landscape_right"]);if(!i||!S.has(i))console.error(`Usage: serve-sim rotate <${[...S].join("|")}> [-d udid]`),process.exit(1);return new Promise((C,n)=>{let $=new WebSocket(s.wsUrl);$.binaryType="arraybuffer",$.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify({orientation:i})),o=new Uint8Array(1+r.length);o[0]=7,o.set(r,1),$.send(o),setTimeout(()=>{$.close(),C()},50)},$.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),n(Error("WebSocket connection failed"))}})}async function u_(e){let _,t=[];for(let S=0;S<e.length;S++)if(e[S]==="--device"||e[S]==="-d")_=e[++S];else t.push(e[S]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let i=t[0]??"home";return new Promise((S,C)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let $=new TextEncoder().encode(JSON.stringify({button:i})),r=new Uint8Array(1+$.length);r[0]=4,r.set($,1),n.send(r),setTimeout(()=>{n.close(),S()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),C(Error("WebSocket connection failed"))}})}async function v_(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],i=(t[1]??"").toLowerCase(),S=i==="on"||i==="1"||i==="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"},n=s?C[s]??s:void 0;if(!n||!["on","off","1","0","true","false"].includes(i))console.error(`Usage: serve-sim ca-debug <option> <on|off> [-d udid]
19
- option shortcuts: ${Object.keys(C).join(", ")}`),process.exit(1);let $=f(_);if(!$)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);return new Promise((r,o)=>{let A=new WebSocket($.wsUrl);A.binaryType="arraybuffer",A.onopen=()=>{let y=new TextEncoder().encode(JSON.stringify({option:n,enabled:S})),a=new Uint8Array(1+y.length);a[0]=8,a.set(y,1),A.send(a),setTimeout(()=>{A.close(),r()},50)},A.onerror=()=>{console.error("Failed to connect to serve-sim server at",$.wsUrl),o(Error("WebSocket connection failed"))}})}async function g_(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,i)=>{let S=new WebSocket(t.wsUrl);S.binaryType="arraybuffer",S.onopen=()=>{S.send(new Uint8Array([9])),setTimeout(()=>{S.close(),s()},50)},S.onerror=()=>{console.error("Failed to connect to serve-sim server at",t.wsUrl),i(Error("WebSocket connection failed"))}})}async function b_(e,_,t){let s;if(_.length>0)s=(await x(_,3100))[0]?.device;else{let A=W();if(A.length>0)s=A[0]?.device;else console.log("Starting simulator stream..."),s=(await x(_,3100))[0]?.device}let{simMiddleware:i}=await Promise.resolve().then(() => (ie(),Se)),S=i({basePath:"/",device:s}),C=t?1:50,n=e,$,r=!1;for(let A=0;A<C;A++){let y=e+A;try{await O_(y,S),n=y,r=!0;break}catch(a){if($=a,a?.code!=="EADDRINUSE")break}}if(!r){if($?.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: ${$?.message??$}`);process.exit(1)}let o=R_();if(console.log(""),console.log(` - Local: http://localhost:${n}`),o)console.log(` - Network: http://${o}:${n}`);console.log(""),process.on("SIGINT",()=>process.exit(0)),process.on("SIGTERM",()=>process.exit(0)),await new Promise(()=>{})}function O_(e,_){return Y({port:e,middleware:_})}function Fe(){console.log(`
18
+ Shutting down...`);for(let[o,A]of i){let y=A.pid;if(y)K(y);u(o)}i.clear(),process.exit(r)};for(let[r,o]of i)o.on("exit",(A)=>{if(n)return;if(!t)console.error(`[${r}] Helper exited (code ${A})`);if(u(r),i.delete(r),i.size===0)$(A??1)});process.on("SIGINT",()=>$(0)),process.on("SIGTERM",()=>$(0)),process.on("SIGHUP",()=>$(0)),process.on("exit",()=>{for(let[r,o]of i){try{if(o.pid)process.kill(o.pid,"SIGTERM")}catch{}try{u(r)}catch{}}}),await new Promise(()=>{})}async function x(e,_){let t=e.length>0?e.map(G):(()=>{let S=ce();if(S)return[S];let C=Re();if(!C)console.error("No device specified and no available iOS simulator found."),process.exit(1);return[C.udid]})(),s=[],i=_;for(let S of t){let C=f(S);if(C){s.push(C);continue}i=await fe(i),await Fe(S,i,{detach:!0});let n="127.0.0.1";s.push({pid:f(S).pid,port:i,device:S,url:`http://${n}:${i}`,streamUrl:`http://${n}:${i}/stream.mjpeg`,wsUrl:`ws://${n}:${i}/ws`}),i++}return s}function T_(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 d_(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 E_(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{}u(_),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)}u(),console.log(JSON.stringify({disconnected:!0,devices:t}))}}async function l_(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 i=t[0];if(!i)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 S;try{S=JSON.parse(i)}catch{console.error("Invalid JSON:",i),process.exit(1)}return new Promise((C,n)=>{let $=new WebSocket(s.wsUrl);$.binaryType="arraybuffer",$.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify(S)),o=new Uint8Array(1+r.length);o[0]=3,o.set(r,1),$.send(o),setTimeout(()=>{$.close(),C()},50)},$.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),n(Error("WebSocket connection failed"))}})}async function u_(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 i=t[0],S=new Set(["portrait","portrait_upside_down","landscape_left","landscape_right"]);if(!i||!S.has(i))console.error(`Usage: serve-sim rotate <${[...S].join("|")}> [-d udid]`),process.exit(1);return new Promise((C,n)=>{let $=new WebSocket(s.wsUrl);$.binaryType="arraybuffer",$.onopen=()=>{let r=new TextEncoder().encode(JSON.stringify({orientation:i})),o=new Uint8Array(1+r.length);o[0]=7,o.set(r,1),$.send(o),setTimeout(()=>{$.close(),C()},50)},$.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),n(Error("WebSocket connection failed"))}})}async function v_(e){let _,t=[];for(let S=0;S<e.length;S++)if(e[S]==="--device"||e[S]==="-d")_=e[++S];else t.push(e[S]);let s=f(_);if(!s)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);let i=t[0]??"home";return new Promise((S,C)=>{let n=new WebSocket(s.wsUrl);n.binaryType="arraybuffer",n.onopen=()=>{let $=new TextEncoder().encode(JSON.stringify({button:i})),r=new Uint8Array(1+$.length);r[0]=4,r.set($,1),n.send(r),setTimeout(()=>{n.close(),S()},50)},n.onerror=()=>{console.error("Failed to connect to serve-sim server at",s.wsUrl),C(Error("WebSocket connection failed"))}})}async function g_(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],i=(t[1]??"").toLowerCase(),S=i==="on"||i==="1"||i==="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"},n=s?C[s]??s:void 0;if(!n||!["on","off","1","0","true","false"].includes(i))console.error(`Usage: serve-sim ca-debug <option> <on|off> [-d udid]
19
+ option shortcuts: ${Object.keys(C).join(", ")}`),process.exit(1);let $=f(_);if(!$)console.error("No serve-sim server running. Run `serve-sim` first."),process.exit(1);return new Promise((r,o)=>{let A=new WebSocket($.wsUrl);A.binaryType="arraybuffer",A.onopen=()=>{let y=new TextEncoder().encode(JSON.stringify({option:n,enabled:S})),a=new Uint8Array(1+y.length);a[0]=8,a.set(y,1),A.send(a),setTimeout(()=>{A.close(),r()},50)},A.onerror=()=>{console.error("Failed to connect to serve-sim server at",$.wsUrl),o(Error("WebSocket connection failed"))}})}async function b_(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,i)=>{let S=new WebSocket(t.wsUrl);S.binaryType="arraybuffer",S.onopen=()=>{S.send(new Uint8Array([9])),setTimeout(()=>{S.close(),s()},50)},S.onerror=()=>{console.error("Failed to connect to serve-sim server at",t.wsUrl),i(Error("WebSocket connection failed"))}})}async function O_(e,_,t){let s;if(_.length>0)s=(await x(_,3100))[0]?.device;else{let A=W();if(A.length>0)s=A[0]?.device;else console.log("Starting simulator stream..."),s=(await x(_,3100))[0]?.device}let{simMiddleware:i}=await Promise.resolve().then(() => (ie(),Se)),S=i({basePath:"/",device:s}),C=t?1:50,n=e,$,r=!1;for(let A=0;A<C;A++){let y=e+A;try{await w_(y,S),n=y,r=!0;break}catch(a){if($=a,a?.code!=="EADDRINUSE")break}}if(!r){if($?.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: ${$?.message??$}`);process.exit(1)}let o=B_();if(console.log(""),console.log(` - Local: http://localhost:${n}`),o)console.log(` - Network: http://${o}:${n}`);console.log(""),process.on("SIGINT",()=>process.exit(0)),process.on("SIGTERM",()=>process.exit(0)),await new Promise(()=>{})}function w_(e,_){return Y({port:e,middleware:_})}function De(){console.log(`
20
20
  serve-sim - Stream iOS Simulator to the browser
21
21
 
22
22
  Usage:
@@ -49,4 +49,4 @@ Examples:
49
49
  serve-sim --detach Start streaming in background (daemon)
50
50
  serve-sim --list Show all running streams
51
51
  serve-sim --kill Stop all streams
52
- `)}var c=process.argv.slice(2);if(c[0]==="gesture")await E_(c.slice(1)),process.exit(0);if(c[0]==="button")await u_(c.slice(1)),process.exit(0);if(c[0]==="rotate")await l_(c.slice(1)),process.exit(0);if(c[0]==="ca-debug")await v_(c.slice(1)),process.exit(0);if(c[0]==="memory-warning")await g_(c.slice(1)),process.exit(0);var E,De=!1,Te=!1,de=!1,Ee=!1,le=!1,ue=!1,N=[],ve,ge;for(let e=0;e<c.length;e++){let _=c[e];switch(_){case"--port":case"-p":E=parseInt(c[++e]??"3100",10);break;case"--detach":case"-d":De=!0;break;case"--quiet":case"-q":Te=!0;break;case"--no-preview":ue=!0;break;case"--list":case"-l":if(de=!0,c[e+1]&&!c[e+1].startsWith("-"))ve=c[++e];break;case"--kill":case"-k":if(Ee=!0,c[e+1]&&!c[e+1].startsWith("-"))ge=c[++e];break;case"--help":case"-h":case"help":le=!0;break;default:if(!_.startsWith("-"))N.push(_);else console.error(`Unknown flag: ${_}`),Fe(),process.exit(1)}}if(le)Fe(),process.exit(0);if(de)T_(ve),process.exit(0);if(Ee)d_(ge),process.exit(0);if(De){let e=await x(N,E??3100);D_(e)}else if(ue)await F_(N,E??3100,Te);else await b_(E??3200,N,E!==void 0);
52
+ `)}var c=process.argv.slice(2);if(c[0]==="gesture")await l_(c.slice(1)),process.exit(0);if(c[0]==="button")await v_(c.slice(1)),process.exit(0);if(c[0]==="rotate")await u_(c.slice(1)),process.exit(0);if(c[0]==="ca-debug")await g_(c.slice(1)),process.exit(0);if(c[0]==="memory-warning")await b_(c.slice(1)),process.exit(0);var E,Te=!1,de=!1,Ee=!1,le=!1,ue=!1,ve=!1,N=[],ge,be;for(let e=0;e<c.length;e++){let _=c[e];switch(_){case"--port":case"-p":E=parseInt(c[++e]??"3100",10);break;case"--detach":case"-d":Te=!0;break;case"--quiet":case"-q":de=!0;break;case"--no-preview":ve=!0;break;case"--list":case"-l":if(Ee=!0,c[e+1]&&!c[e+1].startsWith("-"))ge=c[++e];break;case"--kill":case"-k":if(le=!0,c[e+1]&&!c[e+1].startsWith("-"))be=c[++e];break;case"--help":case"-h":case"help":ue=!0;break;default:if(!_.startsWith("-"))N.push(_);else console.error(`Unknown flag: ${_}`),De(),process.exit(1)}}if(ue)De(),process.exit(0);if(Ee)d_(ge),process.exit(0);if(le)E_(be),process.exit(0);if(Te){let e=await x(N,E??3100);T_(e)}else if(ve)await D_(N,E??3100,de);else await O_(E??3200,N,E!==void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serve-sim",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "author": {
6
6
  "name": "Evan Bacon",