Loading files
07e931b46This file is pinned to the selected release. Download the original to open it in your design tool.
// ═══════════════════════════════════════════════════════════
// PatternFlow - Browser self-update page (PROGMEM HTML bundle)
//
// Served at http://patternflow.local/update by core_web_update.h.
// Drop a firmware .bin (the app image the web build service emits, or an
// arduino-cli export) and the device flashes itself via Update.h.
//
// The page polls /update/status: stock builds are always ready
// (PF_WEBUPDATE_ALWAYS_ARMED 1); builds that opted into physical arming
// show a LOCKED tag plus the how-to-arm note until the UPDATE screen is
// opened on the device. Upload progress is the XHR's own send progress —
// the device flashes as it receives, so the bar tracks the actual write
// within a buffer's worth.
//
// Styled to the patternflow.work design system (web/docs/
// patternflow-styleguide.html): cream + ink + LED accent, thin rules,
// mono kickers/tags, dashed placeholder-style drop zone.
//
// License: MIT
// ═══════════════════════════════════════════════════════════
// The page body below is generated from console/update.html — edit that,
// then run: python firmware/toolchain/console_pages.py build
#pragma once
#include <pgmspace.h>
const char WEB_UPDATE_HTML[] PROGMEM = R"HTML(<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="/pf-console.js?h=d02b3322"></script><script>if(!window.PF)(function(){var W=window,U='/api/status',L=[],M=2e9,S,Z,P=W.PF={state:'live',dirty:!1,v:null,get:G,inflight:Number,hold:Object,say:function(t,k,e){e&&(e.textContent=t)},busy:function(b,p){function f(){b.disabled=!1}b.disabled=!0;p.then(f,f);return p},poll:function(s,m,c,o){var t,f,g=1;function R(){g&&!f&&(f=1,clearTimeout(t),(s.call?s():G(s)).then(function(d){c(d,null)},function(e){c(null,e)}).then(K,K))}function K(){f=0;clearTimeout(t);g&&(t=setTimeout(R,m))}o&&o.first===!1?K():R();return{stop:function(){g=0;clearTimeout(t)},set:function(n){m=n;f||K()},now:R}},status:function(c){c&&L.push(c);S?c&&c(S):Z?Z.now():Z=P.poll(U,M,D)},watchStatus:function(m){P.status();Z.set(M=Math.min(m,M))},waitForDevice:function(o){o=o||{};return new Promise(function(y,n){var h=P.poll(U,2e3,function(s){s&&!(o.build&&s.build==o.build)&&(h.stop(),y(s))});setTimeout(function(){h.stop();n(Error('timeout'))},o.timeout||9e4)})}};function G(u,o){return fetch(u,o).then(function(r){if(!r.ok)throw Error(r.status);return o&&o.text?r.text():r.json()})}function D(s){if(s){S=W.pfStatus=s;L.forEach(function(f){f(s)})}}})()</script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Patternflow — Firmware update</title>
<style>
:root{--cream:#0C0B09;--cream2:#1B1914;--ink:#EDE7DB;--muted:#8A8272;--faint:#5A5546;--rule:#242118;--rule-soft:#1B1914;--led:#FF5C2E;--panel:#131110;
--sans:'Inter',ui-sans-serif,system-ui,sans-serif;
--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:var(--cream);color:var(--ink);
font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
/* spacing here, not on body: the chrome's header sits flush */
.wrap{padding:24px 24px 64px}
.panel{width:100%;max-width:560px;background:var(--panel);margin:16px auto 0;padding:48px 48px 44px}
header{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:24px}
.dot{width:7px;height:7px;background:var(--led);border-radius:1px}
h1{font-size:15px;font-weight:600;letter-spacing:.01em;margin:0;flex:1}
#pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
padding:5px 10px 4px;border:1px solid var(--faint);color:var(--muted)}
#pill.ok{border-color:var(--ink);color:var(--ink)}
#pill.warn{border-color:var(--led);color:var(--led)}
#pill.bad{border-color:var(--faint);color:var(--faint)}
.sub{max-width:36ch;color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:32px}
.pf-kicker{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
color:var(--muted);margin-bottom:2px}
.step{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.step:first-of-type{border-top:1px solid var(--rule)}
.step .n{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted)}
.step p{font-size:14px;line-height:1.5;color:var(--muted)}
.step b{font-weight:500;color:var(--ink)}
.step a{color:var(--ink);text-underline-offset:3px}
.step a:hover{color:var(--led)}
#armHint{display:none;margin:20px 0 0;border:1px dashed var(--rule);background:var(--cream);
padding:14px 16px;font-family:var(--mono);font-size:11.5px;line-height:1.6;color:var(--muted)}
#armHint b{font-weight:500;color:var(--ink)}
#handoff{display:none;margin:0 0 24px;padding:16px 18px;border:1px solid var(--rule);background:var(--cream)}
#handoffFrom{font-family:var(--mono);font-size:11px;color:var(--muted);word-break:break-all;margin:6px 0 14px;line-height:1.6}
.go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
background:var(--ink);color:var(--cream);border:1px solid var(--ink);border-radius:2px;padding:12px 16px;cursor:pointer;
transition:background .15s ease,color .15s ease}
.go:hover{background:transparent;color:var(--ink)}
.go:disabled{opacity:.5;cursor:default}
#drop{margin-top:28px;min-height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
border:1px dashed var(--rule);background:var(--cream);cursor:pointer;text-align:center;padding:24px;
transition:border-color .16s ease,background .16s ease}
#drop .big{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
#drop .small{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
#drop.hover{border-color:var(--ink);background:var(--cream2)}
#drop:focus-visible{outline:1px solid var(--led);outline-offset:2px}
#drop.disabled{opacity:.45;cursor:default}
#drop.disabled .small{color:var(--muted)}
#bar{height:6px;background:var(--rule-soft);margin:20px 0 10px;display:none}
#fill{height:100%;width:0%;background:var(--led);transition:width .1s linear}
#msg{font-size:13px;min-height:20px;color:var(--muted);line-height:1.55;margin-top:12px}
#msg.pf-ok{color:var(--ink)} #msg.pf-err{color:var(--led)}
#done{margin-top:20px;padding:16px 18px;border:1px solid var(--ink);background:var(--cream)}
#doneMsg{font-size:14px;margin-bottom:14px}
/* offline: the chrome's chip says so */
html.pf-offline #pill{opacity:.45}
@media(pointer:coarse){.go{position:relative}.go::after{content:"";position:absolute;inset:-4px 0}}
@media(max-width:560px){.wrap{padding:12px 12px 56px}.panel{padding:36px 24px 32px}}
</style></head><body>
<div class="wrap">
<main class="panel">
<header><span class="dot"></span><h1>Update</h1><span id="pill">…</span></header>
<p class="sub">Drop a firmware .bin — the device flashes itself over the LAN and reboots on the new build.</p>
<!-- Shown when the build page hands a firmware URL over via ?src= —
the phone never touches a file picker. -->
<div id="handoff">
<span class="pf-kicker">Linked build</span>
<div id="handoffFrom"></div>
<button id="handoffGo" class="go" type="button" disabled>Fetch & flash</button>
</div>
<span class="pf-kicker">Two steps</span>
<div class="step"><span class="n">01</span><p>Get a <b>.bin</b>: <a href="https://patternflow.work/update">patternflow.work/update</a> sends the latest release straight back to this page. Or bring your own — an <b>arduino-cli</b> export.</p></div>
<div class="step"><span class="n">02</span><p>Drop it below. Keep the device powered; it verifies, flashes, and reboots itself.</p></div>
<div id="armHint">This build requires arming first. On the device: hold <b>K2</b> → NETWORK, then turn <b>K4</b> → <b>UPDATE</b>.</div>
<div id="drop" class="disabled" role="button" tabindex="0" aria-disabled="true">
<span class="big">Drop .bin here</span>
<span class="small" id="why">Checking the panel…</span>
</div>
<!-- accept="*/*", not ".bin": Android maps unknown extensions to a
media-only picker (camera/gallery), and on some devices NO accept
does the same — an explicit any-type accept is what reliably brings
up the full chooser with the file manager. The JS validates
extension and size instead. -->
<input id="file" type="file" accept="*/*" style="display:none" disabled>
<div id="bar"><div id="fill"></div></div>
<div id="msg" aria-live="polite"></div>
<div id="done" hidden><p id="doneMsg"></p><button id="open" class="go" type="button">Open console</button></div>
</main>
</div>
<script>
function $(i){return document.getElementById(i)}
var drop=$('drop'),fileIn=$('file'),pill=$('pill'),bar=$('bar'),fill=$('fill'),msg=$('msg'),go=$('handoffGo');
var st=null, // the last /update/status
build=null, // the image running now, from /api/status
phase='', // '' | fetch | upload | wait | lost
job=null, // this flash: {from: old build, to: the file's build, v: old version}
poll=null,last=null;
function setPill(t,c){pill.textContent=t;pill.className=c||''}
function say(t,k){PF.say(t,k||'info',msg)}
// Why no file can go in now ('' = it can): the picker is shut, reason on it.
function why(){
return phase==='fetch'?'Downloading the build…':phase==='upload'?'Flashing…'
:phase==='wait'?'Restarting…':phase==='lost'?'Waiting for the panel…'
:!st?'Checking the panel…':st.busy?'Busy — an update is already running'
:!st.armed?'Locked — arm it on the panel first (above)':'';
}
function render(){
var w=why(),s=st;
if(!phase)setPill(!s?'…':s.busy?'BUSY':s.armed?'READY':'LOCKED',!s?'':s.busy?'warn':s.armed?'ok':'bad');
$('armHint').style.display=s&&!s.armed&&!s.busy&&!phase?'block':'none';
drop.classList.toggle('disabled',!!w);
drop.setAttribute('aria-disabled',w?'true':'false');
fileIn.disabled=go.disabled=!!w;
$('why').textContent=w||'or click to choose a file';
}
// One connection at a time: a poll still in flight when the 1.2 MB POST
// opened was enough to fail it. The poll keeps its request (last) so an
// upload can wait for it; PF.hold then keeps the lane quiet.
function status(){
return last=fetch('/update/status',{cache:'no-store'}).then(function(r){if(!r.ok)throw Error('HTTP '+r.status);return r.json()});
}
function startPoll(){
if(poll)poll.stop();
poll=PF.poll(status,2000,function(s){if(s){st=s;render()}});
}
function check(f){
return !/\.bin$/i.test(f.name)?'That is not a .bin file.'
:f.size>3*1024*1024?'Too big for the 3 MB app partition. This looks like a merged full-flash image; upload the app .bin instead.'
:f.size<200*1024?'Suspiciously small for Patternflow firmware. Wrong file?':'';
}
// The file's build: the ELF SHA-256 esptool puts at 0xb0, first four bytes
// (src/core_build.h). All zeros = unstamped, then unknowable here.
function fileBuild(f){
return new Promise(function(y){
var r=new FileReader();
r.onload=function(){var b=new Uint8Array(r.result),h='',i;for(i=0;i<b.length;i++)h+=(b[i]<16?'0':'')+b[i].toString(16);y(h.length===8&&/[^0]/.test(h)?h:null)};
r.onerror=function(){y(null)};
r.readAsArrayBuffer(f.slice(176,180));
});
}
function send(f){
return new Promise(function(y,n){
var x=new XMLHttpRequest(),fd=new FormData();
function no(t){n(Error(t))}
x.open('POST','/update?size='+f.size);
x.timeout=300000;
x.upload.onprogress=function(e){if(e.lengthComputable)fill.style.width=Math.round(e.loaded*100/e.total)+'%'};
x.onload=function(){
if(x.status===200)return y();
var t='upload failed ('+x.status+')';
try{t=JSON.parse(x.responseText).error||t}catch(e){}
no('Failed: '+t);
};
x.onerror=function(){no('Connection lost during upload. The device still runs its old firmware unless it just rebooted - if in doubt, try again.')};
x.ontimeout=function(){no('Upload timed out. Try again closer to the access point, or flash over USB.')};
fd.append('firmware',f,f.name);
x.send(fd);
});
}
function upload(f){
// why() too: the state can change while the picker is open
var bad=check(f)||why();
if(bad){say(bad,'err');return}
job={from:build||PF.v,to:null,v:st&&st.version};
phase='upload';render();setPill('FLASHING','warn');
// the result stays on this page: no version reload
PF.dirty=true;
poll.stop();
$('done').hidden=true;
bar.style.display='block';fill.style.width='0%';
say('Uploading '+f.name+' ('+(f.size/1048576).toFixed(2)+' MB). Keep this tab open and the device powered.');
var p=Promise.all([fileBuild(f),last&&last.catch(function(){})]).then(function(r){job.to=r[0];return send(f)});
PF.hold(p,{guard:true}).then(restart,function(e){
phase='';PF.dirty=false;bar.style.display='none';
say(e.message,'err');startPoll();render();
});
}
// The panel reboots 1.2 s after answering. The same image again (or an
// unknown old build) has no new build to wait for: wait out the reboot.
function restart(){
var any=!job.from||job.to===job.from;
phase='wait';render();setPill('RESTARTING','warn');
fill.style.width='100%';
say('Flashed. The panel is restarting on the new build…');
new Promise(function(y){setTimeout(y,any?4000:0)}).then(function(){
return PF.waitForDevice({build:any?null:job.from,timeout:120000});
}).then(done,function(){
phase='lost';render();setPill('NO ANSWER','bad');
say('No answer for two minutes. Patterns back on its screen? Then it has a new address: see the panel (hold K2 → NETWORK) or try http://patternflow.local/. Dark or restarting: flash it over USB at patternflow.work/flash.','err');
});
}
function done(s){
$('doneMsg').textContent=(job.to&&job.to===job.from?'Reflashed v':'Updated to v')+s.version
+(job.v&&job.v!==s.version?' (was v'+job.v+')':'')
+(s.variant&&s.variant!=='core'?' — '+s.variant+' '+(s.variantVersion||''):'')+'.';
$('open').onclick=function(){location.replace('/?v='+s.build)};
$('done').hidden=false;
bar.style.display='none';say('');
phase='';startPoll();render();
}
// The running build; and a late answer (the chrome keeps probing).
PF.status(function(s){
build=s.build;
if(phase!=='lost')return;
if(!job.from||s.build!==job.from||job.to===job.from)done(s);
else{phase='';PF.dirty=false;bar.style.display='none';say('The panel is back, but still on its old build — the update did not take. Try again.','err');startPoll();render()}
});
drop.addEventListener('click',function(){if(!why())fileIn.click()});
drop.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();if(!why())fileIn.click()}});
// cleared, so the same file again still fires
fileIn.addEventListener('change',function(){var f=fileIn.files[0];fileIn.value='';if(f)upload(f)});
['dragover','dragenter'].forEach(function(ev){drop.addEventListener(ev,function(e){e.preventDefault();if(!why())drop.classList.add('hover')})});
['dragleave','drop'].forEach(function(ev){drop.addEventListener(ev,function(e){e.preventDefault();drop.classList.remove('hover')})});
drop.addEventListener('drop',function(e){var f=e.dataTransfer.files[0];if(f&&!why())upload(f)});
// ?src= handoff from the build page ("Send over Wi-Fi"): this page fetches
// the .bin itself and feeds it into the same upload path — no file picker,
// which some Android systems cannot show for arbitrary files. The firmware
// route serves public CORS for exactly this fetch.
var srcUrl=null;
try{
var s=new URLSearchParams(location.search).get('src');
if(s&&/^https?:\/\//i.test(s)){
srcUrl=s;
$('handoffFrom').textContent=s.replace(/^https?:\/\//i,'');
$('handoff').style.display='block';
}
}catch(e){}
go.addEventListener('click',function(){
if(!srcUrl||why())return;
phase='fetch';render();setPill('FETCHING','warn');
say('Downloading the build from '+srcUrl.split('/')[2]+' ...');
fetch(srcUrl).then(function(r){
if(!r.ok)throw new Error('HTTP '+r.status);
return r.blob();
}).then(function(b){
phase='';
upload(new File([b],'firmware.bin',{type:'application/octet-stream'}));
},function(e){
phase='';render();
say('Could not download the build ('+e.message+'). Download the .bin on this device and drop it below instead.','err');
});
});
startPoll();render();
</script>
</body></html>
)HTML";
// <gz:WEB_UPDATE_HTML> GENERATED by firmware/toolchain/console_pages.py build — do not edit.
// gzip -9 of WEB_UPDATE_HTML (15488 bytes → 6365 bytes), served with Content-Encoding: gzip.
const uint8_t WEB_UPDATE_HTML_GZ[] PROGMEM = {
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0xad,0x5b,0xe9,0x72,0xdb,0x48,
0x92,0xfe,0xaf,0xa7,0x80,0xe8,0x69,0x01,0x68,0x83,0xe0,0x61,0x49,0x76,0x83,0x82,
0xb4,0xb2,0x2d,0xf5,0xe1,0x4b,0x21,0xc9,0xeb,0xdd,0xf6,0x78,0x36,0x40,0xa2,0x40,
0xa2,0x05,0x02,0x58,0x00,0x14,0xc5,0xa6,0x18,0x31,0xbf,0xf6,0x01,0x36,0xf6,0x19,
0xf6,0xc1,0xfa,0x49,0xf6,0xcb,0xac,0xc2,0x41,0x8a,0xea,0xd0,0x4c,0xac,0x7e,0x90,
0x04,0x50,0xc8,0xca,0xca,0xe3,0xcb,0xa3,0x4a,0x47,0xbb,0x7e,0x32,0x2a,0x16,0xa9,
0xd0,0x26,0xc5,0x34,0x3a,0xde,0x39,0xa2,0x2f,0x2d,0xf2,0xe2,0xb1,0xdb,0x12,0x71,
0x8b,0x6e,0x08,0xcf,0xc7,0xd7,0x54,0x14,0x9e,0x36,0x9a,0x78,0x59,0x2e,0x0a,0xb7,
0x35,0x2b,0x82,0xf6,0x2b,0x7a,0x9a,0x8f,0xb2,0x30,0x2d,0xb4,0x3c,0x1b,0xb9,0xad,
0x4e,0x1a,0xb4,0x47,0x49,0x9c,0x27,0x91,0xb0,0x7f,0xcb,0x4f,0x26,0xae,0xdf,0xed,
0x0f,0x5f,0xbc,0xe8,0xf7,0x5b,0xc7,0x47,0x1d,0x39,0xf0,0x58,0xbd,0x70,0x1c,0x06,
0xc6,0xee,0x3c,0x8c,0xfd,0x64,0x6e,0x5f,0x9c,0x9b,0x46,0x30,0x8b,0x47,0x45,0x98,
0xc4,0x86,0xb9,0xbc,0xf5,0x32,0xed,0x8b,0x2b,0x9f,0x59,0x9f,0x5d,0xbd,0xe3,0xa5,
0x61,0x27,0x2f,0xbc,0x62,0x96,0xeb,0xd6,0x7b,0xf7,0xeb,0x37,0xeb,0x83,0xdb,0x17,
0x3f,0x58,0x57,0xd6,0xaf,0xd6,0x85,0xfb,0x05,0xaf,0xbb,0x4b,0x7a,0x2c,0x1c,0x3d,
0x0a,0x6f,0x85,0x6e,0xf9,0x61,0x56,0x2c,0x9c,0xdd,0x9e,0x75,0xeb,0xc4,0xb3,0x28,
0xb2,0xc6,0xa2,0x70,0x7e,0xb4,0xc2,0x38,0x88,0xc2,0xf1,0xa4,0x70,0x3e,0xce,0xa6,
0x43,0x91,0x59,0x93,0x24,0xf2,0x9d,0x4f,0xc3,0xdf,0xc4,0xa8,0xb0,0x72,0x6f,0xe1,
0x54,0x1c,0x14,0xd6,0x8d,0x25,0xcc,0xa5,0xd8,0xdb,0x33,0x84,0x5d,0x88,0xbb,0xe2,
0x4d,0x12,0x17,0x22,0x2e,0xdc,0xc2,0x5c,0x59,0xc3,0x59,0xde,0x18,0x3a,0xb4,0x52,
0x73,0x59,0x5e,0x69,0x01,0x98,0x1f,0xda,0x7e,0x98,0x7b,0xc3,0x48,0xf8,0xee,0x6e,
0x6f,0xd5,0xbc,0xea,0x0e,0x52,0xbb,0x98,0x88,0xd8,0x08,0xac,0xc0,0x1c,0x64,0xa2,
0x98,0x65,0xb1,0x96,0xae,0xac,0x34,0x89,0xa2,0x9a,0x62,0x6e,0x4d,0xad,0x91,0x95,
0x48,0x29,0x14,0x56,0x60,0x8d,0xdd,0xde,0xa0,0x9a,0xe1,0x12,0x33,0x8c,0xf7,0xf6,
0x76,0x03,0xf0,0x16,0xb8,0x3d,0x6b,0x14,0x09,0x2f,0xbb,0x0e,0xa7,0x22,0x99,0x15,
0x46,0x61,0x5a,0x46,0x6e,0x8f,0xbc,0x28,0x3a,0xc9,0x0d,0xd3,0xf9,0xd1,0xc8,0x4d,
0x53,0xcd,0x58,0x52,0xf7,0xcd,0xe5,0xc8,0xf0,0x2d,0x92,0x0a,0xd6,0x52,0xdd,0x16,
0x74,0x9b,0x45,0x25,0xcc,0x95,0x7a,0xe7,0x9d,0xf5,0xce,0x34,0x57,0xd5,0xcc,0xef,
0x30,0x73,0xe0,0x76,0x07,0x1b,0x33,0x0e,0xc0,0x8d,0x51,0xb8,0x30,0x89,0xf2,0xde,
0xa5,0x35,0xc5,0x7b,0xc9,0xde,0x5e,0x62,0x07,0x61,0x96,0x17,0xae,0x0b,0x41,0x9c,
0xe0,0x75,0x07,0xcc,0xab,0x65,0x43,0x5d,0x49,0xea,0x34,0x54,0x3e,0x7e,0x48,0x79,
0x65,0x81,0x68,0x3d,0x26,0x36,0x97,0x53,0x37,0x1e,0x04,0xf7,0xf7,0x20,0xb5,0xb2,
0xe2,0x64,0xee,0x5c,0xae,0x30,0x86,0xcd,0xa2,0x1e,0x36,0xc2,0x4a,0xf6,0xf6,0xde,
0xdb,0xe9,0x2c,0x9f,0xe0,0x62,0x70,0x75,0x82,0xcb,0x91,0x71,0x65,0x3a,0xbf,0x9e,
0xfc,0x6a,0xe3,0x2d,0xf0,0xf1,0xab,0x7b,0x61,0x93,0xd0,0x8d,0xcf,0xd6,0x07,0xeb,
0x2d,0x88,0xcd,0xbd,0x62,0x34,0xb9,0xda,0xa0,0x34,0x35,0x97,0x17,0xb6,0x24,0x0f,
0xbe,0x7f,0xb5,0xc1,0x8d,0xf1,0xc1,0xfd,0xe0,0x15,0x13,0x7b,0x1a,0xe2,0xb1,0xf5,
0xc1,0xe4,0x57,0xc3,0xe2,0x3c,0xc9,0xde,0x8a,0xdb,0x70,0x24,0xea,0x97,0xa1,0xbf,
0xc4,0x4d,0xee,0xef,0x97,0xab,0x52,0xd1,0xb1,0x98,0x6b,0x17,0x59,0x32,0x0d,0x73,
0x51,0xab,0x63,0x61,0xc5,0x52,0xd1,0x93,0x9a,0xa5,0xbe,0x78,0x51,0x2b,0x26,0x37,
0x97,0x39,0xd4,0x6d,0x24,0xf6,0x70,0x16,0x46,0xfe,0xde,0x5e,0x2e,0x7f,0xb8,0xae,
0xba,0x63,0x42,0xfc,0x13,0x9b,0xc4,0x69,0x98,0xd6,0x82,0x34,0xbe,0x32,0x07,0x0d,
0x6d,0x34,0x64,0x5c,0x0e,0x1b,0xc4,0xc6,0x59,0x96,0x25,0x99,0xa1,0x17,0x72,0x90,
0x4e,0x0b,0x49,0x6c,0x75,0x75,0x7f,0xff,0x83,0xd8,0x07,0x95,0xd5,0xaa,0x36,0xbb,
0x1f,0x8d,0x19,0x99,0xa4,0x5a,0x4a,0x20,0x20,0x2e,0xbe,0xb3,0x61,0x5d,0x99,0xb9,
0x24,0xaf,0xce,0xec,0xe4,0xc6,0x2c,0x26,0x59,0x32,0xd7,0xe4,0x44,0x99,0x92,0x63,
0x65,0xf5,0x6c,0x1d,0xe4,0x59,0x27,0x19,0x7f,0x41,0x29,0x19,0x00,0x83,0xd8,0x5c,
0x35,0x6c,0xee,0x2d,0xad,0x1f,0x14,0xf1,0x79,0x05,0x3f,0x4f,0x03,0xa9,0x23,0x37,
0x1f,0xbc,0xb7,0x83,0x24,0x3b,0xf3,0xc0,0x46,0x35,0x79,0x00,0xfb,0xc4,0x48,0x62,
0x7c,0x65,0x1a,0x66,0x85,0x37,0x0a,0xb8,0x62,0x6f,0x2a,0xdc,0xd6,0x6d,0x28,0xe6,
0x69,0x92,0x15,0x2d,0x6d,0xa4,0x7c,0xba,0x35,0x0f,0xfd,0x02,0x40,0xc5,0x0a,0x6c,
0xf3,0x05,0x90,0x22,0x2c,0x42,0x2f,0x6a,0xe7,0xf0,0x25,0xe1,0xf6,0x08,0xe5,0x8a,
0xb0,0x88,0xc4,0xf1,0x85,0x57,0x14,0x22,0x03,0x8e,0x60,0x69,0x7f,0xfc,0xfd,0x7f,
0xb4,0xf3,0x30,0x9b,0xce,0xbd,0x4c,0x68,0xb3,0xd4,0x07,0xfe,0x1c,0x75,0xe4,0x30,
0x80,0x62,0xb1,0xa0,0x6f,0x4d,0x73,0xb2,0x24,0x29,0x96,0xed,0xf6,0x28,0x13,0xde,
0xd4,0x79,0xd6,0x7d,0xd3,0x7d,0xdd,0xfd,0x61,0xa0,0xae,0xfb,0xce,0xb3,0xde,0xeb,
0xde,0x0f,0xbd,0x7d,0xdc,0x08,0xe3,0x1b,0xe7,0xd9,0xd9,0xdb,0xb3,0x97,0x6f,0x5f,
0xe3,0x6a,0x3a,0x2b,0x84,0xef,0x3c,0x7b,0x75,0xfa,0xaa,0xff,0xb2,0x8f,0xeb,0xc0,
0x0b,0xe3,0xc2,0x79,0x76,0x70,0x7a,0x70,0xb0,0x7f,0x88,0xeb,0x6c,0x16,0x09,0xe7,
0x59,0x7f,0xbf,0xdf,0xeb,0xbd,0x52,0x97,0xed,0x3c,0x09,0x8a,0x06,0xc1,0x88,0x08,
0x9c,0x9f,0x1f,0xbc,0xe9,0x9f,0xe1,0x2a,0xf5,0x62,0x11,0xe1,0xe9,0x8b,0x5e,0xaf,
0xd7,0x1d,0x80,0x31,0xf9,0xd7,0x6e,0xe7,0x5e,0x9c,0x3b,0xfa,0xcf,0x10,0x46,0xa6,
0x5b,0xb3,0x90,0xaf,0xdb,0xb9,0xc8,0xc2,0xc0,0xca,0x17,0x79,0x21,0xa6,0xed,0x59,
0x68,0xd5,0x37,0x9b,0xaf,0x4e,0x93,0x38,0x71,0xf4,0x5f,0x44,0xf1,0x3a,0x03,0x7b,
0xb9,0xf6,0x01,0xd7,0x4c,0x83,0x1e,0xe4,0xa9,0x37,0x12,0xd6,0xd5,0x39,0xdd,0x6c,
0x5f,0x8a,0xf1,0x2c,0xf2,0x32,0xeb,0x83,0x88,0xa3,0xc4,0xaa,0x1e,0xaf,0x40,0xec,
0xfb,0xe5,0x30,0xb9,0x6b,0xe7,0xe1,0xef,0x61,0x3c,0x76,0x86,0x49,0xe6,0x8b,0xac,
0x8d,0x3b,0x83,0xa9,0x97,0x8d,0xc3,0xd8,0x01,0x68,0x7a,0xbe,0x4f,0xcf,0xba,0x34,
0x7a,0x98,0xf8,0x8b,0x25,0xdc,0xaf,0x3d,0x11,0x0c,0xe5,0xbd,0x6e,0xf7,0x76,0x32,
0x18,0x7a,0xa3,0x9b,0x71,0x96,0xcc,0x62,0xdf,0x81,0x33,0x19,0x4a,0xba,0xe6,0x60,
0x94,0x44,0x49,0xa6,0x6e,0x41,0xbe,0x66,0xc5,0x7c,0x00,0xe5,0x3b,0xbd,0x83,0xf4,
0xae,0xd3,0xb3,0x0f,0x0e,0x34,0x39,0x82,0x16,0x69,0x0e,0xda,0x73,0x31,0xbc,0x09,
0x8b,0x36,0x0d,0x69,0xe7,0x53,0x68,0x6f,0x42,0xb3,0x7b,0x31,0x59,0x44,0xe8,0xe5,
0xc2,0x1f,0x90,0xc5,0xb6,0x33,0x11,0x83,0x55,0x7a,0x34,0x16,0x09,0x2c,0x2c,0x0b,
0x47,0x17,0x99,0x18,0x85,0x39,0x6c,0x91,0x38,0xed,0x7c,0xaf,0xd1,0x1a,0x31,0x40,
0x9b,0x88,0x4c,0x58,0x5a,0x9c,0x14,0x1a,0x6c,0x9a,0x56,0xe0,0x68,0xf0,0x1b,0x84,
0x52,0xc0,0x81,0xd0,0x73,0x8d,0xe2,0xab,0xc8,0xb4,0x3c,0x2c,0x72,0x2d,0x88,0x00,
0x5c,0xda,0xf7,0x1d,0x50,0xb0,0xe7,0x99,0x97,0x2e,0xcb,0xe5,0xf7,0xf7,0xd3,0x3b,
0x8d,0x3f,0x0e,0xf1,0x41,0x33,0xd8,0xac,0xd3,0x25,0x9b,0x2c,0x09,0xe2,0x3b,0xc8,
0xec,0x4e,0x5a,0xb0,0x73,0x70,0xd8,0x4d,0xef,0x1e,0xca,0x85,0xdf,0x30,0x4b,0xd9,
0xf6,0x0e,0x41,0xcd,0x9b,0x15,0x89,0x56,0x4b,0x79,0xff,0x15,0xee,0xc9,0x0f,0x35,
0x8d,0xe4,0x6e,0x89,0x38,0x96,0x46,0x14,0x25,0x23,0x71,0x37,0x80,0x24,0xc6,0x71,
0x3b,0x84,0x75,0xe4,0xce,0x48,0x90,0xed,0x0c,0xc6,0x5e,0xea,0xe0,0xb5,0x92,0x10,
0x74,0x58,0x14,0xc9,0xd4,0xe9,0xf5,0x89,0x8f,0x52,0xad,0xf2,0x16,0x88,0x23,0x43,
0x08,0x7d,0x25,0x77,0x32,0xde,0x92,0xa7,0x72,0x4c,0xbf,0x5c,0xa3,0x0f,0xef,0x91,
0x4b,0x7a,0x09,0x42,0x4a,0xeb,0x2f,0xb7,0xad,0x0d,0xf6,0x6e,0x96,0x33,0x65,0x9e,
0x1f,0x02,0xcb,0x7b,0x6a,0x05,0xbd,0xa5,0xd4,0x66,0xf8,0xbb,0x60,0xad,0x0f,0xf8,
0x72,0x2e,0x89,0x1d,0x76,0xbb,0x83,0x48,0x90,0x5f,0xb7,0x95,0xc2,0x1c,0xbb,0xdb,
0x13,0xd3,0xda,0x02,0x69,0xc9,0x4e,0x8f,0x28,0x3d,0x4b,0xc3,0x28,0x92,0xc4,0x02,
0x6f,0x1a,0x46,0x0b,0x35,0x37,0x59,0xb4,0x39,0x68,0x4c,0xd2,0xb5,0x69,0x9a,0x4d,
0xb2,0xbd,0x3e,0xc8,0xb2,0xf5,0x14,0x19,0x8c,0x0d,0x10,0x36,0x75,0x66,0x69,0x2a,
0xb2,0x11,0xec,0xaa,0x32,0xce,0x52,0x15,0xa0,0xa0,0xf5,0xba,0xa4,0x89,0x4a,0x84,
0x0f,0x64,0xc7,0xb8,0xb0,0x6e,0xe8,0x0c,0x1d,0x66,0xc5,0x2d,0xb0,0x78,0xa9,0xa4,
0xf2,0xc0,0x1d,0x36,0x6f,0xd4,0x2f,0x01,0xd4,0xe2,0x6d,0xaf,0xb1,0x90,0x37,0x6f,
0xd4,0xaf,0x0d,0x3d,0x7f,0xdb,0x5b,0x5b,0xb8,0x94,0xb7,0x58,0xc5,0xf9,0x6c,0xb8,
0xac,0x2d,0xf7,0xc5,0xe1,0x68,0xb2,0x65,0x3d,0x83,0x0d,0x0d,0x46,0x61,0x2c,0x2a,
0x10,0xb0,0x0f,0x36,0xcc,0xe7,0x45,0xbf,0x74,0x91,0xa0,0x7d,0x13,0x8e,0x6e,0x1a,
0xf6,0x3b,0x8c,0x92,0xd1,0xcd,0xe0,0x09,0x2a,0xec,0x6d,0x53,0xe0,0xfe,0x53,0x14,
0xb8,0x85,0xfb,0x0d,0xeb,0x56,0xdc,0x01,0x5e,0xd3,0x8a,0xb1,0x71,0x16,0xfa,0x03,
0xfa,0x68,0xc3,0xad,0x70,0xa7,0x10,0x24,0xc3,0xd9,0x14,0xf0,0xbc,0x4f,0x56,0xd0,
0x0b,0xa4,0x93,0xf5,0xbb,0xb5,0x97,0x39,0x3d,0x02,0x84,0xee,0x93,0x1c,0xac,0xe9,
0xb3,0x43,0xb0,0x4b,0x12,0xac,0xb8,0x70,0x38,0x55,0x6b,0x27,0x41,0x9b,0x2a,0x81,
0x52,0x87,0x94,0xa4,0x6d,0x25,0x56,0xbd,0xa7,0xd9,0xf1,0x93,0xdc,0xe1,0x31,0x67,
0xd8,0x6e,0xb8,0x92,0x74,0xda,0xf4,0xda,0xfd,0x2d,0x3a,0xff,0xb3,0x97,0x87,0xcb,
0xa6,0x8f,0x1f,0xc0,0xc7,0xb7,0x19,0xbb,0x1c,0xeb,0x2d,0x1f,0x78,0x06,0xeb,0x78,
0x46,0x08,0xcf,0x93,0x26,0x41,0x40,0xc9,0xe8,0x8b,0x86,0xde,0x34,0xcf,0x99,0x24,
0xb7,0x30,0xac,0xad,0xde,0xe0,0x65,0xd3,0x9f,0x60,0xe0,0x95,0x72,0xe3,0x24,0x16,
0x25,0xa0,0x90,0x02,0xb5,0x6e,0xa5,0x35,0x96,0xb0,0xef,0xe5,0x13,0xb1,0xae,0xaf,
0xc7,0x82,0xda,0x26,0x4c,0xb0,0x09,0x10,0x94,0x3f,0xc9,0xa8,0xed,0x87,0xce,0x73,
0xf8,0x18,0x7c,0xa8,0x45,0x3c,0x51,0x96,0xcf,0x26,0x1e,0x0a,0xb6,0x20,0xd8,0xba,
0x66,0x2c,0x97,0x83,0x57,0x6d,0xb8,0x14,0x7b,0x7a,0xaf,0x1e,0x47,0xb6,0x3f,0x15,
0x42,0x73,0xbe,0x73,0x44,0xd1,0xe5,0x13,0xfd,0x79,0x8b,0x67,0xce,0x31,0x7d,0x7b,
0x08,0xaa,0x37,0x0e,0x7f,0xb6,0x51,0x3e,0x95,0x5c,0x1f,0xb2,0xa2,0xb6,0xd8,0xde,
0x21,0x9b,0xc1,0x38,0x59,0xfe,0xb3,0x38,0xf2,0xa4,0x40,0xf0,0x60,0xf1,0x0f,0x40,
0x5b,0x99,0xc4,0x23,0x22,0xe4,0xe1,0xeb,0x11,0xb1,0xdf,0x54,0x41,0xbf,0x34,0x9c,
0xd1,0x2c,0xcb,0x41,0x33,0x4d,0x42,0x0e,0xe5,0xe5,0xfc,0xcc,0x5b,0x48,0xc9,0xb5,
0x53,0xb3,0xa2,0xd9,0xbd,0x83,0x5c,0x13,0xe0,0xd3,0x62,0x4e,0xea,0x6b,0x25,0x13,
0xe5,0x16,0x0d,0xe6,0x99,0x4e,0x8a,0x34,0x39,0x2e,0xb6,0x7b,0x21,0x5e,0x2a,0xcb,
0xe4,0x65,0x42,0x32,0x42,0xf5,0x4e,0xfe,0x2d,0xd9,0xf2,0x45,0xe0,0xcd,0xa2,0x82,
0x75,0xee,0x67,0x49,0xba,0x54,0x60,0x4a,0xe8,0xd4,0x27,0x0b,0x6a,0xe6,0x83,0x2f,
0x69,0x3d,0x6b,0xb9,0x0a,0x7d,0xb4,0xfd,0x10,0xb9,0x19,0xaf,0x44,0x62,0xea,0xb6,
0x0c,0xe6,0xb7,0x59,0x5e,0x84,0xc1,0xa2,0xad,0x2a,0x83,0xcd,0xc4,0xa6,0xd2,0xca,
0x3f,0xe5,0xb5,0x1b,0x22,0x66,0xdd,0x33,0x0f,0xe5,0x34,0xcd,0x3c,0x6f,0xab,0x06,
0x1a,0x61,0x15,0x32,0x3f,0x54,0x3a,0x58,0x53,0xcc,0x61,0xad,0x08,0x96,0x94,0x66,
0x0f,0xc3,0xf1,0x53,0x6c,0xb4,0xff,0x0f,0xc7,0xba,0xad,0x08,0x20,0xe7,0xcc,0xa7,
0xde,0x13,0x93,0xa4,0x2d,0xb3,0x76,0x5f,0x3d,0x75,0xd6,0x3a,0x83,0xe0,0x79,0x6d,
0x65,0x76,0x8f,0xa4,0x3a,0xdb,0xf5,0xd2,0xaf,0xdf,0x77,0x82,0x64,0x34,0xcb,0xdb,
0xb7,0x48,0xe0,0x61,0x87,0x4b,0x14,0xc2,0xe4,0xf2,0x0f,0x7c,0x8a,0x13,0x20,0xf5,
0xb0,0x0c,0x0b,0x2a,0x9c,0x4b,0x36,0x1e,0x1a,0xf2,0xfe,0xa3,0x96,0x5c,0x0d,0x2e,
0x85,0xf6,0x08,0x10,0x0f,0xbd,0x6c,0xa9,0x0c,0xfc,0x70,0x5b,0xea,0x5b,0x95,0x7f,
0xe6,0x46,0x8c,0x61,0x11,0x37,0xf1,0x98,0xc9,0x05,0x94,0xc4,0xd6,0x05,0xd4,0x77,
0x03,0x99,0x79,0xe1,0xc7,0xf6,0xa4,0xba,0x61,0x85,0x3c,0x12,0x96,0x96,0x6b,0x24,
0x00,0x2f,0x63,0x7a,0xd3,0x7c,0xdc,0x0c,0xd5,0x2f,0xd6,0x5d,0x92,0xf3,0x95,0x2d,
0xc0,0xbb,0x11,0xcd,0xab,0x14,0x8e,0x93,0x8e,0x52,0xa4,0x20,0x4d,0x39,0x1c,0x72,
0xd8,0x07,0x06,0x57,0x3d,0x14,0xd9,0x23,0x41,0xd8,0xc7,0x82,0xd7,0xc0,0xa2,0xfb,
0x8f,0x04,0xa0,0x3f,0x31,0x9b,0x9a,0xfc,0x87,0xf5,0xa5,0x93,0xef,0xae,0xa7,0x7a,
0x3d,0x55,0xc8,0xa0,0x1c,0x84,0xb5,0xb0,0x49,0xad,0x17,0x7f,0xa3,0x49,0x98,0x6a,
0xb9,0xb7,0xc8,0x31,0xb9,0xac,0xfb,0xa8,0xff,0xca,0x8b,0x96,0xe3,0x55,0xd1,0xd1,
0x30,0x27,0xa2,0xf7,0x2f,0x53,0xe1,0x87,0x9e,0xa1,0xf0,0x04,0xa8,0x46,0x6d,0x59,
0x73,0x49,0x31,0x29,0x4d,0x94,0xb2,0x32,0x81,0x2c,0x32,0xbc,0x15,0x2b,0x02,0x58,
0xc7,0x0b,0x0a,0xce,0x56,0x24,0xb8,0xb5,0x5a,0x83,0x6a,0x9c,0x37,0xc4,0xba,0xa1,
0x94,0x01,0x8a,0x78,0x98,0x73,0x9b,0x73,0xca,0x55,0x63,0x96,0x8d,0xba,0x12,0xd3,
0xac,0x95,0xa6,0x32,0x90,0xd0,0xc7,0x01,0x84,0xba,0x52,0x75,0x69,0xf9,0xf4,0xc5,
0x61,0x59,0xb8,0x72,0x56,0xbe,0xda,0x39,0xea,0xc8,0xee,0xc8,0x51,0x87,0x1b,0xcb,
0x47,0x54,0x11,0x1f,0xef,0xec,0x1c,0xf9,0xe1,0xad,0x36,0x8a,0xbc,0x3c,0x77,0x5b,
0x44,0x9e,0xba,0x2e,0x53,0xf8,0x78,0x79,0x8f,0xa9,0xb6,0xa8,0xa7,0x72,0x24,0x4b,
0xd2,0xe3,0x23,0xa0,0x46,0xf5,0x18,0x85,0x22,0x37,0x99,0x71,0xeb,0xf8,0x68,0xd2,
0x3b,0xfe,0xac,0x3a,0x32,0xf8,0x29,0xc7,0x85,0x3e,0x68,0x40,0x92,0xad,0xe3,0xbd,
0x89,0x88,0xa2,0x30,0x1d,0x94,0xa3,0x3b,0x8a,0xde,0x0e,0xd1,0x4e,0x4b,0x82,0x28,
0x4b,0x5a,0xc7,0x6f,0x09,0xd1,0x3c,0x2d,0x28,0xfb,0x3c,0x00,0xd4,0x58,0xdb,0x9b,
0x12,0xf0,0x0f,0x58,0x8f,0xb2,0x6f,0x84,0xb2,0x9d,0x42,0x41,0xae,0xa1,0x84,0x17,
0x51,0xa0,0x11,0x14,0xf1,0xe3,0xf7,0xa7,0x1f,0x35,0xa4,0x29,0x5a,0x26,0x86,0x49,
0x82,0xf2,0x3e,0x89,0xf9,0x36,0x35,0x03,0xb9,0x7d,0x67,0x1f,0x75,0x52,0x39,0xef,
0x6e,0xbb,0xad,0x5d,0x4d,0x92,0x79,0xac,0xcd,0x27,0x42,0x8e,0xe2,0x11,0xc8,0xf3,
0xc6,0x42,0xa3,0x5c,0x27,0x6f,0x32,0xf2,0xf9,0xf2,0xbd,0x9c,0xe5,0x36,0xf4,0xb4,
0x13,0x6a,0xbe,0x53,0x43,0xaa,0x8a,0x1b,0x78,0x3b,0x9d,0xc0,0x3e,0x31,0x13,0xb3,
0x92,0xcc,0x46,0xc4,0x1e,0x11,0x88,0xf0,0x88,0x4b,0x22,0x5b,0x6b,0xb7,0x59,0x9c,
0x24,0x78,0x92,0x8e,0x4a,0xa8,0x58,0xc6,0xb8,0xdd,0x94,0x6e,0x55,0x47,0xb5,0x8e,
0xdf,0xc3,0x31,0x80,0x58,0xcc,0x9c,0x92,0xa0,0x1c,0xbf,0x41,0x86,0xf2,0x32,0xd2,
0x08,0x6e,0xab,0x01,0xc3,0x19,0x5c,0x22,0x6e,0x8e,0xf9,0x31,0x69,0x95,0x33,0x8c,
0xf1,0x93,0x6a,0x0f,0xb7,0x25,0x87,0xb5,0xb4,0x12,0x1c,0x8f,0xcf,0xa9,0xdf,0xa8,
0xed,0x79,0xd3,0x74,0x20,0x05,0x7d,0xd4,0x91,0x63,0x98,0x7b,0x39,0xc1,0xce,0xe3,
0x0c,0x5f,0xcf,0x13,0x8d,0x32,0xf6,0xbc,0xe6,0xb6,0x69,0x6b,0xf4,0xa8,0xb5,0x6e,
0x4b,0x71,0xeb,0xb8,0xdb,0x2b,0xad,0x23,0x3d,0xfe,0x51,0x14,0x90,0xdc,0xd1,0xf0,
0x98,0xb4,0x8f,0xb9,0x8f,0x1d,0xed,0xc8,0xd3,0x26,0x99,0x08,0xb0,0x90,0xa2,0x48,
0x73,0xa7,0xd3,0x49,0xeb,0xce,0xa0,0x8d,0x94,0xf2,0xa6,0x23,0x3b,0x82,0xad,0xe3,
0x47,0x1e,0x1c,0x75,0xbc,0x63,0x2d,0x17,0xa4,0x55,0x52,0x16,0x95,0x7b,0x79,0x01,
0x33,0x89,0x28,0x80,0x83,0xdd,0xcc,0x23,0x60,0xe4,0x14,0x10,0xda,0xc3,0x98,0x30,
0x67,0x4b,0xb0,0xb5,0x4f,0x99,0x36,0xa4,0xbe,0x93,0xb6,0x48,0x66,0x99,0x46,0x06,
0x53,0xda,0x23,0x16,0x00,0x26,0xbd,0xcc,0x9f,0x85,0x71,0xd2,0x1e,0x45,0x21,0xf1,
0xaa,0x89,0x3b,0x6a,0x78,0xb2,0xa1,0x55,0xca,0x78,0xc2,0xfa,0xfb,0xf5,0xfa,0xd9,
0x09,0x42,0x30,0x23,0x68,0x11,0xda,0x3b,0x81,0xea,0xa7,0x61,0xfb,0x69,0x32,0x17,
0x99,0xf0,0x07,0x34,0xe4,0x96,0x7a,0x84,0xa1,0xc8,0xad,0xd2,0x23,0xac,0x35,0xf3,
0x97,0xee,0xd1,0xe4,0xa5,0x69,0x7f,0xaa,0xde,0x80,0xc6,0x68,0xb5,0xd2,0xfa,0x33,
0xf1,0x9f,0x33,0xe4,0x6e,0x30,0xdd,0x6c,0x4a,0x8b,0xe6,0x3a,0x15,0x42,0x88,0x1b,
0x1c,0x38,0x1a,0x6d,0xe5,0xd0,0xda,0xdf,0xf5,0x79,0xc9,0x7b,0x99,0x97,0x65,0x03,
0xed,0xe3,0xd9,0xf5,0x97,0x4f,0x97,0xef,0x2c,0x1a,0x8a,0xf1,0xd4,0x78,0xa6,0x31,
0xfb,0xcd,0x31,0xb8,0xf1,0xf9,0xe2,0xed,0xe9,0xf5,0x19,0xdd,0xb4,0xb7,0x30,0x45,
0x71,0xba,0x32,0xd2,0xd2,0x24,0x5b,0x5a,0x96,0x44,0x0d,0x53,0x2d,0x3c,0x58,0x86,
0x2f,0xee,0xdc,0x56,0xb7,0x05,0x4e,0x43,0xaf,0x5d,0x6d,0xfb,0xb4,0x8a,0x6c,0x26,
0xb6,0xb9,0x14,0x52,0x33,0x85,0x2f,0x0c,0x2a,0xd4,0x24,0x5c,0x73,0xa7,0xe6,0x58,
0xce,0x0e,0x5a,0xcc,0xcf,0x7c,0xb2,0x68,0x1d,0xbf,0x99,0x88,0xd1,0x0d,0x89,0x83,
0x1d,0x9d,0x80,0x71,0x03,0xd3,0x6a,0xc7,0x50,0xd0,0xe2,0x8d,0x46,0x22,0x2d,0xdc,
0xd6,0xf7,0x9d,0xef,0x5b,0xb2,0x17,0xd9,0xa2,0x69,0x5b,0x8e,0x76,0x1a,0x63,0x89,
0x88,0x7a,0x53,0x2f,0xcd,0xb5,0x59,0x7c,0x13,0x93,0x49,0x21,0x01,0x13,0x31,0xb5,
0x32,0x73,0xb2,0x3e,0xaf,0xc4,0x15,0x0e,0x07,0xed,0x24,0x8e,0x16,0x0a,0x43,0x34,
0x63,0xe4,0x4d,0x45,0xe6,0x75,0xc6,0x60,0x50,0x64,0x0b,0x53,0xea,0x1b,0x5e,0x9e,
0x23,0xbc,0x29,0xfd,0xe4,0xda,0xc7,0x4f,0x8a,0x81,0x92,0x90,0x9f,0x08,0x69,0xf8,
0x39,0x5e,0xe7,0x56,0xba,0x47,0x93,0xa6,0x51,0x88,0x20,0x87,0xdf,0x0b,0xee,0x43,
0xa8,0x97,0x34,0x58,0xc3,0x7c,0xe2,0xb1,0x7b,0x84,0x90,0xea,0x42,0x3a,0x40,0x5e,
0x12,0x9b,0x49,0x73,0x0c,0x66,0x51,0x84,0x70,0x9a,0x24,0x39,0xf8,0x9a,0x87,0xc8,
0x53,0xf8,0x2e,0x01,0xde,0xd4,0x8b,0xe1,0x3b,0x40,0xbc,0x6b,0xdc,0xf9,0xe5,0x0a,
0x11,0x1e,0x71,0x9e,0x5c,0xae,0x24,0x51,0xad,0x97,0xd9,0xa7,0x60,0xae,0x21,0x18,
0x16,0x88,0x0b,0x15,0x4a,0x86,0x71,0x3a,0x2b,0x58,0x05,0x44,0xb2,0x04,0x2b,0xf9,
0xbb,0x29,0x5d,0x8d,0xa3,0x1b,0xdb,0x4a,0x95,0x76,0x35,0xc0,0xac,0x69,0x5b,0xc8,
0xeb,0xe0,0x79,0xe5,0x55,0xc0,0xc1,0x49,0xaa,0x6d,0xdd,0x53,0xe9,0x29,0x92,0x1d,
0x65,0x5a,0xb4,0xc7,0x09,0x80,0x43,0xaa,0x42,0xf8,0xf2,0x70,0xa4,0xcf,0x13,0x4e,
0x42,0xdf,0x17,0xe4,0xbe,0xd5,0x3d,0xe4,0x2a,0x34,0x1c,0xae,0xd7,0x00,0xe2,0x24,
0x15,0xf1,0xe3,0x18,0x7c,0xfc,0x09,0x8f,0x35,0xb5,0xa3,0x5b,0xa1,0xae,0x9a,0xf2,
0xa8,0x43,0xe1,0x99,0xbe,0xa5,0xd3,0x94,0x1b,0xbb,0x3b,0xd5,0xfe,0xcd,0x5f,0x8c,
0xb0,0xda,0x34,0xf2,0x91,0x5e,0x4f,0x91,0x79,0xd8,0x63,0x51,0x9c,0x45,0x82,0x7e,
0xbe,0x5e,0xfc,0xec,0x63,0xc4,0x6a,0x87,0x76,0xc0,0xc8,0xcf,0xdc,0xbf,0x18,0x3a,
0x7d,0xeb,0xa6,0x45,0x72,0xfd,0x39,0xa6,0x1b,0xf4,0x0b,0x37,0x28,0x74,0xd3,0x25,
0x7d,0xe3,0x12,0xa2,0xa3,0x2b,0x7c,0xc9,0xc1,0x91,0x1a,0x4a,0xcf,0x20,0x2a,0xba,
0xc2,0x17,0x2e,0xc6,0x09,0xfd,0xae,0xe2,0x8d,0x6e,0x0e,0x78,0xba,0xbc,0x70,0x79,
0xbf,0x93,0xb5,0xdf,0xe9,0x28,0x10,0x06,0x04,0x2b,0x7c,0x56,0xfb,0xcd,0x6c,0x1f,
0x72,0xc7,0x4d,0x0d,0x57,0x63,0xc3,0x29,0x85,0xe5,0x6c,0x16,0xc7,0xe4,0x86,0xf0,
0x19,0x20,0x1e,0x02,0x9e,0xd6,0xd8,0xab,0xe6,0x77,0xd3,0x09,0xf0,0xdc,0xd5,0x75,
0x4b,0xcd,0xa3,0xeb,0xda,0xbd,0xdc,0x40,0xc3,0xf7,0x2c,0x8d,0x12,0xcf,0xc7,0x0f,
0xda,0x45,0xc4,0x57,0x94,0xe4,0xd2,0x43,0x7e,0x4b,0x86,0x35,0x7b,0x3c,0x63,0x98,
0x4b,0x44,0x75,0xb4,0x25,0xcd,0xe3,0x68,0x84,0x78,0xcc,0x18,0xe0,0x2d,0x71,0x2a,
0x53,0xd7,0xf3,0xf2,0xee,0xad,0x1c,0x03,0x44,0x2e,0xb7,0x24,0xc0,0x4d,0x02,0x41,
0x31,0x61,0x5a,0x2b,0xff,0x1a,0xec,0xd4,0xfa,0x42,0xf6,0x77,0x01,0x11,0x1a,0x85,
0x35,0x32,0x97,0xdc,0xd0,0x5d,0xdb,0xfd,0x1e,0xf0,0x2d,0xb6,0x95,0x8f,0xb4,0x9b,
0x36,0xba,0xbf,0xd7,0xf5,0x55,0xe3,0x75,0x6f,0x41,0x7b,0xe7,0xe6,0xf2,0xe2,0xdc,
0x56,0xbf,0x31,0x22,0x8c,0x83,0x44,0x27,0x9d,0x40,0xd1,0x3b,0x58,0xcb,0x97,0xc9,
0x02,0xf2,0x92,0x7e,0x39,0x82,0xd7,0x8f,0x13,0xb8,0x1a,0x49,0x50,0x33,0x20,0x1c,
0x97,0xa2,0x08,0x6e,0x9b,0x72,0x49,0x0a,0x65,0xb0,0xfa,0x7c,0x32,0x2b,0x2c,0x20,
0x80,0x97,0x63,0x26,0x32,0xde,0xc2,0xae,0x67,0x06,0x28,0x1a,0xe6,0x12,0x4b,0x2c,
0x77,0xd5,0x59,0xea,0xae,0xab,0xb3,0xa4,0xf5,0x13,0xfd,0x2d,0x40,0x8d,0x64,0x5d,
0x62,0x26,0xcb,0xe8,0x8f,0xbf,0xff,0xaf,0xee,0x54,0x43,0xa5,0x32,0x30,0xf6,0x9c,
0xe4,0x8c,0x81,0xf4,0x98,0xa5,0x56,0x8f,0x21,0x3d,0x61,0xc4,0x25,0x62,0xb5,0x97,
0x15,0x6a,0x4c,0xfd,0x98,0xf4,0x87,0xc7,0x5f,0x30,0x8a,0x63,0x55,0x92,0xd5,0x00,
0x5d,0x53,0xdb,0xcd,0x8b,0x13,0xfd,0x21,0x82,0x33,0x29,0xc4,0x36,0x3a,0x60,0x70,
0xa2,0xbf,0xc6,0x67,0x89,0x8b,0xd2,0x22,0x49,0x08,0x5e,0x04,0x01,0xf8,0x8b,0xd2,
0xee,0x6a,0x82,0x36,0xc2,0xa3,0xf0,0x4f,0xf4,0xf7,0xc9,0x88,0x92,0x33,0x7e,0x31,
0x9b,0x92,0x2c,0x55,0xc6,0xc9,0x53,0xc8,0xe8,0xa9,0x19,0xde,0x10,0xa9,0xa3,0xa9,
0x3b,0xba,0x3e,0xd8,0x69,0xe8,0x4f,0x6e,0x69,0x49,0x41,0x92,0x8f,0xcc,0x5d,0x96,
0xab,0x95,0xbb,0x79,0x41,0x2d,0x09,0xda,0xdb,0xe5,0xb5,0x9a,0xa5,0xa1,0xec,0xe6,
0x27,0xba,0xe4,0xbb,0x64,0xfb,0xf3,0xd5,0xbf,0xd3,0x95,0x62,0xe7,0xf2,0xec,0xf4,
0x2d,0xae,0xf5,0xf7,0x9f,0xde,0xbc,0x3b,0x7b,0xab,0x5b,0x34,0xbe,0x1e,0x4c,0x9b,
0x0c,0x8d,0xc1,0xc9,0x0d,0x46,0x0e,0xa1,0x02,0xee,0x71,0xc2,0x69,0x55,0x3e,0xa0,
0x9b,0x36,0x43,0xaa,0xad,0x10,0xd5,0xa5,0x1d,0x71,0xf5,0x16,0xff,0x22,0x6a,0xf8,
0xc1,0xac,0x9d,0xe8,0xdc,0xe0,0x07,0x25,0xc2,0x5d,0x9d,0x28,0x71,0xa5,0xcd,0x56,
0xfb,0x3e,0x84,0xa4,0x8a,0x64,0x3c,0x8e,0x04,0x80,0x46,0x21,0x32,0xb8,0xda,0x9d,
0x9b,0xd5,0x40,0x2c,0xed,0xb4,0x28,0xb2,0x10,0x58,0x27,0x88,0x85,0x46,0x2c,0xd7,
0xad,0xf9,0x89,0x4e,0xe1,0x1c,0xd4,0x03,0x2f,0xca,0x85,0xe4,0x54,0x42,0x55,0x7d,
0xd0,0x63,0x9c,0x34,0x0e,0x7d,0xec,0xce,0xd5,0x62,0x20,0x4a,0x2c,0xa4,0xe9,0x4f,
0x73,0x38,0x07,0x2c,0x04,0x79,0x9a,0xcc,0xf1,0x64,0xe8,0x52,0x39,0x3a,0x6b,0x86,
0xdc,0xe5,0x13,0x92,0x78,0x00,0x70,0x2c,0xdb,0x57,0x9a,0x47,0xa9,0x28,0xed,0xd4,
0x3b,0xf8,0x26,0x77,0x06,0x92,0x41,0x13,0xe4,0x42,0xf2,0x74,0x4b,0x5d,0x3e,0xf4,
0xec,0xbe,0xf6,0xe1,0xb5,0x76,0xf1,0xe9,0xea,0x9a,0x08,0x11,0xd2,0xc3,0x34,0xe6,
0x5e,0xae,0x89,0x38,0x99,0x8d,0x27,0x34,0x67,0xe0,0x85,0x11,0xb9,0x12,0x07,0x46,
0x26,0x77,0x83,0xec,0x8e,0x13,0x35,0x4e,0xbd,0x28,0x29,0x35,0x08,0x2b,0x4c,0x2a,
0x4f,0xbd,0x98,0x08,0x29,0xd4,0x22,0xdf,0x65,0xdc,0x22,0x33,0x0f,0x8b,0x81,0x06,
0xaf,0xe7,0x3c,0x8c,0xb3,0x2d,0x49,0x46,0xa2,0x2a,0x56,0x80,0x24,0x4e,0x34,0x1d,
0xb6,0x3c,0x57,0xd1,0xf0,0x59,0x46,0x24,0x79,0xb4,0x40,0x5f,0x07,0x61,0xdd,0x5a,
0x8e,0x3c,0xd4,0x2f,0xa4,0xd3,0x76,0x5e,0x24,0x99,0xd0,0x57,0x4f,0x3d,0x7a,0xa0,
0xff,0x74,0x7d,0x7d,0xa1,0xe9,0xcf,0x1f,0x1c,0x41,0xa8,0xcf,0x1b,0xac,0xf9,0x00,
0x3b,0xf6,0x05,0x9d,0xc4,0x60,0xde,0x40,0x93,0xa4,0x62,0xd2,0x47,0x79,0x7c,0x62,
0x47,0xe1,0x28,0xd6,0xcb,0x47,0x36,0x24,0x61,0xab,0xdf,0xed,0x76,0xd7,0x0e,0x6e,
0xc8,0x83,0x0b,0x58,0x54,0x3e,0x28,0x3d,0x6b,0x25,0x67,0xab,0xa7,0x1b,0x11,0x0c,
0xd0,0xd1,0x85,0x5a,0x0e,0xbb,0x9d,0xbf,0x52,0x66,0xf6,0x97,0x4e,0x68,0x53,0x4d,
0x60,0x04,0x36,0x1d,0x5d,0x30,0x4f,0xf4,0x6b,0x4a,0x81,0x00,0x02,0x94,0xbc,0x79,
0x32,0x69,0x24,0x4b,0xb1,0x15,0x0a,0x04,0x36,0xa5,0x2d,0xc7,0x2f,0xbe,0xef,0x75,
0xfb,0xfb,0xfc,0x81,0x57,0x92,0x44,0x43,0x9e,0x59,0x21,0xd1,0x0b,0x32,0x08,0x2f,
0x4d,0x01,0x07,0x80,0x2f,0xe2,0x80,0x34,0x0f,0x9a,0x51,0x92,0xdc,0x50,0x4f,0xe7,
0x86,0xec,0x0f,0x09,0xdd,0x18,0x96,0x42,0xf9,0x54,0x9b,0x83,0x8e,0x8c,0x76,0x83,
0x52,0xf3,0x44,0x89,0x88,0x30,0x0b,0x65,0x9a,0xb4,0xc6,0xc5,0x11,0x84,0xa1,0x58,
0xb8,0x9a,0xe5,0x00,0xf1,0x30,0x99,0xe5,0xc8,0xdb,0x38,0x8f,0x65,0x6e,0x9a,0x27,
0x29,0xca,0xa2,0xd6,0xd6,0xbe,0x64,0x09,0xe7,0xf8,0x11,0xfc,0x58,0xa1,0x13,0x59,
0xdc,0xf5,0x46,0x70,0x93,0xb1,0xe1,0xec,0xfd,0xb9,0x76,0xf5,0xd3,0x69,0xbb,0x7f,
0x70,0xa8,0x89,0x3c,0x2d,0x92,0x24,0xd2,0x90,0xa2,0xe5,0xe4,0x23,0xdd,0xbb,0x61,
0xd7,0x52,0x70,0x17,0x50,0x9d,0x34,0x5c,0x50,0xb6,0x07,0x5a,0x06,0x6a,0xe5,0xce,
0x08,0x36,0xf4,0x1f,0xb2,0x00,0x9f,0x98,0xb6,0x76,0x0a,0xa6,0x7e,0x17,0x59,0x92,
0x23,0xfc,0xcc,0xb0,0x1e,0x54,0x9a,0xc2,0x57,0x65,0x83,0xcc,0x88,0xc9,0x9b,0x39,
0x45,0x6f,0xd8,0x30,0x71,0xf4,0x9a,0x68,0xac,0xeb,0x6f,0xfb,0x41,0x1f,0x1e,0x21,
0x61,0x35,0x73,0x69,0xc8,0x39,0xde,0xbe,0xe4,0xbe,0x83,0xa1,0xf6,0x74,0x60,0xbb,
0x1c,0xa3,0xdc,0x8d,0xa3,0x70,0x43,0x1e,0xff,0x19,0x48,0xf8,0xea,0x34,0xcb,0x10,
0x57,0x33,0x1b,0x05,0xd1,0x2c,0x2a,0x4c,0x6b,0x42,0x99,0x45,0x38,0x80,0x40,0x8d,
0xd0,0xed,0x0e,0xc2,0xa3,0xa1,0x1d,0x89,0x78,0x5c,0x4c,0x06,0xe1,0xf3,0xe7,0xe6,
0xe4,0xb9,0x6b,0x0c,0xbf,0x86,0xdf,0x8e,0x7a,0x87,0x27,0x7a,0x97,0x04,0x6a,0x3e,
0xa7,0x6b,0x40,0xe0,0x55,0x41,0x19,0xb4,0xd1,0x3b,0x34,0x07,0x0b,0x63,0xa2,0x5e,
0x42,0x08,0x7b,0xb5,0xb7,0xd7,0xf9,0xfa,0xb7,0xee,0xb7,0x8e,0xb4,0xbd,0x89,0x79,
0x32,0x71,0xe4,0x61,0xb1,0x9a,0x47,0x41,0x8e,0xd5,0x64,0x72,0x61,0xac,0x0f,0xa1,
0x18,0x75,0x9a,0x33,0xaf,0xaf,0x67,0x41,0x80,0x15,0xc2,0x2a,0x80,0x72,0xc2,0xe8,
0xbd,0x3c,0xb4,0x7a,0xaf,0xba,0x26,0xaf,0x78,0xd3,0x17,0xa8,0x1a,0x7e,0x8a,0x28,
0xe9,0xcc,0x54,0x25,0xcc,0x3b,0x16,0xce,0xbf,0x7d,0x78,0xff,0x13,0x0a,0xf1,0x4b,
0x89,0x58,0x08,0x59,0x81,0x2f,0x85,0x9c,0x64,0xd3,0xb7,0x5e,0xe1,0x95,0x22,0xae,
0xe6,0x8a,0x13,0xa3,0x30,0x97,0xe5,0x41,0xa8,0xc2,0x34,0x65,0x7e,0x74,0x67,0x13,
0x4a,0x1a,0x3a,0x61,0xa6,0x6e,0x95,0x30,0x74,0x42,0x26,0xed,0xea,0xcf,0xa5,0x6d,
0x2b,0x52,0x77,0xe5,0x79,0x29,0xf7,0x45,0x97,0xfe,0xca,0xbb,0xd2,0x47,0x20,0xa6,
0x34,0x4b,0xc6,0xd0,0x53,0xee,0x36,0x4f,0xd9,0x01,0x13,0x84,0x92,0xf6,0x9b,0x64,
0x0a,0x6b,0x25,0xc3,0x32,0x29,0x6f,0x55,0x31,0x4e,0x9e,0x46,0xe2,0x53,0x66,0xdc,
0x76,0xa4,0xe1,0xa0,0x27,0x7c,0xb8,0x53,0xb7,0x23,0xa0,0xba,0xc2,0x8b,0xcc,0xe7,
0xfa,0x77,0xfa,0xaa,0x9c,0xf1,0xa1,0xd5,0xa8,0xaa,0x06,0x93,0xdd,0x29,0xd8,0x83,
0x6a,0xe1,0x92,0xa6,0x92,0xeb,0xc2,0xa8,0xb6,0x11,0xf9,0x94,0x61,0x99,0xfc,0x70,
0x38,0x80,0xe7,0x1b,0xfa,0xf3,0xf2,0xc5,0xe7,0xba,0xa9,0x97,0x63,0x8b,0x6c,0xb1,
0x2c,0xdc,0x5f,0xae,0x3e,0x7d,0xb4,0x53,0x6a,0x37,0x82,0x3a,0x16,0x98,0xa2,0x3a,
0x10,0xd7,0x88,0x6b,0xa6,0xcd,0x96,0x71,0x7f,0x5f,0xac,0x46,0x74,0xa0,0x8e,0xd6,
0xbb,0x52,0xaf,0x42,0xde,0xfa,0x39,0x13,0x77,0x00,0xc6,0x85,0x9a,0xbe,0xb1,0x84,
0x07,0x46,0x45,0x6f,0xbc,0xa9,0xe3,0x1e,0xa5,0x56,0x9a,0x3f,0xe3,0xc6,0x87,0x12,
0x31,0xc3,0x82,0xea,0x41,0xc8,0x20,0x88,0xb4,0x48,0x86,0x2e,0x0a,0x43,0x55,0xab,
0x6c,0x16,0x47,0x50,0x03,0xe5,0x42,0xb4,0xc3,0xa3,0x7a,0x11,0x58,0x65,0x1b,0x02,
0xa2,0xb8,0xe9,0x27,0xb3,0x21,0x52,0x4b,0xac,0x4e,0xf3,0xc6,0xa8,0x68,0x6c,0xdd,
0x6c,0x30,0x56,0x6a,0x79,0x83,0xb5,0xcf,0x0a,0x0a,0xf1,0x14,0xe5,0xee,0x8c,0x22,
0x68,0xf9,0x3e,0x22,0x3a,0x97,0xa0,0xdc,0xb6,0x91,0x35,0x2c,0xa6,0xe7,0x4e,0xad,
0xa5,0x01,0xfa,0x24,0xa4,0x72,0xf3,0xee,0xf3,0xd5,0xeb,0x7a,0xb6,0xc0,0xb7,0x81,
0xaa,0xe4,0x04,0x7a,0xc9,0xbb,0x6e,0x05,0x96,0xc2,0xff,0x92,0x23,0xe9,0x25,0xfe,
0x56,0x0f,0x92,0x82,0x51,0x3e,0x04,0xac,0xe3,0xf4,0x0d,0x7c,0xa8,0xfa,0x80,0xcf,
0xc8,0x72,0xdc,0x1e,0xa1,0x1e,0x42,0xf9,0x32,0x9f,0x50,0x12,0xbe,0x9e,0x67,0x93,
0x03,0xa8,0xfc,0x0f,0xb9,0x98,0x5b,0x06,0xa8,0xfb,0x7b,0x26,0xa6,0xd2,0x40,0x3c,
0x41,0x64,0x03,0x14,0xe1,0x87,0xa5,0x43,0x77,0x7a,0x19,0x57,0x49,0xe1,0x54,0xbd,
0xc8,0x2a,0x85,0x21,0xf6,0xfe,0x1e,0x91,0xf2,0xd6,0x42,0x95,0xc2,0x95,0xc7,0x2d,
0x92,0xdc,0xbd,0x3d,0x24,0x62,0x65,0x65,0xc2,0x01,0x55,0x96,0x49,0x2a,0x07,0xaf,
0xe2,0xe5,0xa0,0x4c,0x34,0xf5,0xf3,0xf7,0xa7,0x57,0x3f,0xfd,0xfc,0xf1,0x47,0x78,
0x25,0xa7,0x8d,0xcc,0x89,0xaa,0xc5,0x24,0x1a,0xd2,0xf2,0x16,0xaa,0xc3,0xaa,0x9a,
0x65,0x0e,0x15,0x1a,0x6a,0x1a,0x6a,0x1e,0x80,0x36,0xde,0x02,0x37,0x7c,0x40,0xd8,
0xa5,0x54,0xae,0x8c,0xe6,0x8d,0xe0,0x4e,0x45,0x28,0xe5,0x8e,0xa6,0x2d,0x6b,0xe8,
0x6a,0x1c,0x8a,0xcd,0x8d,0x4c,0x54,0x25,0x9b,0x83,0x07,0x0e,0xac,0x77,0xbf,0x63,
0xb7,0x21,0x19,0x29,0x5b,0x21,0xcb,0x25,0x0c,0x21,0x6d,0x3e,0xd7,0xc9,0xc7,0x0c,
0x09,0x28,0x9d,0x5e,0x77,0xff,0xd5,0xc1,0xcb,0x43,0xa4,0x34,0xc9,0x79,0x78,0x27,
0x7c,0xa3,0x0f,0x07,0x47,0xa4,0x36,0xab,0x5e,0x1b,0xd6,0x03,0xa4,0x60,0xdd,0x70,
0x83,0xe2,0x61,0xf7,0xcd,0x96,0x12,0x21,0xb5,0xa5,0xae,0xc2,0x4c,0x1b,0xc1,0xd6,
0xf8,0xda,0x0c,0x53,0x5c,0xf6,0xed,0xed,0xd1,0xa7,0x2d,0x7d,0xb4,0x61,0xd6,0x2b,
0xf3,0xdb,0x96,0xac,0x0a,0xca,0x04,0x5f,0x6e,0xf6,0xb5,0xfb,0xad,0x4c,0x9d,0x14,
0x50,0xaf,0x78,0x46,0x95,0xf5,0x19,0xa9,0xb5,0x1c,0xcf,0xbc,0x8c,0x76,0x7b,0x67,
0xa2,0x4c,0xcf,0x32,0x59,0x28,0xad,0x1d,0x34,0x5e,0x2b,0x8b,0x07,0x95,0x32,0x38,
0xa1,0x1e,0x6c,0x11,0x71,0x95,0xc7,0x4b,0x69,0x0a,0x7b,0x0a,0x77,0x82,0x72,0x4b,
0xbb,0x6b,0x64,0x6c,0xb5,0xdd,0xd4,0xce,0xa1,0xd2,0x07,0x59,0xff,0x94,0x7d,0x48,
0x4a,0x8d,0x91,0x27,0xd0,0x8e,0x08,0xe4,0x99,0xcf,0xf9,0x20,0x9f,0x04,0x14,0x6e,
0x48,0xc9,0xea,0x5e,0x7a,0xb3,0x91,0x64,0x65,0xe2,0xab,0x9a,0x63,0x55,0xe9,0x6d,
0x6a,0x58,0x06,0xd9,0x58,0xd5,0xcf,0x27,0xa7,0x2f,0x93,0x62,0x47,0xfe,0x02,0x38,
0x28,0x2b,0xa5,0xb9,0xed,0x66,0xb9,0xc5,0xac,0xd7,0xf5,0x96,0x17,0x2f,0xdc,0x5d,
0x92,0x37,0xf9,0xce,0xfd,0xbd,0x92,0xbc,0xeb,0x96,0xb7,0x1a,0x8e,0xc2,0x85,0xe8,
0x16,0x37,0xb9,0x3c,0xbb,0xba,0x3e,0xbd,0xbc,0xde,0x74,0x94,0x87,0xf6,0x49,0xfb,
0x7e,0xb5,0x85,0x72,0xc9,0x2b,0x14,0xa4,0x4a,0x51,0x85,0x79,0xc9,0x20,0x19,0xee,
0xe6,0xbe,0x05,0x15,0x7d,0x4c,0xf9,0xb1,0x6c,0xa7,0x71,0x04,0x79,0x61,0x61,0x61,
0x27,0xfb,0x88,0x91,0x4e,0xd7,0x7c,0x90,0xb8,0x2b,0x83,0x50,0xa6,0x05,0x73,0x58,
0x3b,0x51,0x6d,0x2c,0x65,0xc2,0x47,0x14,0x08,0x3d,0x9c,0x52,0x16,0x96,0xc2,0x65,
0xa7,0x47,0x79,0x77,0x77,0xa5,0x54,0x2e,0x89,0x93,0xfb,0x5a,0x9b,0x33,0x28,0xc9,
0x71,0x8d,0xbe,0x45,0x72,0x1f,0x3f,0x69,0xa7,0x1f,0xaf,0xbe,0x9c,0x5d,0x42,0x70,
0x55,0x11,0xaa,0xc4,0xf3,0x31,0x51,0x56,0x22,0x13,0xe9,0x79,0xa2,0x4d,0xc3,0x18,
0xf5,0x61,0x6e,0x97,0x79,0x6c,0x2e,0x3b,0xf5,0xdc,0x97,0xc8,0xb5,0x7c,0x94,0x09,
0x11,0x9f,0x90,0x34,0xe9,0x06,0x5b,0x89,0xc7,0xa2,0xf2,0x7c,0x9f,0x72,0x02,0x07,
0x3e,0x24,0x1a,0x75,0xb9,0xc1,0x85,0xd3,0xbb,0xbe,0xf6,0xc7,0x7f,0xfd,0x77,0xd9,
0xb6,0x36,0x29,0x56,0x50,0x50,0xa2,0x2d,0x86,0x8d,0x1d,0x06,0xa0,0x8e,0x17,0x75,
0x6c,0xed,0xad,0x97,0xdd,0xd0,0xb0,0x5a,0x53,0x8e,0x0a,0x2f,0x64,0x78,0x2a,0xc2,
0x50,0x3e,0xfc,0x60,0x17,0x82,0x47,0xd9,0x7a,0xe9,0x44,0x95,0xbf,0x54,0xd6,0x49,
0x32,0xa4,0xfa,0xa5,0x06,0xc4,0x0f,0xd4,0x4f,0x5b,0xab,0x60,0x0d,0x69,0xa2,0x7b,
0x7b,0x0f,0x4c,0x95,0x7a,0x24,0x72,0x07,0xc0,0xd7,0x6e,0x91,0x79,0xca,0xdd,0x38,
0x76,0x8f,0x5b,0x64,0xa1,0x79,0x09,0xfe,0x2c,0xe3,0xe7,0x4c,0xe7,0x56,0x92,0xb9,
0xdd,0x75,0xdd,0xea,0xf1,0x09,0x70,0x92,0x0a,0xd6,0x5b,0xfd,0x39,0x3f,0xa3,0x6c,
0x84,0xd2,0x58,0xf5,0x1a,0xc6,0x51,0x81,0x1e,0x53,0x3c,0x29,0x7f,0xe2,0x75,0x9d,
0xd2,0x7b,0x1d,0xef,0x52,0x1b,0x44,0x7f,0x5e,0x3d,0x02,0xa8,0xea,0x8d,0x97,0xfe,
0x55,0xce,0x41,0x4d,0x2c,0x93,0x73,0x63,0xdd,0xd6,0x15,0xfe,0x13,0xd0,0x62,0xad,
0x49,0xcc,0xc5,0x79,0x33,0xf6,0x93,0xe4,0xb9,0x6e,0xca,0x04,0xe0,0x09,0x06,0xaa,
0x77,0x4e,0x6e,0x5d,0x9a,0x44,0x22,0xc2,0x6a,0x6b,0x04,0x91,0xe0,0xb6,0x3d,0x84,
0x48,0x7c,0x63,0x3b,0x93,0x8a,0xa8,0xb0,0x71,0x3b,0xb2,0xd5,0x98,0x56,0x76,0x1f,
0x79,0xe6,0x01,0x07,0x06,0x8f,0x77,0x92,0x4a,0x6b,0x35,0xea,0x9d,0x66,0x55,0x90,
0x23,0x29,0x45,0xd1,0x36,0x36,0xed,0x1d,0xea,0xd1,0xc9,0x22,0xbc,0x59,0xb3,0xee,
0x94,0xdd,0x4e,0xb5,0x1e,0x15,0xef,0x99,0xa5,0xdd,0xb2,0xc3,0xa5,0xd2,0xc8,0xb2,
0x25,0x54,0x23,0x96,0x7a,0x69,0xb7,0xb6,0x83,0x2d,0x28,0x66,0x2a,0xcb,0xa2,0xd7,
0x05,0xc4,0xb2,0xfc,0x87,0x63,0x01,0xcb,0x6a,0x0d,0xa9,0xc8,0xf9,0x2c,0x70,0x5e,
0xa8,0x44,0x50,0xf9,0x61,0x05,0xd4,0x6c,0x09,0x24,0x0c,0xd5,0x4a,0xf3,0x43,0x9f,
0xcb,0xe8,0xc2,0xbb,0x11,0x8d,0xcc,0xad,0xf6,0x87,0x6d,0xa2,0x5f,0xed,0x90,0x8b,
0xec,0x70,0x97,0x08,0x7e,0x7c,0x76,0x0b,0x17,0xa0,0x8e,0x92,0x40,0xf2,0x6a,0xe8,
0x6c,0x29,0x7a,0x13,0x75,0xf8,0x1f,0x9c,0x28,0x69,0x32,0x55,0x87,0x88,0x87,0xc8,
0x8e,0xc3,0x23,0x44,0x6e,0xc4,0xc2,0x47,0x84,0xd1,0xad,0x07,0x35,0x03,0x9e,0x50,
0x87,0xf1,0x8c,0xcf,0xe9,0xdf,0xdf,0x57,0x37,0x34,0xdd,0x5c,0x0a,0x3b,0xcd,0x04,
0x11,0x7a,0x2b,0xcf,0x97,0x80,0xe7,0x47,0xe7,0xa6,0xc9,0x61,0x3e,0xfc,0xbf,0x36,
0x54,0xe3,0xe6,0x49,0xbd,0x0d,0xc3,0x2d,0x59,0x19,0xf4,0xa4,0x18,0x03,0xda,0x79,
0xdb,0x51,0x14,0xb6,0x2c,0x99,0xb3,0xc8,0xb5,0x35,0x53,0x18,0x0b,0x5c,0xf5,0x06,
0x7d,0xe5,0x94,0x37,0xa8,0xeb,0x5b,0x2f,0x9a,0xb1,0xa2,0xc1,0x5d,0x60,0x56,0xc9,
0x2a,0xb1,0xf4,0x55,0xf7,0x33,0x6f,0x4c,0x88,0x05,0x15,0xd0,0x4f,0x3e,0x14,0xa5,
0x7f,0x7b,0xf8,0x6f,0x1e,0xe2,0xd6,0x5c,0x6e,0x97,0x9e,0xb8,0x5d,0x13,0xdb,0x9f,
0x4a,0x65,0xa3,0x27,0x08,0x5a,0x86,0xce,0x07,0x88,0x74,0xfa,0x07,0x92,0x8a,0x21,
0x48,0x89,0xfe,0x9f,0x4c,0x6e,0x4a,0xfc,0x3f,0x33,0xb3,0xc1,0x42,0x26,0xa6,0x98,
0x7f,0x83,0x8b,0x47,0xcc,0x84,0xd9,0x59,0xa3,0x2f,0xe5,0x0e,0x4f,0x41,0xb1,0x7b,
0xcd,0x07,0xa7,0x44,0x56,0xcb,0x9f,0xe4,0xbd,0xb7,0xa7,0x96,0xbe,0x26,0x77,0xb2,
0x05,0x79,0x7a,0x40,0xed,0x90,0xc8,0x5d,0x8c,0x8d,0xd3,0x07,0x46,0xeb,0x4a,0xd0,
0xae,0x1e,0x05,0x94,0x2f,0x61,0xfb,0x3c,0x6c,0x71,0x7b,0x5e,0x65,0xd9,0x72,0x3b,
0x43,0x76,0x57,0xe8,0x45,0xd9,0x16,0x92,0x07,0x21,0x08,0x93,0x02,0x21,0x7c,0x2e,
0xbf,0x50,0x00,0x35,0xac,0x4d,0x95,0x9c,0x88,0x4c,0x13,0x76,0xcf,0x72,0x4f,0x40,
0x96,0x22,0xd6,0x0e,0xd7,0x2f,0xe1,0x68,0x22,0x77,0x12,0xcb,0x5d,0x4a,0xf9,0x3f,
0x29,0x39,0x55,0x31,0xe4,0xc0,0xf9,0x84,0xfa,0x47,0x94,0xa1,0x65,0xc3,0xb0,0xc8,
0x3c,0x78,0x32,0xaf,0xda,0x56,0x3d,0x23,0x59,0x46,0x11,0x2d,0x54,0xd3,0x70,0x7c,
0xd4,0x65,0xb7,0x02,0x6c,0xcf,0x86,0xf0,0x07,0xed,0xcd,0xa7,0xcb,0x2b,0x7e,0x5b,
0xdc,0x79,0xa3,0x22,0x5a,0xa8,0x7d,0x16,0x5a,0x8e,0x2d,0x77,0x89,0xb2,0xd1,0xe7,
0x2c,0x52,0xfb,0x24,0x54,0xfe,0xaa,0x4c,0x2d,0x97,0x2d,0x99,0xcb,0xf7,0x57,0x70,
0xa3,0xd1,0xe4,0xc2,0xcb,0xbc,0x69,0x6e,0x54,0xb1,0x21,0xe7,0xbb,0x26,0x6d,0x75,
0x19,0x3a,0x68,0xe8,0x65,0xdd,0x94,0xef,0xed,0x75,0xfe,0xc6,0x47,0x06,0x4e,0x9c,
0xbf,0x76,0xfe,0xda,0x29,0x7b,0x7c,0xb9,0xa9,0x92,0x14,0x35,0x61,0x2e,0x93,0x8f,
0x7a,0xe3,0x8a,0x0e,0x53,0x6c,0x04,0xdf,0xbc,0x0a,0x41,0x1b,0x24,0x2d,0xbd,0x4c,
0x5e,0xea,0xf7,0x1f,0xf4,0xd0,0xcb,0xca,0x85,0x02,0xff,0x4e,0xb3,0x5e,0x1f,0x27,
0x4f,0x02,0x37,0x85,0xfd,0x92,0x5f,0x55,0x1c,0x36,0xe2,0x82,0xc2,0x74,0xb9,0xfd,
0xb2,0xad,0x9c,0x3b,0xbb,0x7e,0xf3,0xa0,0x9c,0x63,0x5c,0xdf,0xba,0x53,0x23,0xad,
0x12,0x51,0x96,0xa7,0xb3,0xb1,0x84,0x10,0x92,0xed,0xe8,0xe6,0xd7,0xfe,0x37,0x44,
0x75,0xdb,0x56,0xe5,0x8f,0x6c,0x1f,0xcb,0x51,0x5b,0x6a,0x99,0x1d,0xd5,0x15,0x69,
0xb6,0x89,0x49,0x91,0x8f,0xb5,0x8a,0x9b,0x99,0x69,0x66,0x43,0x62,0x43,0x63,0x2d,
0xcf,0xac,0xff,0x0d,0x74,0xb3,0xac,0xd9,0x91,0xfb,0xd2,0xec,0x69,0x65,0xb7,0xcf,
0xf8,0x3a,0xfc,0x66,0x55,0xa5,0x3d,0x79,0x89,0x6e,0x2d,0x69,0xbb,0xd5,0xd1,0x51,
0xf7,0x43,0xc2,0x6c,0x3c,0x9d,0x64,0x54,0x88,0xa2,0x9d,0x17,0x74,0xd0,0x4c,0x5f,
0xa9,0x56,0xd9,0x9f,0x54,0x50,0xcd,0x9a,0x47,0xc9,0xf0,0x4d,0x32,0x8b,0x64,0x80,
0xf3,0x95,0x34,0x1b,0xa2,0x44,0xe1,0x59,0xd5,0x50,0xc8,0xa7,0x90,0x44,0x36,0xc7,
0xb0,0xf3,0x96,0x35,0xb4,0x2a,0x31,0xc9,0x89,0xfd,0xe6,0x19,0x90,0xba,0xe9,0xbb,
0x99,0x3f,0x12,0xa4,0x6c,0x4f,0x5b,0x1a,0xff,0x8f,0xd7,0xe1,0x13,0x5f,0x47,0x1d,
0xf9,0xff,0xc6,0xff,0x07,0x24,0xab,0xc0,0x57,0x80,0x3c,0x00,0x00,
};
constexpr size_t WEB_UPDATE_HTML_GZ_LEN = sizeof(WEB_UPDATE_HTML_GZ);
// </gz:WEB_UPDATE_HTML>