You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
BUTCube/modules/Solar_module_Z/bom/ibom.html

3682 lines
323 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive BOM for KiCAD</title>
<style type="text/css">
:root {
--pcb-edge-color: black;
--pad-color: #878787;
--pad-hole-color: #CCCCCC;
--pad-color-highlight: #D04040;
--pin1-outline-color: #ffb629;
--pin1-outline-color-highlight: #b4ff03;
--silkscreen-edge-color: #aa4;
--silkscreen-polygon-color: #4aa;
--silkscreen-text-color: #4aa;
--fabrication-edge-color: #907651;
--fabrication-polygon-color: #907651;
--fabrication-text-color: #a27c24;
--track-color: #def5f1;
--track-color-highlight: #D04040;
--zone-color: #def5f1;
--zone-color-highlight: #d0404080;
}
html, body {
margin: 0px;
height: 100%;
font-family: Verdana, sans-serif;
}
.dark.topmostdiv {
--pcb-edge-color: #eee;
--pad-color: #808080;
--pin1-outline-color: #ffa800;
--pin1-outline-color-highlight: #ccff00;
--track-color: #42524f;
--zone-color: #42524f;
background-color: #252c30;
color: #eee;
}
button {
background-color: #eee;
border: 1px solid #888;
color: black;
height: 44px;
width: 44px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
font-weight: bolder;
}
.dark button {
/* This will be inverted */
background-color: #c3b7b5;
}
button.depressed {
background-color: #0a0;
color: white;
}
.dark button.depressed {
/* This will be inverted */
background-color: #b3b;
}
button:focus {
outline: 0;
}
button#tb-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#lr-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#bom-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-grouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-ungrouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-netlist-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}
button#copy {
background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
background-position: 6px 6px;
background-repeat: no-repeat;
background-size: 26px 26px;
border-radius: 6px;
height: 40px;
width: 40px;
margin: 10px 5px;
}
button#copy:active {
box-shadow: inset 0px 0px 5px #6c6c6c;
}
textarea.clipboard-temp {
position: fixed;
top: 0;
left: 0;
width: 2em;
height: 2em;
padding: 0;
border: None;
outline: None;
box-shadow: None;
background: transparent;
}
.left-most-button {
border-right: 0;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.middle-button {
border-right: 0;
}
.right-most-button {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.button-container {
font-size: 0;
margin: 10px 10px 10px 0px;
}
.dark .button-container {
filter: invert(1);
}
.button-container button {
background-size: 32px 32px;
background-position: 5px 5px;
background-repeat: no-repeat;
}
@media print {
.hideonprint {
display: none;
}
}
canvas {
cursor: crosshair;
}
canvas:active {
cursor: grabbing;
}
.fileinfo {
width: 100%;
max-width: 1000px;
border: none;
padding: 5px;
}
.fileinfo .title {
font-size: 20pt;
font-weight: bold;
}
.fileinfo td {
overflow: hidden;
white-space: nowrap;
max-width: 1px;
width: 50%;
text-overflow: ellipsis;
}
.bom {
border-collapse: collapse;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 10pt;
table-layout: fixed;
width: 100%;
margin-top: 1px;
}
.bom th, .bom td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
.dark .bom th, .dark .bom td {
border: 1px solid #777;
}
.bom th {
background-color: #CCCCCC;
background-clip: padding-box;
}
.dark .bom th {
background-color: #3b4749;
}
.bom tr.highlighted:nth-child(n) {
background-color: #cfc;
}
.dark .bom tr.highlighted:nth-child(n) {
background-color: #226022;
}
.bom tr:nth-child(even) {
background-color: #f2f2f2;
}
.dark .bom tr:nth-child(even) {
background-color: #313b40;
}
.bom tr.checked {
color: #aaa;
}
.dark .bom tr.checked {
color: #666;
}
.bom tr {
transition: background-color 0.2s;
}
.bom .numCol {
width: 25px;
}
.bom .Description {
width: 10%;
}
.bom .Part {
width: 10%;
}
.bom .Value {
width: 15%;
}
.bom .Quantity {
width: 65px;
}
.bom th .sortmark {
position: absolute;
right: 1px;
top: 1px;
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #221 transparent;
transform-origin: 50% 85%;
transition: opacity 0.2s, transform 0.4s;
}
.dark .bom th .sortmark {
filter: invert(1);
}
.bom th .sortmark.none {
opacity: 0;
}
.bom th .sortmark.desc {
transform: rotate(180deg);
}
.bom th:hover .sortmark.none {
opacity: 0.5;
}
.bom .bom-checkbox {
width: 30px;
position: relative;
user-select: none;
-moz-user-select: none;
}
.bom .bom-checkbox:before {
content: "";
position: absolute;
border-width: 15px;
border-style: solid;
border-color: #51829f transparent transparent transparent;
visibility: hidden;
top: -15px;
}
.bom .bom-checkbox:after {
content: "Double click to set/unset all";
position: absolute;
color: white;
top: -35px;
left: -26px;
background: #51829f;
padding: 5px 15px;
border-radius: 8px;
white-space: nowrap;
visibility: hidden;
}
.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
visibility: visible;
transition: visibility 0.2s linear 1s;
}
.split {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
background-color: inherit;
}
.split.split-horizontal, .gutter.gutter-horizontal {
height: 100%;
float: left;
}
.gutter {
background-color: #ddd;
background-repeat: no-repeat;
background-position: 50%;
transition: background-color 0.3s;
}
.dark .gutter {
background-color: #777;
}
.gutter.gutter-horizontal {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
cursor: ew-resize;
width: 5px;
}
.gutter.gutter-vertical {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
cursor: ns-resize;
height: 5px;
}
.searchbox {
float: left;
height: 40px;
margin: 10px 5px;
padding: 12px 32px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 18px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 6px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
background-position: 10px 10px;
background-repeat: no-repeat;
}
.dark .searchbox {
background-color: #111;
color: #eee;
}
.searchbox::placeholder {
color: #ccc;
}
.dark .searchbox::placeholder {
color: #666;
}
.filter {
width: calc(60% - 64px);
}
.reflookup {
width: calc(40% - 10px);
}
input[type=text]:focus {
background-color: white;
border: 1px solid #333;
}
.dark input[type=text]:focus {
background-color: #333;
border: 1px solid #ccc;
}
mark.highlight {
background-color: #5050ff;
color: #fff;
padding: 2px;
border-radius: 6px;
}
.dark mark.highlight {
background-color: #76a6da;
color: #111;
}
.menubtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
background-position: center;
background-repeat: no-repeat;
}
.statsbtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.iobtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.dark .statsbtn, .dark .savebtn, .dark .menubtn, .dark .iobtn {
filter: invert(1);
}
.flexbox {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.savebtn {
background-color: #d6d6d6;
width: auto;
height: 30px;
flex-grow: 1;
margin: 5px;
border-radius: 4px;
}
.savebtn:active {
background-color: #0a0;
color: white;
}
.dark .savebtn:active {
/* This will be inverted */
background-color: #b3b;
}
.stats {
border-collapse: collapse;
font-size: 12pt;
table-layout: fixed;
width: 100%;
min-width: 450px;
}
.dark .stats td {
border: 1px solid #bbb;
}
.stats td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
#checkbox-stats div {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
#checkbox-stats .bar {
background-color: rgba(28, 251, 0, 0.6);
}
.menu {
position: relative;
display: inline-block;
margin: 10px 10px 10px 0px;
}
.menu-content {
display: none;
position: absolute;
background-color: white;
right: 0;
min-width: 300px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 100;
padding: 8px;
}
.dark .menu-content {
background-color: #111;
}
.menu:hover .menu-content {
display: block;
}
.menu:hover .menubtn, .menu:hover .iobtn, .menu:hover .statsbtn {
background-color: #eee;
}
.menu-label {
display: inline-block;
padding: 8px;
border: 1px solid #ccc;
border-top: 0;
width: calc(100% - 18px);
}
.menu-label-top {
border-top: 1px solid #ccc;
}
.menu-textbox {
float: left;
height: 24px;
margin: 10px 5px;
padding: 5px 5px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 14px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 4px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
width: calc(100% - 10px);
}
.menu-textbox.invalid, .dark .menu-textbox.invalid {
color: red;
}
.dark .menu-textbox {
background-color: #222;
color: #eee;
}
.radio-container {
margin: 4px;
}
.topmostdiv {
width: 100%;
height: 100%;
background-color: white;
transition: background-color 0.3s;
}
#top {
height: 78px;
border-bottom: 2px solid black;
}
.dark #top {
border-bottom: 2px solid #ccc;
}
#dbg {
display: block;
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #aaa;
}
::-webkit-scrollbar-thumb {
background: #666;
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
.slider {
-webkit-appearance: none;
width: 100%;
margin: 3px 0;
padding: 0;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
border-radius: 3px;
}
.slider:hover {
opacity: 1;
}
.slider:focus {
outline: none;
}
.slider::-webkit-slider-runnable-track {
-webkit-appearance: none;
width: 100%;
height: 8px;
background: #d3d3d3;
border-radius: 3px;
border: none;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
margin-top: -4px;
}
.dark .slider::-webkit-slider-thumb {
background: #3d3;
}
.slider::-moz-range-thumb {
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
}
.slider::-moz-range-track {
height: 8px;
background: #d3d3d3;
border-radius: 3px;
}
.dark .slider::-moz-range-thumb {
background: #3d3;
}
.slider::-ms-track {
width: 100%;
height: 8px;
border-width: 3px 0;
background: transparent;
border-color: transparent;
color: transparent;
transition: opacity .2s;
}
.slider::-ms-fill-lower {
background: #d3d3d3;
border: none;
border-radius: 3px;
}
.slider::-ms-fill-upper {
background: #d3d3d3;
border: none;
border-radius: 3px;
}
.slider::-ms-thumb {
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
margin: 0;
}
.shameless-plug {
font-size: 0.8em;
text-align: center;
display: block;
}
a {
color: #0278a4;
}
.dark a {
color: #00b9fd;
}
#frontcanvas, #backcanvas {
touch-action: none;
}
</style>
<script type="text/javascript" >
///////////////////////////////////////////////
/*
Split.js - v1.3.5
MIT License
https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});
///////////////////////////////////////////////
///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////
///////////////////////////////////////////////
/*!
* PEP v0.4.3 | https://github.com/jquery/PEP
* Copyright jQuery Foundation and other contributors | http://jquery.org/license
*/
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.PointerEventsPolyfill=b()}(this,function(){"use strict";function a(a,b){b=b||Object.create(null);var c=document.createEvent("Event");c.initEvent(a,b.bubbles||!1,b.cancelable||!1);
for(var d,e=2;e<m.length;e++)d=m[e],c[d]=b[d]||n[e];c.buttons=b.buttons||0;
var f=0;return f=b.pressure&&c.buttons?b.pressure:c.buttons?.5:0,c.x=c.clientX,c.y=c.clientY,c.pointerId=b.pointerId||0,c.width=b.width||0,c.height=b.height||0,c.pressure=f,c.tiltX=b.tiltX||0,c.tiltY=b.tiltY||0,c.twist=b.twist||0,c.tangentialPressure=b.tangentialPressure||0,c.pointerType=b.pointerType||"",c.hwTimestamp=b.hwTimestamp||0,c.isPrimary=b.isPrimary||!1,c}function b(){this.array=[],this.size=0}function c(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),A&&(this.observer=new A(this.mutationWatcher.bind(this)))}function d(a){return"body /shadow-deep/ "+e(a)}function e(a){return'[touch-action="'+a+'"]'}function f(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}function g(){if(F){D.forEach(function(a){String(a)===a?(E+=e(a)+f(a)+"\n",G&&(E+=d(a)+f(a)+"\n")):(E+=a.selectors.map(e)+f(a.rule)+"\n",G&&(E+=a.selectors.map(d)+f(a.rule)+"\n"))});var a=document.createElement("style");a.textContent=E,document.head.appendChild(a)}}function h(){if(!window.PointerEvent){if(window.PointerEvent=a,window.navigator.msPointerEnabled){var b=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:b,enumerable:!0}),u.registerSource("ms",_)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),u.registerSource("mouse",N),void 0!==window.ontouchstart&&u.registerSource("touch",V);u.register(document)}}function i(a){if(!u.pointermap.has(a)){var b=new Error("InvalidPointerId");throw b.name="InvalidPointerId",b}}function j(a){for(var b=a.parentNode;b&&b!==a.ownerDocument;)b=b.parentNode;if(!b){var c=new Error("InvalidStateError");throw c.name="InvalidStateError",c}}function k(a){var b=u.pointermap.get(a);return 0!==b.buttons}function l(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:W},releasePointerCapture:{value:X},hasPointerCapture:{value:Y}})}
var m=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],n=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],o=window.Map&&window.Map.prototype.forEach,p=o?Map:b;b.prototype={set:function(a,b){return void 0===b?this["delete"](a):(this.has(a)||this.size++,void(this.array[a]=b))},has:function(a){return void 0!==this.array[a]},"delete":function(a){this.has(a)&&(delete this.array[a],this.size--)},get:function(a){return this.array[a]},clear:function(){this.array.length=0,this.size=0},forEach:function(a,b){return this.array.forEach(function(c,d){a.call(b,c,d,this)},this)}};var q=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],r=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],s={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},t="undefined"!=typeof SVGElementInstance,u={pointermap:new p,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.unregister.call(b,a)},contains:function(a,b){try{return a.contains(b)}catch(c){return!1}},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.propagate(a,this.leave,!1)},enterOver:function(a){this.over(a),this.propagate(a,this.enter,!0)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(b,c){this.captureInfo[c.pointerId]&&(c.relatedTarget=null);var d=new a(b,c);return c.preventDefault&&(d.preventDefault=c.preventDefault),d._target=d._target||c.target,d},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var b,c=Object.create(null),d=0;d<q.length;d++)b=q[d],c[b]=a[b]||r[d],!t||"target"!==b&&"relatedTarget"!==b||c[b]instanceof SVGElementInstance&&(c[b]=c[b].correspondingUseElement);return a.preventDefault&&(c.preventDefault=function(){a.preventDefault()}),c},getTarget:function(a){var b=this.captureInfo[a.pointerId];return b?a._target!==b&&a.type in s?void 0:b:a._target},propagate:function(a,b,c){for(var d=a.target,e=[];d!==document&&!d.contains(a.relatedTarget);) if(e.push(d),d=d.parentNode,!d)return;c&&e.reverse(),e.forEach(function(c){a.target=c,b.call(this,a)},this)},setCapture:function(b,c,d){this.captureInfo[b]&&this.releaseCapture(b,d),this.captureInfo[b]=c,this.implicitRelease=this.releaseCapture.bind(this,b,d),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var e=new a("gotpointercapture");e.pointerId=b,e._target=c,d||this.asyncDispatchEvent(e)},releaseCapture:function(b,c){var d=this.captureInfo[b];if(d){this.captureInfo[b]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var e=new a("lostpointercapture");e.pointerId=b,e._target=d,c||this.asyncDispatchEvent(e)}},dispatchEvent:/*scope.external.dispatchEvent || */function(a){var b=this.getTarget(a);if(b)return b.dispatchEvent(a)},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};u.boundHandler=u.eventHandler.bind(u);var v={shadow:function(a){if(a)return a.shadowRoot||a.webkitShadowRoot},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);if(this.canTarget(b))return b},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d} e=this.olderShadow(e)} return f}},owner:function(a){
for(var b=a;b.parentNode;)b=b.parentNode;
return b.nodeType!==Node.DOCUMENT_NODE&&b.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);
return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}},w=Array.prototype.forEach.call.bind(Array.prototype.forEach),x=Array.prototype.map.call.bind(Array.prototype.map),y=Array.prototype.slice.call.bind(Array.prototype.slice),z=Array.prototype.filter.call.bind(Array.prototype.filter),A=window.MutationObserver||window.WebKitMutationObserver,B="[touch-action]",C={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};c.prototype={watchSubtree:function(a){
//
this.observer&&v.canTarget(a)&&this.observer.observe(a,C)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){w(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(B):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(y(b))},
installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){
var b=x(a,this.findElements,this);
return b.push(z(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}};var D=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],E="",F=window.PointerEvent||window.MSPointerEvent,G=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,H=u.pointermap,I=25,J=[1,4,2,8,16],K=!1;try{K=1===new MouseEvent("test",{buttons:1}).buttons}catch(L){}
var M,N={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},lastTouches:[],
isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;f<g&&(b=c[f]);f++){
var h=Math.abs(d-b.x),i=Math.abs(e-b.y);if(h<=I&&i<=I)return!0}},prepareEvent:function(a){var b=u.cloneEvent(a),c=b.preventDefault;return b.preventDefault=function(){a.preventDefault(),c()},b.pointerId=this.POINTER_ID,b.isPrimary=!0,b.pointerType=this.POINTER_TYPE,b},prepareButtonsForMove:function(a,b){var c=H.get(this.POINTER_ID);
0!==b.which&&c?a.buttons=c.buttons:a.buttons=0,b.buttons=a.buttons},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);K||(c.buttons=J[c.button],b&&(c.buttons|=b.buttons),a.buttons=c.buttons),H.set(this.POINTER_ID,a),b&&0!==b.buttons?u.move(c):u.down(c)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.move(b)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);if(!K){var d=J[c.button];
c.buttons=b?b.buttons&~d:0,a.buttons=c.buttons}H.set(this.POINTER_ID,a),
c.buttons&=~J[c.button],0===c.buttons?u.up(c):u.move(c)}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.enterOver(b)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,u.leaveOut(b)}},cancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.deactivateMouse()},deactivateMouse:function(){H["delete"](this.POINTER_ID)}},O=u.captureInfo,P=v.findTarget.bind(v),Q=v.allShadows.bind(v),R=u.pointermap,S=2500,T=200,U="touch-action",V={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){M.enableOnSubtree(a)},unregister:function(){},elementAdded:function(a){var b=a.getAttribute(U),c=this.touchActionToScrollType(b);c&&(a._scrollType=c,u.listen(a,this.events),
Q(a).forEach(function(a){a._scrollType=c,u.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,u.unlisten(a,this.events),
Q(a).forEach(function(a){a._scrollType=void 0,u.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(U),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);
d&&e?(a._scrollType=d,Q(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){
(0===R.size||1===R.size&&R.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,T)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return"touchstart"!==a&&"touchmove"!==a||(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,c=u.cloneEvent(a),d=c.pointerId=a.identifier+2;c.target=O[d]||P(c),c.bubbles=!0,c.cancelable=!0,c.detail=this.clickCount,c.button=0,c.buttons=this.typeToButtons(b.type),c.width=2*(a.radiusX||a.webkitRadiusX||0),c.height=2*(a.radiusY||a.webkitRadiusY||0),c.pressure=a.force||a.webkitForce||.5,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,
c.altKey=b.altKey,c.ctrlKey=b.ctrlKey,c.metaKey=b.metaKey,c.shiftKey=b.shiftKey;
var e=this;return c.preventDefault=function(){e.scrolling=!1,e.firstXY=null,b.preventDefault()},c},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},
shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)
b=!1;else if("XY"===c)
b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);
b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;d<e&&(c=a[d]);d++)if(c.identifier===b)return!0},
vacuumTouches:function(a){var b=a.touches;
if(R.size>=b.length){var c=[];R.forEach(function(a,d){
if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){R.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),u.enterOver(a),u.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,c=R.get(b.pointerId);
if(c){var d=c.out,e=c.outTarget;u.move(b),d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,
d.target=e,b.target?(u.leaveOut(d),u.enterOver(b)):(
b.target=e,b.relatedTarget=null,this.cancelOut(b))),c.out=b,c.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(u.up(a),u.leaveOut(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){u.cancel(a),u.leaveOut(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){R["delete"](a.pointerId),this.removePrimaryPointer(a)},
dedupSynthMouse:function(a){var b=N.lastTouches,c=a.changedTouches[0];
if(this.isPrimaryTouch(c)){
var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,S)}}};M=new c(V.elementAdded,V.elementRemoved,V.elementChanged,V);var W,X,Y,Z=u.pointermap,$=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,_={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var b=a;return $&&(b=u.cloneEvent(a),b.pointerType=this.POINTER_TYPES[a.pointerType]),b},cleanup:function(a){Z["delete"](a)},MSPointerDown:function(a){Z.set(a.pointerId,a);var b=this.prepareEvent(a);u.down(b)},MSPointerMove:function(a){var b=this.prepareEvent(a);u.move(b)},MSPointerUp:function(a){var b=this.prepareEvent(a);u.up(b),this.cleanup(a.pointerId)},MSPointerOut:function(a){var b=this.prepareEvent(a);u.leaveOut(b)},MSPointerOver:function(a){var b=this.prepareEvent(a);u.enterOver(b)},MSPointerCancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var b=u.makeEvent("lostpointercapture",a);u.dispatchEvent(b)},MSGotPointerCapture:function(a){var b=u.makeEvent("gotpointercapture",a);u.dispatchEvent(b)}},aa=window.navigator;aa.msPointerEnabled?(W=function(a){i(a),j(this),k(a)&&(u.setCapture(a,this,!0),this.msSetPointerCapture(a))},X=function(a){i(a),u.releaseCapture(a,!0),this.msReleasePointerCapture(a)}):(W=function(a){i(a),j(this),k(a)&&u.setCapture(a,this)},X=function(a){i(a),u.releaseCapture(a)}),Y=function(a){return!!u.captureInfo[a]},g(),h(),l();var ba={dispatcher:u,Installer:c,PointerEvent:a,PointerMap:p,targetFinding:v};return ba});
///////////////////////////////////////////////
///////////////////////////////////////////////
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "extra_fields": []}
///////////////////////////////////////////////
///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("N4IgpgJg5mDOD6AjRB7AHiAXAAlAWwEsA7DHARgAYKA6ADgFYAabEQogTy2wBYBmOpizwBDNKWwAmCmWplBrUZ3Ldus+gF9m4aHC4BtUABd2ABzBcQsMFDxgihkFtiHhAJwc49ZAGz1qgylpqCgBdLTsIfTJeb38qKjJmQOCwlgB3AghDAAsuGjJNXBBjMws3AGNHFmc3D2wvAHYJYOZaBv9UkFdhCAIAV1guGQonF3dhIigAG3McAFoAThoRlgiJ6dnsZa0MrNycfMKjU02QCqrLMbqvWiCF+4ekiRkHh87u3oGhluqr9ZmuIttqsiBB/ptgSBdjk8rIjsUTmVXJVRrUog0aBIAhQ/BJuK93j1+oMcPwGvIauNJgDyLRIWtqZsJBiflDMjCDnDmMdSjhLNZbPYLpTrmQFn5XvdmEsUuFQVEZZKFtLlp1ofstlyiiVTudUe4ogxqErmN5YqEtB9id8VpdauCuDLbQyNkM6az1bCCtyEbzqgK7A59aKGqoVk1ZSDIp4yA1+CaeAtI2y9l74TqLFYbIHhVcotJgvFpElePx6J0Ivnhsx6Kpyzt2RrDj6M3ys4Kg780THxcbJU9VEqK/Ke9XsGQ8X2CQ3U5zvdrEXy9V2DTGjQm2smrV9yKyRQ7afTQQfJCzbZ65+nFyxl3bV/UfH4VmQfFO3paiTvx4X4okVy5GVhZ1j0AnAnRnDlNXnHldWRXNuwfbxmnDYZCU+Elv1tfdQPHd1gLBHDmUhC8oKvP0zjg4N0TuftsHuN97jQ60cGQ4MTzIPC5QI10WLPCCmy1GCkRRf8om4dpw2Qpiv1Y/8TyPbiaTo4jGzTFtrwokS71FCR+BWeihw/dCuFk7STyBVkXSUlTZ1I9TyPbHMqLXQdaIWGjpyjQ1XNeJIqAYhY1VUy97NORyhWch9aB8x5sFoJMLS8lyAtaCSgts5sFwcgMItEntmgCXg/HxTzwBHB96OfIrqBK990mCuysrCnLO20qJeGBMhuBoQykofarn26gL0sgzKhLbFr4PvLwJAS1KOi4qJZp+SgaHreqMsE31YK0kUohffxmG4c1pIwl5aLMnCOIUk8iI9Bqxu2zNJsirwYhW3gk16sro3680S3ab6SMe1sb0ovKHwoPSiz/aJ+FqxijOYyQ9z+HDwKjdjOI20attB/ls1ytqY3e+gYdaVVFpjXwatovCYZGgToKeibCdavbqYlWjuCCRKfqiGmEzJ5NgbxjTbw5h8OJ/BInnjSVTptcm5PRm6ruxlNceZ/GJbzGNuGQ5W4y3T8zpl4sVZ45TLJAq3rvuzbtfF8HiYfIaqsBhWka/MdLqtiz8Pkh2tbI5q2amkNYgTGm+crGMGijunecZtSmue8PXo4jzYsoc7SrjqKud88cCyBh6xfI3WEK8bxOs+4bvbNosLb96ybcUzYMc1pnQ+EiP9rHSrFd3LC0f9rurIhYOe9CvvM9uFLsDNE3jJHticLVq2u9Fp3K5dyWvAoZpJW8Gs62H78T/Xu2Ncnky+Jxme06Xfe9al3nlfilfkd97Ct83pS9tzzl13mHDs/cSb/R4MnKmf0fjCz5jvXurNwGZ1rIvUMyYC5eHoF9WimDEEgOQf6DOEM3qdS6lg8qb0nxJEoYQx2xCCaoLIS+CS0ps6Iz6l4WMK1/Jl0YbPFBTlWG8HYeOd631sFdTronUqSChEkJYa7HhUDc4N24S+PSfk851W7qncaYNdpv1UebP8y8+bbibsrVuU9A6q2ngYlmSiREqJfOaZW3g0qwJ4dDX8ppvGPycTrV+1ctFmNNCdRuSt/GWyUhPW2gCNYKOfi4omB9KBqMnFI6hL4xwThilw/RIVUnMNcRkhonDlTjmyV7TRtB5bFwKRo4pjVDGaQgW7cR0QqkX1Mn/Nu9j/6OJKe0qu00uqyR5t/H2qN7TqwAUyB+rSQbO2MWErxPxjaWNNjaa+8TFluhsiHRRHTM6VMXhOY+dSui7JYnMqkwyhlJOOU/MZoSJliJWq+b6Vi9lxM7ocw8Iy2nOLOawmUghjozIwv0seSkA5cSDsAwRpTwrsxMROPxssl56WHL9HhH9YneDxfxYJazOk8OGJ/BKF9f7wrsUihxKKTmlPGaKXsCYrktL+fc0e8yrZAutiyt5YL2UKh6nTWl0S14AsdEKoBZLRlio+aKJCH0YEsF5ZhGxAzNiKsxoRZZKT3nrIma+Z8/CbnaupbE2xQEmVPKVaC/G6LKWZIicK/FA9PVOhTsqkJZrRQGw+ng0qNqHkASdYam+rzyXZVIW4icnrvBhm9TGZNzdzFRKCQGjSbr55htiqmqhBKOJFqlEvHNKyK47XdR1H4+IYUmUjVjIVd0RXxrrZnCgWTrnhruSjfljyDntzbSC1ZCblEZIoGGaUFbAo+MoHOmppLc0uopZnL5WaayUy1YO21OL7VgQVckohpyC2sOiCtKQLTpEWuVhOSV8jz1opeqw9BCZxKlqiLgxe36GGsvaZepNElPFpqXbwndVaRavtNfWzq/kEaLv3avTC+zAVjoWRO2tc8P0LqOpq25aH6UCoRQkjuDr12Tu7awkNz5KG/IPa27DzyllxrzVO8pmKJC8yOtKzRvGtlSWdTR9O07MVfw3AJ/ma4CNxUCTW0BeG3Hu13c2keuqGVUZ+iebecGwUgYyeuOm1bpELw3NWk1Kqg0C0KdUhBdLPXHs1Gx+VOHlMv1szGT93MZParhWR/Vt9EnsY80wozmLa7/qI9I6LQs91KYi++tx9B+05wtemh89BtESJk9Z11KXjPyaxXe3JUnaITl0UUgrm7RHiIaKhGV6G5XArc7xDjG697ebgWTWJHqmMkZY9G3TrHRO4a8+6v9XK5AaZ1XavVgIKPIvG55tJGKwmZrlmVstW2anVZQ0l054r9bdNm4N5GgWR2bERTGwZq3kuJoyde6DtAzO5IfbEt7sHUXwa3cCCMOy0NXajaO9ruFOticm/9jVPLB0g706eyHE31v1qgdsrLb10dNeoyj8Fbje18MSwF5zi22uOqUh2h7F6is8b4+Oc7NzpFCaqvlgzhWnuYoudHNdsmoqNOLbz2r3Wpu0IZ9Wknw7QfBfbca9n+badhIWAVJI9HMdihVxIvw60jtstVb++TGPmukeuzpu+J7ws0852EhOi8DJM9ybbrlukftAZs+6xr/6EoM2awjnCt3RuCst3rnrpjXuKYjVL8yy2N7B+A4riZAGjqKekfR5PrvRWBvdYT6DMcfeocu6T7T5O7thc7Zx2jSbsUWyq3DobUexul/vsjtb+OKmYgRq0Zo5IL5kgpMX4VFOZdx/d+cqpponx9OGy8rDVsqe49bydxCYuelzZN9LpbQqW9MKX74z1m4gc/2n8P8H8/dd/Y/fZ5ggOp8N5G+biHI+OcSbCbwGQ5IvuxB19IhtKxvs6+F0rwyUVFohLUP1mTvxn1Pzl1+0MwTw5SLligWE9nzlyRAOLmQJaUAPE24w2XR15zi2xwzy7RwPSUxTf2oA/xxXUW/1yV/0fQLAAPlxF0zk2VZzryP0gMw3BwNXP1H1YXVQYzkT0Ujy0yC3cx4LPVgOf1wMT3yUYwdzLW4HkOEJq2YLAVkJDBXWiBk2kQIToUQLUOkLqzcUB2vxEwLxkmPzN1CwkOpzfWt0TwoRQL0R/zOxcKMLdyz0zkqhLHhmtXh2sM5HB302MJYKvRkACDV19yCMHybxLz4O8NERX1m3AKbgw031n3uwX0exfwmWikXjAPVwKOjis3UNII23NUiMfRUB/R7DWlVwF08MzwV0cLVViGQ1aBxz5xrg6Lpm7yYLCI0LILCWUK2QINyTGJQmIIrxU2eyyQOyc2gxcwDwf23ytzyI5Xp25RyTLUwITHtxfSGIqPrW1wYJTzoLOP6xxGoCxH9S6yAMkyaOqSKON1iNWNsOCPsPjzaIFlkmiAuLLRjgBhmIeLmPIJX3rguwgLENNy+PiLiMSNaM2KWifEfQkHSyKWZzF0OL0WwOh1YRd2fAxI4KsK4JsMowt3LzBOERGM+Qa0S1TwB0S3xNRx8M1zSwWk0WV0Oh4DKOOIJLcU5TcgXVvwyPmBjyD2pKhzZNYW5zckZPK2eJVFBJlLKTpNFAs1AMBMNEMJeMU1ZPVMqODQawg00XoyNjNKRK4w1PzCTEEE5NoLLShngQKnuLVMixtw72Ln/3zx6NjFkl9N/HdLx09ImSJOlA8MO3vXp32JuUNLDNFEzRpTqKlkNi+wNPKMFIyQoKoItloAGN70oP73EPhMDzB2+LgN+OpjUShMUIFlrKI0NN3zyRvWeKWPFNcyHzsJyI2M0PzA8WJQmN20PQthJVVNDPgP2jAy+10I+xnJxQPxDMX31zXGVLin82Y3JLLIf1CK8JMJzLFyN0sPSNay7IRL3JaPCLcWBOwE9zSP+RWMlOyOtMeM21HPMStMj07I+MpPPNfPBLCXoEhM3OB1iOfJP0rJkNtJjBz0jJ2x9X0ijOXNyP7OpmfQy0nyXXi0qygxQr7Jgshmr1hmqidLtLiH61IvwocJRJ7CjNaFizQPoqXiwt7JorQrgQY3s3V3eiEKwKzKMXdWllzy/K3M7N4IfzPwTKnOplkjPHV1vPkqgoPIhMbSI2/LPN/JWzYov1U3ESbQfL5R/Igp02bNXPfh+HclJNPJcwks+NPHWJD3dQaTt1As4OMq3yfxUrCRz0/nUsCO3MRIf14LMtD1K1e38rAsCqFUvJINpONKWly2aV2P2iJWoNqSOP3OvOAIaPHDGOhNhSL1LP/N3Mcp+Noq6RWiGhSv1n+OqvjIEqNPdSxH30YrLRatz1YoAvitOIosXO6J/yuMXMLOUuysxV8OwHQR10lw8qyMZR0qrIqsaDqowqxNyTYNV1WsO1CoQx+E3GmrErPLsr/KksasTPRExGxBkGQ3VzMJLmuoaoFMEp8L1Inzmz93Hk8ulLxxbPlJ9MisL0CpMoSOkurMLkuVvRqqinHxqS2uovKo4q8GFOLnHNjjQK2tNCF0apbLU3F2spiSPTJxKvstitmOzMxRez8jhreKBqRy8ptIStgrDE8S6ukVnVarMXhv4KFNerigBrJM7JirKu5pyrt16RpvEpCxOpgKyuGMZuX2+Tar+MVonNb3Op80xOqQMvV05ITEBz9NBqWtjAO3TzRqBNUK1szKeqasLTFoQrk0uStUyqvLlvdVxvoAGroPEQ9tVtQsIpwRSKtOkWm1wqtMNsRqkHyVLFplQIJSkAxsmvPlGtdtYLUVSIUrTotq5qSJvJNsmuJ0Opc2Bsf2+rVpkrdijtFKXSmJBIEVlsAomTuvcXeveOLuFugvloDqqs9qBM6imOzuRMRtjBhrjNjsNHXNHrxLOvLt6JjpzkJyhtns6JLlxARgHrGtf26S+QKsfKJuOtuhlpdobs1N5vUUMpayLrptLr9s7soHtKOne2dPvsmrdOTuPoFjOy6tEIWwH33qNXbsHv9p8ATuPP9JwuLnvPXpTtYRKMqxd0Xo4iv3234utpbJpmXtoG6I0qfK+rfp6p8Lmhfq5P9J5IdNfoWpzuMxhtWnxtlRcyFvprfM+QoQlwCthI3wSMksPritlNA09VKwQag3RMWLwd4YySTwZ3bOrv+OvTrqPvJpt3+N4HFpPJbWWKJoYevoItvu2SprnrWrLV0YUz6ukCgffv1gBywcLqJq0tjy0fYqAabtkfrOpjOykYoe8sbv+KQwCPr0Frmp7O6uepgfXIEd8fcrPM0dEZttEQByDsuK2TDunrBprnyXdgUqjqbOSaNoMpLBUf9NyYZz1LMYUc+S/0/isb8aOqloPoAY3omQ2ugTX1iL/rn24bJrEcxQMqNgsIKcIe1uiZbJMyaWeFoYvr3pqf/sYZOMzj2yssEe8epo8YZvdUhSOmZuDMg0iPWc5uifVsQiQZ9rNoFjzqOZKc6bCSJOVj9UgzSothueWaYc1JhqXJpvYej1wceZmbozHGmWOf1jHEcz2ZnuiGBAAx4rF3BcGfMrenf2xFXoHTQz71mvBzqaecSpTS/oCpRe7LLPDqAYoGfuiG13V0Jd5MmV9uOxhbFATrCcRYicvoCZBuyaHruoIQUtNMpactYOKkqwXvCYgP8ZCO306AgG6AyEmAwlAFgAICmAAGtYByhXAwA7AuBQAAAxfQIwbIAgcoOVogOADCfICkAANygBMGEEghAAAFkOJYheBGAeTe0zQzQAAZDiCUR15CF1s0W177RIJ1n17wd1/1x1mQGIH1kN80UsGNsNmqINkNiUINuNnLGN3gRN40FNoNkAdMHVvVg12AI1tQJwM1i1q1v1oIN7H1uNiNl1kNu4NNh1hYcNhN8tON7gENhKRt9txtzt4IZN5t/wPtgNmQElNN4duN2gPt51l1uNhYXt8tYIbt5XTtr1pd8drOY0Zd71yNzdqt2dwN3dheWgNdqGDdheBOatldzduMNNudhdi9yd+tyguNsdmN59292Nwd+gD9gd66h9yt9t59/ds0Gt7N3N3V/Vw1r0U181y1jUG1thGqJgHk9yBYOtpDypO91D+KF1213hZR7D/gctDD3hbwHwA95oHmdDt1pDhgR14j3D31l8XmFDgqegN9914ShpL9gqXSLjoIOQNd6j0joIN/K9qjpj4Nlj6gQj3j/wfjmT5QiT/wDj99pTtj6gJCdNjTtd7wKTgTmqCj0DnkypGj6T4S4z0+ed2QAz3Tmzkj5j3hbgFD1QdxUj9oLDr9tzqz/D9oOT0sR11QcTjzrTqzhjsL3d3hejhYYL3z+zuLqL1joL2T+L6WLEFLkL2j9LlD/gcjpL2zojygqzwz9zkzskHj0sQznECLzBn1vz5Dx11e2trjzzyrpt5rvDpDgLjrmqPgUL/Lg91QUMFrujlD4qfrpzoIZ4K94bybiz6b9rlLkb0T2T1zyghoBoQznrlLzBs9nT6WZTobugTbwzlzpr4ISgdTw78b2QU7pT8L3sN/fb7bpbp7+76WIqC75Ql7mT3jbDib0b9Lx7wH1boT3sH767wTkH2Tj73mN7vwZ7qH4IW72MLbmTmr3saQX77j7D1QNodH6WMr6z/Hq7qrmT8H4buH24x7ub2tnNlsPNqDwtmDktuD8t8JJtl4Vt5NZUQd8zpz4judnnoXwdiQEX9dr9ltqL4+P9mqBd3n9t8DxnyDgtotoT6oUt+DiwfDvwED6z8Nkrl8CUZdw3qLg3tbrj6N7D8N9rq3/tq966n95ukd/wO3l3uN8ke3mdkzmQW4Ddi1U340Z3nwOd9387bdy7qLvXgd5CI32bE9/n8PvwS9g9l4EPlPoP/367lPz3jPl9795PygoPlzrjlPuXnrsvugGt/P/Xmtqzhn7UJntX1nzX9nhDv1vLiLigOzly+dornv8zzv/wZd/gXjczkNskWPt3ifxBiL8frrgo2tkzgqXv1QPgbD1f2fgozT7TkNusSP3wTjxB/wafpoHTgo6z5oBgY/y/7vxTnfgd4jtT8nnf0f24h/usefl/i/9f9/hf2jkvyf63E1+snb/rf1UDi8r2Y/T/rcXf5yAIBtxe/r/yQE8kb+6nAorpE36UFYBUAyjlpx/778wBPJPfif2X5X8Z+i/LvrFxp5Ht4wy7SAfFxcqptvORnOgZQWAGNYj23AFLkd2Y538aBfA6TpgN4FMD1+og7gTVAi5cCMOS/d/nV1kGQDgB2fV/pAIi7Nt6uHEagYj3m6T8t2APWTvN2H4sDAuvYWsKNxcqp8TO+PXQXPzMFGCT+EgFLs21+6YCGBJ3dHkv1262CCix0WbnQB8EH88eHgogRx38EuCMBqgEnsaHu4CCnwgQ0/lez8BdQLBbnAdtrgSHWcMh9PCDvm2g5zhYOZbDvi+HX68Z6AjWRgOOXI5LBxIXHUoQwAqElplGhLNLPhzDDiRqhlQjtiULoAtDdIXQxvtq1V75CoIhQ7XnyDaE1QyhFQr+C+BqGE96h5QxIF/FuB9DBhYKZVuUFvri8fgghUlrlkHaAYmYEgXIcz3V5jCOe45A2A0MSDfpqhs6dHlcOmG3CxOdIcUBIFtao0OhYoRgDzHdbjk3haWB1jzHWE5BhhLPAoWzyKE68fA8MZ4YwGNhzCHh/wuETcIRH8BVh7w0ERpE2E6NIWj9X9HJS6o7wTh2jbPF9GlDr9SWFIuiHl2XKkiHGt9Hvpmzoi9M2anrVkarQZEI0CWHI9DqmUPh3BpQ/JLWNyMWpD12a1SQQaS0HDSg6Rq2MUWCLyEQjRhUI8YSwD9btAlh1wx1pW0BESAQ2WoxrDqKspIjxIoI5viMONZqiOe+1Y0bxkYDNJmh7ww0f4HtEntSs9w8SJqOD66QPReIV0TSw6GOi8Q2I8iLiI9xZICRPYQhpgSOFehFRGkEwCgCmDsAoAKAIgBcGTEYQeEX/CRDQAYCdATwegRLMmNTHpiiAOYvQHoDmADEyYOWZgHMHyBVYE4qQGsXWMbHLA+AFHNsbWOLI8wvEzAZYBiSPhkBexAxY6PQBPauYCyyubwOOP7FiJpx+QT6ISwXHkhuoDrKCEsBxC8B1xOWcjsuLgE5YOO+4t/DzCHG3FQwtYfceLwxKXiOoxo+ccwHbHFkpAx0B8bwGZByB9xkyJwZqCKgUBKktAfcUBOQIPja4aWFDK+NDBIRfAD4+KFcnXGfQuof4GgD9xJTrQYJvGNoEeINjkcJA64rqMrh4GahJupYdcYS2ihbj0Jq46IAuO8D3AVANEvrj4AnAMTMGtwBoJeJUDdReMDEqcZuJ4nHQMSIEl8X2JJRHx7xZEnmMPQXG4IGh/49CfiGihYS+xHHY6AWR4ke0xQ3AeSbNCw7aTng87BcfiA9pHwjJdIBoKZMPHcSyJOWKgHpPElUc384nIyaGGgl9juofg6pOhLSxUBPJzQQjnIDwlkwe8zk2Tvp2kBKS+u8UT6AuJiC1gtJMk6KLpASlpZgKwkmIE5PqB9jSwqaTBjxKKhySIpX4nEA2LIl4gE4OU18WVL4k8S8QvgPcRFNmjKMDYPEnEHIDHEtT52qUzsf4Bc5yA1JyEN7OL1IlNiBpHtYCguJ76hgMu2ACabNBc6xcZpBPZKYtMfH4hVpBZXBP1Io7AVupuUkabcHO4LT8gR8XBIFOCDxQoJ/UqGLFxWkRTCWR8dyJeKkk9inpzbFIW9MwaVJDpr4wllIAqkri2gHtGafO2kCCB8gJEzbuDO6g/DNQeIXSFOPBn1jSJmIAnuh3BnkdCWD43jGKH+l9jCWjWJoBBKWnNSjpwQdyFgIfHNsXOhEz6crkKlkTog7EiKatA6joyphcYFzguNWi4SipYoCma+LyQvSeJZoHLITOaAThooGvNaPEAZmUyuptwKGSPzhh8y6Q4/S8cBXnbigFxzwKqSxKnHnixJlMqqbxjsk0Ba4cgO4i1IaTlDfJYXXgC52smlSEgX4y8flxUCuzKZrk0sI7PI4Jx+JpU0sB5M9kcQmgNUvKdbOZlWyxQTQRWbVLpke1PZUgcjqZPF5iJLZWnZ4GImGnxss5p8TUEhHjo+zXxZMRqUXKtkYl8QUsgaROBJSpz8Zz4ymeUPijRQm5yBBiV1BUBHiS5sXOuamlTQVDi5GJRrPnK8TKMR51c0SYnIknihjoXMpCD4GDmUzGsVARianKAnKEiJs6KuTnKAlQx1x1HNCWFzU75y/pUMfebXF+lXS6QbQMRNrOQJTi75/srqNrIaQscFxDAaKIOM1AaTpAps18W9jkAWw1o5HZ2fnLaDocVA2s/Ce5G/nUzm22sjXCZIinNspx+8/EMVLnnHxHxqacWZtzEQLiB5yhPCcxPzmxcYgPfIqQ0BgUkLlp5HBqcrjZmUzYugIniXa3inoK+s809CTiCAV9jxQsYUDgBKWB4hBFx8EwQ+PHnKMSFtYUMA+PxAYkW5r48ULXAskATRJvgeRY1i+6Izlc0gOueKEwbAzbiHHZ4JIuD5LBs5zwMmFHKkX3BNF+QKKV+JIW1wzQXMkoeFLYUQLs5OIcSMdHcVSB9FE06KQbAcXGg4J5IO6W0HfHuLzxf4CaV1EqTPB3FN8/qbWCmkXyDp4vTJYNOmkhAQgTCMsWmIzFZiUAOYnoYVALE65ixpYlMWUsrH6BqxUi1NO/JRizQ6QRUNsfDA6jMhqkzQLpVDCwl9Kj4dCpIL0LjBYyXxeXZkGIi3F+8gJn0VRXMrjBxhmAx8IhZg16Xy9xlgymIXGB2WzK9lAyzZTVFDAry2xbS5QqRKo6XKkI1y4Pu0ruWHLlG/0gYvO3/FbKjlHy4sl8smVWSVlTy9RbcsBXLKsZRSkpY0orEVKqllCGpQICLE4QSxyYUpRWKrGoqzQQM8aWtH65xg2xVshgDEDskTTzBrMwlcV2JZJK8Vs8ylePIOn5KDZwsmgHQvuDMyyVyjN7DVKtnKFgJd0nmBiSwnVzjejsyGeSBZVacqAmDFiUBJVn/S1obw8SJeJkTLTKVHHWMFOJVUPBU06qvgLxMvFYgvEN4l8WtDvFgLUuo41RWtEoCiSHxuCUMJSrMlNBT53kvRU6oLICyZJ9MyVeJHLTZzxIDAcoU6qQjPztZvaNOU6rU64z/54vINVGudkfj/5RURrNBPQm6QDJqc8RTytk7IFngp8pCJgx8CUq2p4kAOcyAxAKrIpaWeKKnMaxVrnZcgbOXBL4klqbZyq0eWpxzWzQpAzavEMgSrW5zIZTcnmZSrhjWyZFksoBc2JJQXitFNs4VVTI4WIzU0WSylWBKAm2LOpPfddbgjSxeK+AsXRdfdL/nLBfphY01Zd2QIdrlgQslGeJPDZgAmxggMJfhN7S9jb187BOHtLPatjxJywd5S+D2kly0p/6lHgpJfWYhEGsYD9cECaCXt+p340SbBp74Fl/xE0t/PcHF6wbbVbCfqTECXE4a/x6G/hWnMJn5A8QnM/qfqvuk4avxrM6jS/Oih0bvJJG+NuZMEX5B8Jn0ajfOw0k4aeYyjSDf4C6jYqcNHtFCZkpwkXrcpxrNHjSpH5eIMS4mzJNUk5UNIDYAmtLP0LOkj97gP4sDazO6jCbawbCMucktWh4gmVd9FDZg1rlMrGJws19VQqLlkqDYSwa1cEHEiVJXNeKjqPevqDLAjl4oRjc21uDrq6QV3ajZ9BUURbf5bG5QhmqrVUSCFumsROKG4WBbZAV3XtPhuULsKx1ukCcGppoAdRe0MGy9dEC8SbdENYQ1haitAXK5ENL4KgInJcXabfNsgAqTljHU8yHRumnpEJrHXodkZd0gqd2p8AYh/F2PaaZet0j4gmFrmXBF4kpVYg8kR4vJGIk83i8oJ+8hAbWDa1XiE4HS6GcBTkVzbbgBMw1RbOdmraB1N68xTosvWcyJ1iMuhZGue2ZJp5txPNWks+0KL95z3ZtmXNK0EyYgeM51pKvo0JxHZX4/TqvNRVfjnZIWrRcgQaQlq8QHEU+aWGkCeavx8G2HZnLSwlrodLE8To+JJ2ISWJs0dyH+qy3OyNxR45kIxPq2lapxxWw1eJB20lqpts6Q1ZQDM4lriVfCrrZ+ydVHxZ0p89xD4tRUGxnpp8gRYhKdX5aOOd03tDFpDUZThNYEqqU6qWDRRpxyShScpsvUe1cJnWiReLxB0KcJFCmrEA8Gt0HjNuCm/zR1E83AVZ0QEvLalKrVqcfAhu0rbcAKnqrQwn86jViFanqqGAmqxjZe1926yatumnmPWLTVSrc4Jm3tHQqrUeLM9UmmbjmpvnNs2NDkwVZStrh8bSVa0cTthsvX5dc9umnLFwixU1yauDevgMyEO2hrRN+SrbWXuuHKMe9twECVCtOTorylWgbMftDzGgskVWgepWiphUZjMV7+XibF3w1xgMS/0mQDNxKHr6vxf2h8LQN326acQUME3YfvXmxdOtp+/fW2Pfx30k1FGtiVvqP0nbZAO+l/R/q5n0z4oZcuFlNtVk/6u5L4//UBNVmhqj4NU4YDSwRnVzs1d+q9dIBK2TShpCB0MCoDX1t7slRS4paPsX2ZiJ9lSqfeSwbQyazgKKhpeWKX0tK1FBsSpC+uv7IF8uJCkoaroWmMHLldc0Gb3MbEcHZ038oqCSiSWMHfA5+mCUzMUXsG6AJi2GRFND0PDeD0hj2qBrXkS70NjBug1dN8BhCtxfYuKYlIYlUTTpeh5XJ9CukcdzBDB6Q11H0k46rD8UKGG0FMnUSdNehuKXQtMnYLdpUhofZ9Hzn5beM406/m0Bc6RLPoC21zcEd8Ay68pm3ZkPYYaGyHfZXiHvsIboAMA5VCUs0FfsUMqze0YRnHc7NyN0LxICUs9q9J8OMSeO+s8kFdp8O1h3ITmoZdgvB0+GSVa4lqbpOiC5GWhMR6WeKACmKHNu3KuuZqvijqHKC7ex6UrMPHzS+xGIWaBVqVkZTv1Uho/rhz5llq0jtcY6AZqVlc7Q+UhjjqNNUV9jiJ3UUlXx0sWnHpZHHIxYodklLC+Zxq9Dg8YKVNHbOXOtTVRy0RHx9ZYEiZVIaXEoT9ZsYMtYofaMdGzZpYfdRCcE0raWpvEzKUCedk7T9Z9YjuUCaxA98bj5ijEnkqBPD1TxiJ9DijryksdNNiJwoxCZxChhzNQy52dICCM/bQZViqQFiD4CKHvxjWXBXdxyzGHmjyyqxXIGKlpHe1kSnpN0akOxg4d+c6IH6LSM2ySZfM5kC50iPv6xQ+nFU3wDeyKGcT3KlU2/meB6mWj9J9/TEA15EytEB+kWViE4mNiXgdJnmCqfQ6Ym5gLwZQg0b5nFSkIDp40FVoC0izlGJKdDS8EAXAHljCyv029gYDOn2ZH+Cqe6boAEb0dLU6KeUOjPOsgJ+s57poqTOVJZ0YhvsXeNi6kq4WSwCiT1PKH4g/TK3Sk77KwGiL8zFpp7b7P9ltBazgEm03lLSxdTOzhHfOVnMAWdm7xZpi4yN07OoSrFzE5PZ2akljmNNtZ2aGAf0meKyzOAuhamdbnn91p7+cXhGdfHVCE4uhvc5BLNNmgSjhuvc2ll1VyHgG87Jc7sd5PHmU1j5qrN/NQ2vGFpe5wDd/O6izpxpP5nk+4p5gWx8zyM5kCBci3RnYuKgXE+SGUOua/esFoJRFMEmY6YLLrfOTljW2AXpDsE3k9R1mkwXooOIUyTljiUwWHp/hq3W6bDNCnTJm60JWGdzmDmaOeFisyzoSnigGjfpis66YSl0KvEaml4HkjNMxAFTfF3SFRISmTi2DSZr9coyukwnKAL69Pv7o+MxsgRfF2sH6oSnDKkLUSsIVYrh2Jq+LGmnraVKwGwKpDG8l6fpdzh6m38l0hKWKGRNEzjZrZ2qQTLnVEy2Vjqqy51KsN30kjtUyja0bOPKMxpCUjqG5cUOwjMNMVhODEulMFlNzsl1rcFbez3BxLLs5kPFfeHEnfZ2m9aUMvnPKXa4n0Q3WVc4l1yxEcqsU6C1Ct5TZZPGqQ88AxBbnXx8MkRVyZCV7HurKivM0MtElvZPDResU/2vq1eS7NzJlRWTHMPsm/5xZitc23klmhHxfVriZEutlUArDGJDLTksQtcmkd+4469+ekO8TcTMC6CxdfihXWoLYFqjkfAflnWG5Dxl6wSoimVWXwExviUsGwvYrjTUhzcWe3klv5JtH10sMxoiklQe+zJzcfOzrl+rl0H1xeZEt7lFRvjNUAJQgthuYbqrONoeR8YiVfjsbFxhHV5Nx2kyQbT6Gw6VKDU1nab9suq5wfJuqn31pU7Q8oTeMvTcTBG8eW8eM3iWPF4EkGzpM0uCSPZ4thpIxPSn6cJwDxlI1qdKnAUN9Dx+g92aCke6GkDx2LkfElviRvD6krqDGfSmTjdDBUA2D0tVuLzLjqnQjspYUWVp1Jpi2aOlO03Mna4TQY5cVanGSGJJs0XBPLYxCW2tOx0B6elMvZh3ojsZqO+8MUO+B1FdV3wLJMTuXsZlvszc63vnk07NL9wMRBMYxD6c3FsNw+QjPmMC7bZlMxLXIGxs8nYuhFkRWliGMpL05sNyjb6akNcCVD3V0sE2tbvTLcTq+p68VwaSc2a7Oxru5XZ3FXTQLxd1uzxd5NkxU0FRme9TPBttAc73eEJaUbQt/SHz3dtOXrLQsA238Qx3tdMZgm5L1TCczJG9YJNU2btj1tI3xNevoKCpo93/RiHLAj7SkY+ggywEn0Zpp9pBupRQYX1UHmlngasdrhWVe60tG+m08kIeBFHEH++/6Sg4LtLzlzeINsWiUCNZrID+DwsIQ/Qeb62xUQoQ8tdK1IP/pVD8TpXpQOzb6gcD9Dgg7c3YG/77SAB3CuIOIqyD8+vmAA8xUTTJJ+ne20xzQWyb/Aea2MLkZMVLGaxa0PRQo+T1Ry1ovZr+1+o0cj9zdCjzHXPKr04gJjDhukGpLNVDzsbQ+hobBpvOoncjXEm2zI6BFLDHHOp8zTasYkxq9DG++s8o7iCeK0jQarDrBuwWzp7DX45RWE+qnDXehQmpzX5MYn13Q7e9mR3wAWtDGongZiaT92QLY3vHZoTjbJ2ii9TE7oR9uzI5TWNTFDDqt/J49k74zSrA0pTUY5+1o77b+IBOaccxCMSWdQthOMU7xBAS0j4Ro07BtzlVY4TY7TyfkDiVQwaTcMRJ11qR37WHVdOgJ6hK6d9XngW0wzfiabPSzbgfGnDQItcPSyPFSjsJSRIFOyAttGzsJQWUS3xWgZmdgJ0BI0Vh276tjsDcstunSmcQyBZZ0BMx3BXUNX1mRyM/33xXNTFjuDRdMJsAkSjKGxiUVvitIRkXvz+HSnOlOkLyN/bDfeqaK1ROUXQ8ua0csrOQuj+KVvKfmuDtYuFt9twu1npRf6r2bBZDiCi6ivk3srpdql42vttJSDY+L9XYrbWMtien/bJaYTeq36dJXEajzRfcQkNOFXcT7+2Rcq2NqmtPh5Aj/bHVavQzOAg5+uph3yOLrkcoF7uvhsnmcBkE6dcEGktoPwLjE3R1QH81XmNzN5lDWPNmhLm4jKLnF+Bf9dgag7qLl56YuWc3n/utTsoTJoCc1qQFbx9nXY9an6cHjHJ3mWBqglvYrDn0SpDvKzcdR/ZEJl5ZG8fGAnaXDR4p5LJlNcnx7lllx85aA3tX0tLD+N/U45X9HqVdjzDSPLOPMSxrhbyOvbZllihZnI/SxXqcwa8ZJXOF/VU5fwk9vmdal40LcAGU9vxOSSj0y5yPmFuLTW740J7vC2FvIe0ZhW1fc5UiS8LDSOhZUh7ce1G5d10Tfe4Z2Znoombxt28I9fn80sDTpoDR2/cQW/3s0Ipwo/ut6TuHYKXh4QfhWgPalyKq2KiuEf4HMVX+WcR2aT3Tv+DL4r/NeMfe5Psj0Er/NpzmPKTQ1bYr/MdB5PUaxQBuijwpzq66HA9pFoBeU3rWdaio34mqR0VIs0K0txLHdTh+Q5MzENsi1RR0RjabzdNY8k1fUA6KZ6pTyStDV5ftakWpPySvgB4aE8Ylzx2c4rV4m48f9dPRDvB0J6qyqWTPhnwGb4D7nj96bcnglyMtTlvZsPDniJ8p2c8TgsJ5ocfslOrm1H6P4Z5t9XOEuBeV5ab0eSXNY+Xdyhp6nOT4A/d6BzQNslHVbMJbdQiPl3AcU/IuneesvEd7WavbFBhflC0tqvaV+FnJehNgB9yLOrC/ZTQpGCvL9IGKkBqEvfLpL5dwZ0xSxEcwzLy1650qry0Ne1h3QDKHCapALCxOXrxa8W7yhYUkh5t1rAcPStV8k+6N4/zUy8tTQWT3oBT7/cabGGtoEU8W9yqmz6alQEo78D6dn5CWjjhvZfHXeRuCWg3SoBIdmgPWTDsKQOPe83nEzZqjx+94jtfnOVFc6Cdd8GkbKG9XKq+xD49o0uq9xz1RRD/Q4cRMln0GIOD604QK8zVe9yPFHe90L4b+Sws1hJT6ALi9GX1Cxt/+6pa3Nf4xbw++MN4rNVi31SaEtpX33HvdARy23s31AK9eS0hZ3z7Bvc/qJZMJj/XJUkkPiVuxknzrJl+VW2rnKjQcLJj4e0xbnKnb8j7oAGeW70P3BB1717rzH7VemnZg5O4niA9DH4iTL6smkeFOgMtX+kdDA52bVPfEb3t6UNeJrfXTwuyQ4BscvqNdITdQH6x1ivcngkttyb3+4Kb29fx7nwMaxDCb/zFsgP8Xfw+laMXjWAP1QsC78f254nh13IE5PSf9OcFwL/vo5Ud5f5zXs3c28WlXIE/bnytZUj2mpLj3bn7K5gY0+XLMvucY73tPZPrfOvJQzT3dKYMDXYgBSVqbEqoAbPp/z3DMyfpLt3uzPzsyBWNvo39/IF6n5YJJLfz0eASuPh3uR3+nT/29pvuDd48TnT+a17Uk/f31MZmftDwNizf5MM/XQwte0uXdmbM+1f6OAbTjABdej0sVgxaTw3Vz/OASYkLdF2S6tYgUc18sMZcjjBltPH2zJNVvT0zLl5PFz2QMslVAyE8kIIw3yUuHXA3/t8DPhxAcSDeDzn0IHZDygdMVQGFD0OlP3iKhspNsQ/g7NapD95yhVNQ4Cl2AskWV0jJGVUVeYElAnNL4D30E96geHlDluA/QUqQy5XmBIkKjD0xyssJZQNWFYYKJWOhMtPQEE5Z0V90vg6QUQNkBCWME0mV2VYV34CtEN/GnE4+Kthqloec93OVJdJXRfFoee7VcC5XM0BsCRxHmyHR7gA6T8DCOOyWllipKE30D39D2gCDpZckCWB/pQTnt0DlfE1rk/A1NGkkhlDcQLcZA9/WHlBAIKTYD7PKIIbk7Wc5T4klNPwMwV7AvrlXtTArz2R1zlexSZk/AwNSaDgKSeVaC8NFGEul9VEIPqdzlElC4sPA9/SwEwg7H1WFE5JIK0Q/wZoEYl2dKYOy10OLVRRhGsA0xGC2ESi1WD0tQd1yDjef93OUNxYCkWCZg24EODvHPQOh41DQ4I5c0nEoMz0txbvCPVQrAwOR1xgukC51TA2aSFlzlVKTO1+A/Iw1VfgoOXpdcgkZQidzlDzWl8XxT2HvkCg/QWbZoJQGDaARTSEO6gbvNsSYDDxWYONA/VK+0BgNrHEPeFKgmEOeUdvSEPKE7FTENxCPvb5SiVzA1RUBhipbw1l5gzRkONA7FHF1l4UAsuUBhZ0Jg0hCffLq3aATpToRRhSTaIBqkRQ5bVEUtleICwkRQ1qVb05QqcQVDKCZXATlIQjEFJNqQjySi1xQnkzuDPOYBnPsDQqc2pCDPGVS1Chpf6XaBMJGpzNCcLakIUkOoA5QHVevZ0NXtdbM0LAlnQiSyTU5Qk71JCJNTdS1CmTIBXaAFtFznhDSTBtz0BIw1YXz9ZeRCSlDkODeXGD0OR8QjCjOZ3TdCPdSp3jCSndyFL9j4FQCklqQxKRA9IQxY1M96gfznc1pbY+D6F2Q+jQ8Vfg6iSRDZOBIBStr+GtRl12gCtRRDfg021rDCwrEBQlHgjbmHpE5AcJwtkpH4xrlOwiPXgkh0X92LVSQo1Rc5Jw+6RiBswtUyhhXlHcJVs6w5DkqtXla8RyDCwwVT3VDg7UIGtIwnVSLlu8UaScNgwgEjasngxvWFktRebXnD1Q7gz9CS7X4ICk9nE8KSlFjYCJndvw1ThvkcQ7pX8cjRT82AilxbMNwRGtZCMaMLQybUbDeheGU7DV1fRWv57pF8AtDjtZEyIiSVVMKm1dZZCNv1SQ6ZWwVIIuJV1C+nZtyIjGzXUOQIe+ScMi1gA6kILJD5OkMi0//E8IaRlcFkN6EoYXkIEAS/cYLZVU0VMKDVlcA5TZVB+fiIUiIvJ4LLVOw47304agnzUm1+IzizkjmA6CPutU1W8PhsZwjkK6k6Q68WGNqQlhWUNXAjH2PDCw+6wTsh0HpBJR+IzbkGdLA2rxtMRQklE1lLA8Yw2dpQzU2nEXgA3WVx+IqY1IkYovN3ZC0rFzmijV3MqTMicQOVzCisQfsI25DFbQOplAZXUOUV+tGKM1VoIrgSw0wooaWzDV/Q4wqiyYeqJXsCTCqNrhrIw8RyNjAxBmdD4oeQOpkdPT0L9UhA6mXyjdLRbSSiDYayIck7NMKOttUI5P0BMYo6jhmj5TVYxij3hVMJKhpJPOGdZqQ68JR04+YM2gj9wtB2QhXI7MM3CKpC6PnY3IgcOqEboh1w3lrI5kH95EomIQx9pI2K3aVLA/fQQjGna9W0CbpD7wrCkIAIF18eYCKNzUmZD6NItyhU6PCNJosbw39totKO1c/eXZy08Tw+mV6tvwTBicVToh1T518Yj1jbdIwlnTODSYzgwOiZVB/z94EvanyvDXTNv1Jjz5Z0MfA+PBmLMlUw5byPVAVFITX8wI7UIFiuVTqMPkMPBmMTVoI3wFHE7JKWJGVdQ7HhJiGYzOSojIDHTVVjtORyMbV9FBmPMC9xSD3xhoPIByIMqAgR3AdEPSgyaVMVIZWajjbPFRiCnlMqV0hOtLJWf96gIKV+l8/NzV2MgFFyVVDJfcwSPUnlQTQU0DtS1xfE+OPNy+9lOLq3Y525a32W9sop5SnE3sCK0R8VzKOKdkIldH0pC/lMdhv50fAyVUU5gqj1NDOVCNVLitOFEIDsbVSLUTkd7ZQkONcnNHX9jiySOV98MQO4OfC4JaLQ6i/lTWXxBcVIzkMDoJa/gblNfUrRYV6ta/km98rRBwUky5OeOmVhNahVGknlBpGJc8tM7WFlr+IqEQl8NC2Sb194jTRd10vIqz0B942nQm904j2KviAhQ+RHi7TeU03jIeZAx09YJN+LvpJfGlg+C349LyYcUlS7wAS6DPaRKEJ7B+LEiLjWJUZjN4wuTY1aTGS2zj7ZCNjukSVYoP3jJva/V0kYgTeLeiHfRyUm98EpGTFVLNPeJ5825WVUo0BrCeN3i3pW3SwkiI9aLelBNQ/2zjUlXtFVlllDJyeV4g69Teln5JhOL54NDbS/9l44vhMcNtDNRH9u8WMGF8VxeOnHitOJxVWMuNSOmESIvOTR+9s441Sl0csbUKeUk7cwRVVLnZROHljJUxIIlzEqqy/MXFWC3biQo1OxVUMQQsyMS+JB7RlNyQauIIjTQuZ1CCjE1NkxNoZCQyMSQovzxp4XBRxOPNOdaS00S4lEXTvFawauO7ixbTEAXkCyPhNdjW9UrSLdMkjhLoMzXLPwUjhE47UPiyJF6zlsOEqyTFdaJFWQoTNzfyLIk4wPdU3iEBUv3llQ1GqX3jAZLmQPFbfFBMu80k0/mRkJEoNQUN/5WWSUdr+cRwLUXo5RLexUlJeRa0Fkm7zsSwufVTGSWdYLzC4iFLZMjkt5R8E3jl5PjxFUg9TeP3UOknOWcthE2WwHVU5aaLGSe5WAxzkTxauJlV7ZVOQotukyghzdvDELxKg+EixTUSc5Ok3bj4NYdVHkBI0pK4TfXKFKglAkzy0s9U4zcR2ThbG0yo4qpXUyggnnaZMadYvPbWndpHB+JUVYJFVUi03IkawM9r5XBx+SCkbuORTs4wlnBi+1FMKeVD5WdWc8djdlPxBIU6uWndhEs/XZ061VAM9iHXNbVTlQvJlNo84vOCWQ1pUw61Tk0eduKQM7FT2XS9G4y7jMcP5TML+VAFQOUK9x+TVMAUN/bWRA9fbB+MAVzAniXmFq46QB81hJeb0FTm7VWT8M6oS1LBNE9UrTjjnUjfSZ0t4uKOlSXVU+U30uldlONp+tY1kPEKE+1NSMfpP4PDSptBXQnDlE2NL7dlgSXSvsqUslJP1M0n5J+581NXU09NUw32q0i04IN0SOZa/TyjdvOYLJjtdXr0wTXkuNQFU4wXwN0S8k631pMXXIxN1jJfXtA1CbErxDNdHnHHU1SQooqGE1VoK/V7S5xKdKwFiUuYJWVOtZWVHCl05+Wt8I5aaNnTyQTdK4kRIh+JJQRtRDTejIE9dLddatI9UcSttFcMWlf5e+KXSDxNjU5k8UoQ0ACMNAmV3cxUuCS4l8NIt3O1v09kzhSMNLlQLj3EaWww1QjYNV0TpVfXww1lDdcLFTiY6vzW4lpH5P9tlfNnQyC/las1TZ8NXBANhhEtWyed8NIgMiCCoRKVZiMNDIMgts48yQb9ikilWzjvNFpNIy/I/NKnkaHSKUMV24mLW0tEHWdFfCxUrG1rVEHK5GETSUpNQw1XfYhWzjJM6/TzTE0kZyLTdJJTPTTmHX+zICeHCgJg9+HEsBoCbwOgM6ARHGg0oBdffkyLkZAYen98QDCjXfF5AtHlLBE5MzL3kxZb8DR4x5NsS+htOZBXczndRDL0AkwFEISDJlERXdSkwJby/F0okRQJ4vMrTh5kAgqzOSssJe0hSNctPzLE0XxJMDVN3tULOqlO/QLMMFBDSzLu5MJGqSTBRJKiTyyS5OLLyQS/arJxN+Agu3sU8svdWFlK2eIJYC+TQQP4DOs/XySz7vDQPDsqraLIQsc/EYJrcqYgbPpl+A4V17NWs6G34DnLDcVayM1JbLyR5pAbM8yNwtl3li7uZTlei3VGKTdca5akOGc3/ZYAy1aMk8N0gC7ZAwJlHNM7JWUHYkATO12Q27KjNEHXwGK8Nw1cW9CCPPgAPSBwqeVEy3NG/ltC4BUp0l9C1GdN+yCYphx/sCkJ7KJ82NTbmNUrorbR8cCxDJ3olfsjfQU0AbDVxuz6rAfV01UfUX2JyvEfD2gNfrd7OykQfYYAaM1rX7J8y/TQGR7Unsy6RtcrkVF05zjtP0y6hVQ1MORldLAXPI4QE37P5NDXHwC+k6cm8zwsZc9uSeyqJbnNcTrsscI9ZS/JM3kSAs9oFo8R0pLJelOw+RMBkBc7uIBjJQgxLNzAXakPMDb2a3Lmlbc/LRztDcjYyE93IGtVVzVLQz2VxJvL3KpChPBgCNVpcvRSFjOvNHMRCzckv1v8VExvSjzDEwgKkCvc473o9slbFO1ymgAC3o8+VBOBXcAyA2Xo9zxUkzNy/RUAO3krNC6wDIkpQL0OsPXAMnHl0/fqJEs7uHCRl9VQqHwzzOZGqUz5Ac5vJlMPtUbw8UN+M3PykyfC5Xh9Vczjwt9GTckHXMZTAzxIdd7CPySyorbvP7ZR8kfJ1CXxQcCkB33M3ObjKHDbm9tDLME0alD84dJi198xtUPyMpFeX3zxIYWWC49uA3P2zy9Q/NuyPWffI8lD8wljQ4Fc0PWJT4wMdj7cBs1zz0AMRLpS1yBsn7PqA8uIINJyM8/k2FkywJoHh0zchozLl4YMyRJjECpqV2Ux01XPZ1/pMflAVQcgbK3zYCswMByT847Xdts49lTyQzcwtXbjcOA4MrzqpHuMkilLJgo8U+EwljsCmC6qSMTdICQIzzecujJ1NfMjPIANQ45Jz7y4jBHWetSUs3PWVlExkzJMks8kE98hlE4xoLkrP5T9EVAEPL+lNU+OQXt2CuhWESEvMoTNz75ChJ6R0Q2wvzUnlJ9CrD2CnjisKB/f/PZ8XCsCX+yks2X18KlkgXM9U6Uj50DcrM4RXjizA2CRXc7FXZyCKW0i6yRkpxUwo5SD3ZnS/VfC8vxXd6nRdLMDsVA90rCSI7OMyRL8i6zIU+AbIpCk/TbzRELfC3BENdTNf7gaKFbP0xxkOrBopsskzEuwxDSikx1rMIFKwv5Dp7P3muFhirnXXMNQmGzFTl0BbT1M67SlKoLvxeK17Rzk/ouM05rVrSqL+i1cWxsdtA8V8KhpF9X4BAJSqzv0CxJqSkzTileyPkjYpMR0zTY2D2oDZ9QzKtjIHG2JoN1JLlWRi3hcUHMNkdCLyWV7gKpJrsrJdKOfyhMvuzl0hAvbnOLSpWCxKyi1ZyyyNN1CGOndCMmKxELgYmRFu03ZaKCh8GYpCEvDizf3hViefOmTNNvxVDUBVRJOMOLM7jOdUxjrxK6SRkMvQFRx120s2VakUdVgN1dIlGbjtV8YjoTjdizfgs1iBAXOVxN+8x+XxiTAvEv2NxeKU1EsvDPmQ9YgS4PiXFeTTYLQd0+DKSuk6s6W255gdOU3V0O1GKOyiJTKGBesAo0TQNL5/HTUNgMfSJSokKjOPk8gAZIFznVkIPlTrlmUnNOQgV7GAs9LKrA5S4SjbVGV69XA3CV5NAE/X2llJtNtyJkB5TA1uMekWMq/UEHfox74v0z0px0cQ+bS/lPpLpRqDeMQwL9KNQwEyCkcJfx2TK41ScKXEtw8GVotzlGLSUtmyyQyo5hXPoyplFjA5VrkjFcGTqkmg9LSb1kyg+PhDUipGThllQnOUCM4ZCSJs97rVGQ1xBgm6WkDPSwSX0iASfJMplmU5JMOCOoTiWxkAy4vk9MrpIw1lKBiAmL5l4gQAO7xd0scullRxDtWfD++M01Us+PIiPKkrS+dliCefOuwNKRTDDznj6ZCUyx1TpHpMFzvTB+TgjU0EZ2eMppX4Kuy+ZExSfCOQ+3VxMDrKJzRDlpVkvgqLYWXhOyajWUKiU85VktBkpTWXgUVNLWk3OiolbUMHNYrb0OTCOo9KTR06Q0kwPM8pP8q5CYhNhH8NYrNiJiFjJQizlcWKkSvZV5JHMqpitlQQysUFFKqS1Cp5cwwyNmZOSpsUGJIGSJC209XIkl91NgzkrcdBiRZ0JIvNWwVKJWXLDC4zNeW7LXldDmACrFGHQ+DBQvEF295jP8ppspFVNl5M7NYeTRD3K/eLLUagr5VtVv5M7W1dj4U21FLr+TbjANkKviV8rxFD8PSNsoq6QSDRMmZPzdrrKrGBtew39zNMWFKSV+DporqyEUZ3WSrG9PVQqqnzhw78WMV0Q/SIekHnUsI19bwnd0oUeYHjkOCwpLW2D55EuyOksmYoRQosQKlRMiCRq8CMGCDEjcpGrojA5Rxl3AthUpDxgjVRRDdFfyp6De0A9JGqiFOkJGjPfeYyyUagg6vgtdLKHz44LFHJVuVXlSkPyczxeb0GDvIs0y0LQ9QYKhi3Io6oS90Kn3wS9QJCVNWCLpSlxgl1Hc8J08ky7vEnEY1bvF/M5DS7wJMBifZWPkASFSMN9IlClxHlu8bQ2xjsJBeRUjBnS+MrtNZScPoMI7SiSNUmqrQR2sCYlYKeDxAweQaMpPJ4IelcTWdW6VgIwfjrlLpdA0giOOM0wsUMlFGG6VjtfSRUkDlD4Ko9nDA3WAjNJDG2STOy3CIuMM5B93hDulEM0YsS/dCuJroM32QwU4U5hOuEsjYuyaqyk2S0izDg4HRarZOItx7Dfku00HM2ECvKxq4lEy3c5zwuVxxrizXqQf8JxdxH1lvaukJekCS1y1VCag6KTEQwjLpSTDSHfgtktMff8XOhMNQcy10iovI0HNxtVOoTcEpA3QlLqZOzVMkWOXUtXcSimu1xjU63HWRtUpXzItKmTfSVlkwozPUiVYvAG1yim1eSQwV0osaL0DA7SwvmjMS763u8mS1dzgkPjYS28MYo3+VHrXTUTPOgsUF6pS0E6vsDLUPjVNX4y84RNXXE41Mar2tkEteXx1Uyy7nZMnKxKTDKq858yqsLq8VLxB0a/CXUqHXIORXqOq8YIPDa6uGu7icQwsykjj5RZO3CgRAa3mNaoeEPDLxsteXMkAw66QNkzqu1nGDbVCs1vESoc5RllrbW8UaNEGw3zrkJVLG0QbUfGKuLII2cYNuyETUBvCMUgiswKyjqn2utqcrfcUxtyg5lPviKG2mouV5Ta614CcI06t0VQolGCMLmc5atSUDlUDJH9dquI1bLc5biqkVvE85TvENdHhT0VXlZ4AEVCqjSVeVHwEEx4VTNA5Qbld8+RXhl0K3pJsq1FXswVr1dB9wYVGjPRrFiGFF1z0a0eIhtoNE1TupysfI9BRi1MTFaM6KXGw9T2yuIk8RIUbtUaIWDIlX3JplL4XQN4a1FU23pit2QJQ+Nk5LmOibpyiKSbzawSwNAU7gtwyVNAVI9VBLgFHGXHqTuemV8rNxZaIEBCi7+VzlF6v4KsU3hH4PxjBDALI8qzzWkvEbfk+jQhKqpN7zkMqjRqLG9nWa6rQ4BYil2QlFAuGNNtOXO8wTgY1VWKH0GJfviNKAKp2O+t2lZmX1iUArSuUjRmwcrQtcJeJr+LOXe4vIgTYkAGAcpYOD1eLyDd4voDPimBxrF9Y0zQUdd0pzXfwYdOYw4NOPXsXfwlLUHJENMwj5pUT4g+wxgUOvHooPE1XcUE25PJUdjlVJHJPznlIiAiRWCTDMhUJlIiUTX60TDfHThb42f3kJtxjFEofUphQJWsdm2fHT+bCOaSRMMz9SFsMEdJUx30NzNQ3iQbHHG9xRaQBTCscd0DaluSCfHKIxfk/m6+rjSfDH+VZaRCwVrcNf3KOW30oYFuNiqj1alplMSVXI2sanm2QBdlFPXsM0M/mljkm9cjMmzALtcuyzDtGPHYtylhgH+1CVnwsaTUlhgMtTidQ9ElwJbpWuhTDt61XqT+bPrKmPmNxlWauGAoBeSzmCHpZx1uaHXMyQKduVdyt9bKw9OxZT3WlRW+bsfGNmpapJSA3KdsjLFqtUI/OYPHCS64NpfKeW2R04kGW4v0VajjVNHE5Y23EtqcUJAsKTNRxG8JBt1FPSt9bj7B4wIya25ttdN03GBVONfW5iXVNjNWEVjaPvdUzakQS2NuWDRnBWybb12fTlzcTxWTNNaBA9PKCk+JHNtratwt/2rKG7d1pwtRndaMlaUeejTDtXJfc3dbjVRFqGUwtZxsXae+NGS5M5Cg9uXRlM9q2wUvLbXIOtO3OAUm15W+GUTMhlO1hJKrMstXRb/26aPlaMXF2zKs9FHtru4XVIl1a0IXYNo4hN9L5zR0xyyIuAp/W2zmaz+WpAzdMjnOVS5bIDd9IucCYg9vjp0ss43u88Egls1NAleK0nFayqzN/1EXN3TxtF22MA9zEXcwNBCkOiWQw8iZOrhmKkOlSSkyfSzWUEUrMoO0tNDYS8y1aAlQ72546bd1qW817MMw3EVWqROV8/eDqP1bhgeq0Mtx7AJVjb7da9wNsic3Nqol3055oPtYNVB2/dcM4p301tNWszl1RSnqEWTEWz5qNV8XD3L9UlzAdSc7zIld3/cPpG9odKQumdzDza266F3McBNK2tavNT3UMsCdT2uGAJZeSz3M/pVlu+Dqcjc1SUtW5GQZyNzZYK1btNCDL3MDdFVvnyvOnATujquk6Vq64wdXWq65Hb9yR0sW2jw9z+zYhwJb2TX907NjjLFt7V7pVzrAMi2g2QrcV9F2v5b46Jm3zMNFJoFm79dG1yW9T2vrt0bVu0s24rt9E8Vq6CY4ln5b5g5iwCFjvEVv946fP3llkI2y1XPEpLB2SxaYTZxIusgYpMvDYYgzX0NgMDVlo34kpdF09S/m46Hn9FTBSOJSkzB/IF10XA6US7lFPDOlMXWIs1RbMJYK2q0rnSIkIzVjM4wkcfW0/iNMUev8r+aj0o/nitjRJjq05nslLqA8/m2W1qMlzTjyLaaewN21tiSyTvJ7lgkdosUDG8HpZ7RnZupVblOZlIhN2dYGqTMs5Q9SF7uValsgVYzIXrnEVWsqTQKgTDRQYbw2aKVvSgpG+ShKkzGd26jo5XSUS6K1evWjlMNLlu1D1PDXqo8De4u2AyLezWX5b7vHvyCk1g1nuvr5soEz24ArRduvr6NCEwFSXehZUg6SnOJQN7MNDpR4rajLlorVX7HEy57t9RqTDtrbIsq96hVGVtYk7o2bqqwE+j7zXa4+7KL+t2LF3vfEOHCjOjCYO/wOL6R+TSRFbXnWpyPSg27XoUame2Ry89yOjqwf8JJG2Ro7k+pUvttZ1DoVm6CNcp1nzhupGWadvs/3n5bXJTNux9bOjbtJtE7VSXCbtes/wCCvWxyTL7TXeuyfbhumVUo65EsaRVayhHi1bte5Llo0FPu4riXj+Wgu1vtjaXcuDbXQzbmZM1gpPof6RC83rHtZZMlrsrF7KqzJabPNH27taPYFvDYeLCDJ3skDQHvo1bnTPNMaCWvwWNUL7OVRVaierDoTlb2wnop6helnup6SVJvsEMJFXAb0SHmvVwObTgI5pObcxF4sEcjMwgwYCaDZCGO1D7JZQaFq4ljgmTgSmNhcLUiytDuaLU/ozuqBYorSeUDrdxAFid3auLyi/RQZrYkRB4CRStMYo+ALCdChC0qbN9TgrKk3qupuWkJEtgNzzAVCizULXvWEp80OvBcM31LA8vPbiN+KeT+j4gihIwMgQy+CqNAzKjggUJKxyV0tZC4HUPDuxB9IuUvxQyuukqjUONd8qy9/UazmMh5TpD/dL+rky6uShtiGF2klMsK8qtQDLD24t6MAHpZDJ0DSxU5dy/NpZZnVxz8hj/Akq76KVNKHqOGoKrt2E0ocVzXAohTjChlC8yAblvAnzkyCM4xpTUDG5ow2bXAtOR+TSEmxvS1JBjfy/LCwKCWUSVFDFwCjqJSQfLRScxOscMRB21WRj8fLItKKQSwAZijltKwpc95mxox4sXC2dt2jV3eZWUTRNRguMCsYlwuHoEZGKMjofkj32yNW6iRMBcdZXKPo1w0qnO8a0rXMqaia8DKLqGvAX0RqF5ou8QQMIZY3jCi+a6CVEsx5D6Np03I5CyDykRshqwkrukP3RGUJKAxO4/OuYeDMEDB+Q6tXA+6WczdfKtjDLPzPEZAUz2VwPjl1cngK6cw6/HXv6eApQefrlFAazGKXWbcMrUurMYpi0wy1006bD9WWU9VEGot128xigpBUbrhDZzGK95RBqTtgavksXMUYXSXhHkzO6ILKcJNtz5KDwqRqKdPe0EYaQTpGoKPLFYkA2TNoFdCuKlblYka5VL6+Bw6HxR1cS8rWJKrSdHepE6vQEKRsSNMUmgmdwNHH4owIKhUXIBSVG0dQYK4Tdgs0b5VhfddOD0bRv4I6U5g41US8hRxwpRgbvd5tTHmJBWvfqDGsYqhiSa29uJ1Uxha1IqjlNZqrHlg92sFztRlEMnlbwj4Jf0uJIORuCvlCkf10bPC2rgkoR0FmErb3BuShGJFCSM3MnQm0aoVt5C2sjjD9di2hrJIrgShHdR8WvDDBU+bQkjNZA8PZTkkv8O1r3hlzxLDehNyruHQ1d4PM72455LdLehDXBvHZ24CNBZ9hywpqDsRhUpJSWvBeOZrxnOTIHTTxzcxlzVh723hD3tFyzkzeMTNVWCt44GoZNhFHEKIV8tEQd7N7y/5SEsRBiBUKHJjMKQkTaLbIY3M6DOQcmdDg0/Rzasg6ocGClvJmKyDxAn6r3Us0o7U7bcx7sTbcsgu6LpChDTTzkH3hHEIP88JhIc4nJtS8PuUDsp6oM8/lQJTAlBgo9PGaxUvELSGe7EoYfjGOhGo4EFG6wYO0mas8Z1qVJ95SdrbRixVDjjOd8fXlhE57Ikr7rSAeziLTTMOrCjbTVMCGz/NENT4RB6BSzKolccM1T4jLPUFCDpSQdljbamjhJaRBv1Xsr4dXoaM8hpQUJZqXCxu0yqYhM0pOH5EkKq4E9AooZs9Jw8yrjdkIHcVSn8WsVN3Fdw5SuUHLuY7XQqgXYTqSiaog0PeU/9TUs8VlKuAcXHT0nSsWNMRjCrWCtQ+ZQ6m13LgTDCFFYkbMlDjbkLyGzRuxVWNZeUoLQMgXJ6PeEB1NAwlVZy0hV0m4WLlRCqlSsQ0+aEBIkPV16ptYO6iNDcsJtG+ncSOBD4bDqailMnIWvrEwC0dlOGeI10MgTR2B1TGq/i0Maal3rGCcw7VFF6ZelEJtYI+miWuyJWNLpjAy7sd7ebwQMMgwW1zHfcgLNHYLjFcLmCa1ZSdHYUJH8alUb3eqfEC6udoOvUcZ3cNfK4gVTuhmJLQiOQ5Ah4WXRmuc1sq4ivLdGfcHWy/8zVHyeop0nCoJsdpOmttU8dJTtRo9PpHNRhOTjD0ZlmrQaELamfDtQWFRsCAmYxGdaNGBwXKjHw7QjxcjYJ6GYWsNeOPikjLpiw1S0Yo1O2VmNrL8255eAvEcnl8tSwIjs3R0EdOHkTF4BrCcZnK29DRLX6zQMZTHYesM4Gm0bWD+1LJqd80DYH1hKhg/x2ebJZQFXb1L4pZRiDaSkBQ7G2pYGwZig1Xqap90SzjubHjdcQbQ5iRm/kSyefI1SHG1gpEsyQbZ9PlWdwVO6PqmsNMIXBUf5Y1P9kkS7iOU0yBiwAoGzY05uoHLYpSCQ9jMlDxoMv8HtU9HzHXuVtzjeAyeHmDGiSDHn7K7ZSgCk6sWx+V3lQvLcsxbJZSHtU8wecqaIVecRbm+QNueeKLYhD27nrYjFS+LkhRLQd9fc+717FyfO8v6lfc7zRvn1QtqSYcH5kEbmBjfWMPvmdPOeQlAHZJAIwqekXsR88dxNjRYVoFYBaplAhsBbsV6+u/zvphNGeIYaEAl6Sv9DFa+fEkEA2uXb6eoMd0/G5gBAISDZSiaURDy0SBdMs+PEha0E9K+1inFOpe+ZlMSS1T1i8wFleWrsaxeT3MaGFrpyjkJPZ1mQMSWh2UgXe5fsbJyn0fBY6J2lKeP9Mz2Xhexa/Be+eJkbZghYU5XQgRfiBEvFRYRj8pfqRVltNSBaICECy4uApyG2IAlkMnXRZWViglRe1DzCiaRMCBLTBcXEQfVlRSM55WIBh0qrfqS0KrnDxdJN301lSwFgW2IAJicTfqUYlLCzyRCXMfCPytl0DGtpCWH3LjO+yz8pxe5VF5cJf3NKbEJe5VE9MlWmUAMjhcPdKFs1THdCZKOBGd1MwNRtynFmxQ1GCPQtXM0Kl0pyYc4LLnUgWlgDupo9cOcpcPd3IMPsD0MvU4yjhl0On29T8TJzRGWWtC3TuiteqZaOVENLlRF6Rl0ZPb9sRjpf08FNPJGSSNloqHm6ANdyH1aRl5uLFVdwz2uOWLzIb1MVhl/0w19qdK+TKqRlwbMNUkbXxf9N8uWHTjneljQRQCeJQQO7MRl0Ow/lcSjZcuUYpEuy2bcpQFZBSfNO3tqXrobOXGMTWopbC1G1S8QeAkykZbRF3Mhq0EUsV3dMmUZuZRaxX5AuHWQn4V/qIhj+udXQ2WKzCGKBE0/eFbnFxgzjwrTcpTzkx87x1ldFSaxDleScPXT+zFGaxc+fEz2i0Cze9d502KgdKAjucPnaAy5t7n6Bm5p6gfbAO0YMDpeqftSwpNRzdcEDWkz6kdXJtU1W5xBv2CMdpbUafQsldxy4SEDApDujHHPIttXZJ0xym0uS0EdLk9+mSKu4EDebWKmfDCPU/Ht9I9KsMSjXtR9W8jW+1wQbVm0cfFiLI+1va8RuwOvEF+iNQQMypElsTtlbSWf31f8xOyCTtRjror6QzTHTTWkZBeIkkInVmcCH6so43rVQrcNnt0qMijKPLlZuHTDcG2zYNLW2CryV0CCwhtbRyJjMwy9MY1/GTicfTKOcadx7QdZGUR/BtdQSuTCxVbWoJ/a0yQtpxp03MvnY1WSH+1q1elMBlLvtBG4dZSL1MNQqtc2nCbCNS/6R1y6SsNAXVrVLW5LPU0ddS1xkw9cmJI8tLW7FA9wHV6pzQbi6F5EFzTWCZYrv1tW8mNYDIpCh2ZYVE14iTy7EQhvPA2xpQ1yL1e7bfRkNDXB+V+mrxIiHXMb3DHx9XmJJ1yWUOhSWfzUe/Z5vErbV/QsNdGdR5RtGdCG907MnFCkbhhYoZswS7bVsf1W7obW80P1UjSULnNI9G0cMCNrP1zblKVHVQrzwLBGJzUWayhb3MWMylXusdW813Nkc1DTTzNrzXjtcXMwmjYuH6VHSWs74u4zsvUSZOaNU32FRdRZ0hVScy0Ey9bpoPdb2WSTL0NfJs0+blbMvXXiQu5uJtnq5bKNW7PgsvSkjtXfM2ODF1Q3xIzzXSqyhLNHXJdrMNNXzYU5LCg9zpjJVCuUzlozBbUXVlFERruslNXb3Qkt7FuL95gJHJsK23LD12Odvhy9W81jgqiwHzZddZXcswzCaydUf7ZDc1M6NrLSo92al7vPF1c9CW0NjbD0zJgq1C20y6aQuFay1sVSkL4tNJZvyxVVJT1peAytIVatk0dYrY5DZF+lV/ziFhEcMD6VFKbfWPnEBtRVUCmjj4s95SVRG4cxhSwl05Js7dXVIN6QxytU9eQZIsbPJTZ0Iw+1EcO0t49krusPcjcuxzjg3Dfx8Yt8zPLXkLL9U81jnAniosCey9RNL08+i30WkdvwW07D3HNp6hlvZDfCUq1YsKNNLtkJSw3opSFLu27A7UZGUupl7r3k0ZlHn/MV3DzXxM9V1O1vT1O5SNZ3Riw9w969Vrew4dRLIOVtXHDODehsNyqzM1rkNs7SqnstQvR0tU1C1ZSmOLMtoR0Jd4mr4sifIVbV2KzPUz2s7giXcC6n14WttX3xOn29YRnDqfM8IrXKeGMX9FsS+c2pINqk6a5CYyx0U8+jZmH7bMeQp0PdmnX2Lpldhak6kdEdr9yWNsYMHXjVVXfNN6pWm0WNJZrFCR1W2xpZN2jTcm1dMeV53bxmjjMXbxGrkBAojHZ1eqaqws99SUrmLV/NQrs603hRN2XrKw1DUppTjernE7fuzoLD9EoSE1M1ljdxsvbPDeVnAZIuLWMnFQMzNaGhZ/o+cr7dLplUt+60tJ20ZQmx5NEO31tDs0jY0UR2stdlSDGgBvSNk2L8ou01zrdfvk3biubOcvV25M5XjWCsy4sEN7bF1UE0lNot23scBYznpUcrClp3sdCTzSIUJk+YzTk9A1lSml821NQkt6VAjXz3iuCVUO1b2UaUHslBw7f1tn+9xE99WVCXU/aFjTPTL0bHdU0c1jK2vQxdP2yeTYD7Nq3SZdVoMPKtkWU5Dfm3DtcbcMsr9Kbdl1xA7oqU774wbaK1kNkP17tBtqrGxtWtVdRDVCzJ9dLNfVBSQ/7ytZdCjV3hMOyolDumrcN9rd1VvcQxtxovw9syiFokPH7Zo13TrdZaSgmITYvfUPmnI03dVZDiGUHX0DBbb8l++Kw2uEOckw5WUNbBbVT1lpKwwAObTSw8OcBpOlYkO4pWp1U77XIHtzlE7aKQPNBtlrsTte1ag7P9e+7KQK342LQV77eUuN1YP1eggUMVIj8mczWA9kNW8107CJRDUcZXvu6UD1wbeqlCjuCU81NJY0UTsEggbZqgCyRqe7sQubLYeAtcrGokd3dOxRwKngp03VVR2yRzrsOvWLf4y9DZ2TlcQ9FpOscFtVvdRVltW5xAVzxMvQDJmTLe2mPeVASuKNL9ezYv613QY8oJSfXFtyXF1f91A8hW3CTe3ks4JyKqq1HaX941HRLSU3Z8w+xMMEY1PXEjAjnVw6KcDaFWlXdM82P0zzmoR0VXrm+oGrF1+ZRQqM4DXrvqBIBbTRJjIT0cJhP/AkgIIDoTvrmUik4gpU0zvjppRlWqBuVbeLj5j4tPmbmiLJCNA6zlbiy3hNBKHRhjcrOTNPrRBuwiy5ILJUlMgtQCErKTqnI8mPWfTUpOt48Ic6OLOoLJgVE9eCais4sjzXNGpGqP0TkvodMavES/Ok5NLK0LIM3NVFOU6W8CG1JR5WvoW3VLL+o4Mpczl5PRoHFh9kJIrlwVdedsyuw6cMtPgVa0+htBJS075qLiyKUv1a5j31dOp5JNRYHYcyGBhjLlAWNx1qZ/hWM1YSthG3XQziNQFisdeEf4VqFPbJlV91V074liZAWJZ0/9aeNeXaS9/q9Ok/eQKnWcaszKUtpWiOdWhMRwPRCsDB7BWczaHUg8BVI5QpeLOhc4GN1l744s82TO6zUyb1iz5P14Hg+UcS31MA8v1hH86607LLnIodC3qoxy6hndDw35VdPN9Nqs1H9zM09s4WUxBsWSc2szJXl0tKRu/FeOlzKolL69RyW7rTgKQfktQhc6yz85iFqvOl5m8+nc7z7htKc43CLNmM6ZuSzizLlFNpRgU1XdO/PPve0eHpmTlRK6r4QnyeDKkwFI0EMpGzKNlPw7RvRgbQZZIegv3xeU8mRUfOLL3VN93KYrMELykI3lXAjSQ2d7SbBQPrcdY6fqB7Sf7kliYhMSJSy4gGiNCbI5uLOUUi1VJq3CgFbLKJ8Vgq7sn82L2dr1iTuEF3+lss/Ln6yBAOzVAugemxQMGqc6CWyztNBQZ1GF5Ni5dk85naTGObzows0UGYtTkUvWJQ3xjO+i6i9qCXXIM45M2LhSQeHehTpfVO6j8rS3nlPbC++DYS8IsMvzBBDXxjt5DcvtING9Eu3m4soJxss154FUlXjmx4siuD5/45oGFVugeBPqxYNs6sygtvXqtWe+HX5CHNRHoIFm4t2L5Vu60djejb0lnxL9Ce1IxW8BpZlNZaLDItxJ8sLglpUtmfVVu4jWe5dFq9DVRouE6DWiC3JTmu6rpNTTEjyPk75TFiRSE6IjjulUH/ZsRFNEujmUrQgtcSBV6zA+IH3lyjfBeGAQSjvIzTlg9NqYkBlhnZDjHWrDUwyVrsqs2vDFFdOJYL3C6/oWBtb2zJ6rOsC0xAcTGDqMMIvRaTuNPqza5MCOPXHW6vNryZo48jC6Y9raB1E/1Xycr/cq4zblTCOOvrZSXzLChDd1v+L0W5SXJaUbzd2ROkynqEovw4zE7s68brNXdTa2+IAhOc5WWwPahUwAP88WknduqlwDIiGUna2h+r7UCJN67ilgbauT6xNOtHWX9q5FNXk6yynB01UYO5dAjqt5Ci3k6abOOQgVWWrRDpl1U5RWq6kZNq0VVpleW6XFybgBWZurM5JLf0TxONS1bODU+VG3MJLVtR80UzCUj7yjBqTYlD+ycUONaHbEP5aVubOXx0iFMlqvk39ZnUWSyW9sxDTbswDutqz/VWRHFjJP5osVQwoAL2LI7sl1lUUlZIaTMLDQtNcxIJHleTvojVLWbE41ItrCEyHexND8CWsIVnzrtXPJg6+ax8ENV04nJ3haPJMnW7E0e0/jiMuZPwzNti76rSpj0JFeT07T+GnsZTF23PLl9R5eAwJah7xbTc1V1LE7wMfjp4r0z8xAE9oGpVxK+rFK2fdQ1Kv3KEruATHKT31iJwJQIHOdJIM7dW7gBw0TmAKiBTiyrVBeKli8kK+9rkUmtmPXcbzkF3c0BYp5zpP2c9ptzlasloXz9mS6NbMuvPSFNYD6nYWSTAdCM7QjnaTQy5FMgXCOYHkxLrrSjWIS+bwPWIH/J0wMruwCUMuXd1Jvtq4s6+pVkrZ4CjuCKsnYymaMokqTMv6q7cLvECwirKf6PJsAyEWbzgZRJjny7qHjGKsuzWXGkh0C9mkMlzUdcUBHoNQRlbjFzyQfrXMV1uNopbi4gag/TUaxtEvBKBlVxH7LXWqX7t4RiHiWG0wSh6DO8ZxMsbK+93S+KuMeBr9H3tWIu8Oq+5dZiZqSO7ir7l+U9GlB3gpfueYcfy8jsDdx8HqGR8KyvuJLCYbdd8Nl+/mVCSvsG9t5Hinw15zoM9ike0SkrI9ymJJrNhbcozSpGD8nK+QbqQpjJ7Tjc6qcacD9BGBMvhLCg+4yqxXR0ycVCnu+K7sLSkIZGDo9HNItL/i/gMBEom4qN28ggJ/pl7jArgZGDYJFZtXc+sIbMjkKLMKP/d2svY+qiAoyXUmfHNF2aXrk3EYN6KmbdMmil+A41Ukah0AdPYWggNNrDqhpT8b2ex2b0odc7XDZ+04ryh1wlqNnlB4sabzA+6P5dDodAyc7GvZ9Gq2hhM9ueyY7wMglCn2WK1nrpJtTmeyxmIelUEdPZ6Nt0KuUeE7IXpOxUacLDcsheHZScIjkNrDZ8GkzXEa2j1TAkpMxnmdZFcheqre0ecsurIl/BNuGpQbuCiX6F24bojDZyJe4evjlQkQXxLRqDyhDRYxflDScLP8C7DF6akfqwNVHDIX80deVqtWC1ue1i88P2Uhsq4r4qE5NDVueUjc8JfnEg1I9yzVgjx7PPcgi/JrH2tx58orzwn+Ryaun9nItqDxIBS6ee5f8qEth03rJkSVI3Vy62oggpcfungtd0teOBLZ3nGnnXrI9eNxhCoaeI5Sqsi0Jc3IMaehIpAwZfdfMFcgjoKjJ4ic4IyA2deG2fLSTfM5UwPBbc4oWqUHgyu4FqNWY9iIPimsk6UdL7x/+Iyf+ltSZD8PNK+5MdJx7YfAfLuaSdWCOnRi8hkJHc1/aUr7rQQtr4Fe+4GLVgxQJyaEoIXNRqPNJt8PkJVQ8uqiTH9vUODlwqR8eaSa4iT0D9Hp00GC0OMAv0eMFPicUDL41R+juUZ8vSke0NBWfJ61tK+4ssfq6q6veN+VauOdDL+G3zcmghOQMbVHpa9ury9Lqw/fdJdoKqNP729yCGOgwyJfuopKitU5zBJx88H2g997Oe/y2D7d0Unyf3aDkoprL6cJh6XcKeGxyCodtzR1p8FVba6XcKXK2Qj/hD3lAG0Ie7NBstCXGLt6J2l2ggdKbfVrTGY6jPfRh5Z0eXv2IcufJ00LmCt4pR0Yf29bcp+4kHjvWRni+ExTpOiIIeXODJdQh/h10KvyKiyFP3Szsiok6T+XkrnoeLENyH51mAih5UC8ak2T+2QwNCHo1UW0Zkw28IeHS94IHl7+iB+ACJPxEL9PCsnuRp3Sw/I1gfblCSsbtvbWrJbWiQqGMvCIHhRuWnDBxi9Flo6xRwYeVr+U9R9C1K94/xOKstqhLLH6Ce5Df3Jx6ufXTIBZfuW1kKsc14nm2rDD1ZDJ8c0DJ+mfY6ogpmRIlrQ9L1afn8medQk1XgnlDVrQ7sVaeI6tk4HVAzLp7Q4Ep3r90munsdhkf+KiOt6zXJIKfXlCXvY+U4spn+xeCa4nbTdD+Vz14vMCSmKfH4Lnu1hS+4lNV5DN9Q2XghepVIQzzC6DSZ9SKj78ULl1EOoIBMXNIjkIk1LvqLMxnkq2F4U5qtVWuWC3ne78Eytah5QPuoYgfd7D8pT16JbTn/7eKCggC2xM+WhPN+Q5GPG4PH4gfv7yU+wpa9qiCMDQt43N273IN7l5i1YKqxeNrH4h6xXhw06fag6+umrhFaCRh/6ZSKpzlQjWbKusH3ha3B/NPIj+7LJn5iRUVyghyoMb6fqCfQqMDSLRZ+7TScL4kCp0n+xNyP0HfF/7R5lOpe+uC2QgvPFT33p+Y2Usp20bZzX/ZVsGsSxZ/svYR9/yWfoERqHELHn4fzsU58rO0hs0X5wiFPYGph+oJdLIuiSoUwLVMqFMkZMDCnkSXmVYR+I1mzUXOFNNmMF/H7+l2nwNTjcYfuKR9Ot2RA/4CJfAMk4ujnkTXgKsmzCQPuJWouqH06bibN4kFn4LOUn7v3TuBjYvRL3u/sguGLytCntCP0+6mgjLmeddNQaVUNnuNRXDMY+OQO+oYtObbTZX9A3/uefC4zVfu47y4ZiI5On8mNtqtOYEVCnjv3JK/ipb63jJ3Hy49zCJCK/3n57mfTivCTq5uJOQT8ArdEB0vAIiUD0vLgSAW4ln3c1dlIYLal0fLDRqk8ueYMz89HeVMoKXBvf0U1lOXZQTkBg6HzVMxBUk+5IWh88yiAUZIGqGJmiNMG5Qq4D7iTiNLBtMGIk46I8T6wm4l2UsUViWFyiGS6APh8Dvj9UiXxOUpb1f+G/ElCuyk6W3Knw0NQgW28YCgmGcUMEgOUwKW7H101viDsPtjIBwrmAyHeFIeZAJi0FdheujHh4Br/j2k+6UYBlyhjmA2hEBv/yE0bpkxAB8WE6ZIGoUdugkco4QUBE40Q0KFif+hE26KoOkByicjJAISguygMQ6Cv/1Usa8VuUmPzgK3iSYcOCgtSeXE/k1vixsSEhOUSdik2tDm4ioylP4gmTXiVRlNGZYBfG1gO2SegICG9ujYyqBV2UZYQ581ag1U4QOJYMgMikjUiABMWgpabOlSi+BQQsB1048qknwKGLmSBhghjk+BUlkwvhAy1UkSBy0kwB+OjVs+BRUAOFiPiHvyqBIUmfSHrACypxWdK1gNpy4AOtqcVXPimpnwKUbWk8cUnviLQOOMdum1eR/xhMAikQ0H1VWU1tRdkH8Q6sxQRaBjd2EBECmmBpYAjsU6Q5eCwOtq2oj2kyOnYWLQJ5km6XfEQqwOBHVwG0mqkrGlBWl6HamSUG8nCaNxW/8J+hvc6uVOKCFjG0U3nwKphkISy2ib0pxUKsXaX9s1AJxsnGTukCMUgScIjuBoIP9sQAOYkNpRP0ulkvC8MFTUWuWWADkkviZYG2qRQNRBIil2UulnsO8IMBcmgJMWWOlBBBtg6BHilEKXYi4kQQOHkFAJP0XOl46dgKmsAqlQmJgIHs9ILyiQALbSyoxP0E4Q8B3iSrY6CQfyyBQ24XTmrSYWiCBWeh96J+h08YBQxEUr2QMLXjC06AKFUOBQzSpanQB/SmcUhYBL8IoK3OXdyXYHJmmBv+ljYad2d0HgLSOKwXOkohh4BJiwPU1EiABfGmScKqi6qOTXjALMz20i3yCBLmmmusgFq8coJpCOY1kBgMmgk7oI5cjsgOKObTDBeagfEbrgGsYYI6Cn4jsM7AO7iR4moU/SnYB54kB0pZjEM9AhJkLEgWi9wI5Cv0m0ks0m9BXUkBM6EkUCLwMPcVM3DUL0k0BZx21kG/maBp3R7UhXjfs6AOK0CDkVUsthFBT/T5+xcgjUbbggBBSnDkmkmmBG+lLM4chJ+ZIFE06WTjks4hpBLgmGSRAW50zgPgqkaTnKQ0WcBgElOSTP0DeH/0tKjN21EuIOomjNx/sRIL/qfajZUHQMlk93mc8I8xOUD7n10znhBGfgOJKNKU9UuIL8KBanYeoYNpgZWj/BO3g6BXxik8IXjMM4QLMkOLm5u3knCB/SkrBTPzQinwP/OTci6spxVxmtnjlUHgP9kFi2LkbuxFBmGghC+EKNsiQKMUvoI6KSjjH4fwXBWhgXBBtxCKcC11kc1KV2UdpmTW/8iZkIoOMkzoP/kVRgPWjHFgk2cgO00x2I44uWGS1YzuCxHGWkCiTqOxtGmBkoQJW9klEMAEIbk9MiKkNYV2UlqzlkONmysQQPcQc6krOyTk0hPSFZi3qQEuJyl+sPT1K0gRjdWxHDJ4XMjGkV60oK/unFyhqgvMn42I47CmxSvTlcmJynxMv6RXUECz8hyihySDEO2GrEIiWXdkxA2oWq+pxQbk1OlvYbkTihugRDSVbCBBy2X3BIHihmJynE4SNgfEVyHQhqXD24rd2e48gKKhYoW9SxMgAhR7Ti89VmyhVwLjUp0mni/EO2Bc0k4UbEkYBqJi0KDUmqEiQI0UK4VokimxyhFwWEkkBmqh+bn0UykkYU+BXGM3oWUkWehhBF0hBSO7hEhRnCRsWCjN0COiwKp+gDUN5ge28MGHSgBl/cukwxBxHSMk/slxBhdilMfkk1quIJqajshWhsUN2SpuRSknVlv+k4hputQUDMeXAWM+vnRuLqlv+xzhsstEhv6v/xGU2kIycZ+hMBskgehOEi2B5/Cm0dtzUiJymACZ+nahmWUoKPMkFa/CnPaUgMj2HUhlMHQKOUVklpkh4l/+m4gXizHkcWmMNK8vmVoc/UXJhl9ggkz30ZhD+SUUhan5B+EhghjTjhgmgLmkFl0RkiEjsaEANXO1dx28fMK5hYd2SSk4IiUc0I/4f5UlBwrn50gCiJhtyhF0mplQ05MMcMUugYASNikBQ+k9BLnknBu4UW0+QGa6gwLPKQpRcUIfmNh55VMSwEiJhp6TGuQuT5hkdC3BoCjwKKMKu4BoJ7kh4KP+ES0Y2UEGDMPKzsBtbiDhESgAhH3mlBK4kA2u4MwUqsn3uwOlv+dOz20RqgPMZYCKc7sI/yRII6s/N1GC26ROUfvhSsT+hh04QKSkTtwiGdXkLhK8y8UukjKhq4mxUVyzrs2QIiWMUncQOEMCUIKXb2kkOtqtOSG8ZVxyh/ukkM50iz01UKvkMtzMCTmU0By5kG8rmGfkbzjH4QckphVMlpMHgKyWoijPUPgNYhTbllUGLmdenkLik3CRzWjAIDIF6VzS6IU0BXUgjkLIJ1MmkKUsa9jPUAyhUhroVX6FGhwsJ8Kt0r/3ry9WmI4Y0huBmIB08cbl/hOVkl83JlCsxHAWUuQLsCHXikhHvhd0MJhPhFhgrclZwDBRJgAWYHXRBtxC4S0izKBSUNuIxmhC2hW3eEHQOFumSh6QBWTihL2QTcuZRaBBJTwCkCn8cGEMRCKAPbKhcLAk+NwjkQQNCM9mjSug0h/B0ClP+BGg3+WmSg8UV0oG1SliuXc02APcwSuB/ySucwE84Jy0NcohnqK4kl1ObkgusKiKTuupyQMt6wh6gijlOAoQBcP3AMR/pi+U6phCkmkl7Ecp3jak3mPKaiP9MBuiJc83mi6NiPzaQlRyaiwH9MzukJsjJkhWNYg1OW2ghMLSVHCXiOB0axQ+sv1k8kcp3A+6bhrkpxhiRF7Xl49e2sR7y2bibxn3M5mhiRecjeMnMlSRE1jN2fXGe4WSJe2GClyRqmQcRAiKbWRSNisqSKDynTn1U7Cy8RnEnneINleeJSL8iLnTaRhdijkEWSLcf1kkKakmguzujVWfXC4eqSMPEw+TaRdBhKRpD29kQtmT0qSOT0GkgGc+rWyymfQRsGBnfmSYDWBK9iTcRyQcR44ThBPa2W8JSNiGTfWqBnsNykO7xYUSbhqEvYlPu/UTeMKAUEUlbHUUnqzaW1i0rY/3HcsXZSTspxkURcwgGRwii+OM9xxOvx1lWkiKPm0iJPm1Bhua73V5clgWdakqnNGPEMqewNQLEwZhVOLJmtGh+nTWfFWGUTu0ac8P3KC0Q3v23flJRB2XJRPEKIiullbWKRnfGAShLGbpwmGurgfO02ycyBEzZRFqStknKIhKQVxjWmCmYGUynCuIiONiYiPbmeJyhR8qz3+QJzkR1Ym7uU0kSeyKJNcSUlGiKqMvUYBkE095wtSySg/0OqPxcxP2bc6KOWcT5jcaMQn74YTgIk5qKBUbzkVRCAjtOkKjFRDxVnu0V23+YDmhR+gFhR0DkP+7QmZ2tcw9C2+TUA74kCugbUPy6Wg5mDwgPS6/CUWdITyi2RkPyh6jG+R5WryQaKo8Ahz/Oxxhl06/C+UCtVXawnTrAmqhssXZX/MqigP4ijnKChbTLRqnC+kOISmkDrVRO83mgOPQR1McbjrAIMTpCfNUiCdYFQcD729kiciiECnlWqPFi8sg6JG0w6Kb0Y6InREryDROMkw0TQRMUBWSiEgQGxR6FkS8y6MmQk5QAGj+TC4WcFWqtMIHRYXB9cTQU7Ws6K88f8nuUfkTLky6OZ0+1XhkXVhvR1Ejpm+TmrR1qNw+GPiLuqJ2sSEH2dkthy/RrMgmGFsjJhZ6MbU8jVakCJydkWeziCqqXPymF00ac9Swky6I8eYdToWnvmXRdKLJGxKXQx4MQCiwlkPRkyPSyYVzec+PCFUW8ytOqJzQ08ZTeUFqWG4vUhy+s80PyBZmlUV5yFUjGJEOM82Es9DmL4NFS1CQxUYxn5lSmNbnPyDhj4+MQivcsGOXMqU2ga4aJ4yk4X9sT/XDR1QkxMFGSyUh6JjYZ8Mk4EmnDRASn2qhdjGmkAmS25HxIkNphhOHQRZWC1knRcAiE0wF2Kk7+VE0j7h0KIm0PytHit00p1i0QaMQY7Cn3OV+kQx+2W66nSgaCNUjSEgoM6USBlAiegDSEoahiG1MhBGaQgckBZXCUvmPa8wlQNkGAw8xb7DjRzFSAUaQhEKHMyZyO6LYkzEikausMKWaQnKkOIX+imPzc4xMRZWBFSCxagHGM5QS4xIUjHc5QQUk4TWqxEsxPRENgKxDvTrRLOkgS1WNEMYr3mU0aLUAKAQWqKIUvi1WKjWSn1As0EhmxS3mAiGSWcxatiYavHiFWi2Lde1GMdBQPXCG3KN2x3tgLOILmnu5AVdR4iIRU0qIJOMKKJOcKMP+13iPUFUhYGWhUW8YPxxKAFjHyyVmjCosXnK3Plte4Zz78MvmMk+TTQ07qT14QyQhKsVlNGMfAy8kOM6Wa+TXcHnmFKTiix8TeWF8OnQrUYfic+DZ1SUOvjnEYKjlK8FWd8Axj8MqTXIRAfkyundVRMukwlARahxc6fC+kufnreYUQ0iufhWqPvyb0XMGScgdTYkkCS5gX7gGG00Qt8DwHKkLkRQkY+QeAoMlcCLsjdWg5GOM3gRGUMeUv+uHzlUEekC8FdWheGiys8SBkPsGUx92bnikkaEybU1QnVx2JhUaj2Oi8vB0s+cAjiqlXlIc+g06Ux3hBGHiCgmlowwMvdhdxIP1zUIi1NxQ4TpeuOiL8rWl/kJ6M1kzXnGUW6JfCpuKgeuYwaC/Xikk80hRmZ+kDx9qSue2Lh5WHiFUs+kVjR6uMhkKkUCGwnSLghFWLINsmFxG6UQmh0Kx8QQQNWz4Q3ka+QLs1UgtqG5S5grMjAmqDjrxooUZR3SgD80el8ydCVTs3eMFyqtXD23eL2s7wSVKcYT/mbWV+Cq9gs6EoAs+WtVp0TMT144imXGc4hOcYvhT0aITiUZchm8qShS+i2T+x0CjmmBnnYWKfCc+MYQGxa+VqMGajDCQ8kW8C6QW+BgPe8zALdCfjjXyqdn+KWoW4073n904DWfkyyhIcvAX5UBoQsMa+Ub0Sgy1CCkgF8cQC5RkzUDMxUEnkfFQ3SiXmKgMS1fxqbAt8zcR5qBoQwMWPg/RF6M+iZNhIcKEk3MylWcK3PgtMK2XFCES3CaiPC20+tSMs1ZmIJMuSCG/xV/0i+TzUj33eELQkXyuOKym+EgLCq9ANsnFWHo1X1xA28mjqXEix0JDmugvFhumbdhkJHUWtxRalD0MhIZB5eNw4Y+WteElSWm0x3Pmv6LAm1wmde5837UKkSgmvdhFWlalIm2VjUJtqnJ+GoO58qqghmBAjJWahJxQdaWUhMhOXSnaKQcXhIHkwY3amfhIBqbgw18WhJIJLKxBKhS2SEJBNbKfkXq00RIwUAjSuGa+W+2j33t0RbiCJFMwr2FqQSJZhhVG3bT8JVRilGl4XPm9qRxCV3CoUbhK9x2EOhxCh18mq4VXiahJ+iLkUOWO+NVak6UPCDOgMaOgjW024S6J0BIMJEHw8k9BmIJcEkZ+gzjdWiPHoMVGNxxbkUR4GgjGqWei/i3Pm8kd9VvcDOhIccuiGCHNVMMmxNuyCU1DeXllQJGq15q3RMpmmHVoiNOIuU3jkZRf2UAJhgRt+uER/u3Pn5MzrRlqYG1G8YQmYuREXMBgBMiJyEXoO13kYcPETP0p22u8tklVqF0kmJNcRqEkJIGqi3jmEIbzuBzvn/cEmnnG/wT+xrGiU+SCjaJc0hqm3Rzvxf2P8kDBPe0dmz+xqXzAmO0iXxG3AfqlkVBif2KEsaEwmJ0fnict7kOCGBlnxrJIXmS7BKgKJIS2p9W5qi3hG4573n8URI4EhnzJGSeMZ8uHFGiV+jDyKfAWs5JWY2ORMmMVWk7q2Vhxq+3hc080TrGG3inMfwyLc7+NLMQI2Ki0BLSyfF2LqDqne8GPllKFURv+3Pmtkh4lqi/jm1wJRlOkdpM982Qgl8tUQb2LxP3KqdREUbRMDUjdlbqxhOQ4SMj+GRtxWJENjYMSURp0mxLYkCz2LCCQE2JOJnRxq7iNszvhtJMTz7AxLCzJ6BjDqu4jmJbp36mXkVQkY+UGJfRMCU0BJSEpDxci1ZLUJapjDqEeibxqrQKkIwzUJqwkLJEvxkJU0nCeBdkFujhPLhA0QJKFhIaxqoSRRsEUUJy5gGi7Mwt8j4Axi9ITVUjhLiURdVMM1HEXyMiET0yFizy3PjcqEEXxiJcgCyuIFHG6JTzcY5M3ci5MECNhIoJ1030uBWUR4xJV2apthJ+iPCLUXWRlUIxJWJZzkTODcgfJ8vCt8Jl2PJ2LTN0x9xzaZxCwJFcz4CLxLzkwMWekyK21wv2mcukdCB8SNn5Rw81BRZ2PBRc9z+OC913+N2P3+d2PkRZIEPkggBuK21TnkGzAIyzAHIpbFXEkVFJ78tFNzKcwBIpP9kbETFMNizqMOaEqJiueFKkRXqNuxPqPkRwwDjmEMXycIvXha/dxKelqI7uUlKCkAUlO2ovU08uuK7CE1wf60UjpCRbgXyfXQIk9FRfS9JTj6w93kpi8jmuU3gqxnUgPW2uVXUryn804uS1a+En/Kbun2itHW/E3JLd0gai1a5aD/Cbunw+tHWnCLKxP+j7Sry5H1YMbVwS8Lo2ksOfWy0pDwEam4l462uUHxmlJLkE1Ql2eywEacSm+u2WnbMdM1IBflKye3DTJRslJLaokyuURVIIJB2L+a49x0q150HubOzgp5GNzaolMdRO8y4p5Ax4p7qIMyFzVlRsiKIp1YiO8wDFs8o9xccigW1BEBlCRKjhWO2Nzhc7ykFqnDlQMm/3apuFJ3+/FM8A3qOX0D1E8eDFMlaD1HtSRci2pHzR2peMRYp41WZ0B1I/4nHV0McBXGUPbTj6F1JopJ1MVGUrReG91Jv8j1KwRz1IWkV1NOpD6lupbxM+pD1JuptMF2p7FIBpZ1N5SR1P2pIBg2pxC32pEV32YNwC6eBGX/ENAjIM5mASgxmmnEKNMGIoohvozlERpIZLogCpOKI6NImBhNOLI9IlxpmcBJI8VU5EoMnVwYoCe+0oFiq2NKZgGgDJEVNOPg0oGSE1dn9IDNLOmZNK88y5DZpTfHBE5whtExQgRU7ohDET+T6EdQjdEkyH9EeXCDEDQEmEkh39E3QkoQytNPgBSAtEotNb4lgC14HPElpCtN1EqVRdE1SilppomVpYYlOAEYh7QSVB2E/zAfAjtPgo8YjnAioktEKomtEbfGhEEwlXw4xQqEdwmVp7rGUYUwjRE0yGdErQlXwDwk6EfwlXw+omBEtAF1pyojFpPtPVEiHFDpAdMSAiImDp/tPhExsExEaWBtpFgDtpH6DBY0YmdpDWGJEICETE3FPOxkqKU4NYBGo12IEphFKEpsDmkMnigm8+mnApuZNyBrUgAuQnmWUivTvSZhhjydpUAGi0hZ0QqwQCkplAR6jky8Fag5MJ6QHhDnin6D8KwRKP0Lye0JHiIilzgheVnGv8SSBMeX1UhGQn84gWwC8bBJaAII0s2eSv0z10LA4kSL8ZkjzcaumO0duOaiNOjekwA0vpZuiMRXYhEkRfl/c0Rjeks7TciX+EgUUPkuyDOl/pQ6zbh+anAZA0il+Kqn5McYUo8rfm1UuziAZtclNh0AVTWQnnzC3kJ+01skM8B0giSDXin8qnDei3+jCapDJ1kxcMmMQMjaJCMTrsl4jmktJkAJwAX+Sj8VreLxPiW+8lw434k4ZlK3RWU8nlJbvHLu6K06sl8Wu8s3nRWgbXfxCjU9mA3j0CEPg70e2SpeD22u8DRg+iZ+kWM73iKc9OKXYEsjaJUUg1G+nQPMD2LnEJWUl0bjxp8PqkmUpPngJxZHbkjjLoMQqxm8o2whihZlGOMvgvmujLIUoVmXx6zjcZy6GFxEdQWenugAJifjHqNjKnklwK98aHEFq+nVnal9PX6klwPCSjmS88WMcZL2jSZ7/XSiuXjtxnIzaskbSG0Q9OT0gAWpQhByHpF9MdkmDwSZ5oDbSj+lxCykSgCYEmumuNwO6gXiw8LEhVkWAh6ZOslVkRanBiqeSWEUDIvu7Cy/wGUiihMi046qeTVM2dz7AAylgZFahsZZbWSGX+CasoWU5ml9OC+i9U8xaDLGRN+O/A2Jh+ca9KD0vJS7CEqkvpf6xKyk6XviWC0Eykygx823zM8tWw+i00TUabnmB0gz1Pp0x3NAs6gqe8vHqOgXhOZ11DIUkQQlA14ljJYyLUuifl3y1dT64s+Wd8Obl+W34EcGKBPzmXWR3cdJkW8IUQ2iyHFUsuJNVuQgR3ck6WfxJdipW6jmm8BbVXm8vF2MgBJSEqgRzCz7hWJiWniafhnuOFBO6epKw9qWZNzkQgXykFSNG8REGSkaGx3Mi+SNsec3iMbKy988cgLshK27ObRMAqm2TUAOVhVZENgQcm1yRk85OAYoVy80V8JkJ4i10ZtuhVZs0iBG8/hH8yQkBcuDLQ4/ahkJUkThSPUBSMLJNzgtyM1ACeihZK1zUhnrPKkY+V/y0g01Ao0jGmT4H6WmBgLE6emgJxMldibDP3CbROZSW4IvMkEhIc9DWbUFlW588P1qSA0iK0WPnS8HrOUk9XVTZ6inz8WfhqOxbPWUTOisCa+WkOuDNou0BJYZ3DPrZnDOcssOmIyQOMkkbbO6+gXhKMVoLW48iSs8Pmmkk0ULx6PbLP81Og6sNs0BZhikdkWgl9CQ9Pu8ESRL8xwUr8GRjbhocnyZxPxVUNckaZzb29JUEFFu0BPUCcsIVuehNXcTJlnZWiDxxJi1Ey50ldMtLIfmwyUCAawRl8aOUfc50lnEFvntkbJKggcCJ18f0lKcKqm4ivdNd8c4iA5IRgt8ZkwjZZgU4J73lLe/cLv2DpNTU32hKEAzIdJacWzZLHBFZXviHknTPNMgkiB8lGngZdxjNJkoSIZPcirYfxLu6UEFDsyDjd4UkXuWgOQbZDygchODIt8jbIjB5o2jZ/SzrZXHMdZqC050u5NG8y6G1WOKS/UKrPT0enh9UOvgjODDMyQBGRkJJZi5kILihhjhPqsBkKS6MsjUJurjek6XjDJxuM9aGaVgkzvj3Rh3lRBHhUXyJ7SnSnNQt8zchdsxrC+JxBP9CU6QGMcbimJ9Tgt0Q0jsaxUB1sdumo4owIyETulE860yB8t+XUBp+mgJCFmnB0nmY2bRPN0ZnPacIUUwp2mXrp8Khh+TdPJpMqIIpcqN6pwq01KAS0cRkyCfmmQM60iRIW2H8xZM3UN0039gecuIGQ6CXJzcI2ifmptn6Wui1lZT8zLB8llZUatQ65aEUl8EqjKqT4Dd0k9MCWnHic0aJEZMbGhZ0NbUHAAqWhycEnipg4AX2yBmHkzP3opW7APEJmhaSTmkHA/BUx66EhsUXPXx4SNgri08VMUnknx46S27pskijkl3IGezWm5MvYmO53sl/iGakJqu3M/k2umjC/9R3yd2QYSR5UJkg4A6iBoNva3q3EkaJGtKUnKNMpxiG5XnlnZWekx+FXJzKT40Rk+Om7qT4GXkpkPwR9inM08QgnenVw1UUcifAgRiKSV4nb0MPMLAkChDSppKe5QzyDBqXAIkt3NxC6yjJ0sXl0mcwEHA5aACC08SU0gPOkMgjPUhft3W5l2i/U4shYUF3MpGsM3lkK8jUk+PDyefSSiygijl5nHVNu9LyV5AQlJ66qQhsTPPfc6SOLkIpR15jd0dkCxigmtPNSkQljYZw2NOMNgmcsMUh44Vl2F5cFgrhBsIvcNgjiq9TMTUR3MlK3URVW/snM0+PBvk8fymuRZnx4qahvuXmmGcOvMWS2rLg0aGiZ5ANiBW7mTReO3MPcf8ik6qRll5T320MoWRcR8fKMKyMQjkOklp5NHGBZnIVNGHPKXqstkJWVHkJkaJGj0EMXF4gLkEU8Qj9E6UVak+Ug659onuZ9w08kNrIjUH0Q3Zvdgq5koRjG34Gv2elXPmHwUXqoB2a5pPWn59rVx5foPxkpK1KcSZTq5/dm0CX0XCxFXPm0ouIxZLXjXauIDWq8gXHM+C1xAcIW0CpXi0QxXLtyJ/MqivfMMERWkv5+akgSFXPeU9/wxZt2R2qxUHiMtpKmElVjUkxUFCWe2ToMBHPB5k0hDMkyiMJ6TWu8tHiMZDYQaa5PmX811HNSFPI+CAhU/5xYWb57ywNWKArQ4i/NR8DsigFNOiOWqnEE0J/LK0r/OmZ5AvRWVkyiW/bAG8tAv1sD/Lw8j9w86zAqfmF5m+xnrLik2Ap+s77NXcJEkAFqnB5ytAv0MT83Mk/BTEFCyifmQr2zZi+IvcPnP+stApLkRPIApTEloFWyNkFQqjMUg0VBuxUCqwbBhVWuo1kFQqSkZ7OmwFVVnP2vvMWR4Asx8CkXRW7Qwf5e4Ie04kSF5uUh0EPvI5CCA2K5RhTYF/pk5mvgula9TO7CzgojqiEJOkQqzf5k6VwZ6cTP5MwNsGwbNGOzFLoJjZTYZ/xXcqqQt4CcbIQyxXKe6qsjWCllNSFNhWLkl41r51tRwq+EPCSeQsnE+8l4CTkLy50NniCcCiP4wgtGORCjNS8zLsFl0mHZcQCD+dgpKMpbLqOiyUX56IXDmzSUTCsgtJsD0PP4zrwq5XVQ/5g2x/kagqyUaEXFkMF04FNsmCS7GneEnAoACD0O0Mcwsz4DynFkOFhuW21QE2ZEkkkyCwYFlwvYFGXkgWpDzEiTAoeFTiyeFatyXYgFUgWFwrQcAGi+F4AqBuoUJekpLXAF5fizkDCRRCv8znKxEOHE98ihFhFyah99Vsx4ArnC2kKpe9fTOIAygV0EehgFjl255DrnU5sgvaU+4LliwZXmFDKwTuPGSmFyOgV0A1Ip51KyZst6lJSsgtRMwySMUCnPAFkLIYZq1yEaxUBv0XaWmWlgoy0r8IdcHLzaFKshFFETiH5b5MtmJ+i4EmQpKciDGs5RkLsFcJS2WOFgzub5J0IbGgNkT4I8FiouW0J6QHkFPNXy53hAE6cTUFoQWfSu/ihF0gLGW3GRJUxXKsm1gN4mzgss2KfgVpwgr4kpZNycN2jUFpXm2cSeguMGIu5kiMKT0BlS9FOD2QMaUShOeXKd5uQMnEFDk5FawqT09age28wqi5rS13StZV5YJMmjFqQ3KFGUj15uTjQ0g3NP4HrF98fwWEFN8jCWmHg6C1YtaF0YotFT8zbSPcmD8drwBFukXbFLLicWPwpHiA4mfk3woRuynNbZ9AveFpy3+FUKzIFzwrJyISh2UC1NS5qVCkERDB8UXVOy5PVPbpoIxhkOyQT0oY0bs+oRVWESjxGI2gyZnunq0s9Xo6mEFwsx4sbsJTVceAWUNgOdVyZqMXZSKHUXq2sNO2F0TQ0oTPfMTKTqcATLyiKqSk4bjNp8LhVzMAEojkLhS6qkhhtanHQkS8clNCNrSPcIg3UxujKE0BhSXicTKYJ8QyISuTPnyIg3vZjjKVKB63kpMQqIlSOgoSgEheSN/XSmQfXF6nrJiC0xx+McxXRWhguUSfg1Pk2VgUkocT2WRiyvEaVk1SE7ykK0UIElIKnV0SLMByG8lCGIkigFlAuritQpNmJTmMBzGWhB9zL98kk0Re6UXx0YbxUmtDJeZ8+QcGaVIhidgRlMxkyIUQrLKEiXiCkFZkQlhgnHkjkxF5e2Wpx0RQhsMYLH5hUQkyNtRKy1thCU3Ax/iUAuU4n4uukykRAFiR1TSkdEv5ZuiLOA52B0AUqrxxIyYMyArGR/GlTGOZWf51QP2mUAhZZJBPCaL0x4MY/IOM2o0aKMI1OZJLQn2VVwtMhK37Up2weozs1CyA4gW211H0KGjIEieIz9UQpXS62UWVmfggB2+nXzBCBn9+74oF0i+0R+BqR4FL1jalP03RWcFjXWW4T2s6K29ak0vMCdvP5MzKPdxspVZU4LRyaELJKMbDNjcbUojsXqQIEqRgGlugX3BGqnYCNo2qBt7OE8pVMP0lyLTB3YlmlapnxFZZXiUV0oqcFulSUowIdmKNlE8okoXF2FLdRGaHS5K4pWpWWjbpmKlvUrkUbEnsDIUx6g387lmRCmcklUDwQ+uBIWaEnml+sbclhlW7GdaVahYJamj5CQImt0foiIuC0mCie6kO09Tm7EuMoEi/mnF0sEiJlHAjRG6qk3UFLWNCrV0WOELXGkdoU7hRx0LsoOSNEVbBRRAA3Q0Woiu2L+la0MClxlhGX8+9G0E0L6nrCyHTTW4ql5l5imR03UtUFuMrpF/Mxp0Ssv7YVKNSlTHMbEUcCGCz0wzJkeQWkiS3imLhT0U6eQ8WZul0mGvRb2psqlmTgKQylVjAsA82vEfyiYGy/hUWzcVjhYqQcqtx2tlP2hQ6mkLRy/2Wn89agDBexQnu5oDLUowKRBP+kbERcHP49HhClEGWZofqkvp/fHZ2941xRhYUrUTmUzMV3DVCfTh08fpn/mONTtC7CkLl8PnsRJ4Uc0GQVqKYosrlc4hdyONnIhFoTC03cuR0iIT7lxWiKK/BTGm9cryQeFiacwoRUSk8r9MQMmokvYgnlx+m16c/yc0y8p+2IAizg68tnlXSj9Mz3C587K1nl9pgusgEnjGCiJUSd4jws8Mh3BR8tblhcrSiQjPEk9cpPkNcr/ic8nrlJchtctcs8knnBa8FXSLlcC30EDqnLlxcpUWVh018pxXG6D/JsUs7H+pj4lYe+op3EBXngV0rWUWevHMcj9jH4dMm354ONe8INPUZ43Nwi+PgIVUk2wFH+BHO/1LsUN/E4Fo0knpxHHzcXPVgF4NRBpxLBMWEgtakhuj0goMnpFhHBBpB4W/BdgpWUq/R+U+f31Fu/JuBUVQlkFPKuQVd3qMsLg65e8mf6pFnr6l3PzUN+3lMTPNUG3RXXS8LNykUQkrkzJg0kcrIr5bWR0VA0gfqvYmohCQTwszrRdkQG0m6tZn74KpJJa+5icVyYMT8LDTU0cUMJFs6J3ETrjDAY7iZidYBs8IPjDAGgiUcpQjYJjYjc4odm7RbLRhp5iklkh6Jb640mC4ZQItBnzlc0YJxa+v/wfknrTrAJiMjhZYLSV4djyOhcIj0AdmG4XjLXhUVlvScvIxKuykEyGoRiVDFW4mKCS3KamifA2yh8SCtioyyQgypkk3e0cxlxAmYR5Wl7Vjc6cuBBkdlKKOWhfUZxF4qUI33qrmlgFyHWVmZEWNsKfFU0aBg6JKypwEHL2Vm9YoisgvgSCHUyE01timVGoWq0PqyFUq/R88oCklmaxRrkbspa0eSKR2lWVJU0/l9G1uh80OGPDlHenwZ02w0UEfntYcFj/2A0jHSbsubi/dW62u4V0MHRD/+Jagy8FcQHmcrm7UOsgQKuHgk0i6mQ618PDl+XCDyhWgSA6GjMWm0JzUA6S0GKi2Es8Yz+FPtjdlriVCsGaWYK9KpSEiPKZVt2XpVxwJVcYBktMHi17Ub7VvUUWJZVulJQ0jZSSUHi090DziC0CXjdl5fnEiRGhJk4qoIEuHHHcMpgzW+Kp20a7Q7wkoVc0aHnoM+Lkp2L6ko8RBLA06IXfEUKqRsoN3lkdpjU0EnkvYxTlAm76XtYcRgmqgSyN69rEtWyzlasj9iwWphLs6FwRJVXWhVk8nTh0hunNAdMh2q2+hxy40mS8e8il6SKy6VHIULikdyHW40j14GPn/qo7GEUPjhT4XTmWusZlqaFXPpebzitMRTj2VBl3K5RzjTkhugQJn8mUsKkgrsUxLI58ki6MiavmU+jO+sFZl8syQnQM6TRmSu+XmVcGh0knkj0gjagb8S3K+uViqwRUaxfUofKICI6th4LrkN0VPHP4hMjLANfLU0UQjM4ilLnBh0taV7OkQ6x1MTCdPnX4P8gmq7QgJsrSvFx56s3pH10gE+mmBawXFSKoOUgEg/GasdYBaElHTc4ucmGqUQmJBrSqvkjelp5tr3Wk8YCSkOTkHAGiKPVl7H1aGPJg+/1N3GzVgGVxElJUCgKbU2AqDs/XBBp5i1mqfIslCSSgv+wZmwFKkkc0INMUqOTm1wGpII1tMAw5nAtaFJxTTCV8hbFv6LmM8MEs0wgtJJE91eB4uWwF5o29+8Cqhir/ON8A7RBpKn3AFKqrp8yUKcyT8xsUsIlE1OZQYaEoA+cTZigVjxw6WMJkgV1zMQVKKw01pKmZokfKnVwPkfuKi1a0O1TH4LsU+VdzgHkvJleAeSwQCt7DJFD5Wbigas3EzBjQsCihjVI/HCUsllJG+KpvMdjUisw6SVVzunQOBLV6kw6Tdl8qlj6kxntktqqXqfEQ7ugfNxlv+W7ejVyci6srHcKouT6EjlJUA4RzBSbR/s+Hn84qknpKPUGRkFdgpi/UV0cPmj35F8oUUdNLA0NngpeF8pOS6YtKuuMr0iuulNVLGoNl9d26uuSTq4Bsqn5pWo1lY8jplDzzhccEvFll1kCUCqoy0uMo2ah6v38ggXVlWbwvcAGjLBC2qw48rnK0NLk9gXPPXUP5UN0nsFHhh2sCmC2pixwiOxOsKghRhKGXFnJFXFgJw3FUMoCGWKAYW5unVUu/NYWsskd0LygEWgZPd0oo0QWj4FWOc5XgeYi2HiBejLCinlwW0mns2FHIYWoJLL0y+0l8fYyDa/+3gOuixvcl8UxRTMk60BJUEMEmyxQI6U2lQnQk2G1i4ywxKhKvbS0Q4S1MU0UpP+AnTS8DhLb25ZRQBJoWF2ugS+8KGuVm3igwCFymxMduywEcQMhZnvisyq22QMaVLsa4usLGiGh/qRe1smOouEmFq0CeH8TKKWGyq08Rl2BMiE807SgDlK4h11fenZBn1095Ruox8+Gkck4TV5U+Rj/S9intcIUVQaaWg0U9uuoUwkth4yc082sIhHizpQL0EehF1m6gsOTP2Ho1Gl/y8ek9UvvhEkvuiEMrhirBwW3VU10EqugqhCM8erVsL3kp2euhh0KfnmGkRyKc/YqDydjQu86cWD8acUXUEdQuJmHkeibanvkeesDki6jyiT/WL1VklW0Kyhj1dRwsUqegjSBXK1eTehnUPvmD8wZkO0vl22udRwPO66j5UeevPR66k46cGSrBdGMO1Si2o0MOjB6t6mtSqYqqsrriFkrgIuUaCpQ0SUjd8RSJdYKGkUChnNHiSpVs0vZmfSFeldcaULXibwh2qZ6kUC1gP5MY00ec4ihd0T6CiFl2WlltWng0wLn10buq8p62qpkV/2y0u2pQ00Gy7SGiXlcbxzWuVkmasl2XE+2qjtK4Bp8mnVyHlvzg1CecJVkw8iP1m3NYlooxRcSBlPkVCjRyKGkIyecJgUbllFVYkPRWfThF6G2sckUjIWUKrlEGxBriqn1WhlbhWMFerk1Rjkm0h/SwS1EMoVZ+8kaMrGM1Ri8i5uGZKjJEMs4kA0Mtll4Qo0XQNoFc7jHU4yVVkfnWq+l1DlVyhq8Gc2nMO2cg9ya6me00EvUNYjycOF8SPEHuS5UUajiM9TIyMZWxo1d4k0FBjTNUBGmINqCUd0vEncNdilT0OsjDhHnSUGaWxdch9hVWaOUd0MOkRF16jTiUeme4MUnpma2zd4C2hYkpJkxxtek+sXMgXkGbOm2K8lS8W7CD01unBivuXwNbuQ5RblQEZAxhl0vKKTsiKy6iBRtXEvoPPU2m3DsbmVZUM3yh1N2k9kWAVtWU8nBWXRvo2MJhulfBN51Rhzt50AyL2ZZRuliYTXWBSEnS6K135GurnFIhor+nGzEB5gqnkeq2Z274vhemq3Mk8zWiq6OqnAcPTj6kqkzKPTRu0Vushif/PUKsRyWS5qLqV4KsGctqheZ/vEgO1tj0uualzCh2yDk6UWM0vATL0JElaM11FcKBRtliPxtPh2ejfkIAuZUaWyBcQIwiUBc1N0J4hP5Y0lzK0vIBIxAoLMFRz4Vn/N1hqegI0UyJQFbKT0Nq0WIFBsNW0LrG3JYdOYilWnYUWDzDpgZgo02Kk+ZT8NRl4gQxNptkO1lhWZNN8mBcIOUXqssKTui1ypyxAsTUKrjQ6VK2BxbTnFukl2FcbLJkctHm6q7krNArqpAEG7ReZPwLac68UUlpUOsW6ajbSbfIl8y+rqO/sghiw9Hc6CnDGeOK3zx97iNUjjIEiZVT80i5NFcKpoOkapjcZaOxcc/80KZo2PxcXakGe4L3r64Ck/JKgs6Wdjkzy2oJG0DW3yWU0g95tSKzcEeTt5xUQacDshR5tSiDCLjmncvQqBUuprd4rfLjZlKzscW8TkNUUhTZWbjEiHwt2skbnfc0HM1m7lUVUo2xikm4g3iZZoB0sYI1FhZutkennzBbTkwU0biW05Og7NKxQJBv0kLNITIG0F8N9NxKns5tAhG4hZrVN0nksKhNUVUockl8ZNkWaGZuA2bGU6khZtx0a8S7lvpvWJl+sOhdjmuFvvhXBNppKubohIuYThLZnWhURlNnRuIQN003Tk8R/Cgna3i1VC41Nh4eTm8WvzOKcfaWE0v0jHGYGk5kRiPsWexXxcFahvMui0lkHBvwRC8jY0VbEo5Ibll+1vlwk1hpDcybyx1zrSlNkWkiBIMRLVUaX/hWOyCh8pq6UgblxuF5jFN+7ER1Vqv7YMOoCFGChQ0hWO4WAXk1RCc1K5gFRxVZ4tYW5fmt0yHROZVCw/wkqmxMzzyEt+Pkp0xEKoWxKn8OhdQJyWcB/EgMpu1OFIsopEge14MpkRy93lRhYW2SXWSv0GQWHle8pKepp2HlBMQZGRk1JCqLmJK3gRdCfcojY8ISxQ0rT7lr8s1GorwhyVcrLe19VLy9EX/l+1XmqPuXykno0nEmLgc82cv/EucscehcOvE/WiLg1Rj8hl0kwM0/ldivwK80BPFIkWC2BS38R20poGrUtEtxmqWh488RmsGSlj/kX+H/xFCWvq9ySXgex11kKqWBSW4hCWuKslmJIzskUcBEKNpizVmEmnEEkDThFI31KaDj1yfoh7O8QNJxd5Bp4RajxGZGllK/nAquOxrGy1+FzUiUgJ28iX18kYV9l9rnoMSBgWtHug8puB01yC1q0+qJosVC8gOtiyTdW/0I14iiI2s9rmR0B4gWtNsNT0Ov2bcIoQHFOalQUpORFCNQk4OdzlZkW4kBgm4U80qRjWBC1oXkAJDH1fvJBt3iXOtZUyeRY1qcUUkt4NQIiLknsFRc1ujdcObhBtz8jdWYSiiZf4E9g3zPec2Ji7syMvhKkLj65dkgxleLMM021STUTIXQMDTkfAi2j5CmMomcPM2qQwUUHmsGm383oRFCxEmms3dwdBC1viC7gvjccakut/zTiksGiscyJjtCM5Oq1vyvZtDtmwlMjhYUrMTWttZJU6OMmRtJTgIS/LXMB3VpAEzuhg6fKhyiY1q4UZPR2MKwQkgw7xVakWiqtZsuaifpX9K04hCWoRgYaI1h8WOVtTUoLNhsZ2mkkaHiW2szXH4LxCJZranQU/5ih89rFmkpxk8hWFhytwDCGChmuJKh9g8Qeiic0SIPZa1VuJV1X3AVumqOgpDkXctSzztdL3/mS8r2OcMD8tpdufl5dprWVHDoWJP2BAddt9+66nztqLgLhnsSfUrelD5QB34indodIKPBxqGaRTxNYCsxmwwhlbrhJifIojsgNvX604m1wL/1T0q1xXC+3jk6vBsH4/4k/m22XHtJQhDt5VjRtTJmlsd/nMcyWntSD/gQC1Eh5RMdVWM8nlf6GaXCsOVrCkwnTvtHF2qtlVg3Eh2rKkLtprin8nJVV8h00HixPeg+s90yJhCWk3n8cGaRWhOVpGFV9ggdx6WqteU2deGaXME6VrMRUt0RtP7LatCynJVo7gatZiJ4NEMv3qOVv10VBs1RTUigd91h5Wd7LKR1VvTi0FKy0FHCseNDqNMLhqsxYcmqtwyq6soOgr2XtqWuowP4UOJlatseWbN3Wyrxgjod1QW3zcggFw8Ku3pUEembc5TC3s1umj0T5ok8VpKR2ycxDtB8TJqHuwJqOVoJeGeyO0jDq+VwZwGl+UgqM4avX+CBmW0kdsmGueTQMNnkkMSmrs0ys31sDKUmoUygdZpRSZh7jtDs0v3kpYopHtew3yK2BQ3tdR1vYRiTJKc9th4bDU3i0egCCuIGNOyiRG0rSLq5UXLD8R63upMQXtJo3lcV2kxjFDdp+ATdvyMZdsrUtdsR+xTurtHlo5mRhUKWLWoblKjR2kzVnrl2UhiGlimsW9csb5QDQKk5fInl5jgZGPWzLt1myRZr3UJkG8qRGPUo/ls8uP0JWwopw8umdIlzYqSlvH0Klru1alubpa4tbpOXM3FU/EPUU6SK+koKw0W+s31MugxExIufiENi2BX6kA5ZfmT89WIPt/3leygmR/ylGn+yGMkRVQaN21W+qWkAeVROLQi3C6gNUk16LucqRmsB0sqSxzXS4ylAtO2r6pKgduiqeC2JxRiLXSSKQi4x6WhklC5o5e1aMxeOop0k1aI+6xFo6sn6IixboiP67flVM9WOKl7lmNYQPXqxR6U32twMhk+GMxNI8WIiUJWG44LiPE0rQkcjGKAyynOiMuZTm4K1pVU9PS4xg/2Xh5KjDyc3AHEfchTUD2zm4Zui5k9ommO8rup+moALMPckYxkDqSFJ8k1dvck4lqkR3RI3BAVnrIo4G5Tm4YwWmlqX01dCnikZHvnqxRygoNX0hH8w3GoU7xulUD3lROPMlslgCgV8QaLMmQI020uky3VKD1CyEMhxqUQn80EpUzko6iDR1Zh0WY/KCWFLuWUSw1h4e6MTRQdn5N6XjAKwXFnU8Ape0amKWiZLPS0yrqO04rKKRCLviRwlz1du3liVe8n5NOPPqxcwjahGLJXsdzs36AUuokdzpip1LLU4jAI6cdJvgUvgMPcQuKgF8QGBqGIn3cA/KwskoOAklDyiyCaJRhELXD5+9UQ6U/F/RpK0m0NYIG56ZNcliXggB23P0l/k0Zh2JobWh+ykBqanuZxwUKht7FTu4bGGM/YNuyVzMkl9EJ7U0Clklq11YhEhgDkN8qJhTUlXBP7t/+2hhCNl/VvhKMK7pR4jCN30I4Em5i5kggXmCv/0rUAgqDUQCI247Jlg92yX7BkpziN82n2BY3hqKnrKK+eoMO+NjM6kq7v9MXD3kCDYJoRT31o8uTKZu7AJo4GjMx8u3njABOqECUTOddZz1n8mEFu+XGMEipfhtasfmcxBSDLdPjN7sbnCIsGjO8kB5liVpmnY9CynvibnCTO74scBQLpm4CH0wgsXXqxblXGFHnXSW7+XaUWPIGM+mIYh32lqtBjSUED0nqZISg6xCp1aMBYnDa2ntQKRDJvcICnfyPMkQhT/T6CQaLCeVyXmCQQXc9DjiHBrsTU9wAQnhxwR987nr7OPEkrUYhgMxblgDU4qh3RSGmA9kCm01BmJGKsYLWKFbuCNtilTsPKyUEZ70NUbUmUmSgmVNDkKx0cXoYhOWUNU0rQR0SgnfEY13g2anpfkuDOoWcrqSVEihcSNbvMUvaxcS00WrRB1h4R6iWXk7+THixHPWNHmIBsOyQpMdwViVncSG8LZmcx+XCGFLWkaKzmPRCT7Oekpox84KSnA5x5h/y2oQ20/BSDdKPBPUQHPEpP+RekXcJa0KcoYqW8SG8xV3YB9wyG8rxLIB+eiG85/TIBhZgryFGh8FhAKq1enjd0iAICERQRQZsHMIBFwtq93bhRh7Pn3kt2V7sFXANstihChRMK+x8PoUkAYKIU6yXUZ5/ynCz5wxk7DgAhXQItURpnZMgHrXcrqW7Kv7voMCEgKhgHoAMgsjcSYHqPSD0P748MIcdjslyUuHtzyr9P15cj0/dx8U6NAvr8hX7oYWxYUlBZbX51iIVSkyXNERi4pBl92vWdT2q0tuXImkthv25dRwiWMPUFyUmUK22vsB6uvu8lckr+anSwBq/7A/dYWsBkFFq19g4vc1Hvhe8Bvvt934rEWEvtg0Gvs4tbvqWdgDmBlqloy5j2qXukVyVWh/wr54yjTkd0ksh/vPvq7Jm3ZIZnV54yk46nOisOtPIT9IugnK58rDAREF+9yHCyNNYkz9criNkSQJT9UAmXhulJ2q+fv6Unsg/wJJUz9/tgKFUEwectfv7sbDJ9sM3JDaxPWDZSv3j9fons9Ooy6qxfumEl4nTia2XW5csThO6RgVaxfqvksHqk+KfqzgOmkot6ITn9GflYl1wj55kMhbeZWqdac/sCM1ns25c/va8cxs6RU6tp0zrOsUL1hP9oJqkZGXnM0YGvh0yRoLMUcndBbKloFXnjnkeYLhBHnTRdJ/sARGRoaE6dsPcsv1oFrrSnVrJg2lq7lDxoAa4eZ/vx8C1inVkS2Xh+PirhuUgUB4LUsNooTXV8WSkkdhuPtU6u04kyGADbAPEkcUJHEyRsZsakmohfTnUNmYwADAyhU2LrKDuU6o70ThoYlGFOIDDEMiejgpiWTAcucxBq1etAeJBGRs9Mn1TH4TPjiN0AwoD+CI+ClhqFkt/vwRKkgMNkBmZuY/AiU2bNWERhSYD3osRWUbloDCTgEZlXpjtNuO+karuO06YvM1kEhikO3mSsTAanyzaiZNmAe3GdMOYhCeRQDcAkS0XPoSsginM1aQsqk7mkMDWAmu+oOmfkDgacyszMjo1JtcDDr13h1Mn8DUWT4Bj9IxhNYnM1yylYWbvrhq9Vn+1aQdsq6dwYSXnhequgQw8Lim8kF8gQGVbPiRx8msaHUknkz5k+CQkO4iPZTpMbRQ4h0ge/q82ir92Kkfq39jjZXThqDQQWGZJ6heqCGW0D3siukWhWncQ/sqmK9Xq1lhphM2/IGIqamINIUTmDHAmB6TArbqXTQZ0NjKu4UQqxq14nY9ruOfMsAzcZLOpgkRCh6aMD3dtrTSMtZrRYa64mQV3jNKcS/QJJ5JV/ypcKSaFFI+i7cI+Mvv3TJEZ2YpoPwrUobsucLBj5thKzLa2NuPgcIReZI4nipekFDuWkpu8XgeDRZw2k9cgcKx4TwuMs4inVYJkXJWBM8RAkMVcGLNAUzVjH4gChKafKhlUTAbWVyJqISNgeNexAuQ6T/uq9liU/5GDiYDNHD/58JqEaBwND+UwnMkC6s4ybUT5DmcvYDHJMUl+EhQp7Ab/qQ9QEJzFIv+mD2IFW8PYDEjnmahSXIaU/DHm7JqTuEBQbGioej0oAa+k5qO402/PdBon2IFGkgXVtXgdxKAo6EEvK1WQ/2tsYQNH9mwe8lQqm7qYYH9CZLJ/mlFLyCP7OuoCHVp5vaiDyLzOyM5fMgE53IslrMh9DXZnJKd4kHa63KnyH0Ub5yMlp5FxmMu7mWvUn1XX45kntmwLrX2efrb1Ro0wgGknwWH6ta0Q0r9EUfvh8iEIXkg43W5/klJpt6iyO9YZ/mr81o8tZUz9meU99svrhpILCdYcoi046uH7DdECpECokppEKCgQTrCHDBwl6YJInHDQpHEQNnBbkJDEXDo4YXwtdOgYQpAOEFdKRok4ZFExwnnDVDH+UD/hoELDn9IX8GAdmNLrALNITEh4ckw+NJPDeXDIoDtEvDA4dbMSmA9petMhEadI54odO1EDoh6EhdINEq+H/DHok1p1tNOELfG/DBtPb4MIj/DUtJkQJTllpIEYQj9cC9EKtNXwatMdE3UBDpgnFtS2EYoAxdL5ApdLcQzICqobIlyQCCDoQWNEdgG4dbmi1P5w5ihLA1Ss9Rq1MEpmKnX4aOQQc6/HaUBYThD1Zi1o8bGU4QAK4SbDr7w/y0uhQwWnE4kZH9lBUb0NlgndHjwAhHulHE91IcM2hjPBwZ3upryyHd1slil2ACAKD41v+IplaM8YG1CQIO+yd11Y90Nj5he8kfc8sEN+YHt3S0kaXqAYM/kSMm0jM7PQBW9gCCrHv8kFoJRNf4DMjU8Pe9iAwMjn0XjelBRG0IRm0jS1zdBq7hm+2kddKfHvIh1SAxEHLz0CzNGHSRcgq4GPgRddwKpiMkY68zNDK0/4h+hUE0dBxziCjYXCZMmSqvhmTpSMjoJEUwvnXVUkkbBjekACZYBW+fMKg5mToOsuYJriGkhcjv7iE2H/20UW4nXVxnzPBI2hyj8tK0xz4JrUXdiVpEqkuh1FhepsWsYBB4j9WRUaCBokaZsO0aaV0Rn2jKPGfWaaK4jdkj0gQIjuKrVPojCvsYjm2WdkmXJbpbEchlDAxE0RNtxlEvgv9gyXQEn0aDqJ8OuF02rB8ZcNjsf0Z8mUgMckuhgllHJg6BxYRtkYMczkdmOWCx2pgJNsz/4wAXVlo22sCs6KXEe2oooi8qDRaGnS8f0fDCh+VUSUmwfCXyhSJ1QIq1tMFlstLMCMglofCO3gTJ5WhRjobU1JCnB4assqPUyQ2u8SGx5jixn/ZjC3VltcjB5G3nycSMrqOoZrF83jhzsCYTRVAfmYdzMo8efKm7xuliSUCYUJhlfmssssuAkAWSaZYtr1jKUoc8tQ1c0a1pHEUASq007wpl8iynZXWhlSsstB649NlsAnQpiC2xQWSpU1jyHDuMduOBxDfkjCK9nCaCAQdG3seqBTZW08FckTMkYQvqi9KP4RQJjjbd1ACZHVFjvtznmCsnZjCjSDaHqvrEuWqM4W5VTynHSK1CQsgSEqtIe02qK05Wno8ukWMMeuRBc7IWtKX03AV8FTjCeuQKkEVhCWCLneyQlnLWZi2GcQOVh4MJnhVUwiv0p0UsRYatS4ucYOiY8g7yhCyil08a+Uw8bWZQUQAp10xUWSpTsZV4QDFbsvj6Ns0jCmkl7jX7Rm4B0Q18E8dgWHXkDjCtiVVCrPjGFMXlME8eHo7dqvC3NmHjdUQKyFMTlJLypA80xzWtpULdlVnWJSa1tpB/8aix7ITLUacX/jk3lNGCYWvqpKmhZoklOi9hr2VEStpiMLKmVOL1O2CYRPFUyuGMlGgOiHdT2V8wUBVzMTWBiaoRu+UWHiphimVUYXVyD4UgFC0imJ+lvwTbwIYT8FvWU+CdGk6GhtZBUj3CQQV8sg4BE4vMWCey6qPy3LLAiysXQ07aPBKzoUhkgbify1W3ETQStaVvOISZ0MdNS/1J4yqib6Fs1Of+ZMRkTT8NE1PHEiC0MZaV/1PhsTMQllQEKGMU9yET/6TiRvlPETdidssqoUDMlibAso7DN6+iZ05yRUaKnYTB8OCzG8AynZCYPhANCZ1HCJiZjUe6ELCYPkkNjxlvjfQtyNmZU/GJiexSLbE8TwYUbj6UTiMXrgyT0ozQamIZkT/SgOUyhhXsXibemyekx+JifupsInvWGSdQN4UbVM4mzqTf3XCj5sORW0MZYDrHs9MM0XDM+du4hriZgJSsJ4A8vAxjMietcrdtxjaoT6wptnztRMfxCMdEqFrkFfuHCYksI9p7kGvmYT80nP5PkvwTDqgcwo8WAxOMV5jdkm1wXls7C4J0OM/MYMtpITFjwvi2VCWVpinSxHtt7mOGNyZjMqWhj4O4jVCqsbNcJvDtWtMUJhI9r86l4TWtl2ikdhoLWBB0W8SKDvrjFqQtjkdHjtILgPWlWuo48drwGp0Wdj8dqUxYCY6i8dtdj0kVL6wvk9jZ/hPjA6XMQkSSL5NyagyuDvK1IKfl4tOhDtoltbj8vDbuejvjjp0V9uejpTj08YrlOVsoFCOkjC48b5ToCl0m/nHGGRci2ZQlmgilccW0ZcYO01ISrsEqZO4XdKzlLcb+tS7DV61ca7jC1oS8stno8T5PSyA4R7jezKWkj7n84t7COZzllpMC1s9MdHm083BNIkkYTHkOTXs1ueUVtCAry8G8YptAFK6coAUXkPNtYkgQ1ACrklpttQQtSs9PzCNqdc249Opkz1tPCONVjlijptTOPiL8CAko0yabIZR/jK0oig/joHp+ZjdnVTD+Q+cgXkwkTNuuJOkvuV8GhtTXJolxTn3dTggUsZ3iOJYNqYyMB6T14fYTxtYTvKZG3h7jggCwTUHwdJ7FkdTtMBa573ida2tprOQbV5Yv8m9Tw8U5jdUxzTtMAkui+T/q7qaBc5rJ0cNqbhj9WN4matoWT8Soha+Tm2tq1wpdaR2HTfWByaT+Si5x6bmE1aMfAipollddk0BXcsPsj6fGMt/3Ry2torkYVRyhN0m8MHSY8hwBoJMHSeq+D5SFkX6fM6hkvcBx6fcxhUyU0wvmhjD21HYEnQNtFcmiZh+n3M0NhvTBWlP2GmsVto2xHNz2lXV+Gf+uxTgG8oaa8ZQjQO50tTGtWMei6OOwc1N6cgUZLVk1nadG2PQLHuBdjhSj6dgO7Mj413qb6w9snkkg0gryEsrZj38meBbGbdcMRlJD90lQzCQHK5/hEwUs6de2SIbiqgcMpjy5P0VZz2HMY1rhs3Vwa9VyC3TItor5wVSttdMZ+dBYeEsZTj0zurgaaAfM2stmZJkUIqNyf8joTTSf1FWOiwztmbRqxXNEJhackOows3ENlgfCvcmEFOjK3TlEU4FLsih8D4TLKRCua6xtC3TkEvE1Z7AQcD4TLBT8xzcomSwTJgRk1XChbTJmaTYOnnrTBFhk116mAzWvvTFPnl5ShaZzq3wq3Ce6bYS9/RM1e6lS0WseEdRSwVci6dkkzGacWxtFG6emYdk1WZ+0+RkLTbBzkWeThpsxWtpMvSwv1/4jFTRGseFHL0Vt5OjmFHiwycwNgHCXCXZ5KyxdkC1uU1JaokgHMPBTg6Rf1euUrmKDvKmNbRmtPRoftZnCuc/nBIkCDlU8xMgBR+cZozOcY4Z1dseSNjuk6WvSdTi8b0dA61Gdq8ZjUCATr072cu8aDiwW4jp+zB8cEdbB3/qgcdo91VvPjkzqbJ8jr9BU4zLtuxiiy8dvzcRZgpipD1wdb8cEUuadKt7+hG0v8te1fHnDVVW1xzpRy/tCrkOqa1sXROVol016lxzH9xOTIlRaKP2aQTQKdkGAubQT7jowToOZE4WyY24Tzh3lD92xSD2NaiuOf74TNlkZAJDUkoWdOkpyfSsaSyGkcKS1zOdsatSFXcdJyUxWw/wRTxubzUFnRUW07na+PjpfkQ/Mat2sJHt98iaWUyhzG4OPEUrubVq/dp2OQjT8W+PPcdX0gMkkCyEs3UTnxv4RDzSS2Zzv0gecZi09UBJhDjaaceFGoX609rBdcDTR48fqz6InMjxWa3DVOOVuBVAWtnpXJoLzFo3cW/bBfkXtrVsimveWB8S9t92ihFMZVOkncZpYi/IUEX5k7j3KQBFPpnJTgIlqdQJJFiNDqxQOdtOThvn/EjVt2Mowospgjrq4QsifmWQ0fujVsNCzXI8e+fiXzxmg65ukgryS+bAVz3MeqQ+etkfPOU+spQnzIvS3VoqigdfXlp5/818yncfbkVYf1WuDvMciVnW5W4W1RNDovOKfMhhIdo3W01gy9u4irzQafW5xvET9r9uokMmZEqMZgftHEyZD/xTwhaHjrhU6pMcdV2qt7Ohwzrgf5CaLlftqoTfao6oxt7DsFi7/q1SzUSrzOrvQUnnXBT9BgUiJCk/YSqZKMhybUU9BN7zfsLcM/5hDtzjvwWc8Vlml+aW8Z1QkChubyzchmDOzBfGMg8hLkI8j8WkVspkH3g9Zfizlcg8jyiYtg8WU2lwa1sj5qXtvykO1VX4WhXHzNcRYe8khpqSqePyENTd4GlgftZHQUqN/Ck8fRCak/NSca5KY34bnu+s34iVTHo0OqcwXXkEXjTz4Rgwaoxww8tCyctSTT3puhdGOSXPQU1pX/t/bICk7ijoWmjo+80XWhgsJL5T7wlBuo6uFS1Vvhqw1T0gtckT0bHlckSBaujuDrQLXPTA1VCnBTxRaRDJWt0LgqhkprgZaSd1uqtey1URrgYIihxhQWOYLwDTc1JzzllwLsjmnq8dutMqlTML1Vs20oNwKgZnF0Le6K0LfdwqkWC2a6/NQfyoinPtMCmXsBUOFTaGjHM1snmk9rEnS0XS9ia3T5Tul1ZKhUVwdoRfr6Kg3hjjRYx2wpmmWKDrOLNxcyQKDuUuelWfK+PnJTsERML3uX9t8WSVm2MkT2BBcShq0mL2VecEyZpkUaZ9o24Gqj9K6a0Ed9BfTFyEA0mdBZaOHxj2sMqo/zmyVN9nEn8LUymVBYWq6qHSkdzs5qt9gEifz3YNZ64vl7zguXK57+GNmSqeuWrLVDDbRZ58xa0ju5kjhSjVtacgPUI6pJc8R/of4al+d5LDEKbcApeT1tHT8DPJZMVNrQHEuhdMU5zICcQ6bpLKShzNZ9jFcjVpe0sGl1h6WUJLMRgLEfuvBT4JUOqBYkhk2JfbG3Zm65HQVwdbKlVC7vrdJlpddMNbVZUr7ToLeyXxc8GjId7Dr/p1Wulmlpef0cLm7ib0QLz0Rja1exwUp0BdkmUtoeA2+dML6BdRUSMkFmCBZjLXANRs2BZv4deo6C2KQ8WhBdW0u6VTz/YiWqiOjAMzMg8WucxzU0oL8WfsRLUld31LfsO7uoJMvzgmhzUD+Qj0PBe8SvR0Kcl+frt6qg1CrejvzLCk82ackoLXEQL0UTg14chacLQKpktXtpULVmyuVP+c0LPyrWKBJb0LCFkO2QbLMW4RSOODcn18CZZYdnVjgVNhYMS/xo0uOVscLBYXIOJMnBTbhd11GakpzBGgHk6qlmOmjuT+bWyU0pxeuLJahJaUploW06Qx09SL5T8RftcZQnZLuam00j1s/NSqcyL22gKUIdrCk+Rbm0MJSKLFhYjLj/3MLiBca1WGi1LNukCAyFfD9VxeutKbmYNhxfwrpqtCMrMVBVjBy5tMuc0dOpmBauSQMkdxZTMQzgXkbVntYuzjJFvTlkNejszC5XO9Is2zRzgki1VNuJR0KCxKTrNsm0SqbhgN5RQtEQg5zZClfNH/HpDgeb9ayzjpKGHmN8ekYmcqv1Cd1+MDNcAgPCvOcCm7FePEkKVdJiDAac19SEk7juHVhFoYhsiZHtmknlTIbjEigA1QJQegNVCrV5zCFa5tRAWX8BgqFSYTkZGW4j5FX8pvNLmPsru4jHKrhvWU4VbrNKiUuuMVd0c3OPSyrkEj1OFb/kAiZcE5lbx6f4AyrIARDcD+yLk8QhYLACKWJayfo9KFq4eQVawRjajaclihMCI9p20DaICcqWMxMiPAz5EzmwR/dpHL58uhkNOiidkCm4qZsKK2I9vxNbKq604RRGrzukFNdzmTtI1ZCMcwvOkm+kKr3uP10u+spCalphiM6PHtg3HCrL6Qi0R6Q2r3kgXd9DrOO+yeM08ZOe06ZkOrJmyy0PJlEMCVdXL91bFz37Q2tMshjUJvCgkm5dDkzOYurt1apL4Kau4JKdM2ngfjtSNJ+VCAJpTbrjuCgSyIgjKYHpsjo3E5Kf7UZkhAO+DTZTNmVuroxxssEOYO0RxwulX9pA8Sjm65MuRCLbu3U2ddjYMOxbKE1xyz+rhc9MDJo5ChUUOLxxj72Izm9C5FbCLbe35OIRffL9G25rD9p9cRe3fci+axmKJ1BGWcHVVZi2NEw+z9BeFq9tCrSw2kzkAGjstBLPq0nSKdshLQNYwzX8p/zV+iQzP2hLzH+Zql/bJrmQ+YbLA0p7kt+Z58vBYGlkf31LIUgtlqbFgsUDvXtL+m0WJMUkLd0zdEiUjtL8hehmDHPJTyn2Nr4MQNUHpYO1J00Z2V2d9L0M3xLIdpMZ+tfdLZVvDLJ00MG5Ke002FZTrSlnJT9xdTiwijfLxFaQyedYFr6jNzrCWQLzK8yMS2UW8MZiw2ajiSFUX9pZKNE2OlrkPYd3sSMSvuWsL8TmqBQKXmlZte8tYqXqOQjyXzDvIHrXShlLVeXbinS1QKl+c4yIKiik2NZ0mI/kSLnHi9tQFqaVUVkPtkxmEUmgMrW25ZESQIIi5gJkzL8yhFB5Ujblr9tliLUNtZpfjKtrvhEju1ieLsZiDaZYCKCadafrHgIosvmrMWXVSLBySTPp7DpesC8NU4nEjnLTqVxBjmkkMjsoyld0NBLU5cysuIN1kIte+lBjSVp3xfe0TFt3BueWYLqRk0BSmh5kLtcQJJgNp0pJeZSk4K4C9tfS0jAJc84yg7LvpKijbcg1rCQxzaYYCW8CMg5Lntx89grPHrekQrd8DhQddXARdCcyLLzJdFLjaIAsM+cfABXqlUnII7LcpaiEX7gkbYU01dBshnre8kYx/vBsdHvWzRgSb29RtZ9tFGLSizedwiv4ooxtknrzJil8xiyQGa7DvtLXGIrMo5Y4EmRrJjb0UtL9VkPRCejnUNdbpMCLrlJmFfgqWteJd7CjYpqBdUGO6OeCN9ZE0rMmyxeMpd9HRCWEC2x3yhkgyLud2rRwOhCyGRekeZMZBcyUntYEMjbcx3IPirhY+CdjVD5RhUEdJOQRdBJT5U/5Yzch+WfyndeKy4WOG4HUQ7zqGSImfiuaKhxf+KCLrluuZYZ0watjd0y0OLriWrRRGuVreQPL87+UClX9pzrYvnusK4Q5rYpKR8EhbiOkMhl8HmiWLIgtXGYvmhGYju4h6zdC6BeY8kYZKoBIDuK4PhfSd8O3YdspofZ7astLYxIfZ4M0DrwEk5xDFVfMNjb8MFOOokdpYrLQ9Ml0njamU7TN4CipfNrZnmrV/DbR4l8Wn83za/tspdLj+CJa8M+ddroARKMShfVCUhc68Ayk2+Njb9rQnn6U6LOLL9BMLyacm2LLMuQheLeliuhdD0skc68iamrrx+wRi29MZtRzas929OjSBeYkUbzloW2+Iftf3hjyImQhLjCl3ZrrsACizei8ImVJbcSSmZa3E86aKaxLbLbpzDvHXNtLZiCorcPqegVBVv3SBTEKTnmM+WWrsFkhTeLY0SoTpIkrPjxbEuj48SmsZxaAWLCvOdw4P/208qfmWrpbw9xhXHRZxvkBmR/i6MG1dBk9ukC8FigRkxvjEiceL7NGCu0MR7OLsgJmXxkWmFxgSik8EoH3uPKznxGCl5zTMgstOTq6ky9txC+nsT8/ITFc0LKUxBzZyb+XlHCy+Jx0zOYlkpbekMfhTRT93ji5v+ixzKfQQp6Rn0tfKcxlCOPmbl5d5rqJ0x0ferwrnNeJdenMStEza8sZkY6sdNcc0HgNriY5DslRyl/++ughLyOmAOKMO5Mrhf8kS9fiyaVjXbJcmmBhnrNcaeffENIOJDdxb4hQAIYmkRZ2ChUIsFJ+dzUE400j5RXk872mmBfhq7sHRDGkgBWAbrRjfbmtlxBXFy/tk4ho4l0LiqTxaxim0dfr5hcsMh0ex4j9cg7JykvWX9ok0v1aP+XCVmNGRZ7uu0eVsrhZaE9/ThDkWgBrEoXvrxbdSMtkIJcJciBTk8gthzrGee7aYhdh0YpDzyddNjAPK0RO2NzGQQ3b3aWSklGrQ0u0bnC+yZL0TSt6zh1cqJcHa3C+viAFvbqaVdpkfcPnOUllBTHdgAVQJbUmri3bXSyBgtMMEiTpkwNj8r7S0GSXVVCdZqvCaD5UBcZ1ZurD8T3UUpj5FtaVkcaJPcdB1nyKhvjRyayb5Uhnbd4XEn7tHzjK+SGQR5y1cqSIk1x63BWGTQQVqTSGTfse1MSmyiVVb2rkHAGqwkSRtmfaAicgKxkxCxkGq6GzsV0s3hkg1YdvyGRelS0kGu2b+Q0mT+dt5jwZTKs61aK7fNVGBRznCMRXdDsOTQucCkTsks3P+9sxQKqoTt4OC2xyGRDxHtCfrxSAnk0UGPJALLhRp0oihtZ1UnsKHf32TLBLgm0QQryCLBFqXjt2Mf4ER4iFjYGblSW7QkdG9C3Zxc6lesmh+iak5SR27hpxcJB3flhxKRemwZnW728mTOmde9sRXc08egRem+o1mTbAQs6L00Fy4VsmM8wRf0M+MW0W6pbjMdeSSgka0+1X0Rm5ZXztKZtWm5PRJy4PZPkFI3BikunB7cajO7GyVaxwyYlsUew0UGnpzRMASsdraZyrQNP76NowRi7pdPV0YUOV6wK3EnEbN0VjqeV+Pc0knOw+lN0jp7f7qw2mPjRhwycXkAZDTW/tgCCPEeEjtq35rHPd4jdu0F74Yd0hAvZCUfSf1G33dTrUvflUGsyrl+dv80ViJOmmY1IkObsTb0M2O82KRjRyAPdmVCkEjkc2ZRfqRWCOSt7M9jv/9+drdtAIx0bgAR4jXiRzm13z57SdihGH1XV78bFhr7KQicj7mzDqRWeGh6h00YJzGcPKQu+Vvc08JPxGk53o57MWRvGdbsa7SEfGVGjyU0SveXcN41Vu04hhOZPaG7g0jl7+oa8dJjnd7KQiFWz5Q2Z+dpzKQhSZSRPnz8HoYO9TKRwUUKGbe77ihG48gQc8sFv2Oc2FankaaLxIyda1Ude254un+He2GTLXhOlJ03u0GfYj5r8ROmodkxMYYEu04WJemGDOGT0eQRmx3d8ykAml7EveF8G/fl7fNa0a+doJk8YxXyj9x84Qanj283ly7FefJbbe0fEgkeu9yPeekZaWH7fhT1WfhdIk8sFbh5Os5GXfeiN6Oy9dP/fAdIl1YZ4UciJbhwAq5hSyjK5dM2LrhSsnYd5OpmyGWH3dFcpo1G5oix84ulje2IqYn7k/0x+rKi3LDfdouZ5eK4O2g+7OEnQzZ2y3LH3c57RA9isy9KF7/Pcq0uCcN7bHZNc37Kt7q9nHcv4E0UPEcnkIrh2MVMR4j7KmWcxLPd7DkwaaIMlIJHPdnEPFa60yYat7fGlmqczgCk+PbCkpScM0jdi7tFpojYHVeMSMPYMSujl2c1HLrA5/ENLH/EBcrdtgWQzg5M0knkbssklco1hjUzTdls9g4QVH3Zv4lhTErANVyr9+rirrmMC7A5QacyTgluwyY1JOTmQOumacHScLA0aB1gHMJNvlATh/sTvdBS98nd9P8UEjB6pzteA8u0H3bVRRZkCWFaLR7blRVNK3DFsH6tD0f7ny4HShzROpnltBrat7JWuKcBMWytHPdmFujh4Vqxh4j78Ls6F9Xj7ugXhk7rUh5zPf7xjrQ0kv3awBRbVQ0BEnqHKAQGuxs3kHN3k66k7PB7WqLmuv6Iw8dYHQunXS8NOQ6zkJar1uwzgb76baQ6n5vB7V2Tmu1wrC7BFXL5VmWz6lw40NWrQVsFsCp4/mnluqLiqH5mROkDw58aNXfXxHHSqMBJmSETanOH1Mn7t2FSipiuSlzx3l27wbXgq1QOdzkzTJFoPbhHPjr2siXQyCoRhHtb9vTFf0zxicDkl0DJY+8FUmKgXnupaqLjA57jsu832UqphRjOrwA1Z6ZnEFmfIon6BLQtFKuZxsE0Wp6x5kcd7I4Pah1l8rOkK6Fe5Tps63bkrzN0DKqgfsr6+ovKCXUOrwlu1K8oSidv7n1xIshxMKwUQpsabVKmSHW78wTodIsluLmI9Qcoxn1HYuYRHFFXsl8I40rDNkZ28I42L5FgPdYuZzclNgKg2wZNbB4UspVtgIkJrazBClR98bVmhZrklxMbcnPr0bF6MBhe/aiKfQM2FiE6pOcGLU6sukekQGL8pgXVhvgJp4atMGcY6fOMKYvMYPRQKnOY5zBhilDQ+Q5zFlMwDxwX2zgec6s783XVmHS9HYJiRDHUd+T6RiUJcY4dGPrZMlAAclk00WeT+WyZDNal3WD2P5Ckgflydyb6LJdjjHEilEyvLBA8vY6GtVVaJmZVS6jnJQarLzvrHSWiqrJuQXVyBZHHG46QLyt3W7jUim0SBeDhI1YukygeILlraKyFOTUUFBcmrS4mustBbmr31LYUTBZGrW0V8qvHhM7BkigUGk2urTGn3EEgT5F4RicqwhdfHxdlHq4hfW76EpazGYw1wkE9bTo9UULvOYPiGoUMMCAiQnbfVUqOhYarPDf5qhhbWT4LRaa7OiAi7jp3H2zS+J3XZnT5hnsL3XZHE/wdBShxiW5QeisUw6QiRgXf8k0E7PKnb0C7bUgSZehmCLRXf6bJCgiLlPaYBXUhiLbwnK77eiQL8FIb7jRkDRGBYPil3c4VSIbzbiejDZqwoKLjrjWTriWTHa4+0n0RalD0lmkkT4DyeHY+wqsyaCHQ4/6jIk+ScelnZkxo6iETEkUpz5TZUIk64jWvRt2evPx4lOxdKcRik8ofMx0KJe+5YXfsbAWouiUCaK7VWGDukROSkO+REkKrVvF8fcXjhNRK2xYVkn9PXJLbEnX7+gjE1tVPJGRXb/hB7RdU7Pc55aphVaXYdin5HsI4hPRK1gkd8Mkaux8Z+gn70el1uKsz7NtGLSsRbXgqJMnztO3moeMI+8kp0kcnpZgZLvElNCSGNf5L0yDyOQ4k0510GjRRrR7drupa/7m9Cp6tE05U7/Kc6h4jXnE5HjB3YHDA8XaqPhfeQveF0M0jcqvQ5vclwcz0JMLR7ibYzKarXB7/tk+qLk5szBisVlmo5t1wydsnO6pt0VCa+nTk9LH/UY+7eDb0qXUZ7UpA8377Aa3HIk9GsGd2yLphnx7yvZEDAgRXCGvf6FGBY9YfHl17IVuvH57St7gQy56clXjdZvb6qMO2Bs2YZZmEmbYL7A4d7STR/H+05d7chjjd7A897QhdhEdPZMWoSIzGY8jp7h6mRWEkmqE5M6KRFfekLiE6t7MfdQn6heGTzQgzu2ha6RwXFT7YY/UUfSdWFlheGLO/bz7rcisLgkaL7TdWonw/askJPx7qDE6XYtfekLnhYn72PCb7chj8LF0b7A7faCLtBQAHNmuEnnkaz0Nmps8jg668o/YwLMk7L7wrmBaaReZkc/a4Cu48tqB/YO0DTUujWk+GTsM8Bn4M9z7cM9+n0kjBnkQ20zjFWRMXUd1JeXJ6WhUa81lmYq58BQ6UGcLWKNyzYky/jmUlTPIWkoVNCc4I3kky1ikMsvCjflTB6xHm04ZFLxlRXKcWG1nGnQ6q7xTiwWM/9Yk9v0jkWFrnj7QsgauU4vMOwc7cDOhBDzGijYM8Xuk1A8+ACX5mC4xHZDzN7krQ6Ss7iIeZYUoimC4E1lzzU41KHKv0eyaS3KMKg8LMF7k7z1zuMH3KhuW2j38nEwXknRSz24nkSp4J70gW07lRzu3J4a387hgqnZR4zuoAX9zjKrB1kfnKSnlzW8pKiOubjyFI5L8xK0oS/zn1z5OdpgyI9QXSueUUQnZhmSufoTjCb8ESuZYTc3aTuD4U4TayfyM5DUpjLSYET9rbLtPN1Jyn87ETvKxgJrWnB7qwmi6j6cZU0s4E+9C51xhfbyakzorkZlhAHA6qEXSgz48uifjU1dorkL/vCjcnAmqJiYXi3Cor8Mi6Dq4tRlyrc+trdpmHCQQ4AXcleQqFpm/nV8mWmw8TeWWHF0CkIX6illMdlSWfCjEulMuRSyOUB5L0gIHkR5EqvjR91MLMkUaKWBUibn8M9ItRS0wUg2ejnYvzeFgCI7nEXIzukixs8s0bHi2Nu/bg4NHVA6uEWKTa8XREJuWHo3180MGNk5C0rbe3xtBTi048OR3FCIUnIWEdmEq5vPKX11t0XfLyKXrURVeDQLyX+AJkm6kfIWM8XhCLKUUpEng6icmIG+NywKUZbzazb7SDbomx6C6ihGXHglPKygJF6xvkb0dkRaS5Qqmxd40eDKQt18QwRjC2rSWXPwKJC8tW2X+WlSmuGtB9LXisXSfiyz86PsXO0KyziDHz8ekDR4YPRm8KsK8XQSZbFdJlMjS7FVCLAuey7/cNZ0XQexuFi8XQPUP55PXXtgK9LeEgqRt1UdP0hNSUFZki8XMQRhXMwKgL9i/r82As/SbBkujQsjUF9eUxMmK6Ou+opesmSHhXwG2L57CJcjQVhLV+PGkOds9P04imA154gtg8M/iCtPLcWf8myLNTRZXwzg142RdSK1+ezUgK4tkfPLCEB2nSXPy2vz9YkAGo6t0C1+eYkFRlHVNLGt5cQAS6Xi4EUX+dIsxaKiUjo9TDGYTKXr+YUikhPab2meoHcEU0XAAeaylDQEbOY77AEyUYMRi/YD+TmOcaIQHkcgf+KdJlOX6fXtXLJueX2XpP9guUkMri45DoAeAk3hmyLuzkkDO0iUq9i4UDC6ofqKc5OjYS5aLtXgi8l0dB5eAaMJaUa80y6U6LOD3SXKS+VDXLvSXCq7jHMFziXqq7jH1wjd+mq8KXrgf5MVoXFCQmggLO9zG+vUnqhSQZOjKBejnGRKhnbvVEhRqwKL6JvCjamzDn5I5ID4fzbXDwidO8i8D5AAYAs+Hr+B/JkwD90iEebGvzDx1P24hxj6UBEiPH0rWqjl3hcD469Q0Zrgzta3LYURZomj6C8lq4dqbymToNilCkRbGa6blJJX3i83h+XvZjzU/49y2YM99yYY+InX66LMq/GGLcBQSCXNXMcjK9+Ssq/kkkzQf8GIm80tZQL2BNIxEHE3kkZullKNANR6+kg4m2kb/p2FgT9s0a4idK9hsaWT77PHG6uPxmhsGa57pVzm1sSis8jcELtkTQflgxCRakB8uI3/kdQqj4D77N7olMJLU0UwUZ8XWPSuQPy4y0GkfZkfhmbcNAPPU2pnSbiG/2JapRWBakd/82pTmEmc9Q9xqg+nqWjgKzlfU3r66BnpvvVrHc9ArOV3NGVBK6j23sqpqdlJyfgLAelVIKQUnn8IRc0J6qfBcjn7yiphswxXeyml+PRR1MKm4jql0sXasI7zn/KYPasI9Ok1ENoKhPXc0NNhIKyXUJ6Dz3PXXUj0VMI/g0BJmI4MbKKnori8XRahazcLGVNZUfXy72mp6+E3hX6W1N98dBS37a6TuK2yGZ8K9OjSsmNHna7onoslS0sVRLs4FRYaFtToVapSE0eeLuMBpQNkjxPkLhNXCCUXneqICgNKOPnGCWn3Z5/RjpkN7xLrLUiRt6FXr+58urKcgKaCdCIxsuoKW3RMf5qrunW3t9O2aMc4A3Y46ELjPp6CdMVxMhs4pmqRQHSEmZs8k5XDahVUTFt1QHU/9WuQqI/EmOBqhnZhRqCw8miMR49nEYr0wNi68FUHD37E04wwLvZjgighitz0c6mH9a4aEQ49RMEHxbXEBb7C1uI7q448w0ryiqXhk4TnQtVNX445uJh5SaXUof/KjENf5GcODbgwXr1mAbL9w6ML8eAfiCCeLd4e3XgDJerrR0Y6gDEofW3fzxP9T8Um3GlLNXFcmUxIK9VMJ/uA7v26DkS/XlgkukMJyMiRD5q6EihO71XwkdqXYPW2nnKW2CizO1X0gaomHwQl5HjxMWMk1gnqYeRjC1V+NTPPoyY1UueEGoY81ctzGx5wl5dv0e+8Y+xt7aM6Wk5Q7r6vLomRH1XJKfIWMwevO3eTmA1sZhx+fvaiFx3I+x+28UCxfKv0aQyInZYs2K+25O3+ouT3lL2Xk/ot8uAjX4KLWYMFEmgLKCZ0jFLWhqGn8mZuPnP1jiDQh69IsweKjWT8ay4iqlVTH8igopu3kkZOdWWizSY/b3FTqNXwve73Rs54jfhggutTb1XhNdbKhWJ9DQPWtxJ0VFK2YbHYIvwx85DTBO4LRxCgam0Hr+bzcqz0Cch5dfzmciTGSW1f6pmdeuk5Q34TSKfyYxPaC2Otp56EoPqOsiE5BYeR0FL3GLNskVXQdkWSr73EiEvJkSlDVSKKsuALkY3ZexNT55WiFRTPQSc2Ufu3kHOh6C4uXd3cGl2HTQWtRiq8MCCxiaCznYgPxkkqqD7kfVhYFUKlaNM7x1PZULdZckTJlgLBrYbKsERdXfGkoaIYxF68sCaL/e5nH+O4TKjxfHHTB8NtNsnHHEsVbKpFijn70fN13DQRi5fKUzs8OdHTrKTtI3H3RKAUkDGPQkqfNU0ergd3CbC7APjgXZDIUkAP/uiYDOx07RXO/YDu+UCGr7ynW2Ib6wmHzcWmAefZqB74xUM6AmxSZ0ITIZBcq1RIPhga4STpIKpzQhnXIh3GC1tg0EBRYwxmaKNnna/QqRVtGBa69uKqL2ys6TRTXQe9ym5Ssh33Be2eIXv7XuzgCigJfsn74WSPHfNSPn0+YPPe71HOJjjRISm7qCZQP5rZUxBoxn1MlozTtZR9zdTWPYcppXbBAh4LS4MkoxpKL24GZV7Unh68hfpQcMno1QBYJc2e7LyNMb24j5v53Y4++gvKm6mtxch72H9IXlOBKWYpyFjHB52+Td1PVUacmJ0P/m8GnD24O3Gx+j3qwSAJWLSPSLAev4Uk4JabNX33Hmgl8hPTyiYO7VpDJdUsd40MNIA1c7b2vsX8nIru4uUT0Aa/Rexd3jReW+8XmiyalaqSjXDKa5LHdZq3Ca4f60YSi3Z3s1nwbRR+UPmyLWa7669iilMyS7SxXvQvT56+CFk06/ai2lcX3f35abC3JXIB4N6V8lJy1yGPMbVydBWoXi0WrRuE9lRiC1XU3MaQzpkHB9o63iU0UMyVUDxtz2WWtRV3MjlUr7wX5PzVeT8gLzikDpZp42CnsqZi4Zt23U4q1i8lcNScs3z0UcXGnlR8Ga75sY1YVuJMVDX/G/38AnOBPgS7vtY7HBPLBwd4FsnhXqa8q0I4mxSiJ8A7lWnFySajRPSRwdjvdXsXGS+G0o8JVXuS7m06g1W+Wq7m0tk3squq6y0mOn5yQtUNXsZYQr6u5EtzQmJmXDPv6ACKH3rS94Z9DuWCQQy6XBMvly7L36XEWh12527Z3vBpxkt1XWP7zmdaHk2CXsVcmQL0LmCQu5w0wugWqCEIMHT6BUpVOQ7VAp6NB7JIV3mlZ/kQp70X7J95PMZ+NuFajkiBdhSpd3EyQSnxly2NsNydRjrS14S+HY1V5S0IT+HII+ZmFFdo6PgPNxEkfZP2PHgxLB/Qr8Vc1GtxeQr+510NMjiqM5MqCkE+4jLFhnI+6cXNNnHzvqh6gwtF59/kI0wuUzg6lt3jduqKHcCHEClOea4WDLZbUxqEKqALF58mct1WNkOpYPkHKp6CUa0/1iRthMYB5f3PbmWlH+79bpqupVD70sUbTm8kpoNX4BtgNVyenoq2i3Saq3h8GCB/sxXNtQ0Bkw1UM7gmcLnmA+sknIaHFZ5Bza3tSEzgO0t1S3LQzgyGq++DbQznqsgL1lXX5ozUXVW4PPY00rTEhsp8iXozCldnE+5wKTKFt7PDB57P2LfOgw02kvOVksGSpQMHgQyvJL8NZtawT2y0cvEH8gfjdnzQX2XF+cOkyk6szK5Dcs7VsuekXsH+7CECiBN0rLawry90ysiXNoHE8f3bJXPX4U9YhKywvfxcEdh0X34CJ65prncklwyCvrxbNuAuOlxYSlt6c3cvxJWmr7Skl7UV5GRgQ/M7H0TJHWvTiWgElMvTVilt2OvkCrvmJKEZdvai9WGMj5+E3sJRfh47gDh/ZOJVbTiqMqPjCi6ihavGFYctY0Jwrla6a3j7UrUfDxPPu58YdjA2cOxtxa0SI3mLI18CMsJSL0bV1nyhGLG8in2NuOl+/AynyH5zHTQipl6bNrXVXydl6q0Tdxs94T2VaLvQo4ec0eHKU7gEt7qwDHj3t69c8mUyptl9OlJu8EMVTsZPSFjnf3DssFkS6FQKexiF2/yjV2U+6UTLaYXWDa1QL59iMxFMWLVTYI8lB7mVOJF+s2aN3dbHumU1Cv8MganIsvpZ8FTmnvMYCvuMSsUe1hncr15MWVtUEyWew8T7Qxmk9BlKZexykW4MkSHdl6mk01hL7F21JiZNnAq3wSya+Kk1Hn2XOgKR9iPSR8vgQLkspl0acyi9USJ/M8ujN3mBibd0kDu2sXJfkVWrUM6ikEpXqLoM7g04fIqnRBZeGvIZN52oagWXXqiv7ybMPAE3cvc0kPVv8LnRr16kWhgZFMtOqiv7MXYDNLEqlrt4ickgfOyQ/yHkaHIUPnUk9mZbQ3z7Ae9OQI14jMu+lj5pWaNlIeVDAJGNR6N5jXHO9evmx/53YJmxvu4kz5ahlb0oPZzctPPc4dFz113Zjc4d0SHqGQT5a63PHCouSivl3nZ596v94X17OlEvP7sYalrvJLSZ5HRIlKohhfZCYbSmX1+1EUfu5c5d4yvUfvRC+Ho8TJMjHv19V3ul8tp0qYaU7dV7Kvr+ahiXWSqvoSN97N0+eaAzd73aCo5K+bNTDhanKixSw9lBYbCaPTTQ4Y69MzvEcQaA19V3bEjUvoItK8DBOGvLYvD8qL0mQwK6YeBE2AewLT14Pcma3qrR1kvGt7kCtXuXfy4EA3ouwaM8ayzgcg/PxkgOR+oqsbl9XrK5e5O4KzNbKNgKyzZSU8PoCkbzkfzkx5RjQFvyr6Xwq+EWU0iGXEy7UkfRBWL628LPU4qu+BBMT3Dc+zH4e6Yvo8/wUYrzrPK87FeTZ+MXE1dzG0u96WdmnlMXZ+LeOuZAhQ57UXXSg0X/Z6PlX0aLxDN3cqbifYaCCbQXX0cd+LifUfERcqas+Xcqw9YtJoMnftOuYMXl8BJlwj5MXQDRBdx8400DmNStES0jzdi8YGR6l6Wzi97x10lSko86WhmuLM33c8ETt9/WCDD4OG+56OHWiwiXt99R85eb8EmClvv826nFdBkHBuU3hsAy7SXgQWdYruayXgdSe2vS3stbJ3GUpXnIW+6kpNURoSWeQK+klgyuG1S5CiDZxfXhT/75dl67VDc+ykpZKy6F5naXdLlev7Pgbn1K27vZs1dzHvyiaCkTYQjwq0ue2RC31D5n6o/MRmskhuW8xbRvSdhSvPD86fXhwvnAj8+a9YnLzIj/maMbbJFBj4hKej6jkbibOGRj+UfcQCEqr18YqNObB8bfKv0w1Us7LCbQ2i8npFtK5eZKRYf5/5j+Zlyjz3uanZ7kRDHVRCt68BtkmUwLYBfFMLGfPCShFobiLq4MTlLO/NRi8gSz+3z+AqJTSPS8Gl654XlTvRuWL54QoKvHz6j99Ry4Sr17MMXvIxqRL+B0KfOHS7x3Rmjfvi8soppmzlO0zodRzJXEyFXno4KvY0kUphSu9k2gTIys+6QZXiyivc3XV5n9JUuKY+CPpPYAswL7hGTPJjvhpo7DQkYJNeynevve7V3+/OxVh96KcWkroD6vJI2M9TChj81fzMCiiaPrnSaB/F4Oobp8j1+e6Unsy8zP3OOlKkjyyHJkz5Eh4E9XWlq8wGvQa2gQhHmfM8q0WX+HPr/6b8jNee2L4d6ojMGkiq+NXYb+amZ98WqlHtGLqYdumhTOyM7oY83oiisyV3fV5xL2VKdzg5c0YZ7xnwb9UGfrW4iqXcyWShztcXGXZoWW9sa7UgELslhZkjZrfXWmyMfr8Z3o/oZHBzPrUQ/NY9ayTyyNLAXVN0gsGfmU87ba7sKLLJlyE33YDzXS6v7mVy3SIa4FeczYkb0TwDn8Rz5tLWzXPTXOMlNgzhtXZ2ZMJiILB2nqrmEBAUaO6Ax2gX24RZkXHf7wI9UkjMn+O56gVPKcPhRajfvB5McgIaPf6Gs0n8/kJWkuh+nnUlwrqvR07GBbMkqSaUlKYyA/s7R+N2CgSLEfNYyGLLknyt8x8QgWf1ct4dcGCg+iGqmqv326ddwL/vk+rWhgf7uBfD0itz1yF+sBV5MaNmpAhYz9Fu6VXdOUV6VFsTWhsft+e4OwZO4cUgRfwcKgUNslzvUsxLWTM5NpUV/iZ55hgUMfKEM6wekLgs55fQr4YkdgQNZC85ycdaROX34Hm8Ps/LkS9m0CX4UuDymdhZP9eI/uZv3zQJrQDBhfOyo7vVfm57XPar5kOfw8zGUAt+kvE71ugckXqBiXYVtHXTBwL4LM0XXTfMyNevqGnfmm11vaEN+HoVucZyjJ6Jfn1gGHzt6Jf9BxIWwZjWv8FWE7MjhCMnkXRm1i41LBMmBvh30UHBUT+pRV3nMNpbqHgr8ckxTmFJjn4T0bTlTUg/Clfwlmq1p+ndJZz8bsyFbaCGLKPKtZXW2R5/9Dpn5kcy+0XJvbi/NzmfNR1x6Cvkxk0kQgTEazN265usK9fkIoac008oejC0GrG3ObTM75BHsbQCUppr78HNxjYk37uic1x20GpTACDTT1uMbEXqf8IkpTb7RR1tSC/br4Y+Fn/OLuZpj27X8s/5cmjHLzIZ+TdWe/S37RMZdkz3Vb+W/bsg9yXr/h0bJhJyBzJgP2pXfcCz3nBLTRa5QgRY4RehVMMUMcZ0diNH4zMcZddg4n2y33BBcuUW2R6WZ81Z7Kw189kGFZg6fGnrarX6jNfJROZ62zj05m6yvhP+tcNm5OiVfvq1jm7L3nRqXBsW4Kk6qS2LEW4WsQkK3CcwrzvN0rOlXU82PHUmM0MHXGf12l7Pi58SSsbiLa3r7F/am83PWW/rB1ML46cCO1kLPK2HVHklSNLYSpm4M9kgck068Gn8FrW6X60BjrdhP6GhKtvoe4K1gDbTl9b0HKSrkrmd/hP8uug14EZWhSANl54tU5OQ6vf5VqeIbSeMjWtSkLwZ/smQ4mCSV6u4VNovPeFQOZM7gC1cclcn9Up2njWsMC+TRL8q9PjcQeVNNaEXipmjkvYpptDUEf7N0bYRnfRE6tR33irfpBpAtrjoB/LHRov9uj9fR0/rPkjI+/Q/PsSiUh+/n39DP0Z/b/der7/4bDKB3aiMKMd7KbjKrxMFimBf9tzr1S6qQ/nHxEtwQYhvqk5J0wOkXq5R12OKynm1An7mk2W0ShYz8GnY22Ss3d7TviJsS0oV4jR2en3u3l4puT8um2kaaivHviftNcUoibn+DJO2zqywL8akwOxqtEktWFmA/HxEMN1p0erSS5IFCWkEACQf1+/LmtMWm7/QPZCuA70R+9bqxMvD+8Dz2m2VWMahjyQYlI8VF/0aF5Yf19URHIYGiq0T8ZaywY0Y88XLxLUbp1NGlDSEnRcVUQaYZRS9TSlGBpvJGx2UbN/nFuMMsJHrRKBBy1unEetTcEHLV9yCf81tHcJPSssvngrfuwOZmPfQ7RhnGnfajdCBjEAw6YjOAjRVbQOtE8PH3xABxRNFndej1W0Mw0RykMFNtQBdDkxHCxQdUgUeN0IxjM4PHRlImX8cYtlTWEOOuZ1t2WPU3REpEAfZh8IAJT3Th1iByerBrc0ticAn5doZ2V0BP14V36HZ7RjVFb7ei1lR1B0PrAaVyf6BmsBlGumVLdKQm20M2YXI1XeFAd8EX9ve6kEGWhtdPtZozf3LIC+/1OKYb8R/wKPPqNwZx7Pf2wSgO/XFS9ygPkXQJQRtVGsOdQx+DbtMSsorAyAiNQ6LVb5SRdxsSW8Li9YKWqTDXBu6hElb0I9IHg2SVwsuA1PJzZRgKqMPOddtVf5ZSRP/xRXOT0l3BMUcE9TB0/sCqQGt39/cz8vANS/DJwaV1vyZZwAbD+PQ25x3CESENdwNFqLXNooInJXL2VEukz0I9IvF1acW4CtpTiXOIwHnAl2bWV7FwiEeX8MHA7nO+hNYTFLF1x4tzKkaawgOi84apMVLDFuG+QVggYVERRIQNjMHIDVTHBHTqwxbGwVU2x5f04xPLcHmV8/dVkUxXhgZ6RdUVBAxU0sCnkSeVo1YnupLnQT1yQ6efxOowvXALV0uhURG9dBFndactBeNxE0fNxfOnfhWaM312CPAsQvfx03UoDDz1wrP9dNgKFA6JpaKzirOVQy+2U/Xq8+NQjnTZ4Iy2zHPpMqJV6vLqE+ky2iF39G7wb7RkwBgL0LQQIleyxhOFxlXl7nc8l+ZytkSu5De1NsJc02ejG1Dns+ygdVdkw2rBJnSc0wKit7ZOIy3HQvIXtaZ3ScbC8GZ3z/HGwbBhZnfddIMll8V0C/exovSi8Oez5nZZwvL1EHcPsDBxGaXocIyThca49q+1zUaBRzK3hNd3sCNEAUVm0T6iV7LRpILSWkVmJa3x5vMoD1hzdffxFFpDl/Z2dVDVEqGsDLq2kArvsN/A/LNFlPIxW+NrYEnE8jYlhHdFdCYGxWPTybEPQAyxAHWh0gtnK1bSMnnDAHEuRo8TMjDfQrNhHLDucgXB8Xcg5+1Dy3YTc23CJUOXQFwPxkMg4VEjBTNSNTDE0NKZ5oQICEMrdDtj3pe6k/J0qNKlQNPQOjPmsYANaTVIoOvGY6WdRz1wS2Bfs/QVRcDud1I1DGQl02VwT+MEwCNjXcbSNBZ2VmO8Q4LzMjZ6QKRgMkE61hwJsjbnsEBDw3WtF6phuqXzJ5YDo3e6U7azbAyII/n3CMITcg8le7b2sqNBAHLjcrHX7+c9dFwKzGKVRdXDtnY0ltpXJ6CO0kozQ4b7tQLGyXAQBQ7H5mfpIM1yw4XWQNZizrC8DHwLh7OGwO5yU0DlwyZmF6F6lc4EogwPli52buds5T+AkGTJ1EqjxGQTM85z+8cqVnOyWjZOcKRicyOrZwoxGjZHtMkVEUSaMRJBuVZSFMnXHkenYx3AdxZaMRZnXOAV87ASxsIWt7wNvAv6ssV34gnc8/qxIHF6kjhirUO6tWIMM3P7Zsh2qjAKCJNiDkLkC7FBRGQ1krZQ/BNp9hNnusYKCB0hlrRy0O5zFjdkZVWnNHBpMopDDyG4dVfnJA2+pLdk61FKDuTF51bblnN0LMGXZ5NA7UV4FAgEt2W9xcV0acADsBe2feDICzulMKNbsWoPC3Lx14NB+XenIXOwBIBo44REcBbgYPXnJAlwErCl1kGSDh4kpTfIYp9wfXFjhnXmvPd9w8tw/8MaYfjDIUCoCSuzWhBHs9IN03OjIi6x2ggUDC6xs7NIRfmj2g9icU+z12XOsGjAb7aoFvDz2gjxQRJ2ug5FYCoH8WCfsx2Ct0XOtbH1btfa5NEla0ZtxqlW39GDIdtHj7YCQMwRgyWLxZkzE/Q9IWhBR0bycnr0rSR0NZkxYgoxII0jcHN5IJEkkkCyIQhwlUTRId3BNnWaFi+2x8DN0iuy4SB7Z+PkEhSKcwRSySUBR8e2MxArJdg0VZQLtwMVuSEsoRJypjMQwoqnuMbidQ7zk7RQ50pyo8FSFqpQEnXa05IwI0CLxMuzDyF+spIzWTQIB4owosY2QGqyYsIIEDxjFsc/kbNGfBEKJA2xmBf4C5IzC0IkduMgiDf2FxgX6rDupGAWs2ScccbH7rI/5krET5Szt7TkxhXqMKR1M7GDd4tHCrHCRpgRsUIBdXmU98d0FEG1vHW7IyAXVdEatN92fTTI1lq3H4NTgrvQiUcOC3LGKCLKNhFDKrZZorvSmAmWC771+dAdIBB2iaSV0LlEmaJKdBJzOjXOCRq0nzaJsWMn0UBAlK5kTRQnMNq2OMbOdT1UYFY3NKjiBdNhIARymecQ400Ua6KJ0dCws9GjVK0BT4fPUd0RXsFoCxc3MCRT1HfBaEZ3MrdAGsA/hd0mdbH7hpsRgiasxnc0RvBF1Gii1kMXNYl3wxaSF1uwfkVpI/XVovZ1ssGyBdFu4onRCMF05CYwb9fZMzrXv6APljzEvgkxZR4KsbC2Cg1BqyQmM8LW3glSQLOij3M4FwcV0CdxsXomdbYMxNsT6WIzMxczySdxtHwCTUf+8+NWcbAyRt4LJ2IF1YYj/kM/F1lFSbfux3qxwmIBC7oi5vcnw8ozJjHqxtRxiCSJVcQgL7TEcLjG9ZMhRg8Qbgw+QsfGFcfSN7kzh0TYkonF7gjbg/ZE2JeXJt4IDMWllV80wMH+Cl/RWJDbYqq2JUdLRACT3fE+CN4MAJFEIfWwmOMfJZYkJfE0dvslxJBO9L4Lw8XEkvuzEQwZxaWXvkL1R20zoWL9kv7iXgixRNENE7beDMNR18LiVOO3VCV2JoCQu6BeJM+GEUMxDEJEPscEleIzt8HzFSEOoQu3xnbECdY4IxCRO4chF7KznEMQxwcRGyeyth4n/JEPwLx0eSBbZM+HSAp2CbFFpZJqQGi0s7MAkp2mWrG/0wSTiAfkx7K37UVRkPe31CHzlIIWjJJ2tAnSLAIMljJBpsee0HrgTJUUJ3EP3XARMSEKoQupDcQg3jQJ0RjDCbaoF9YO+8aF1cQl6CeytfrXcbXYxS/HmJbFxC8md1Lqt72Ty8EVt+7U2KUZC3Mm1wMwoi/AtMEoVYBQeEW5k7/mWrLKCbTDTzeolM+ELsO3EI6jCjM/Es/ULyas1nW2lURDpcm0GFCeDdfWzyOqJncxvSKAJlKTUnSUp61GzyVcQxOwEAOQJs8kaDO1txEIIZA7xlEKxsPLw+uUntZVN4fH1Ta6CT4JUQ+jx15FLudeCNEJhQ9jM7W3vgqAJq/SQQgQBDEJhQjfQ0HHBxHEUYUKL0GyxBfBCRLVMJV2dzE/47cTdsdbt73U/GUB0ZPGeTOpVq4zjUfrsX/0+2QPJWpEgQ3dECn0DyfN1AnWg0Qzxx7DcdZJDq4y7yDasjUnjGUB1+hhInUkxwsVAdVWYSJ0qVIvw0NGTLbpVBu0DyYiRH7lh5EyDA8jjVdztrShH8PxZN1Fpg2cQD1mULO8QJ+1DlU7YVax1/NidqwxhQx4tZJ3c0YTpSVWtsd3s+NFLMVPJ/FTZgybkN5hLsQSMv1ANjAIYMDDu7SWRMvHhqCoxou2q0E+lYunNQiyD+Ww1ZEKcSRn2QhoRWqxwPHmDaWwlmS7tbrUy8ImY/RzgPO1hRkNcaMqs+x1GQqcx8J2ulWZD8/HP5eo1ZkNvaV8cRkKDRPWshkNzUetDUTmNJSCckDFKxZnlDkJbyTr4G0JYgqJ0iLwSZWhcQmjl5A/o8EIElVu0CMjm9bNsHQjBOBRod00FUBeINZykbdhR5pFY9TQlx0IQA1pNfZXaQpVDMnRUVBBDQLHK3AXpw3S7Q1E8woQ69K/Ryn3CjKcwH0RpCUAs4Q2+PUbxhI2ZkR9DMfgMFBfZqk0fA53wVdA3XeQMIdy98a2xGgnkXP3Ix8iMJZRcdbV/kRhDn9XJAo1QAuT64Vq48oJJAzYlLnjy3CkDdvCAFUrZyQMRKZhk/T0ZAx7957W8TPwF2QOtJRvQDN3KQ2lk07U+PLSDXEMnECoCgkJbbOjCQByoPSjC4YGowpXcf8WGxTyNW12yENHgy+2AdTYkMqnj7TnNeOlhXLGdUrVebcnk7+wuPGhC6q3HnZDFqkLt7D/gFtGgJChCk1GXQzAkd9CV7CNQf0OlsHN0aizYQ8ThRBxGcV8lhhT9mDnsU1DHyZbxjNFdAkEZmFWGMGmdBDS98aRkTZ057K4kqMN6HYXtaMNRnISNhc1G8IGEfMM3BcLFl8UoXXqc4MOsQ7NUQYLh2YXFP6jC7BLZnGURCFjsA+QhPCUAKQ3j7OKRcqRydMEU2YKindpl/m3NQ4z5imWBbASdkZFTTcFsBJ1/caLwbl0YXHKcEdCeZAdcd8gUiQzwBlEDFUqdI4JtbbFtSp2qnc1sm9hCHWk1DPH7sap8Qh3TzW5kr3HSw/KRNmTW4Bs1epyh+belEsN6nb7YBsLGQiZNToLXpZbD6Bz8wzrw9uhP7XzCCwjMWJHRYYLyQpmIy4xHkCmdmF0dlZFc/+E8ffFC9XXFnRB9OvDq4bj1guAZUflCO9EPsOLhfY2FQ51h8e0McTH5olifiROcoAk9UPjDl+yZ8PLwWkQ6HKBY58yE8GD1A+zO9VbDw8nbjO/sXdjtQ0it+MOfLQgI+2hogmaMoAgOkEBC6D1i8VPJJ0kfuAnD/HDTzWDJ6wLWwinCDoMqAhzxtsP5A2nDOvBDMUa1TN3SeBzxFvmCg1mQLkJcZZNdaYAc3GHCHEl3Xd+ogcJyNc9dAcml+UB0JnnupXzcSfn+wj7xpcIVkflDY1h+XU98Y8gElWudp1Q9YauN/dCPXVVoqRm1wyHlwQJHrcPIxolmjOrJTRmLLHrYvFwT0S+lU+Gg3a6R+Qmi8MFYUQPhcBi8YcNpMGldmCmi8IMsNTzbkI5llDgw8S6MudGi8BaxEhSlvHI95PCMKGrclanNbSAxfAMKLbzDIlwTwuZs3EKFqQZxPxgwVPDwbggVkV9kvSlImbIwx8lodKwCXCQ30GXxMfFF3QORfh2cwlmI60UifSjCuHlFOVncShAMZIeROd1MldDk2Am23bY8vfFi8KrlV+EQ5T4ld8mJmNrMEmSAFM8VxJg8aZ9DaoD4mZPRfEIyGck8iYPYJaMkIbF+3duRgsP/5avFJPirjFYlLYyTeFMdqkOstIWof5BtmAwUTji2UbsQgyUTJKFc+RjwQyvCHgKfQwJtDGw1PNHk8EIycaU9c3jwQkXJp8TBg1tCY4kdeBeQEEMSkbbF7WgLRLdhG+RUicvsd0zeiT0ZUekDMHfIeZ2mqCkMyY2BeHl57nFSbVIwbdyVKLDEXtin/GPE0rC4xY5xjpzrSNyod0VwkJJtazyIDUxtNzAWqFA46m0w6FKoHVD/RYl1XY1nKMfNiMTsuesQF0Va0Q109FG2xHnsxsXDNbSZA4lPQpqQ/VlX4KeQuMWOMByp1t2bkRNFV1FkPW4J6sTkCaOoMh2cxH+oSz27wqWCxCNMLVPcj/i2jNIk5AULwxCRC9xL1VxClsT/ObKRiySsmciJ842xjHJ13PHhCTMlR8I5CBOYQ8RvJHJ0slAXw8DUXFROufrF0kzc8SCQPz14CUcQj/FhxbbdSGz9TA7D9tzQdNekXjjbwhhChPE0kdQ8Uszpwi0MHt0l0GPJtOCercYt/eEy8C2ZwGli8BmV3cJbqMA932xhQ/KR/ygq7VFC5XyovJqsrUKYfRA8YUIWHdoJdHhhQ6iQi8VORaVtGSUZ+X9wcwO1QiJYmgjlUZFYJ81wuRy4i1EZQrg9uGgycYGpQHRy2OmYJLDVwqC1NKQqqTLxAdzsfePo7gn+w4txNRl0uRVC3dAkiPDow8n+wtx0StlqfblCdszsvYoYKUP6Rdf97pAX8Mbw/PmBfSAw23Elw020UBW+wxlDBVAH5KO5L6WhSfJo3dAxbCfMIFDBDJgwKUMz0bj9SEmq+OQs1bCqle9E2iPWmJVlkDyaI2WQHMkIPPLw0UL2yBAExDEzLQEI8sk1kPIiDtCLqEkCxpjKtYJ4fv0AeLbD6ygcydAY8vAfyIND3MjVqQzww0OiyMLQsmVHiaPFt9DhgHNpVPCnNQlYfikWQo5QabG30YAIAWWrUORUG1m3kbNC50WMlIvCa0KqZISNCdTxbdbCkR0S8aFszDEzvDG8fmXwI1O97sOjYPEJU7y6ibvFEUVdvDkdE/Ew6WT9OrFbJCGRD8KzVE+ow/D9XS4j70wD8PeRcw2aZYoJl8ToxNm9au3WbLJQSslhWMApl8SR7WOYAvR2bN9VAVBjMcJD25CuZTMIhdhTwwMVvWAjgxPDEAK98KqMTCJ3vPQixYNLKQwjJIz9WU4jjH1RObzRbu3xiA59E0RMCEppAsy4xWuQ1JmlUfqdC0RkQQOoBxSBdclQbCLAkPhFY3SQRQ8JS3gpdM95twhMUZIYI3RvfW+8SHS/Rdhwxvi+0XzElvG5OW1R2FgD5BP9GTldidxskpG0mGYIziRdI4mZsZRyaaIlQ5EZOZjtNyXL7W+9UCh18VUx8dFifcFCKCQnnMOoxlWnyGL9LyPSfYgk3lyyfMoFiCSSZQOpEQJ/Q0FgY+RKfTAlPvCRGJkxBCSM4GpDiyLOI59Do8g+iSJZMCU90Oq8eZlpZblxw+ToNedN7FD/5VoY7gjoJFzwIb0D5GCjvcgpvYqRnfEb5RiJa71MDGQkIZGhfJ6UZOX3udy9/zFXIzHRy70I4S9ME/iDUSL9MjEJjZgCxn2raI+DdLAjvA7JX0Sw4FS5rKWCVSLhCQz+mBgtjB2jCBF8lhFixYBsy3SZNfsiFOAQlV68VS0TReeEwKMngkuD6Y20CNHJPTErg6giI5hRPLSiiyLzIlj1FNFzIy3x8yIzI6WDa7w+xFMFdGxVI3zEVOR5fb0U70x9sOK9wjG6QiPRd1mpfQnCg0Vckad90ZkdGLyjuakk/SEUZMUTUUK89DwRdPlQhQxxkMbFGkTLdBiY4wjBOI5R0PwLMGSi8rHU/XTom4KGdL/8Z2Ergm+QQBXECar5OIyhDdyUt7HCo6/EB+UgUT+D42EzyEb8JOnCo/OJCVkxPRNFvNHlIjNRkdETRJcQLSTb6eeDCMgnvTXCUqMgPU01hFF8xDeskpU4RJptZ22zfcPxbPVoHLrJAyRLdA4cQP3nyEzEVnCcGJLI2Fh/yH3w03zu4VWsTlGEULAsbhxysIAFkSnlIxXJ3wSpUKU5+/0OjASNYAI8BPaNjeQQvaYEds1jkeiDeojg7YeQGGRYERhF18gKQcWQSrWTgkhUrhT+oj51yzi59Adod0QcXfEVltGKjJLokmyqNMSJDvXHCa+QXjHBo3WFkTDiWI/g70xm4ZtQHDG7gzVRnnnW2H3xD0T9ERh1Wvwxbdec7WALUXVwevRTUDeFxqncI4l0tHURFQpxoaNXQ0v0J3gGQjYs3fwa2WhdWkUjZA+IBkNvFBaVrhB3TasNLDWitBBC7jAyZX/kyY0LUc4MJZDNdESohsM2uAWCyYzQo001UL0zZJ1kDmSzBBNkvYwcyR25daORBFP980MzZCAwHMhlCGskQdQB/O+sZCTdJErJ5ElOsPclaZRnfPDYOCUfeKt9R0woJKKwM/wW0VskeNniaTd8BiT8Ue2iZ+R5ZcLUdmWN4AYkkbGFRfmRUyRUsRH8EihWJMJkmPTTkHXxYbmBhQ5RF5ATJUPRLDVffA/Dx/UzNLhCs4BaZZ39qkJifSZJewOzorDUyJBsUGRkjOA8eV1R35VZjB0Is/GdUOOjBei0UG8wo6IO8F5ZvHGnyB7MEoRPxUYlo7l6cSbQ2iX9opnRqhjXyLpRFAmK9SoYvfFVuEFIDrBWjRwk/pAYZMeQ0rGNZB19UeQiI02i67BDSDGYdfAbBByFc42jZHTC3ISnUVWis9H9SKJEyYwD2QHRopGYbMipWxi0UY7xfMXUUdItikiw0MmN/JHAhLaDbPWosLBQ13BJ+HmjwvTiJOxtF0ObUdmjw0UEkJmjoGK8oriJwVjM4JdEPjXADIUJ4lQ34fCizQJPrRNFeAmz9KQ98m2YaGHRDUlDsLSiYTD+Wdhwd0ULInsEC5BKNYl1Fi0kNRso20WE8f5wIgLeEdqj3jmihK3RhqLXcXoU3KmOccNFv/wchffReOlrfSbQmdDl/VbEf0mK9VgEf8j/KCJJbdDQxM703KkNUXK9nnWR3PGRsdx/yXOA39CUsM/UPnQzgvCQHdUeo6PVv9GMYw6McJG0kenImlSnQ1u5fcnHdBnZcdHZheIdsi3FyMnR97h7hEZRghwxkOP5JOy88JnQFg12jWRYQ0lo1egoxHhikTlthOlaqP+iQvQWScKIIwS/HChIdpElAxGQCEgkSMpJthWkse08xUk6sYeJivRy7IxJjzCuSWX4w8hRmbxIw7lskH5IpFgShNkNdEnamMWF79zrSXgU2zWsDStJyzk/ELzNK61bdCCQgbkrrD3w2vEqBPaCQ/ADUEwoIu11SPpJgiOriPdRLF2LkPmptCms7NEtWjU6go6DroU6memCFmOSNB98roLOGTdRwsReg8vVIimB5XOsfK0JWNwUiMjzUJG9uMkDkT6Cq+UwFbTVazyokKlYPJHVyWs9MZSeIlQlK60So4F9xODAKOtJroBKyerUrJV2SEBDIiEaKEEYl0hAUelZ+og2cDMZqmzo/Mdx262+bV68/WnSYoHp0v07wn5IRmRRfEhpbkiY4eyjLKLeo66iLKM1I5Dsjo33PHI9gjBL5ZMiKIj40ecj1uhyYps0ZZjMZdutdgLoAjxRelSfQGoY1YWvSZlVhHjoMRxJUYOgfVI1v0kCAIvFXnHImKVQUzTPPDrs09HBaNzFSzULrMqUpGh+WdDIB1COiGloOMyOg7xMfjGqEMZigkkGI4/8roNEfXMYVFCbSczsuPmekc5ibO22A5jIgxChXZPDhMn58cld8AgMKLqpfIylcadw4phOHexdb3FMKRbo8t2GlRPtBtBU3Td8hu3SBVoDI5D+UApAjc2ohPTFs+xxcMLct1z5rZqDB11aggXs51wYhXfINdXqOOzdbOAAsbNjoES8XR40LVkF7a5ApozvArdCJ4jkfW2ZZewJ3atiXpkV7IWoTBVV7bIInVzVjE6ZtewqmBU99e3olVxcfVx9mKLJjwM1PSWYCagRPSftKIKVQmkDHcOileVR7WLLKF/Qgmw03GE9E+08GeyNM12yYy1IA+yxPT+1BUjKbbdii1yZSbpQvzByXaIpRlje+OVwEmQTKRZIRCVcGd/QFohKqF5i72L4qS1dxuwaQmGpSd1mKMbMeXhu8M9I4NBslGndeAj1SevsF0VbfRcYW+zZ+CllUxhVkO+oXANSlepxOdz53H2YmzU6Xbh89u3H7QYI+H2n7RwwxXiEfDWYl+0hqbs9M63KSKti6l2gAytjmS1I48WtS2J0IwUYZW0DOc7du8Kd4MBp7ALy+Q/Rf3D+ncYtl5zY4j4IejwdkCdY69E0A8twyZioLStFYohjrA8DygmoZXiD5kT/OaMJmUX27dx8aD0lmBTjyiXGvcUZU3GTI9ToxQiKPFx1i7CYaQIA8olfFDSlb7xwbfcZc8jDqZYVBUlKcYSptqjRfXYoMpAGGA7w7hhiCbxp5giDY3Zxz7jP2IFjh8zpNEwIg7HjYxO8BsVKYp9j8WJJYooZT6Wn/OrQhuy11IkMsnTuGOEUXmQksRDpnynCPQlZqpAxSXsp/CVOZMmw7Gm9YX5lv3yiyd4YaaNCyAkoJ1n00ckpPUgMdOZoYJW2osD8zRjP8HMkIR1pGDTjLqKI4pFlvX14g8pIyfwtlY1Dr5CJ/KEYPOwDkP/Jexj04vuRMwhPiZ6IQEKJUEGIzONEWYq9570PYsWM2f3po58pWVnDkKqFnON0bAv9z51mKDzjXVAfPeCVH3TsYwsYAuJDSYZUAuKl/f2xs+3VhelJxuz8SSbiSJQiGTgj4QRFMeCV96J/UfO5fCjO6H/wTxD1SIHYtlnWUMmDrpBizPaRepFCsHdh53AgCZTYQ+wD+aTwZuEe4xyQc+2k8aGxpjg9MdsZJgVeuHOZHbEmBfdZiRkGGCbxnshHY/LYCePOMHZVmOLh4vg00DHT/e7I/OhxmFbUV0n/cZHtk2SoyCQdUeOVVNyVrnBWSDWYG6LukGGNzZlrY1EF+1CNmAXiFKyu4itiJ4UFPAXt7wNRBCGwhawDIa/R29DlmPzESlll2Cki9bkyNYDQQFFz2VZwWAVsZY1Z5/CYcIVQpKmE2b50WAQWUe1wRpzoBUFxEtiH0KZxpPC8rYGsvIPt4go9XAKT0TVRA9U8LFEERNEwYnbYe1HDiY7wFDRriF1wR4n8bI61lTRJ1eLJ4Kmz0eOgkXV3AxOistAAUe0VtQhZ2GrZ7W2t8O6tIEirBV8tvFkoHD8s/uWfNT9VS9QiBEPiAAlLLEZQT9V+qB7YR2RBwsRwXZEKWXpw+JGE0LiZwVSNUfzRwlgAsCHZsTDcyMlRQdgH/U+Ng/DEiUmVkWjj8cxNSZWJeawF46GDKWQFZlhPSdg1VtFRSI+k50Xn4oiB+0g/gkS0LbDWuFb4wKwgqeNJpoNjLQOIE4T9kUmU+AJdBFnltAIOkeHkst30A5ZRavW/GJFVU2Hh9FJQe9VvbOVjUmLOKKNQ7ANSY48x3dB8Ay7iIdj8giJjJGMd4p6tuuKgrYoDi5H64+CtwBKirZIYO8Ez0B6F1a0Arf840wVsnVbRG+T/o/6IWHQUabj0fGJSHSrQUQhulDl9M+NdPXI1ImLetESQDQUo0K8cKNBNNYr0t4nXUBIIcfQZ0FgDkD1sUTQYN9UTCYr1xlGKcVaAisVSYsLRx3CL6b7RtFBgvGspl4Ul4wUCFwVF4oq9fBykE3cRhn2iHefwbfUMCVJZOvzAML/53EApI9X1sKl3peQtqtWmwiAJApXd9Or44eMukRoc0QUWWOdswND40X9FJgRCkE4Cyi1gCF3izP2u/RaQHeNXPVwTsGM9Ysz8NBWfNMI0RrzAkZAxcJGjfDPIVGLJyMtREHQ8AmfVmeSa5YGtTNHx1H+x3AJAhSjpI2XbDelQ91WfNPpxwsW65IGROtB/OAp0NNFTubQTevBONOMYR4hb7NKDuCNyBPyDSdjZrfrlc+PF41HIGhLI4hLlNuRJ+Zjpw40Y0LRBLdiqjVc10LRY2Q5YGLS1cH8DWZBG5LsJ1AzVrDFU5dRJUbUYwINOuMaROghtGaCDjNVnOI7tmQjNFCytIexQgvzlZrltrOzQJvH1UONwcIOdraTwJfHqmd2tn4inA0iCfa0Q0DK8rHRWLEYEr3WhmHuRTuVGzHGZaAQcBNb0jZkdsDjw83ATrCpxn0heTQSD2VGjFDfxypW+yUbZF9S9dC7jUxWhErqCxQlycQr8bxmCkSXUYb3sKLT8LdT4Q2YpDuQ/iZplphlpML50+ANWGCvQf9XwdElIlO0N4m8wJuKgEQd43BPWKYTIg70mBHYxKJUwUAJMBWlAzEeNV1Bx49ZiodzGEstZ/HCXSMv83BJJ2QJIcchx4q8d+IzYdYUSJRIrzKUT9/CnQw6MKvm/pdhQd6z0UJwN+mKhKbhUsriggBP9bqJ4sXI0r8PkhBFYdYR7SCyFuX3h9QkET4VDsdei4YEZBca0u/0RkXSQ7vRJ5fwUXdjI9IRFs2RnjFBsiWWYxfgT0yPXVc58d6OFheiCbvC4E8wJf/i/WQASkznnbDyJrtHf/QgFPwQSYt1wAIVroir0p5BFBZlYw7lSMFMTGli8UDlxLnRRCcf1LawPWZmgd7UESIfDk4NLJW9Q18P+ok/V0wnE9QsA4LFiUEJ4oo1LMF7JJkHZRI/4CZhSEz4wAm3dBX6xQERbxRsFCYjmBOfik6OxCWfji7Gzo/e5dgSX4pOj7EIFUQ5Yf0OssMVQt+L2JUaR/FFnY6DDgMIN1UORNiUqrDbQH8kQ6BAksBDbhbLpVMNwkIhlJ+KN8LCtGRUlPNlRACQiWWxRkZD5xcnoyMLLuRO0/sTYw58TpfzjIuQ0JBP8wzttPZDMMNzkW23TDVxZrN1DI/GjdfDLWdZsx3DiNRqpUWSiKXRllB2dIgtcePUQ4+wj83EKZInxNyMcRDCwcVmXMNolo6OBvS1Y6OQekUOsZdU6zJNgkWPcyQt9k8R8+HPkAPH9bRzsZ3xtosFspXjyyM/Q7cWqwlt8ZBUdbRFsPaI3JG1tAxSA6dhxovCxbGO9A6MLyR+jPgwD6W5loNF3fB8SKWwlrULJu0gGw4Vw3XXbGcVs4Vx49MgtYiNE7eRlo9W3pN1NRGVi6ObDKhWxyNSo5sNa5NV038LnmdbDeUW2/OUiw7iAEunDicIchNySmcIOw1yTojBjyDnD+dA0bRFDkVxeuMoQbsLTsGjlQJm1w0NQxrhEyRlCpcJnEaWUvsPlw1zAupVWI5XC1dFfLeKSsC1f1ShkhOgj4wXJYoIc8PbhHM2SUSvD0SNNw4QFq9DaIq3CIAnL4poj1fma0AJIYcPcDQ3iDhxhQj3DFlgo5CFCsYI2kduMPUNzuRZZ2HF/pXPdDeMS0UYFI8LZEgIxs0O2KZ+J3BJTIoCTneKvHDBVU8Nycd3jNENPgt2JxrgRxdYkUAQD4r9lxAn11Zo1SbRTI8vCQ+NicSDka8PCWWNMr8QbwhHJ2cgSQzxQJ7jwHdATfvE7wnPiSB04ZfGEC+IGMKzCh8KYcKoxJmxWJD4IH6Ur41TDp8PCWOvjwZMQw3TRm+JoQjflrfB2MKGI9iXL8YvRe+L2JCKUB+LzcA/Ct9S4eb2QEyROODDRJ+JoQq/DJxPohfqJBsyrAscTKCjMcV4S4khOBXppvsiGkhY4V2yqvOwTjeMxhQuoWAXmkrQiPrg7wZwTRYPMo9X1mhK7EsKYEchFksMBJ5CT4mWQpG1hEZyZnzTzJXzEOgPT402wZKLf3TX0uBAEYryis5EiBb20IMRJUN3RvFhEKRDor0xILZ813YMEbddNvFhx0cajAmToBa8QFaNyGH2J/9kWSEuCzF1RyfQp6sUYULfVdxixdNxZELTzkeMZOIyYZLHVBuErg+vx75hXsJuDBnCkyfTot/y0o/dltciUsEsSc4KLI7XpG7kPRahj1zBU4zdCodjX7CBjOaOSKCOFd0NQ7BKlJTjwQgGwV3F0RdgiKjRcWXEIr2R/o6T0sdR5VH+imZADkqtwZaL6cJhwh4h3TTU5yhNMGBBCU21RyFfoz6KoUVHIlrgzw1D9tAU4nDxlT/DrkmkiTOR8NHPjeJFpZD1h9DwVk9UopWRcEBTRjREnkl9JqhOMkNfIJ6Otk0C1RiXeTD81xwjwJfixkDGGMHA5n0NP0LHIefFbcBMkxel0WKRYi6MXNe+YVLBJkwCjSbgLMIujf5OY6TFokyMrybmsQFL/kskl/MI80V+Yw1wiw9dsYLVwk50i4LG7kljgj2RcxG+TFAjsw5pC+ZLwaFxVI2xvkrGs68XpmBHIAVSs8DS50+PIJU2NDBTyEr3UrYzX/eoT4aw6w9aQ8B0H4AUjU6Jz4w3Fs8nECR+TL9DJw1Tg48Jz4nPN9U2pKeoTDhX1TX/RDAVv2bnCLU04BXH5uSOLIPeQEchtkzLwfNBeyTrJpWz24RR51fW4rClCJFEvNaziXiPpOVpESFnxMQxSBULVBGITnXlAdGPM2cjW0F1MefAJKQyxuIisU/8ILlUryAh4YcKRwgXJg4jtxaWsbgTWogrpMcPxUEIpypBjyPHCKWiAU5ostsI8kkIpgFKVI6nDtcjAU+JTa0IusAjJtzTxbS6RNtgOmZSZaFlrRaMx45EMU6pxNtiq1AxpaFiXEPiwb5FlwwwR7ZAmMDeRRG1pbN1QeDjipYlsqrSJkXiN9kKGkJ44RpBY4T1MmDDyWaI9GVgc8SSSR3HxHP2MQ7xhcWvE/U3c+GFxrf0xbO11EXC0EcVCHYxd9M4xsBKVxR/5sbAKhYMpkvEmaTZSv+TQUqqxFTC8tTRDv42CsNbtFMLE6ELiLlKJcSXFs6J2MWXp7+nJwlJSezA9dWlshDCw6f7hfJTxbFnlCbG92A8xcmy5UeKwYzFCsN9sX+Hisei8mSPeQ13Y/VFpIn5D4rFCLEPCAUJecSdsPUOlmF5wb5QhQ4D8XnGW0fySBdADlcIJAjFtwpFCGOmDwxFDFFJJUtnDw8ka5EnoVcgNwrRSarE2w2Yj8C2LMHGQclKMU8AYZgWv5c4i3HReUx5T1rxp2E5FhBjVQ+h5anA3UW3Dpp0FcMBp/JKv5bGx6hTqw+LIlDSOMZOQQ8NLMGlx9mLZU0PCUjijWBy8HPDgsIgVa1l9dXVTZFgmMZJIgNW+U0GMjjDJvfltDvlfsOltJkPWw3lSP5PuUoExjdAJkwOEeKivjVMkvpGsOUp0o6NckQmwroxVJCNhspFqcNOJxGTh0ZssjjAcWWzlfoQDU8/osfAq2dvp9mO4iGQlP2UFcPOtHWRk2WpxTDCTbLzQ6VSjUh7JU2WhXWvo1ijvogV4Y3A7khtCwWIT6JBxFyLCOEGx5/HiVVmjsbBzzJ+jWaKZcPaxLMXbU9FSpGwteEDorlLTRLQQK4nC4vZZBGMLsCxERCmYYrviZOlGCVlDUTlbVPZSPfCSxd+FNlK8zBF0Z/Cw6MfwevTCZYdSYORfg350KZIsRA8J2CNovUexbVGp7D51cMnVMCq4ZyI+XPgSPLEGmD512j1vWVLEgXTJ2dTxHTAPiN9SwJAQKDnYCwnjg5bYHiPuqAxiU4M0RVOsEG0+GMDSs63CBODoV3FsLfeFYeCyWdooHJAQ0750fYje7BRMj/mF1fxTw7AcWTSEVZA0KcOwfkU0hegjs5OZCO+FGFnaKNyoGZNQ5YwxR2G9yeSF3ZAPcAPDHqLStZjTUCklgoF4hk2TuBC9VRL11GuUzDGfrXW9shVSUrFBbqO19ZvImyyLBa6dN5Xy0HVTSWP+RfeVe/hMYnC555UpCQqFRIzgyIDpCyiuoqUSpOjTQyUT9liiE8dJLDB3kkWSVMR6eYWT+1GESTIsb5KBRXQYt1hVkjcprzwDIHeTWFLwmS0i3NNlo0KZlUm8WC6Q3nBGsCBDrpI0okQZy8hW5VXxMhgJEkviGXwfif3RB/Fhk8GI3VhyGbH5MlnyosCUGkPyWTOFs+x8OBvQcykvicLibfW80ZsCU6xpgqETitL27DKRnZMCcAdtzu1XsTJQYp064t3UABN4goQw2uV0iDWZbdG/mFrRgRKD0e+ZKyiw2VdQDyXXaPuiyZhEfNnJGuWhmej5pcnVQnGZIHjryUUwsNhwuS0w9bkAUN2syILFyVX4rHTJ7PPI0DklmaCFf1NKyVSwBpTLKKbo82MPOWdsaXCAU9M13VjQiJ449rw2JejZXhlAUtTg+9g3EbnYlRWyEwQUmxNAUpjd19klCEPJN6NP2UIkD3BlMU35T9noaBXJ+OiOOcLU88mtRAzYBRgFyfuwXT0JcTHZmUg5kigcaLQusB4Q4zT+rQ0l75h80K8CABPvmCITOulGeYnSe42HPAWESFhu3eVp36TZyTUwmkWY6O5CsdKP4evpmOioUA9xQ9SipMrcBcn6jcjoUXTnyYl8y+n30dDT2TiedZE8Xr0ryRpYrejUea3IvlMXaOIMqMiSyPJoWM17dEJT4qSalAjIQdOcHVnpjFVcMe7T0mgbYksFntIHbfMxrwgVyVSRt+VYCMBIftPHPFwQ3CgzyQHTDpxJkNzY7uDUWGaQWvmlyKHSzp3+/MXItOSekF1g1OjucOwJ85BHgvJZNrn5WW8pSUKx0otMjRyeVfHTPOm03cnTYhKVkbiJdFkSElEt8nAU0ItRFnz3KdH1vFiyEi8ojuB3kjCReR3XKYTQEYVanYHRjWOFkz+lCt1sPD6Sj+BWPUQjG9Ls/dG9mrma0049RfyWkkXpAyhuXcUTe9O2op1xtVXd2M2RV7GauQKdpix42LrkEW3hLb3FZ4Q2kDTQxzDYCJ45ZAU+4wjdKRy6kpgxnDAxHOHjSelMkZEYJvCUZBSpHJDakyni0LEGPFzkw92Q3MY8yXUo49SQffDrkkyExizdEGwCJ/C547Zpk3V54oVwf1zlhAvsc7WO3OWEAJOvsPyIoxLF4ymRO3WGSZeiX9SbCVJJivRIBeRQEFU50OQESFE4TE+ibpCQLSeUw7k4kBhpR1R3XWMEc7TSLEBl51Dv/cdcI7RKhDcRNx364B7QLTAmqVxiZmOniNlxdxzQooqQOKgKLe1IbUmLCOw9uXiNkJfVF1zN0IhkpZM9qaOdOGMsQgjRNJxQLe99w31YPBacpDJCErOcRF1qUGvkWx26edIUicTjHNOJ8RXSBXscSWnu41AoP1nzXDRE8B0oYvAMyfQg9K5AICynaBhkwJ2CPCAEH5EVdFWE5A2kHUnJ1tku0X1cuxggE4w5tMwCkdVUCaPho4AsWvG5hGglKbCU9NtJs5FcSSb1tMxRlYD1/S3L9BqCi9TVdPbkW73gzY3l7BJT5Ye8IPTI2HV8FWQKFcE4v8z3XRV0w90N3dnQNORZsd9UC5AJ9WsEovz57B+9PWS2Y9bknQSYhXip7My3YAC8FpUx5YvlIeGGZX40JeQqNDOjyzwC1IHlRDFPkeIJDagaMwRlFXTYCQ6onwBpg8wyTDPAFAJQZxWQOUDlmuWxlNhlpMyhFItEgjK4Mink/RFk+RIyQpGEFHtQnPESMqI1iuUx0Ihlg0hHzOyV8QVZULGx+82rUTqw2GXh8XBVYeGGSHxF35jfJDP41XQLsUUp5iW7iYZkttGBXX9osDQbbcoVvJHr0HHZfDFMFKaQAmTitNPcIqwcyBFpwTICUG6iYTIefH7Qnnz4Xa4NMTMJJeR9rvT2ye3RQbhMTbmFmjMyXa4tn33JM6/ZUf2tMchYybHlI/hZu6g9VRa81JOvEXPNR1gcyKKxprAhzfQpjaPPlRPNlZ1LfZiT+swsXT4MDPBuFY3g6XyH0h3MUeGbsKt9XaPAFIIIubxuHT2ikFTCENa9YNiOXRtpRqOHiSmw58X/lXd98xiQff4p0yRxMM1skH04kC0lz33wfLvRaDRvfbB89I0pMrLMIkO6MlwRhBToFcIzuVD1MmyJCfkdLUsDFTNTscf15RVmqEBZiqkSMi2Rc80wAjTlS6P6zWaYIPWp2V3NG+TbFNV0t0kyXM9hnqLpMW9w6TNqjdIV3+XKXHBQh/SgJKp8XDOiaEISSTOINeoz8TO+dIf0x5COzBJMK4TCTQ58Ek0iTSMAWFxiTOPxZS3ezMHxEFhJyJszrn0Msdow6zK+jF/Jsk1ZzM59dM3zMAnhy+SXzWwTzXCnMuRZvYmXyPu4SJAAXDjT95UqVBcyJ61iUjvRVzLIcExSXE1XMuHRrpPjkiR9KhRLFcGJhH3zyboE9xJ1zfz1dgV+VABcCpAV0UJTNzPZxIOEo3n0Xc+tZAVqMCZ81HlpoxXlNzJn8DqQztAXMw9dGzRu8R+cBFEAGM1RBMgsfUgNCvCbGPecifCPEMfNCaj8WIDFw5B/cTedUwWAko2wbHweWTo1nehDzeDQQUnDbOZYOBGFcJGj+fEjzESQA5BoDEPNdnT7kJBwOH0/ZdoMwhBDzbx9PZBxo3PM/FyWZLuSWszQ8UMo3fwxbMJ8/RHAMKmjJs346PricTHoFBJ8CTDiWROJUl3aOKv1MRGEWcrFDf07uchZ/eFWYz6Zc8wiZX4U3xI1dIpd/b1ohTB5CnzfeTX8En0KfOqszUnu8cvNkdE+nLg4s4HKXaZRYdHqvegV2hV9BN7CizA5rQgTJ+JtMra1UmOJVB0zArIARX8SkH13SXRjxS2wfGGEipAjYNQU4lE0kcNQ7iXE1c9wJmOGCJB9xcjP9HC50FRkiIsjq5CxEnOcZqQLUNpYssyBkBf1Gp2DqAEUq3mbUR8pyFR8aJBiMaJbFCBQ0GO4slsV2ZXEswmjos2jMnKxYNVMLbvRPDNMoirlKtIe0G4lPEXE7WnQVLIktTkV0BFqs1SzORULUP+j463BMkRZPZHrEdHl5eFUsFiRJJHTFH/lB+CXkRl1wTPTKLn1HTynzaEZw1ByKUwVNniKkO592Ry/MwwREBR5HP/ip81NrHO4H8ius56j7tiKFHGxcE0ykkUNtM19fP6yh+Ug1EkDQGT/yYvl81GXhPINSV0eYqxII7mF5VFwyvA/AhcYCw2Q9VZjXnFNfXpoqskdEqupgNU8UK8SN4x9DUOwnBgARfXRM+VZ9GhieZ1UVRI1AgGu0C6QZV2rJWr07kgZsgV9+ATJFD9VlVxxSfNQZX3VXA9RX2m1XcsT4bEPvQjZv6RrE++9npMLALKT7VxYwoGyzV3mEMGzlyntXTcwbpWhs+1cHVE8SQopLQy9XbcQIljNXP1cHIUtEoNcCNMCk7J0R3xxFZ8T8uCILWNdABLJsvAMk1wkY3gi01x16OmymkUI1PDk9D3xDKVQjDKwRKSsa1xLXclJubPLXMso9tC2RQwN0dwV0HjIZx2x3UWzc9LbXAKDZbKJ3V8FH/B/Vctd1RWc2QsdqdwG0fJxNFlQbUqSAEQh6JndGigJ42WxMA2cjG304y1oPAIQed2R4y9giC09ggl1FwmF3CaVQeMTUOuzJdx/8Xf8T/RqES0wz1FiBLuz6D1zSKWyVX1qMnG0h7JjfaS4J/BTs1/Mz3nuycuFr82ZSPiUFWU0Wa8NBzzh4guz1uTgfe0Ue/Tb9VxJH5IrsgPcGKJrsxIMK+RzqdPIAERyQs3k9al/iTacfQwlBJnV0oJhVAsN1oRWEoF5xHwBswN9B7P+suMVN1GYUyWyv7PmFLN1tdHrRUYUDrlUsY+yf+TLE8c1fuJZFGRB7skB44jUtwiq0oWRYsgWszYNENH2sqEUKk2IWABE5ZI4VMt9Flm5cCQVZDQ/iLh5sbQh8at8ceOdadqy50iGkq5E8uTCgql0v2mHiFsV2FB7E2icSSigQpxiIAnixc5cQzCASYa5xNQl8NjQZcnGRVKyCRJ/8TXJYH0L/H9QkuOwfcdtQQS2FGKzTbSbDPg5xNVnyYeEYinDEtRzHTKCs9Z4ilz8EPyzgrP0cmpcoIAkcYaoxWwH0hudjaBlySxzvhXkMWAIU1FzzBIBJrNOEk9QZNWHiPiVgYJraBNsuVG7pU1Mss3QWb3VOPAn5VKpk+zS0GQxiH2JsRfUBGxCs+IMDEkgUnOdTR1b0yfc+9wVkz6TxbPDiHwDD710kTrQvGgTfIRFSMhfAhe8gtXw0XmFM+VIczX0oLTb9dox+6TtBTPlewJFFIodeJ0gEV74xpJFEqu8iwNsc4Atf6O5kipwU/U8qWrRbvhT9CWxn4j78JnkpJGXODDQPnCX3SYY09LS0NuRKD0LUfsUsRUV3CvQ8AiUZUg8B7K18BJyCDxlstJzq1zbXLokHnU701wMNcG/2F6T4dCQLdm4mhNTceRRXcUEUudTcmhe5HPiFrGfMXWQ0bnAOUvQbZ0axc2SBdB2sH9Yb5K9jXkw7Hl1kqLIdrC8NCvTPTErVCm4CuS0KDepvrAzvdPj44y0MQIT0+NMUODdpGxV497Rsf1kcXHQA5JoSAwthymq5cYwnylMLIGRI5MB8bZpApXp03WFl7B4yD1xsm1mqWs9d8gFya0pOC3i8AOVxdQhsYFzP3jnycCIJ5HjzOfJAQPRqaW9VcgJiO+RcvBCKK2DfHFa3bczbDPbXIoFIlPlc6Gd95R57fgy9lhXceGUCQKu/OYwgTWFaB4drP1PlfLQjZ3s/FP5kikhYtq5XPyLkgy55Oi8/ZIpoqieA/z955UBcKKlysSgKP0F13XC/cYVElPu8SVxwtUo6ZjoK1C9VDyQtNM+MSORUvwwUbnINBEy/CFo/qVXlVkU8v3vUqVoI2HHcYr955XorP0s/4mbyLKU8hz2OexRcijMKRKsnJw9cVxpy+VAE2ooKxULA1S8KikrczStoeiU0ujoJnFXeKeULXJw0OU955TKnVVUD/A9cXZx0yLVPBESpWjQiQ1FCGgFyYsJIqyHVVpTIij2M5i0KfBCKGeD11D0iTHoOhJYAhCDFOls4eOQR/1lbUBTUFKRVLxiQikDJJ1RV21iUr+z5ZDxzOdzbt1N0BWxRdMP7KfinZHNVSvIHVznA0FxnXJTc+zZJy2SKDNz/jUyKeeU02kgORcs8LF7cVICeTAO00tyc1CJ0mtz9XNM2J3xaigl9XXUOKkMsDoIduKxUZKxRdL2TXSZeVCPFKjTH9P7LT0x2ilITAvRDAljk2O8xDE0cdzRm8kM+UcJ9fXrqMDSTG1l0P89kNIVGNtRDaxBaax00BLq0ZDSY2k1cL5lkNJfBMfV7TWQ01mdIXCyGAVYuqmUWM9QmZBE83rweBPJ0ODTC7H1aLjQWeTw88tBVVVSkN/woWjjPDqsUdmbua5iULTyib+VOOlqrKCYcCghZDZoywPXMLVz8XFd/CDylnjUEzDQminukF/U8Bx9sPCwwhGu09X04LH8KKiD+506/AjSD3A2XMTzJShU2EFpRxBOAnCi4NPA0x1ocVDg0syR02kq4PzzEZXluXb8BVl3EMrojvxrlLq5qukD0yTTQqkhA8z9welrc7tcNXIrcyDzIdyelduU1bBnXQxYXPLh1Kw8Y2xrlFpEiC2XQWn1NEREUbuopIX85PDyj1CILeOhykmC8xlldDyWmbOTvkiZDHCRBLXO7fMtjqUSkXDyaPLdmUUM9jPI89EISQ3jYcvRyPN0kWsp/CCfMerzCMmTHOYRNthDQ7q5TNwfcduV3ULx3ELYW2GqcGQyIlOLfSW8tILlc2+yP7MSUuJT37Ma/UXo1XOxfEMxNXIOkfVoBE3PEb+U6AxT5Cxt5Nno5QD8n7Jv4cjZIuHpshYyVmTwsXGZEV0mHKTZEZgPA2fkGQmQ00U158zzsVHyJvOSQzHyl+mx8u6xxjAYaCWDKtgJ8vnkkbEHzJMw/enj5SGz1zCsBcozZ7CM2Huw7d10hABVZ2nsUM3liQRtcKnJJZDN5JRIBVgC3PGz2yQ48zzd2XXqaVHyWxKszMwwBdgIEJAorXxMRdooQNGFfb2RfLA8TEPd6w1lXAVY5pBmckV8QujdcAfc6jkGnTswNxEn3Gnz+LBlffVcbXAtFV3ldsJS2Enz+7JFXfHzCoi7s7/ZVYjAFVwMHVzIKYshqtBdXdWyafJl5RXdtbJ6KcZJYC31s9opefUwDS8Thtmx8VYlQA3NsoXz/6in4DNRlESdrAANAZI+uF6YZfOVDdNd5fP8hbNc14xV89WCWi3QknopNfPrHf2zzXF183scK1xS6POR1vIY8cM98zFN8rHcr3wp82dQL3GFA6MxbfOAE0NzjnElDP6syuyfcO0wwPL33ELoKux+VdGxffJhfelRUlHaKIPyX9iynUPzPpi+2URJ5fMNDJTZRDDT8hNoEbXX2JfwhvOhSPVYdGPC896zhNiz0vzz+rQF7fTQYfLN0A9Jt9HO5JPzp3JjWcvxltNyuX9FTpW9YkFpBnCKlPbllEQyvQ5UEQU58uVwva2J7RMwVfI+JW2ZiZHD0kMs/N1tmPxEafJr8wSDMFScVJdcWtIrsHTpH90a0m3zHfK27DALe/Ni0oq0MNn8YulIZqVW6UfzhoLb481w/fLimTtSZ/J2tULSHvI8TRfzIJhJaQyxsjFf6VU4m43umbNNnYnc0J/ybPCBkUOJykM58mipU4jezcjyz/JgyDzJkNIRWdutN/DA0+/ycmM1kDvI8pRf8jpVndGQ0j/yQVGZUbPy80wfiDkN3EwmCLvMQ5XCY0PzrhA6BWRMPfIgbcBFTZ0r9cgLxIluojXwlzIQsPcY3qMz0XDYAlFPrbrRKtjpMKD07qLm2buzdNPm6ArSYQVzyftTo2KABBG49lJVolGEb31d2Pni8lQ1wM5TVCnQBTBjFTAB5KdtD4RSCu4TdqNnkEdxLvFbBfS1mTEQXFD1MwkbheHpQFkDgrnygVMpiMgFGuTFMB4RvRNeAS5TRLWdeLKNB+ixMY2haxN8RV1SDGO+0ryQ3Gz7dNsS09mZ/Xai6TE9WAxI3oV2o5zUw7HzuEOFq2zD0KNSoAogKUmDs1N4/TGEObHVMPdQeCS9hRZTs1PmjQWS/VlL2XYKzKP2CozsIJlFgvmJdWjHiDoKLgsPUbRiqAu7sT+twaMGGbYxBhOrRSVV/sjKY31MPnR28eQ5olGRWOfs91Dr2Wxp11KxooI4+wmcxMYMTVKESbT0orAr6NtpoaOYqCe4XoN4CmBjvLgrWUIsZMRQPcVw3vQQY6KssQtEAgsjSExjsAXoqGLwYr2xj9UrgsLIsnASsMhiLWlwiUvCC4LTknpIbgrOjCSw0jA7qXzFnDht6ei58QvoYo9p+FRm4f9Sg+nxMfhVVYyBdKJxnVLXXIgJQrDEYvttJQoEjKRikiklCnco5GNRMdDRXGN+0wdsK5GMMO5dx5GibA2wIpKEUetR/HECVciFFDEJybRsCo1xaTmQ9Ahfrc4K2jEuC58FVQqNabIwENJrUXushFDzcWwF3o1+iKQwTrhFBdRx3LFcXUGCoIRplEUL7tBmhNyj+FRxkdOEuwgNsS6kK8yKIygpDHHoVWUTwsUM07xVUwoAhHwL/qQ6EGtQrqPSLY6lwgro7cwjjqWNvDDtLGP+pA+xcPUJBbooYNzWBESNlvBbiDER0goE7NxiQaV9yJ3TkOz0GcaR3QU8UPxjIrwIPIYIENOCeVfozIy58kFQjAo0TGoKQVC9+dsLadCiYlttz9lD9M5xB4mxMKjJmaG6ePhJDxDdMXOUb5D4KUpwewoieMz5dEiKY+MKx3IC0xqcCwrMjF+QKEiscF2wgCh28TRJeJVc0MDUvDMPSKQYMwscEnxJ5NFQ1bwVSpjP8EQoQaXbkcFjTvhnEhDUMXGUmZlybNgQ1EKQlii5ydTw+8CnKUusBX0LCvziKEmW0GZN/qTTiepwroOWkEGlbQys7cztlrAKAtKIjWIb8RjgATSNY+ML3XRc7c1ie1MkmO1j6IudiJ1iXnCMnUKYTpEVMGRB/Bgq2ODIbdljqUop/WL1MQpxTCgHMF9SCljDY7hcFLB1HNqDFjwp8iGQFwtCCjvzMAoq0viCHfJwCv6YUFSki2EkyZguPJ9ZgAmU4qbUhItYGXHspqlssa9Rxdm9rd0szjFGUrbSTFmCsMfwKRn20hZSHkyulE7S9lOQ6AtYWMjOU3lJ6pnt0QtUMpkwUJ1YP+j/JetYh1XRdVZS25At48DwJ1KcyV45/tJhcYz0lNmB0mZSbzKy0N4QJQpcnBK9bqxh01Yo1tA2tTYEL1nQMSjzi+EzkHg4N63BrTHSFLAlFQ7Y8dJe6MpYwPMoHJSKcAuOpeOy1ItwMz74k7IUsWCRprHXVNIwnWXVDPu48iVssKfkiC3p3VYpM8jnfZnczlK5lSd8U7z3WNsjXAyWg6ewihiVBfncx/lWKLpxMAyT8fDoJ3LbsnCzbLBIFOWy5dwqU2ii7fPb6fi5mopqMie4LosJ87FpdGy6ip8xUwxnspywfbGFfBeyL1hGi8VdV7OsiiaKWVzkhAoK9D3V5XeyIgozuYbhD7NWU1aLHeU9UI9TNosvszvo9TGZ3Yvk1lXtsI3JmKRBs57opItOihoy6AsXCmvN09wp8zvyETOM1QIL0fMZg1ZSFory5TNtDvHC47oCFjKD0H2IihjC9Drlq2lY6b4RFFVhEaFSUbIr5a9QwDjrHTGyeLFRC/9ownk6Mm6p72g6iePk7xxbUhZQAfM48EHxMUkHSbF8XvKtscGZFYuqRc1iQ3y6OKlQ8E2xihESKIjt3f1DlovZUw3dUnJGOB0Le9xXRIYwHgoTfCLlqjgpSBe8r5CwOASMh71q8dVoc5AM8dIz830TsIELr9zayQELqdmv3SUy69kLMSPdseS2eUvYULALvQPS41J+BFP1232zUjG57VxjMQPpDfDUbdgMB3yP2UtJXbN6EQMYdgps8ttcp30RCulkdb3nfbYxx4TkDL+Ve+kvKdd8sDl1zOQMu0R+C4kKg7MPfCSRyQsMnb7jGjmpCwydo7J8MbHT93yBna4K2vM++ERchFFtUA7yR+FUM30LWfP3fTQzqNQvOePzm+mb9MxNAEPLiovyeVyNMttdo9XRaOHc53yfOBjUBFB9POosyxkPC9XRS1LTi5cwECkfQ/jd4wBEUNUKCXB7/AsMfDMU8XDs/agCM6lQowoWMKP0I5BLaSUKmyUDDGZxqIoeuTN89FOoizDoaXxJUILz4Z2ITCvkMjJFCvOQx7xyM/hUEIMn3AoyzQpKMGl80okwi8qpdXB1fOpklWmN4L/MTYqZClN8DYtMca0LejJByewwtCncqH7ywDmUiQjQGjPWss0LCnCj9YaT42hysbz0AbLpMJ+Kypg5FAGy021/CpPEKNRi8Ccy14t4nEycaBTMTF9cZFTWMsxN5CKIVLYzZ4vloh/k9jOuKdfIk7lGVEJQ94uOCcoVuqxfCzNdZ8mK5BowK4lcXFRQAXwiNKwwtrgmqeYlF3yYSme9TBWCFM0KRwi9FXY89DGicTkVUTO7sHkxdrKespVTDguGs5x1o4rQfC8x3jlL2PjJmNQEfV2xwtVeXPDFanAbiXjVf8hEVeSDL2HOXAcQ0jA0af+p20ygfI4xvtjbzM8JBXCDxIhUc3DYCB4wVCUKSlnQQtjrtFAy1HKUSB4xBckKS1eJmTFd1a4zKKmpikAQMVmwfAsL+jGmnWJzr1PtkXjUknNssUQxcrKhHFAL85OLMgVYIvKnFe4suTFuU4xyntK8kaXZyTJD+WJK4HxcshwVB9jRY8pc6liGMWcR4qW/LJKz6jEAkCZ8HmXVMMmzuTMikC84zQqjjJp9M4VOSv4o9LMZ0DMKJ7TeWE6JqIorFeyylTL3i4btJs11zJ5KxnEmzVJ8111E7KJ8o4v4VKRLHhUrjLhVDZQPioJcH5B8cR9C4A27nW6Zj4uAKDiylLGPi7RKQ82oUbUL9Et2zSYwZ4P4VOBLI8ynGQlLKNAmfY/97wvg+F/VlCxvZRBK3i03nGsJ+FWJkJhZfkn74M0LeJj3ncGlUEtz9GxYQShI6ZnkzVKnFYWok1P9MRMpjFwbsJVpuJQvnJxRcWmekalLsWTAOIexolyfkq5t9KhSROBdP8iOMAlJfzMXfV+wYjzfnYSYR2gNiegUgLUnpW4xhjN3MzXwkohSIg1K+tHi2djI+F2Yqe1KFMTUXWqKqOmUvfEz+lADU4B4uzP+jXIwsHOxMjMKak3K5aGM4UOOpRpNOFz6FFpNSwtW2HeV0tnw8LpM2T3xMttgFpEYEZGM+F0/vVpV7u2RzfGMtcgjdfd4+F3DCVpU5kybM3kkpNiWTcNyfs3MaLhNVWkGkGnMP4MDcAZVO8N3MxFom0sOKCR8m42J5axpHzJR5E+zSzCiFAQsT1XA3U2zrcybGWdUVEk1lABdg7NaVaoRjwqFS5dBgMmvDNHRxUtGtUxVESS9zMk9JEwCGK+9/cxBcLNK5dFCROQte3lTS//kdPKnnCVcklEK9ZGEpxTMZdaRT+wpirRZgunbCzWQjZwRVbFsj1V63Jp9UAQzC0PRRtkgWX/YMwuVNdJSpxVGWSjolaSKCOxyOTGo1Z3VQbiTlNeCWoo3Q3sUUanjCh2RFbKQVHjgnjhQKUTQ1BQekOYKWoorvGBVSPwzC4kFdUXV8MzgyNUlkP+8FmkYpTw5KwNzVeesyNVSoujUS2UYy6qSURXVdajVmim+spa5gMhfrLINGhXDjFDL1pmxXJiDOMrqVcoVpWgaLFqLcY0N5bKIyNXoJcmzRjPky2IpLvNvi/QjVx3x3XZyoBH4Mxlw5wu0ygotEqnbCmbQVJywPeMLpLhycbItD0xBpClxCalDXLpFCwo4KOw8683+pefczAw1TCGxsNTGMA29RxA4cMsBffg9nBGIoUo6CIVS2FHQ1FDLHkjvkA+N5MuHSM0xfpHh3aTKpI2PkVSMsIvWmYFzZ804ymllpPyuVMjVThi0MSc9oMrUMPWcRGOw1WE4ox3z5azLTFLe/VzSgIt2E7ZphiyPVJtwhi2InZcKpgKT0k9LLQrayhLLdwn1kKbE1MszI7Oo6W3kyvwRkbCjuYjL5lCNnAqALWWIy36wxRyQZRh1w0rWI9axltChSgPtCJ2yTQ8KhzF0/YXp4wtfdLbL3v2OpC4zanUAMgBL5QqZnUAyowtOyiAzkklY1dfJTND8aX1iwUuu7U9dE2UJS+3lMDIkmRBLG4wB3PCLJ4uH9MOcWAxHi/jZNJyMtEY529HcPGOdTYuZCoD8MtHrsFDTF11xGApxESkXXTjp+UuGM9wtzhlhtQOw9lmMUTaQvbHK0O+RoLzSSoRJRgxHqKYK86ymDc7LfEtmy5h8dgupy/bKfjD8Cz/TIRJRMC0wPjFi8DNFizGX2dawXXAmMGuQTj1bkFDcR3GWvLmpU3Fd2Qkd+alw3BjoENhrsOKp8VKs1KwSa7GXMD65wggksdOo2RnDcLKLXxEZjGILn9VQqCu8XnHo0eUcQblYiyM8rTHJdA3Kt/ODaT/cYgqmOanpkMQBi8ex6R1KcQpFAF1ruST4fnMisB+ZKqWrVaFSfIpqnUSiaVLhufzdKrH7U3fJNsK83QtQw7CVKFrwIt0qWCEx/n1jy5EdHVLM8h5TDPPrc9qwt4mYpKDQpTz6saZRZT2A6SoKUHPlNbtzwVMZ5ATR1Tyly/+oaBLli+XLanSC0B1QUgtVymdzkOg1y4qK1ini0iKK2qMq0Eu4YgsNy+fit3NWUiMld3OKSvdZOApq2I9z5opT0mY46di+cf7gf/2GBBmLg9IEURY4iXM9y07Ja9HnAilSD0jNAzaFwVJthZHU7PJJ6epwCjW78TZSbBLg83UKdnGHIs7YfvSjynds3tlmkfAYh4UgOKJFGkuMIz/YCkFfsfMSP8qd4g4LlJhek8opK7BmNM8CPIx7it+yKBxobe0KocprY1SLIcoe7AgRG2KOqDetoZjV7W2K75NtmTti81mGJHtjlfCzad2KdlUmVcVwI8gt7BGJQQsGU8aZLFBcOKELHe1NWWRxf4Nd7APjs1ORCplJvexjsA8IktPXY85wz5Ae0wqY92K9i+X5D2Kj7CSRG4o2KWYY1jFbi2YpoGiLscnRxu3vYnuKmyxhEuArLhnKs5kx2QuyKKZFDQvqRdlIq+2oigUKgOJKTEUL33CrmcDiowvaPDvsrwszCnvt4OKjC5UKkOMcMPeKRJGwg/5pMEp1CkM9bZhn7VQqjQrh7TYF7bHNC3WZYCqISzAdICqUKnbY4th8MKhKwPOAdCYw6Ep3A06YigVl4aBSMDk8UMOx2EuIA+LJXKUQS0YyXNhlxUlLHnN5RZ9yzE2BSrst0iTBSt7S2y2PSn+KYUqrBfXIowtlicw0yCKjC1KLEdAiqARLMUue0cS89EuQPdDyI5WZytdcDnBEtVMFCbEsSsCtUilsS1Rde/3rUFIqnEuX4x3VXErGmfmTBZnmMLxLAKz7/P/LWTSnQ2nLeTTlS5YLGcNuBOWVYktSrQzR1qxcOVHopTVMOFw4VlF1RbPLm3S8kQYSVK1udaw48IkM8z/jjehEssKzqgOTyrvSXEu1sV5SvNwMkP6w+gti3K3QE+gAIjK5kt3WCocx6Rwy3UtoLzMqpdUyTVMpuQrdfqmWC6Kcyt3WC4z1EuhJ/Mkx1VI+MAn8qctxK40c5QtBvHY8k8vTCxPK5jjxYzAYTBL0MHcI0RwZ0UewZMgBuV5J71IDaXYDCen5kbYwCJBx6f2wuCqGCUAKeNIRnL2KeTARvMFy2CvvZQHo7BwmMAAUPPxzCKglS9hF5f25C2h2CvyiMTyDxeOL+JI46NuRzFUaKMkTa2mxUUew0ajacF9EPDgBC0wdxFBuncOKrx3sWe9ECnHukDO5NpU1gr2KXrCK/W0t+Cp5C9X0jf3COGLz3fWG/LA4uoVTcqnkZXCNsT2pAli3CTkqjANSHMZd55BWGaIdiWRX2US1lnGLsWgrzQQ7/PY5So11aL9Z3fWViFIq7chd/Qg8BEtBLSzzmslviwwVZgN8HCPxGgNaIyQS9Eq1NXq8jzxay6ayOz2rchsrWL2kE38KAQsEEwIxEWgzte7CqZMUhSbzztnuKzs0CFQLTe4rl3AIVGyNzK0qiajUs4F3ggU93rlYVUjS23Ik4/6kucPwWOZx91BnKyZBNFhcUX5RWFSY0gTRFPLMTNjSiNCMUARKfzLWrB3dJQolURe1QeUUS70rNUQVeKFLG6lgE9/Qp334VYS1+LXKk/hUteKxlDoUzE2YFLGUNmyhS21QwClCk0mljqUwA//KaeBXkECrNwlJlNywIrCkhJuU2PKy4yCrGzketYxKsETLvZvUoYlviwCVO+N3CQNwoFXuPKXit0Mm8mbQS2JfAghULKwGEz8DWFQL9DqZfwN/C0dxV+wnHW+LiZGXbbWsSsx/K6BClhMljY+L4gmv8k2sVNX7YNusrpUtrRRLb8j2EwXJ34vUikfhcII/K0hzrhKIgtdddYWl1SyLEzG4VGA9/a2og1hUrkDXWWdQv31XK5hyI6wQCqhUJnO8K2yYCFRxgqyrevJIqmpY9uyEgwxMvtz27RSd4wu+6JXjpIMPCsqJDlVXUMDL0/hi06ohUNCCyo9YsNg0gvrLEspjWQIY4MhfrMdxQIMihPRK4ATZ4+axeMrCdByJ6NicaBjU91z7WOyC17FeBQeoyKsO8ByqmjSsQ4iqbTkcq2Mss5CbC1Lh9rmb1V0wMws33IgdpAOyq0wxL7V7beSwL/g2sAf9NTF/CuaQEBHn4morKwq4EHcDwPNLCkarXq378wsKBjCIHfQyc7Dy4PjIjjnH8sjViG0/2afysIupVSA4IlWIyqNYf/zSsYG0sIsTFWHYlVCSqlSoTjQ8cMTLwDNBGJQSbsoMSUSDhNnegw8LzqgIgtYY3TDLACwwj+0nhIsMWor5qBmYrNXw9BDKSeSdWaGwoUrIyI7s0eA0K8qN5Dyo4v3ZrMp0GEXt7wPGq8Rj0AusyiaqFezgdaaqgyhQK1tiXMsWqrXsJiRWqzDYcCuIyzaqCCp/kCjK8phIKjvJ11XX8vHjKCvky6BRmrRaneTKrqrR4hvEUstSUPVJWCsYypa5d2LbKCjLYlxh46mqYIjsdQQr8QUBqhoVOHjEKwsLiZPi4sJyHMsFXa7iL4pwmBaYsAtRq5Gr8+2QvD9LkQPUKn2Jr4sSlbQr/2I0Tcjw6+wMKqcL7S2b7YkMANTieLDYh9ALCgDTlZmtfPtx9NTPS0EZGSoY1RfF5OPQ4jRNjZAPMDxNsOPbCrFBheKX7I9UUoWU42tikasi9RoT1aqjqtvZsXL0ShoRr0vFrb7IaMpGAy3Zdhw9qk2q+Nm+VZ9KLauE2fFsRE2CeALIeoDpI3QwHarX8zfVrap76F/ZZt2fSgskDNhTFAg9fap+VRYwcUqL0evjL+gcwhDUw6td4yOqdwMx0WyS+6pWK+9yCD3OQ4erFislkwH9l+Inq/BEP2iKqrdKy1hB7OyC80uQeBWxbVhSNcdLvnFNGTkjI2wA1SdsmKr07ADUYv0/0HWsANW/jUCCBKoA1Y2hKIPWE7JVH6WYXIE1vumtq1ewZKuMMZmhrZzY43CFSlUhkcC9QRguEs+rYBmuEqyLOw27TMAK9KvayizJvuxgCgDUJ3iNmFiCt0qL7XKUXCQRExgQk7Bl7WAra3znqtWqT0sXqtPscy2UTdYwo2KIC5RNjzjpSY2Qc7Elkkn9KAvMHdrLj6toCl7zM/WijFCV5sPay6+qJMiZkChr76tniKbDu1iyjPZi1oWxNZcKP6pUmWow70pi8X+rnR1CMLdKw/Qs6SRqPcpAanKYRBS4c0P1IGtTiLQopMnCVdXR24ntzKQoJPRpFXOtk9D01WgRr+zM7faCK+Vwa3Osx/CvVQ3ptGtlyrdLVxFAaq2xlgjLqllMNkzoyWkw36vjYa0obNI4BO+qH8irwn4rzc1Mzc6M5Bj3OE9Kmy0e4l/lOGvydeCVZXBETdzROL1KKH7gcCnkTMNi2TRPS3KFpu0UinBqwOmF4jBrZ6rDSCOsh9msa9TMxILrXaBKMRn9rWWRSlV+6I7tjFS/VLxrEwr/q6VQClQCGKvCgTR7jLNKQmuiq5Pwt0oiaxWtEqqzS+u1fIpIHTdUR40SatvYsqqvVWjiuFDXsRLgLgKVchercmunqn2JMGsKa3v9wBIr5Buwia2M01pVtmvBrKaqI3VwHW1wyAtMVA3drtmWqk9LG9C5zUzZ1qtMVdnJfIO2q/dVtiiUdE+samra+RdRMRA0axy5Ai3X2C6qums2OYTYwDDmMTiMAbCp2R6qs0t1hLXYzAkahLNKOKkt2NlyamsOWL2tvtkRaDYdRHLb2QuIRE3ovJKCn+lWalHsRe2Jgk9KL2N/rTMiZ0unCx0KhZN5k6JtqVQ+ualq6m3UqoTLrk1G8fhZTqv+RRfJGpADlKWCUJwoJQPlQqsH+TYk9qmIyuqYrMMfKBjVG9BFMX7wNNHCyz3QsfFQKa1CWork0yjCBIkk1CFV6lMF8SMZGMsdPRXwyhCSq/EsEcQ0ELXJ3qp8sMPx7YgoyjzUA/B76TjL2cuKZV1dDwvTuLZDzFC0EQDLKTzjQzTwoUtly4oJymAnnICLDZm9w08c9EuwSmVDlvnlxdrLRyKL8PYMigQ37MjQmiPxNVpUVvnTxAqICAwya7L1/JMuuFxqGdG587VCMtgya6b1FUJL3LNLR2n5QkRR+E3QXZvC2ULThfdUNFFdbAl91wvJ6JidGUOo8rZrYot+IkHKbBBwuL7CPHlaVbOz/lPpOAYjWEwDMKpTzFLTVQrh20uKk/zRDvB0EaKRfiNisCuJiRxkSRlC8oVYTVIpqCzZQ9HjWE0QJGXRZUMjUirlGg1HCUB0QQVYTe3xiUlAdeGwklB0QtOcHsLkvGtVpDBJLbXC8osuVM3FViMTZRNV4DihbDgR0xP/jdQJDPGsaEdIsFlX8xPJa7DdlV5LovGHiMto3ZVec+FsiZi1yMxYbQj9jQcJ6VWtKYNrJSLD6AB12HDxxNeTLNRUJUTCPBFNtUdKurLF8BSFdVTw9SDlyZCVVJ5xjRHe8IiSjVTG8IOQwCQGOYeN0PAR0eYlZYsi1E9poCUarATpolmZULwlk/jY6yOVNaIg0NjrJxWYImPNPNSnWaJs3UwpaaxSETS/RR6JGOt6apsjb2CkKWlCGvljdKSJE5WtrdRRcGNiXSLVRhKoYki9iOuw6it1PknDlVPh2CJlkPuJ8VQ4qSqMuJllVKd4cASY4C1U0tJRhaoZA1RJUXQinw2O8QNV8THQNMaNKQvDlKksf4SlUWsYXlV+MIkERp2I6nMp3/j0I2WwaOv5CBns5I1d8CeMfXUMoj6rNfFpxCJRNoxfkELZUsO8eOSMNRRvaqrVEfQGkZYV0EzrSzaMRFhHazE0Bow0aATocEKyBR0LiwkITYcYz2zk4GtLWohI7AxJtyNYTEVrn2zwGGtL3+h9g7/5lrG6Vdkw2uromYtLHcuUjMlriWoparmsiWor5ElrCWrY2eRsAYWjqk9L9mqo2PHU9mtENXnUU6tKVOkYUWozq7trZnip2HOqT0ohkFcz86qUGERMAb3XA5nl1E25iyBiK6oBUS7rvN0/2C/y76rx1f/i/DWLSyIlP9lbq8dLiVBNxOISu6q2a0GQEmQucuDJhuBHlIfjNmth6xYx4epnq9tSnVHWk7tqXutN0S0pL0taZBmslhC/pS7q6UU70Sf4cesoNC41hsQriJbktrmR1JqQa0ontAo0r5kHVCaUCnXfqAOwMeRD8TctrTCmVET1EOjwHVyRuev6iSIT15Bsc1hMoMoL1PY4a5Bvao8pusOm2RnqplX9o1PRNbyk2Zbt1Ans2bFQ9lWqqvh1cNM2VH58vLAFuMISAHKMeKPQfEWoTF4ZfdBTSahMkxwqOYzlB1WU4QAcJwlCUAwU4Qm0AoWSnesdyfAS6wNYTNTD7B2rAr3ri6J965srtGWEDXuqg+oGqsHqJ7ldJRLNZHVbwqZVezB4Ks7Yq+jgTMYjeeulzXryfOTrdF/Zjxy96g8SlNklIxNV9VAvUtKKaRPz66To/tg0aEdq5ZVSAzm44Mh/5XVqJNh62CvrJvG3OMqZZ6L960kx49ms8S3rK5JuVA9LLepOkWYTi5L76qDC2uPPagCjh+pUitPrZ6sHpCrSq/wHahGI2eOMSH2Iw2QqCFArh/SmVWCz5OLw2JPqL2T9qpm8Qktm5YhsyarRaxKZkLQv0HUx1PCB5Uh4X9HiCeoluYvHZfaZx7DvVYPgobWJGQrFSeo81AMZxchh630RPKJamdZNu2vZ+SWZ2VEg057rF8XZSSQ4xmoekeMN8hm1Fb7qPqkcmTF0t0ss2BcLZXUfsWhdXfLM7K1JSlQblCVjl5BqmZ7rxBQ4SJRIXGpZqR9ipxh8caLsiXV7CIFoABso0JJ0BFDJMaLslriSdFZQjGq2lW9jMwn2CoHkiAJBUZ1oQtkv6hmEwmNyUbtq5XBUBQsA0rEgG36QBoyUGeDLXIDzGATsApD2Ve1I1cTg7KOMmerKBHjt1bFYTW9p3XzeosytueoxpUwKpfVH6/rcYESv7Dhw2q2NkDDsiWPmFf3qrqNAPYays0Lo7bYii1TewkxiwTBHazq8mO21ERNUlpivseGc2NhT4aYpT6033dBM6XBEjF+I9lVasESMTtl0MdtNDpInC4Qaj2sKcSetZwqPam3NNUh78itwMFVnEBZI1wqK68RR2FixqYuj0Ey3seMZu8HhsHvwg2znEQpjqKuSGt5d3EmAfcrqpUsAyLR0whtJ8SutlXBwTEBQFoKlUZLLd2vOVEtJxJKmVJTQ7oJWYuIa6CvzDHEqh+qbrbJrbBtFCRQrEKVYmIbtmQhGG01w6Un66QdU20m/o2ZVL/BwTYNdLhl3ECwbehHv9Xwpm4gmG7R5FCipkSoowhpQ89lJ7ZCbMYJD+QnZSHwF0EwtLd4YwpAb8MjKm0mR9dBMWkiw2WrxfWQq5aBRowiWVURZgRpp6eqYWxjJMMNt6xDQMeKCa0qH0eGy9u3sMi4aHDF36v3Q8zBWk0OYcwgxq7Ea/qviMI3oVpLzkW1Z1TKK6nGiOpguFR+wchtYRdfZP5EeGl3xMNLK1DJ10hrQeB44Xk1KGxQElNkxsckaJjyU2Ub8/hrD5XPqm5T+G5nRrthyi+oaj/NurAqL0Ey+iN7ZTLETVa195irHsOBVd2uf1L6tvquu8JxEAAKerItVTNCtAwU8Rhv1GgPqPivxGnFVwwURGztsS1FIpQdUkfDSKzEMMuurbaArCtmaFI9rTDDSKhoxyZWBG8FpHdAGMFuIlNURJMvRd/VH6zpYaywIEOJJLlTSE3A5c0UuVE00T8tISS5UopUlUEP53LCTYLiJrtmyiBvxsmUnwigcj6n/jfdhNy1/ypK1ath22NJsd4xU5TvRD9J3jempFerl6/5UYPRPytqNgOtkktXqrOpUWGT9s9Fnw4Dq7AkS2EjxjDFBVbATjeoFU0FUR/Dx8HQhgOs8Ivf9dAho6mmimjQd6mcax827UdOIPrlyU/pZawNXKcOUpkJTyzcaxkO3GrRYPJOkvI8oIOphyhqKixus7cIxDtimqrZk1pGj605rJFlgQ9ISGuyhVHdlIDjua3JtFcjn8hETVPA70dTY3muA6wedAoL05YDr4e1eOf5rNxpwuTVZgWpnGmYdNVghancafdGF2WFrNxu6URqUvqqdcV7MvnJv7LpZw5TGFJKCsWqhVe7taoOFJZzrf+wW6tjZiPBZieerjxvkjFGrw5TaycETfXMDVKKVsoJn6Gu9A5TKFfGq8OrfbfcliauA68/p1lUHYieMorErSi/RVQj/a6J0/xnFGLhIOHDTzFz5iRgTkEHw080PUbUY862M1cnDrusKmcXEJxrIIsCVNQ3AmkPwDCgQTJVV0/WdifcpPNWoUMdqH4inkVfV2xvCSTVIJBmMmgv17JvUUdaRnVWCqVOIWuXc66QMS0noyYjrcJtsa9e4CJoWUIjISXKVVLLYeRMs2SzVfXKhKaYa6JpPGyxqnjPxVOFyIuxQmzzULUwPSdjgZ4npVTMzU4it0N/xO42oUEtJPJr06yHlQ4hjMKTYl83NuZjISVDs1FGIYiKsmor4J409UA2w3JhsVYTqDCkhjQNV+Tlj7D5I2OsfEPVJJtG9lZMwXMSWVNYoaOt2S1DZIHyTsSLUUwJmmSnYZpvkEtAxmohg64f4JmrdqiIJxOu+COHsQR0s1TE0lHA8TEHJ6VTGnGXsqnllVIQ5w6tD7DVVFqlomrRZ4po2626aaJvo2eOrZVVw/AqCNfDSmw4SWNhO6szqq2FX7XPcuOqfkrLtrqoLqmabaOXr6//tw5WHa17qIMllQvp5sotrqyGa8kBZ6v7qfpvzUa7YgevpVV3UDmvB6qWtdVi78pia7po7PeSLqJovG6StRivxVLHQ6gLBcwNVCaPfmWQECeBo68M0I/yqkCtwNsxMCSC0p6PpVexRE/3MUKnR6VQVvSC1jumC1VKRWys+Uw+NGSRgvfpRgzEi1RKDowJ5KIzqn+PHcWthuilPapDy1pIUQmaaH7jCcXh4uporURC81OF7SiVDSIsa1aIxEzC2IyyluuQxWNjrsEW6HbFVrZpEskSkVG0hmgEiXeiu2LDrOZAanF4cQVQeIgwKH+l1hPtxJcJztEzz0mutzc2zAeisNJqaK9jzuHB4FZp4cju41VRlm2owarnvkOLVb3C0zYNoCMjAtS3DYXyhabDJ+ZudXdkqsGy5myob2SvZ8I6aoBquPT0qzOrdDUkconF8sKWsnMi6nQWV7OtB6WPLLljom99tSR3wkMKbmhBF/IHRgOrrfDK5KLM81KDK3ujZ6EsLp/B98MebrbjuVYA0I4383N3Q6fBAWO7LTjyDuGtKrQ0zVMLgy5tYTYhTqWijWczDC5xXNXXTRqkuVcUpddPJGW0aMtDeAhlk8RpbbMc5F2mFsYzUzRrJaH5FR+scQtLowoRtjQudgzkj6L59H2vC8C25OBJ3m3JR5bhlUZawPEAckUnS4MP/jHGDXh1q8V+Ny/EN0nVyaOsQYNzUPBLmMJ5SGr3rKzBbDQKJ/GYbJXEd/Cvq7BusEqRTLeoLrXNpQjBhGnSEmirBufBVeus07eVpf0Tp8R8k/eTK6Gy55eo6sUG4bhzUAqZVSopx6CEdR+q3STrp/XwF65tLNz2t6bnrytDdy1dy6eqNsaRaHmRvaq1SBrh+9btro7FZ6QTIoBAAG0JISFpfkbAaV7CtArQJ3LGHQ4NyoJGwGzHqLzzwW97rbR2rKgFr5ZQS/PkDbFp8HP38ums3BWNoHp3CaouZjfyb5LNK4JEu/aP8bgQSo6+pCuirYIxrphWq6NfcM2vG4x9p9RtKVYSb22nVZYAdoEo2XV4c+qyvVahQZz2QeEvZ71QZVB4dWJPMazZI4QNH5CvkljkPVA6ixpVD9P4pwOhixdsLlTXZ5A6jXBOf9Vpj0FvFa/rKvitJKoyiUb270gg8xZLbmleq0ZWC3Z+8REzlk1zcJQzGa5WSItyiynBqInIi3cqY0lqIUCX8lUXHSg2ScTwxo6exTZJx6N692+kPndhNTjyKOHHr3GSQWxITKFmX3cPKV9DUPHxas5EqpGX0amu+CxLp5jnHVa4l8uyty/TdHFo/KQkrOI1zgzrK/1XwULrcb+M26/TMVTA6ZYtKktDlMGqat0rO6PYsVqO+ap10eyhJ2Y/r3ynIaO2Jdrgx6iISYrEaqDHrm5VqkIOYMVq3tQawTbQx686pnDBza7mKqJTZyvRTu2qRcfmpEb0O6gx5sLEjbIxr6jhfzbcxKyj2aiiw9sp1wmdKHZGmLGnLiWoPEEtVjsteWj9dDvA+WuxbgFF2yFxagZqEUJ+Ixmvok2JoHJBpcHiNOnVQMj4DTMwpAuw8sDKzSugaZ1yLcB5aVlFJmhSdrXyvVYPiDb1hBO+qXYhnXWuQEChhOPd9NJwc4k9LGFkUzBnYDkoqWnhYDMukIjRNrGXjnBactMvpJGtd+4rm6tBqZDIVW29qz4L9W5ywR2q1RE28gRAkvUXr2zFXHD595evXkWHcuY2wJeYU+pjDsqQZy1VZMDNaCDiNG4PrMj2YW3K4w+tT05P9l2siyC8ogYlH6oxpgWkYGc7ZqEx/nIKd/JmoTfNyLyhhLahMfPmJ/TMJ1pB/5fxVTfTtc+YVJuk5HNKc++tRMZvS6jAHWoOpzN3ynL3rvxDmnYqcIMlQJKEJvcvj0r3qYtH5nZDMA8q96z6ZSRxDym9qtQp26Nqd/sm1wECyu5rjyjdrAjCt09vTB1VTsYtaBp2YkUfrV4jpA5VV7Mpm8GuQUBlpcxEbGsyLaFacLhrg6DacHGlKGlF5dp2CHCEafMVN9QOQ3TAwVBawXSnOndBNucVxMa6djhpY8HsoL4j7cIIaq53ZkH9Sb2tVWJ4NstEeLPNbb1pai4EqJhpvW2zKOoqPWrAN/7K6jeECcExco/d8u8j2VSwo5hRfreqpyur/uFscDEkRG7JM64p4nV9r1dH3fRTdH2qw0esdlJqT6t9qw7N/0M2aqZGfkJkMk7EGMf5VUoPgDbAoZxriFSosmNGHjSDrDA0ifF2wyrUemrWd6st02/Vby5AMiJiaI5EhW44wigXvG1WrW5Gj+CeNpohmyNCwZ/z4mj8a0LEly5CafxpskVxJjJoAmgupyN2Am7EwnbBo3cCaZDB6ypoNbJte4nMwdGOAmhCb2ZA0EQNxXsx/wkWQeNy8mjRa+ZA1WOzanqO9MdLw7NsImuTd8z0DlZGMHi3jdLRY+nA8nPDbPpwemozazjBFTF6a8tJdMZNqbFk+mtLab1vpVX6asKkR4uLU6YmhclE1wFto61TlfZGxW52an4lMkKJxLNvWvOGburCiKTrakZqbqDi1WtrRmpbKK7A8WLGbINxCcWVUIjN/0jTbCZrbXbTa4tXom2Ato9BjlM+Q/Eu/VQSRiOriVbfkDMUhFfObN41MzHNdEZs1UQ3dRjPI68RifQ0bC+LaSOs5XFXRNZso69blRng+2rdsN72TMTxYZprzqYvlMe3dm++MOuV9zfjqsUHnzHk5xpowcUF8SgWE604K4xUBmLqavUqIc4DsZpq0uPYVsIhmmgQr9RX/k0JRVOpb3V85b0iXzbTrxNSHLPTqesRk1F58Htvk0kzVYvV2mwPSbllVBIaaA4QBWN04WOypVBzqnFjA6vyaYyPoFKewVZrdOXQiqVXqdHeNRBnoFRyoA5Qv8Bs1I8yeXQLqjFB8sjgRfXJATVbTiLJ6G/+M3LFrKYsswtBHaxKU8UtvcLXdC52mEXPMp+SxG9B8TFGMXdur0E1IpKdL6E13aozydUqjCEYaN2R1SsrJY+or2HVKZ+3l6k58W0pMG/zQJqj2fURbLJovlBtLBFtQSKHM81EHVRmNgWgfCPZNLevEzKtLGs192/+cq0qFjEYakNiVzV5UcExFjbnMnk1YTF5MkygVjOkFgRrljdXN9fLhYw+b/kwFzQFMd5tjMEkpQUxL2aNhrLEZzFZFw5VhTCXN0BmvjJFMoc3L8UHJF/C3WXHNMU0C67FNx9rzMNUjuXR+zDoIxtqWsNdpA4zJTHeNY4IlzalMd41DjXHNY4x3jKONS0pNNM+N2U1xzNOMd425TH7Ms4xnGjONccyFTTcaRU3M0MVNqCgg6ouMd5RlTYLUfykmdRVNItUvYTRYzZTDOZLVaB0gsqTsdZXbjG5YDUzzjIJMaFhHjGZiL5Wli+kovswDlQVMC4ycWf7M841+zBudl4zDjcDEMDshzWWUHmXoFXeMVYwDFf9LBj3NjMNMoDvRzWWVT40gWG+MyDsxzXpZH4w5lOI5cpyKWMnMnYxJzGg7v4xVjaxpXcwATKGNacycc0BM9Y1pBb4UoE1FjN8ZsBV+0f7IYE3xkxUyR7ITCFew0BQfcPtwEwhhZV5cZc1llQRlqxRmq6bU5cwp5chMDZRaMV4yaEzQOh6RQkQIXJsw6Eyoy6qViFmZjNfkCihjWqPbAolvs/x9bYxKgVNF05xKBIGNhEytfcEo/o0s0a/cBPn8OkxU0hFUsbw6glR/9Wq8wY3hclotDxCljCuQ9wrDvIxNmZVkXMcoVFykyJRcXqhsTP6MgIQzkWi4cjv62gGQtHwKOp48UjBB8NxNudN8TMGNdXA1LWsyyDv8TTU1vbApjeszAbWqOyIJytnLourVUFgJ2XszqjrOVMo76jqDqLDZRzMGOqHFuBkxDEo6IPBujPeYGIxuAUQNmIyejDZ0Xoy2dURxM/UI82ZNGjHGc03ZeczgRct8VT0W0Veh97mL9RQ5JqzdTAf1rhl5YZgTi/Sm8wJ1iHR9DfzTZSie8Ikxi/Xt0+lCWlhT9WKKqq3LPekoPQ1bA0BCxshT9RBzBEM4MJA9XiXW7GoR4TIfim1SgUxMlbO83V0DzJYRYD1Q0QVpacXN8fpyOXhNbemZM+RaxVpsLWT55THQLPBGLH9jow2aEbEtcsUPVP/h2My5TPlRynP6SGlNmAR1fMecuK260M3c5sj5TbHhPag2HVmQsOzX3cVdMJHZO53QWV31SLDsQERZXHYwHGwhsIGT05wYRVwtitHrvda975GFTd5DsX1u8YVMs6IWM5ncZmyVMGRVuxDRbG5I2hX1STR1HrN2A/dtJ4xO8/UUDxhezSeN4+qLVOTzTi3LJNQVkQJWbI0wmq13awz1Ly2kOBKzqbxCLUSM2837sSmsuwk5BLLMz/lOLS3VJDpcBAms5kTschdc8UxVEmg7fRxQdJry0LIRbBSRix2hsXpZYEwvHEEp7LBQOmYd9kyBaGUz4jCZkwPN/ZEOqc+0fbFdHagCUDsY9beCMunIWV8MxcxoSORZXQgi8I5D6lPbGylbnk3oaeyz70yidN9JulyKhYqRAnTqhHJ8hZFb0WvrlWw7OhqqGq39GaudMw30nMPbaqq13GYz0uznOy4VLuRx5aucDJt6nEEJRzvMlXqcYZgSsgZLmm3cZDpKDkhInRdziHzeyGc75sQ6S0s53HWqq/QUCmhMrNE4X4ois/qMSkLTQqvaAPECdXGJYH0zmwJ0tDjQFcvRq4K4zXjUEQQMrYuj3TMeMfu159z6s29xctn28MlLmNWO0XnMRmgeM4uxNczsuIMCnvBeUCeC3g31FbrRjJxPAq3NYBUQeJeDxOGwFdvJQnS146UUkGXQQrc4W9zFjNUcRLl1hbQVBDCkQrFs8hTQS+EcQavnzF+ED4Jx0ymKdom3gxs4KeV/UWbs/ELsnAGyOWWUQz3QU+WysSGx14J3ERVdqPmgXaPlqEpYQ4gyYcTUpLZrw+0vgu1wibK/WQRCQPiPzceET4NrkH3ct7GRMcHFJzxZXYWsT4MuKpnlY307gk7kqw0lo5ash7HTFOsjgCSe8WaRndykSTEc0CxSc1V9XSVmxYWzajMH3KBKhuRmGdgddbOR8mcVtpwRwnfk4nWYHNDLGhVwTKgdXEk0WHzloqit7e0QJBVmkKHxOIwV6CFcIxpaHKM6URQJKd4dA1F/6vLlKlIJMU9Vvek4FKAQLp1b9TvdLxRzRcULOBUQ8w4d0mR6uykIch0t1DjVX3RyHT94Es1lkCvJB0Tz6MqyxImBnbA4ll2Aw+RsFTVicwSN0uOnM1Lh9zuGTda7mzrR/IHsRjB7OyyVW7Rlkbq4o7QS2R6cpZvrO/yFlhzIUDA7G7A7UQfdgj3PtJHF6hAW4qcVuTBsHVBiWUos+csCI2Ee/deM6DE0HdswcnBQWRPo+k2x1Bg7WTil7RYwnHNXJARcJ5NEOoDCD+wS8ekpoWUUkMvt78xgVBbQzXBYbAiIZNXrrMvtunV41DLRxMPKkaEcq9osMf2dJ5F41c8QcXA9DfAUWHPKkO/tEZRYFaAMkBz6rasUQ/CUw1x4NrLMSYTDDsokFE3IRJzajT2o/KxHyzP0553AFQIxV9TWOjKrPM3SWsLsJdDUHAGysr3d7CXR+uDhi/Lgy+0a9LY71juH7HW65fXFRO6M5jqYjCRAWIyy5TZ1ntS+KOQa8VXbGwowo+UqVbsaibLRyJbaLv0fspbq12Us1KLIkPg3s4DkZxs3CFPkvvJuBVitkLvrDcRivbrtYFrNC0UCmu/bXPVTDcxMlVWlumZzXdDi1OkoaX2ZUMbaEBAJtYpaV9OHjFTlyjIXsqjJkvEqiFP0WkWQTWvxxnLJHMTb9rxT5feL08hN4OqRATvUUMTalFUBOsB0/hoBIcZzCpouG1PZ4/WgBJPrUlB9u7wzCRprShORQbkz9DoQa0qK8EOLDcVX6ee0PO2OO9MNyRQl8Wu7d8jZ6wGI47FH9IGQECibSt86H4uOBdfr97mZuNY7IeO5izYIkDx1uo+rXz1RstHQo2p5JUWqCV00UlxrwQiOM50oxmpGUXxoBhW9kQurVcvefRu8j6qdDC07Qihx6+wqIHyTsf7J2hAukKEUrjPHSsT1mrPn7ADVe5CLMGbwXpUQe2NzzlzP0b+rlDDLFcH8ANQ1jKEUrPWdqleFV1yTlCQllEzk013MZjXLSmngZBv/Spqc76qyhZm4EAmsdMZquVHsVas7nzlMzdaF/0ofVJFqKOvrOwNRSlSQKGUyWzsp62RxevEyXa2MjGpEgt9oPVXbWLZrMrmOS8DNwVtQu45KwviQG0KocnzACbnqgR3IWSxQaXCEJER6X+UTVbMDyLKTqOe7HLljzTa6g938SvjQArMbVGfh14uBG4foR2rMrd0yJZiUGvSIrnDmXe87uYuqkbiphNXJ2P+dNRXQfeo8T7OdUYC6fzpPS6vVHrMa5eboV1RiMGPhiY026iOJwLt4kIxqPPVIy07popk26srdoHuogrdLRP1x8kRJylpCVbcL2rK5Eq5qk0UX5K6ZjNQ2HQw9QRUMQoxrYTL6s8Rx+BriAbG7OBTPKvpqHKisS+SCX1SBpSIy8uQ18VidTM3/9IkV+Cn2WijrF+U4yF2w64ILHcRUfvnia92cH+UQYGjNgmoyMB/kRiiqVT89zDsPqDuiNnvjkCK6J7hFWuIzI32Xaw+E3tsCujdq0pmd3aUtfBpxyIU797kY2pAMfd2g6W0bGFApfBy63hqn6YDVa8SK6iBQQ+XAOPnaY+EkdeldoU1FG5RYTzqNzZx6VU2F5adqk+sZq8rk5eRey9Ib2riRiopw35oEiWrkdQWjSjBU8omxXAR0R2r6mKjKNx1KG1UxIXzxaLF641FtFRfpLRpEKf0UurmJex7CH+TEDUoaEXAhXPJSj2vc/CQV5bO5e3v5NhXXiP4bBMjUFahxiFhhxcYLCLo6ERF6EYkRXbGoKWnbTX56ARVGux3bMphbFSa7qupQ0hKz/uFy6muJWLnE1YDCi1Vue1a7Y+sue6uczNlNeux7zXrsXWx6pTqKWbyiXbC1G0NQ9LPY1HBMYLgyff/Swho00Hh6HKjfmux45FnN8J1wY+GAY/9LEwWb2kdLoWydefMb7qpAy6m9LNUhbMs7GxLk1BTbUVgCcj3w4tSAhZB6xvBzy2O6cj13aiTzgOv0ex0685BwKVisPujo1KxDC3pebCQV15A7jC79+IrT3FIwA7B2LR7bDEvwvJ26uJH4uySKdi02DVYyJfGI6rSw7iG99XE4tBFNuyUJFjpV9IP0V7i98HoZlfB7epwLn0Mv0DN6bxPZyyhYdiw6Gh0kuJsnWIe7nMLDK9zqA7pl8JaEM3rfWwvC4VQzeyO7NEMI4ISb4jiPZQaQHZVVNHWDOvA0W4hYEAmmEVNNn71fjAy4oAlwvH2JDYyJdZh6FvR72gSo/Y01843aSjHq0c+13B0uVSplxW2ETSMa+wp6wmcUIRobe2lsPZh7uhUqjWysTUvbdIkWQrjxGNokUDrxWK0CG8OxkrGzQ4/KJhpd3W5ltJWoTKqxClPEA0fqi3FTPWltW7xrSrQRLJvnexRacJGDja2oBwuO5KHJC8nPEAJbWUocfI1ttSWJa4AbxW2JWgxVRvmJbafUq2qscZeY+aiEe1ryZJJB2jxaZBFACJgwOHDnQjhLMWxxeGVaBdChKezV64OgSt8YY8h86ORM1uBtk0AJAySMa2BCoSJWcPwdzGrFgz/w6lOUTP6RmvHucMZritEEGnJ1Com8+s9hPSTIqdXQANSjIyvFCprvq5AZT8R52OUrJZN/kMxCifDCVW4VQJPB/TXwwwFTYZtsQZM4ah4RzHEZ8W+pEHpbBZ/EwfXayj58ZELo6Z+76CSx8EvRYHqxsaL7HQzmenkk9Uz3JZ+RElQPCdfLhOWGmaRqTTXcbTU4QHpBqsJtT9Hw8D0Nr7uG+1pr0zL1CkGqKVuHoV4K35Dp67Uyf8kbUHAoj+UiC351khQY+t0zbKI6JRNUV7DYuj50iKr3Ws16GQuOGm8Kh0NTk7T7riWaiVNk1Wj6a9sYE1JFmvxreHix8ci1GBpH1IkYKCRy7GVaNNFDZISMNPTGegcRcMM30T76JZGd8JBFv+p/rWgkC2hbiHNEHQKo6iI44WrTiLHwo+Kh+iih6QsHyBowt0sUO776WAoeWiTRrW0HyablsWtsPevCO9GxanYw5WufkaR6uIusQ266RE3h0GP8UyIbLO+r5gl0+s0a9mtAM8BTKNStesXxGfrWG2ERUcQS67DbHnqJJUbRS9teeuDlTWOaGhHDwSQWJH56mMjR+gyQAXvlMBJC3DWJetQCyvo8ULja3mU+JYwi35p/2qzDXHD+G0w57iT9aUob0XujJF1xbRuxenXxOPBSYiEaCXqlZGLzyXtR++VlY9qd+l0lDZVXS/F7LnIbQi4JmXoZeupsqFHb6DBUcjTqbOTzEXtDxSTqXH1tGnl6/XXeUxF7yhwnI/8wHHp8jUAiXVGsbKvalrkk6j4Yohtle19FMnltGyjKuMQyvbooZvDVe2N0iE1HurV6b8gDWa9aXDF8xKKVqRp+LI9I9KOO+w77Vvog/S1714pr7ZJ6i1UzSfKNF91H6py8aMQj5cvU1RrB0H/IqPGnsUv6K5B/yXsxu1RkicqRZ/ug40obkrD1C917IxroRQ70S7BDG0vpbKJxaQdVwbj+CswIlRUuVRBjnMSokDBbLuBLujzEdvDJMafwf6qVktWx+xts4eHiYGNDClN6cQTTRf2xXJpZMO+5Y3R16YeM7AhyPEJVt5AHeot7YMV0pQt7y3r8Vfxiq3q1kz11zVm7GgKRSCL+SQAH6nFEYw40jtqcyTt7HCXD8L261gQ2cXEBut27G1lZDbsAYW+gL2CRpJmlkOGJpJLoVgh5ID9wPwzvDMJBKAYJpGzhnHHPDEml6AZuKCml2aSvQBUk2Ae1semlSHvoBoQGxwz4BpNABAcfDcxRhAboBzGlRA14BxkRnKD/mNgGiaSXQb7AFqK5pRY65wwkB4zAVAZPDOXliiCeZegHDAfEBkWkU6X1pWABDaWKEcchQIwIjJCNzaVsB1CNoLmVpT4QwNWkGGRAURD9BGOkCI2TpM4RLAesBmEQnAZNpQCN9RC8BuwGehDNEBoAiIy1QMAAthCmwOqgKI0MYFIgaIxxpMFFlLV99G4BA4xrACSANLTWpL4oQlmyOzREPbiGRLLx+yvRmKC1UkSZMLQbQtgnSKoHBYmbyZ/MyqgSgfDVozCIshxEjFGPWF7oJfG6uFoHEeKcsZbwEkRwPZtFVlMKkqoGRnEuUxO5Qbg8gD4q1oKKkt+ciga8kezFrJGHe27UI5Ea4SahcgdYjCGUVjpoMdRFjWOoha/SPMXCMOFJDgcfU+dSTgaRMzLDok0y1MUzrga1EW4GBclE6JB4EZwAVYiQv+lWBlZ11gc1zLYGLbuWOq26STmukCJl5fLs48N4bYOzkvBtWnnBBoYxEHnbeG9xfLC0iY3gyAbrpIGVxEU3AH4GUeG2BzS0p3u0tayKhk0+aElyZpHXuA69mosNgRmMsmnP4alo0Ay33YLZotUSwlncGgRu6fI1RMUwqGDpUaL0pebhcBlXqJrFbGhWPMsaS7UvWg3c+KkHg1lo+Bp6PFNRanXfwROr2XlB2GDoIWm04BA8MgjlBgt5ik2Nqekc1gkqIl/45Qe8cHo9V1HiWy9gG9XgvQMYp1pPEEcp/inKnMOJCHzrsb9bXQj/Cbl9FKXfwdLwCJnS0cgdA/IwMGykl7Vi3XJipGm7BJuaakqUeUNxI7j+dLJM5dB+6GdUoKP1w+AZn9CyTayb5ekjHEMHOZEBvAzx4/l7VREdGnHn3Nm8z5SDBg7QWVm1FYLdVJAImEIwLoTHuYWs4InptVloBPhx+EkZdr0pGdVUZkjkcanon0qFqAiI2QeB0AgkTjDuvJjgeIiy2BKcf7OV3MxzSt3pkJT44XsOnXYwCCVcSM8jndPjoH6pUsQQ2gbwBjy0Ei6JbrXKCW0GXSi++CrFKNCfXODRe/hKPDSZ0TGM7TMHLvrTMfHQ/SOQUg0pGCKECIewJsuy0KARLwesxTilrtWWdTIHvgYdIX4Hnox2BgEHD/ggecMFOiq1KsT56UkeytSkKsjtMXzKzvSOHYCG91AES3S46PgeVPeKpZtgeSOymUtGOJt4E7V8K4SxRgQgeFNFoireCK+5pigUcIAjbHkROpVpZYgcuStYuCoyMaIFQnn0M/1LY3Dreb21/UvT/FJ5gcQYhsKTcnhcvGiGck1yCZSIj0x8McBM1XmezN/YBAEqqu4A90SNaRopcyjuAT+JgnFMeKf4+NEdXX0L7pAPSO4AjsWxsfS1qvmUhriUrkpgUJ95U3BAS5NCAvg3csFL9Ic+B58H0QdfBzEG/gY/B1X1NxR1ZQ17UQWeYrbToWlBBByGie0xDL7wjUn2mCSw3Yg8hnZUrOrjkdgqY6x0IAORD5GEq01S0GIdi84T9VCGFe4yxdQqlMa53gbxGJ3w7xJ3tGXYkoeCh40UlNhZia+QnQdh2LKGpNHCiDY15tHWcgqGTIbRB7IHNgYsh98HsQZMyG5pzNVMBSwIHQJSSCNhc6kahvhJmoY5mYDZL4XTPFIJOoc0hbqGcqQ7FHJj2oYGhoKU20gVBwGo4tJBUEiRnCTH+HDspA2sCiobH9VYhOAELaiRyeK1N8TTwml0UUhKlWKotoYkKEqV3Nn0YpMKl/AhiXSp05FKhhukzIZyByqGljqshnEHcuSKuJ/bu7C9lOHt8vXrsE+t9pkAbBfoQ63dmLVx07BlkwOZVOiFK70YkOKBhu6xR/21GJ8QK4nfwQqJvuyoDdroNVmeEpt72ihfRIqVjuk58vC1DlU5WZgK6TDZ44L4QCiwDPH5QRm28q1KJgjcavFFYvAb8e6Yxu3DWe0ceikUem5V/NND86mwnViq0cjyeZHKlfYI1PM3bDk04oIInGfyhEVf7L/xazCUWE40h9Cl8kbh0rqhMyp7JzIuM+vqiKvyUw+VUVDJ84zzTujobZWHVQTB2RzRZNjrsPQKpPjciXBYSawGB6Q1lYeZSZdoqc1sFdfY0dK5MdvRTtlwWHaE9DiK+InVuhJLcaaZ6NkNS12GjofFrGXJNYuXWQNZstEisrkxMrF51L+Kj1OEsDXV4quvUgY1edVgWZvJsErGmIPZXtAUsewUFjUdK2nYTAmGNKa4O/JK1bo1a5EaBgbkNdTycC3zs+l51d1z04mR7EyMtPNjMO0wgop9FMYorAQF7YuxGgZIBUjYPWH10nhkZRgYhKaRKtiF0h9YItTusJqq01mWCVWH1VxGlDkk13JFmmXRrqCNhQzpg8POEsSxKtmswyWYUN252RSRS5ioZcm87rHtaPq0SrCJcC6kipW00KTZrz2Wyqx0NfCPhxa1hhzY4hDJCbH5/d8D8sX7af0FIocS+qtpX+nR6XTKtUql+RyG0KojGNuIrHWKyBErLISsdBfhs1IpVIBHLdOzU/7Sae3incI4+frTWMXYY7Hh42YSPjylKsjZSNlmkXdT7hAKyJLIOrF76VCQ6IMiafNoLAzSgyUJfzlL2I+6TdlwI9SQjvVz2SbxYQuHiFFrYJymC4X47dgupBPoeFXj2G17iDynh2XYc0j16L2HDYcW/PhGiBxwVMPoXoPH4c6rGCrWMNWxB7UtlURG9jmPw1/sPGqGMbzQnCpPUY2wBiB9MDY1DFh2Sr88emuRXDyoD3KJ7dGGYQd48i6GqlCuhiqGicluh6qG+5huaEOM0cO7sRLCJJMh6+fZjvG4++d05EflB47DIpBRqaxNASKLCUClu7DFjO3EjuBryvqdcyjfbO+gkBlbLRIjjujzWVbk76TamqNS/nVTyCq4pgtcyIBk0kbeMDQR+W3ihbJG7pVQ+4lbJOFNcVT7AVOz2di5NPpwo3w48TMxbStkg4qmg0AIPvHeCmqMZesxbZgaa4qxM7TxJIJrisnUX/CC2wOxtqn78Pe81jEFKS3FgphlcRBHK/AlsGBHkRT8+yXrwjimuCnEorBlcAMhicShPFZHcLyVjf6Igjh94hFlzdpegi8JLWvBeWJL4NlNair9a1kwVe0jNUof0ovtnSKaHKtoXjGdItGpRVPWTJBS2g3FsIiTnSPqY93pwcmdIs1KuwjDA3NsWhCJcFb5NEIJmFdwBEWApJGxwAgp8l0JhcQk0QzpP6TrxYYwJtnB/PbCYvAlC2UZ0IKfetu0LfLMMB7Z7/s7HaMxB4Zf8SJpMtnyMb97MkBHhhgFL6UNkC3yDHMaR9ls7rEkFcz7t8Vw2T9gBsPYKuOHfrH3a1LhUcwUsMi9l5mJWz9TTRLXpPJHbLAMqj+kskYlRiZZUkZKknSwH3BPpIfZDOj8qJkjflAt8xNtHkOCc2sxEb0mQkBRdXKmeOfa16QHpGHyQ/EKWVis16ND8tglNPqnWYwLXlOYeqJFQ/NhEPLw0v3MC5n7x6SFgzRE5XH68PWYYfMKcCXEflmZhg5yPq2jSg6boCrLbSZzJ7wPyMXxvEnI86RNCOoke2swOZE+xeTqdUYJ1V7EDPMzMTmdTvGgGM9wFWRzRocCVrBchHNHKFVpce3RPsVgsv6wuSJRJOMY09hfGU7w2P1DUzcQUSU2CdNSbpDlakVMsDmRkFCjL+lX+QOx81o28TQxCjh09NnxDFBv2Hm9UWUZMEdIsakOglMj4nPn2c/hqSRCMHLSlivxxP5HD8PmMOwc68VHKZRUJVHbxF3MdksCif1sRDhhB2EQ0mSYxG/YeMlTTNBr59iRsU7EUuVRBy6HyofKEG6HJ3pqhw/5wggVg7a8iNUyGbKQomnYZV1jhnFMmc4HYtMIrNPDBSnZSCiU4Kj0Wf2tlBRXOAEj7hLydTJF7hI68noJ97kdrbiHO0VVU5SCi9HCGFgLnXkiINfC88U3konsuJAPqeq9oWryeRvCFAvgK5TM76nmrL2sUJFX1XaHfZtAGRb47L1DB3HsaMxX0eSrulESfaKlCe0KmQyKXznig18UzhJ9BvvKmUgPOaF4yB2eGIWMP6kWZIDj0vFGiHwIgOLzNSQIxbUgxnjYDBmSCLTGUpNYCdEdIMbfXOy9O8JapR8GffTKhjYGX0asRt9HbEcP+U4pn8wOsjKHRfSu2dVJnMaTC9YE+5EqGgCF+tykEnPR4o29bLzHG+Q6BDXBp6yHBTVQgAQJkXCtFVA2bfDS0dDqFYLKQsf76uoMZhPw0/U0ipGSSEUEAOlZ5f6J8NPEotA15dKP+NuHPEg6CPd1bOEHg1hJgOjyx8rQ3pECGHGpGOCDKfKGeWquBRzGmscgsMxHDQGfRt8HrEfyBuxHgF0lfMxMZZGKZJbwkkX9BE1CqZClYyeKDWyP8CXRaEvZmS+lFDk8Kzjas0xdYNkLZpitjUCwIMjuXBdIj/FVGY+KWnVTTWUsQEo0pMvJc5GfKl7TaUczarRLOJHM+xoojWpR4SrhNPpA+IyH4hw9VfRxJErvPYltjCJFCppbaWyJMv5LQWFg+uSckIaTYoZT2ZrQh3c5QAhfkP9oE/igCr5VrKt4hvc8vWxUUSY4e5CVxUyp1THN5bj70zKNaDqorPEG0XHGn+kDxa2NgnG80EkidQXjkXIweBmFxJYlMcfD1CXEQwjZClyEj2UgaVQr6CINa5nR2UpNtRXwvMTMTCY0zEIBCzoroIcV8D5wOKs2hOLlndF8seW914oTba6A9Ia7ynJ0S3taK/SGh6RC9c7HjIemO6yGR3osR6zG8gfYjN6NzwSeYnCQGkkiJEAVH9UHibv5L+V1kA8xjj2FBL/8+yjfifdRHP27R45J0TilfchGUEncmAFjIoRYKPGoAWLZMn5IoQjNceFp1vXoKNWJ6VlNWmcLlHi//UdT6CmnpMll9bF6GtDg/pyalWtEmlTzBqAVkup3rKOp+TQddJjtUmUv5VR7NIRn2fk0v3A8BL7R4mlkkQJTnIXIqGz9tIrCYoxEs1U5GPhILulCvNfC/ZQuBKFjzTsPSHNjHPx5mDGChVSU/MaEfEnZ0d41FZRc7IDLH3Gnh/vlCmPsBTPGZ1T4SMSwyWRN/TVJflGBZPEICVA6xtcAusdfRwP130aSuMzI5Nt7nBIA50tuaM0D7G34wy2sPmnPx3x68uFwJSTpVvBfibDV78evxwM70izvxkqAZzivEPsiXqRfx8c43xnjC0Hog5sfxiwqgCYfx1I5b8bKVdHT3TBvxsR6T8ZLGWAmQHpIPYfRNcfuhizGn0asx7rHbMeD9eRFLDlF5eZzV1A5A/rhJdWMVIgnMfGchtxL0nANbRBIBIzwvagmhvFE6OzpzBD/olKHdHGYrP+jiCd0cAn4SzM4JsJxV8y8x9zGROgl9NzGHWw46UTpi9B8h01UucnchkqHUCa3+bfHMCd3x+K5rIcxUVBsJZHZS+PpwG35Ys0LRhmVg4ErTHHx8b0TwpuWOTuIPAQnkrpTSmldiKCF9SN4hsrNq4UZsf1K9kJmhVSrjjznOAoFtOGWOZaRCoT2BCvoDdHW6q4FlpHMVKFr3RNTYXwmOXGo9PZDz4cRCbfCrgU8iEapBAhhBUHYMUvfJcBsl6SMhvrMP/g/ioyHxNi3xqKAd8ZsxvfG7MeEpNbgr3PwyTqwEb1TojjxDBgOPAsGHATCkaktxqj+hKiDRCeSuYpsnMZaJinyPsmCh185qejoWPOF/MbuWg0HtrN4zRdodmgYZTs0M7lSnc/gP5DoXFkcBUm1kYLK2QfqOUnkUT1FKbB5jp1okaRlGwZGie1RqtFttEHr4fSP4aY8VZExClxRi/0bBxeCD2Uu0BnpR9nwyQgn/jBh0Kon7ibTMR4m2saLaeSoGLRrUFCdciayBxQmCieUJtAnRHAuiRENLYr18TEsJ7LWMO8osWlgsbvim7V0Gw6dYLNzcFsEsWkUdCtwqUjh/FkdaEId2dLi+QcXyh4ImQeTeWpSfYaxaa+judlp0VCRKqSH0HDTMHi16KUGs5DfWVecip2So2g4760S6dg0mDgzJGJG8pw3R2ToWYzHuSRUvNBKsb3LGapPWcFpyp1P0ctY4ggQx049F8QKsMVlHN2OKLkwAOQi3dqCgTHNyUkc2YZvhndsVWjr9ZXKWnEq3Zu5Liw76ZdZI7g/1IuxFLBh6fqN67HecwG9jtBgGK7qYOlRMQAq3ynpEh/pZxp2SxSd/bhmpIYwuI0dJvZCb9lnUE1y7JXJ2Hew+bn/6MtZ07EQkR7p9qpjsKJtjbRBcE1TbrSgGJVFnkR2WeAYABg56Ll0JSrr4mZKUctNJ4YkgVMMUHUneUiSRR/s6lrdEG9xaDntZBksInADsUSw9Ekrm1QLwYe8cLuaAdgb8gud0/OLO0LZXHFi3MOUzdLdYmqcsBD88yEGWR1MTemHQQaKOuKpXdhuxl0pDWq92AngnR3NMDvKvYldjNLaWzBKSqHa+M0UG2voyFFZKC6RWjnogz+7uSn1SBfomJCB/UjElXD0c6ExSjmURop90TCfNDypm4lD05PQ7WlhB5EG2qWNul8Hrof+J7qkVCf7mRUUKOA/NBP1iWzdLa6ShpFpRukYVuWle5rCkpDPsyLh+vKGU6Xri9C2lcz6kZqTiM+IFsdeWJOJLwKP8aZQLFPm8MWs7/HrFTJRnmKtjMjRw4nLudZTiSmL0Q2dLcRwA/3iXUJryGdxkKbEBGbHf90yWY4IeJIzeRGSDqx4kqKHwtNGORelPrFRyfvhuPq2JctZNpTfkd8nbo0fR8xH8ib1x16MbmhyGQhCpNCOY0opBevchsspphmRrLaTcMtCmNKJudXxs0KYb/DIRLUqUJlzR3LS/6kwmAdRcnKX1Cq0EJkRuVCVmIo96dfQo+OdicUzVzVB5diU2EAsUorQ6GLrtd0If/GO8WLty9Als+zFZGqYuGP0V/AGrVOJBgf8UaWYDGod3M9RFy2EKHjggfXFhRFIaaSUHYdZv0lRhLMT7ZHiSfyUcbOlXXRI6cTDuMysInTBE2r05pHHSINR1YVzgjGD7DK8Ub8Rkhn4+EaC07nzKCJ0UcQj9eZQC4mm9LtIdpvbrBVw9pGOCK4bhIuKh5rGoEjpGCQmCoc9xjooRCYfFT5ClpAWp95IFyLmSASJlEgPsRCFAiJlY2oxy9HVSTfRGqfmUPpI/RsyGMtRdBPyMIYZaEMDuWyIUJQUiWiF8GiglfD00vByWplIa+T7kbYM7Unep4uJgJh+Jr8nLEYUp3YGbmkE4F8n+2iLRRYJEpDTOWywhlin+RtJC4vA+gaxS/jO+GEGnyaT+QkJyPJHJ3II85DCe6mH1ckE4YtYpDhqm1MIEJmJiomxn7hPCPPxmkcnSaRcKafcDEdoLnWJpjHx1EZAEbtLSQhh2GHGUcd7sJkIR6nBUwZCdYjXCBGKhoLZpzYN2DjmkaCJPKkj8+BaeViZCBuEQQdoTW1xaWK9RicnPOEwzENY3yeFpnywUaaRBv6mdcawJwomcCerEagUoafgyZ4m3PBlCNeJSCf9bGjggHJchunCNYQU0Dxrycdc2C1RWCatp9QmD2UYJhdlraaKkUVGtsKA9QAxMfFIZf2mVqbbyTDMQ6Y3xMOmG9EkJ1Iib/TeJ6SmZjs/J3WmlCd/JwEmviiiMfUIzgYiPN3S1OBago4HTnP+GnbKJRViyukZC6ev0nWn5KaxB3rHD/gpiKqRtjEmR93JQCTrp2BGG6Za2rEwTYadTM3aITDjaaeNO6elMHb7VUwOsElTKQKjgKNZCNLuyL1rg+By6zLYVzQVTSBFiUcEkJcI1ij22ZMx4OLOyDyRntnHsSlSxU3t8zonpoYrCOLKIUYO8aCIgJwiKKqo3cJxiM3oUtigmSeZPzxpKOczlDHOTAVCUujgsYxM29VNBfMxCQWsiEi9zorm+En4FDudW3GnbcK1tPnyJyYAdEuYtafvCD3t/OkcR1Gny6b+JwGnPwaSuJAFBN1bsAF50ASeVApwUyvQZrSlynAbTdBnRI2b2VLtIfXElQhmNJutgqrYZXG68ScEIYLWMQox+QVeDL2w1FjCCsxc66ZJGaaMAcrwKv/pnwTClcI5Ae3wKDRZAQrN2/hn4NTLRvBF+GmqRffQxGdnEapE8H3jlARnwVPVu4RmpLSVGfqcM4S91YlHOrA6Bf5Z24YwymMKc2L0CihVAM1yGkBmawRE5NdzgkpPhWsnzSdRpwgExzuf6N8m4GYxBn8n1xT/J5VYj0SNvR+z1thnMDjGSt1uaozQOMfvm1FRnK3lIvamEjXusFAs4WAjKpHYybBv/R8pjmpwGyq8xIRONbto6r0unKnZQwaRKXzrSdjM2cv5zRkpG5SJKmiz0rvY0byPUFNT3Yfmm7Z454M42cg1GhlTe92GfxroAvGphdnz4o5x2tPo2USMUgn/SBFr6o06UBiY+9ntWR3Fy0EpG01LdwbHXM1ox1XH3COxHlVumBspLvBt7Z4j1HnjqCzp2BWxNayUJ8nBm0gDMUlEqevrQsO4aEc9PNF6kC6QVwaHCnZnnLDaxS6n6+uxWe5QYmfJ1JTtBiOScAnZgskMAmp19/PYsJ6p8CNf7J+tpqgl8S3YYgjsfBjHZNjJsFSkAWf5G0UlpqlGZKDyMoJckbdVFjhcqbhp6Sc+1cKIVwZ/2xFnTExYxsCqeYWP6TaHfZushNywxKXQRx3QPIcsGB+RCWaRZzpRx+nt1InEOZmnu2R1Oz3JZ9FKp/KLmY0Ya535GxElpTl8hNKKkHoguazClHTj0eRoanXtcduQICU6UfxykdlmvBLEDpBONVryahnPcA5mEEuPPHHQ4ouIbVwJ+0rlZyTaWiSOHXBZCeTJGUVQJNlmkOi4Jb3F63/QmbHT4BIBcoYi2K2ZYJHU2cM1fyJJZ1Fnw+X10HZb6dGBxfFm7WfaKvFmTMZn+xxnzIecZy27XGd9RD/hqzCTiPTztPSq6bnU8foZoqvwk4g87JQiX+laWC48m4Ox4CDIqwWuMJqjKLPD0HGCtKPHCUjJFDsUogkoWAWz4ev7yjBYBfkxKqPMkbPkJATzcYajHJEquZ1rtG1W2Sq5qNM/GBu9krGmElobiXSR6+IMesVHg5nRbftySdMypmyKSvLRsTGS9YcFURP+KZrEXZH31NgJ7YOJdMooZ9N5PEBjBSbuuE2n5/Cu9cpD8Mm01YKMJKas+5VswNQjqVESYzAtBFCQhhK4eeiEexlt1QZiooykicoERPRTEm9njslAyWGNHDBkhbyIowWHdUnkOrDHtLsTBxzO4qS9dqPg7PGQoJD7dYDk0wWNkG2Zr4sLqOn0jjt2ovB9sdHYcZ9MrIMbNKusAowiUQAx5OVhjIAjv9CiiFMSGjBeSSvqLQTw2LBQ7QOedGTIipCFsr4KhDkFkAmRnMXdJsiRQLRSVXAJXVCP6bT0SCO/0GuGfPR1MaCyphEWvdz0n6oqSCl738ioPd25uFLUxZMTXUgHSKrFYwuKeTAJQPlROBtnbFF20ev77jwx9LKEb8kLMAQVfvPVyU9VgAldUb3tKyPGZQAwHzMHU3+DmwWA5xTE6dk1/IvJw0RfpFCzhjCk5mT9tXHrNRyse2xcGJ+R8TCJolsyHVE27edSKvFohQfEEaJF+5nVeJCu9BH8hwUKMMgEC9zmSLOIoo3HU1WRegk40ib9xXXRczD0iNRaFT/6aYT/Rm1IYmgjEs/wsFFVGfsEYsgLBMWNJQRa0bNlT9xB9RITaaM9MAm0SKTm6WmR2uWcBfTRCg3iBcYr/YR/Wd24fDTNgsUmKmOU62/549yl0V0x6IUnbLb1t2ia5/fRjsntlckEc1NX4wWJ+uYj0YRzHTmm55BkoePnm9rnjREN4n3wLYUD3e+zBPrKhbUJT7rZ0AXRifUP7Z9IKUmNhVZGQ9XJ5cmFDgXD0PxRyYSrxcPRNpwQ9JgLqNAAvPUFekmL1KwnCAUI2L7wiL28jaziyEXQldgFYvGDZkoRXgodAoOIYY1n++q9VKfCdDzEQwih56RNvWe/JhBn/WaSuObhGug78lYy/XSz0H+ma7mzg51piDNhR8U5CYx/ia9wRomrRDw1cNnc0DAGUQkSFCnyR/h8bRsxcNnX1aJtigsA0wfjqSX0rbuV4YknkmPpCNIdBdXJuaVWsTLZMFLUJfNTYUeHVXskKaOjMdTS7vr9wtoHBNFXk5NC1aZsZ0bwSrRFShGmKyUrJ3NwZEDrojet4io/A9U6NebeETHo8LmRuMOj1kqJkSZw8CT+kD9TrFHbPGd6SgW/WGYIYKLFptoHGJXvIlrlMtjzpmd7560M6V90g6K20CFGupCzJVUIR4ccMPeSL9RC6daEj5MQsRzY0myPkl9nYArULKVksGk0RYTdbOTZcznz5IlXk7uJl6epSd0iIhl68/2rBCxZapGk4NNnaMmMXBAd55NlTvU0Tb/zNcrl5OM9mYe0aP11qLBh8kJFE/sP2UPzTFFFdaSwldJZQ6GjpFSXcmq1g/y/RUSRHNkOE09NIHMnM3gEb8jiMDlQ15l3qYl1fqvx52/sV4I6KRoGHWpvyCxRMdgyqUAjjgil8yhilGI1WIPSRTmNCzw4hsKtMfVkb8knung5bcQHgtKJfkXGxdtmuXyGi4sw0ojoo8wQZArykZgCKXRmRftoD4jLZ9xl+2goE6JtTNBijGBmkQb9dN1i1ee1puQnZjv+p3XHK6f1xtxn6+1cR52Y0euj/HZL+c262B7oV9mF6vXR/JBdad7b49SfJ5RHitBzUUBKEQZUSDKyZjjh2ShnMguyNYmQTitTYbmVqOXUkU8TfdWzeHtYckcPcqSl+BYKR9NQTtNFU0hiatmGlKYLy9Ch6n58l7peg0NUedCEsUuKKLCh0TcFtjElCT7TE1HORjvpoYrbUIL0Bkd+20M8QgIKcTkI69RncR/ZjTnBVadH4vHWahrRMNSlKgpT7XFtUd5QvYuJKY9QaelLiqwIF3NTLII4dcQXc5K0dgsqqrsQ9y1iSqEl11BQiWVSaMntcQL66Bb5iNIquXX7UxCiDjWlaTSLrmd+xAh02nXTcXrwEZVnUQdYVjhiFwba9elgFiGUYsuPaDxxB9UjLQdZW73IEiQau6ad9UM8thUaSp/llAKj5runJGxJ0KNZj2n90BmsPElGRV0Jijhz9Hv7L2hxnA7kSNjrcWwqE+MJU/Yoo/BoFu7Hecpaw93QehVzy80zGBYMSM/LK6LSNaCYqOgPfFfK/p2sinNTFjjoOE0xG2iDG55SKogwbabZ2TCmKFE1kxta8jvzknF11dxA7tNKaQJm0vG4OaMxfPF90LiQjNm6UEW1SPPwGuFgke3j1GvT79CZieWQ2YxFhl5pldFmBUPzYrEwqvkZmYecs7vLempX862Q4tDzk11lXyuS6LTzeB0iEjeR5asnvI2db1Ak0U1G/CyP1AVT79Aw/HDQVwJp8zPceBKplC3yCPsVPfMSpilW/YQcqdA4sJ2VFTxmjW9ZJUan1d4GFillRzVFjeDJJkwJA9Txc79YlkJiFppxGgZc0QoWZnzPcIWNd1EpBuXnWOKQ8ZLIMNnp7HFUP9mbho9ox1HNlelGOUjQEh2LiUYJmNATLFEaBklHQzyudZuHaNGMNardwYZkaenRcP0Xh46nxdCSSM9x3RrR66OCYLGF6NHqmJz4sLqFstm7OUWmaadl0Pt8o4cSstHrtDD6ihOQterycWpTjRUbLbHgPDha0YhNmoS1qq9iC8me0LEtZ8tM+CgDfrOlMapwbrUmKCxEb/TxNawovnCV8zgDnnqly737Qz25LBRnAB36AuJwupDWbSrQV5H6U9IZwRYex99LbjE07KfUnBix6NynfnGsyYKxNTk4HdGICrElWoLRWAS5MeRIBVWuGmx6GTGZs/ZxDByVJ7xcBNBHCGkwNEnE0YS948oTSQzQvZRHaUpw9KhcUeLNnkQwmY8WSyg1sOUkcNGjCtJL7HGEHeWDbStUkRU8fil76fdQyyqvZMNoQyMhcISr4yvDbMg1nhctijonhxAQRPxH3pUhccuwb9lzydo7D6i88PAW3hYECWczN0dZ81VE5Lm7scU8O9RnJF1oVwUO0FHL5DmGVLICxg2tJwMGUeYBptAXFKYDZ9PZX/l/RJijW0OsaUZyDijvoueVuHOaCwgke7LbJIvLAmxngoBJhCXZ5nxEmHEEeddEMyRzpk/ROtnnJCCwtlmFM4TlZFBLZ4CQGYzHOtoEPXkXyZnDvdWeYo8jX9hT8ahU8CVEGX3wC9yzJDwoZCcmp8TtdpSjp2anPiSB0byG+McfEvLmpNDdvbX7MXTz0doKXiUu0MYTSBdzKSjUdCCDiZZR2OSyvXJz6jlqJU1TGHLwqPmNPvl303Jx13R/QnixGHJ8LE/DTwkr271JqaZfkspG70jfYM+TjfirA8pLLOTtYRUEXpWnor5QgRWXPLMlEGF6Ffy74iSs+yQ0tnCxZcIwRNJeuexQ18l2de7jEQN7pF8nyGTLCakkPHJ68KcoQfrYCdjm0mk4ZIVQRmPhxMdNhS1jUN0kqOu/eQrwebmtJcOdJkgTkIHxhxifkVWTCORY7NaARcRkQrswDrOUMd/EEBHWSY/IjiXo5cui0vGfzERCBdGyh/z0X5Lq08Ln5gYSdF8oemJmVUVlQdIk51c5baMzNTnRi0kbJBBptxDuMCTl6jg20febzWVUhYV1b/uLZQa7hXR/mVNlAxkPEiYHU2RZ6PbQ+HOjZMbkNtHeRC3wZBu454+xRgSB5SnKMZGscmWicauUkUrHCZbOZocFBCe7tVV00vApllenplHVSR4NGMVEdLn8L3IQBkMEDqcSOz11LCn3BCYnRXQhaA0EX5Bi0z+dQ2s0cRdZGMVeqFCzx4QRdJ/piJAyxkqnOZfo0bHQjAPtdC1wT6KLJsWW8xtGEYxUxZcQYZTkRg0PRHxFfQSFSU9CDZZmpyancZbJlslQfIcol1AXLIZsRg2mH9xrZ63wVuhiMY7l8AkUWaqpN8xCQsnI8tM2MsoQexMO5coVXYmwc1PkvzroJMJDFFkftbQV9WUUWTNrZBUzKEeIEgk/Ei07UksAtbM7F+WgvE/xjWe9MjDkN6Qk1PgVvVXT0hxN6HMjQ7uS2lkbzb+7fzQ0hGnbQlW8WDBLhBWIRCxTeim8e5ZkgTzEcXLEJn3tSAZme+MrKb4Vy2w7M0hNe5YSGaLRXel7lsnyQ9VquBrNkDzKJ2bVexU9MTAEI4PLzUnwqtN3sG4VCPPuyB0p6BQAsKMpXMDi03g7w3xDsrDgO5e/5hyFCcjkWJRUjBSKRViGpxTjVYYnGkwazEiyW/R6me+XZzE9ZP2IG5wnXc+4TsiTuJOU6uBZWbunBdoHFcj5/5YYfWWFliIPHAxZx+H33Npp3Fzzcvs1qyjtyeed7rEtGKKJdzLSGOwJyfTSWQJR+tGvPUQjv5xZrJIksYzwVpsn5KThhPBWMjAIaPMYG51pc22pDB3gO3Xwybir3PRlv529sWcpBMhamtJYhiipxB89mFc1McM4YTGYVtbQxnyc2ZhXYrHQ/BVlhH2qPMflRqgXMkKIO31cUZhXnnB4FPNQrdpDvAoVvahkV/jnNpatKwoHowjJ0YWoJFbk4z8RVVgUVusligcqBhMNHZbw8yoHrZb1pgEn98YVRTEy3TSjpmR9Ky0niVyWbrVPWCQmo+cPcrKUyEVXVGEW8AjE0/w4PvMyUCKttDgNl3jRYtV6ONLmk9AXnXw05Su7ueIxFesl0CG4MpGf/EDQe/Gihdiza9DtMV51zFAMnDlFFvKqku31utldxe7JB+Oy2OztYAh3AuSsvnS14pw5TATaBLGw8TRJuhwF6NDNPRD9CESKyDmXEdHAxfDIHSmzLAal8MjR8wM9tHvmcnqUDRf9ZTdn/t0q0biISCaEUx8qV3zS0QaRPtP++aeSx0lSAzJkjpIBIlIWvJlARZzzj1EtjZ+JQiUXtLOB99Rm4S3LBVT2WYDQhZFRlezFr9HvpY9RO7odprOAIdkCMv/TpSqn1b7ag4XqOQfVwKaZ0FLVsHSaGVRim+XXUVOjYdBS8Re1OFp68WX4wVb8iFASYYQiFks1aZDsCXdRcsU4UHFRWB0MCBqRhWTHUQmFADFwcQiWh7ALBV0IcdXGtUjV6Od+sUmVE5ddUH6Ii+LQ9HqFNgvp0NHIPhUTGEEZ+HQdE/hQV0TR62C4AJEpPRssF5QbuK7hqDiMndxjibEEF3v05HVZ0JLZAgySVLlCrhcRFxGRoQV4F9eTQdBdUAo1tWmQ5wSIo9AI+mL02Rl6OOrzk1F2cRsthIjqFa8QQ1AwFRVRApydURn9Fpd0I6eIbwtWlmlUqGhYTTaWcGWzLeLn72W7UClHPVbSdTVxcJBOp5PiTXDzGJ+QOozBV0HZ3OZ3KvdlsrN4Y71xGqw/kUStfnGP1CZiRchpFysdw1BXulTQQvquFHjhDUVkVgOmUAilNdZR9wRtJK4r13P1U3JJPCPrPJ7Zq7l7c+s8mDHh9Hv1VVQ0ECZlnb35tJfkhwMWuZuF1Bw5W3NIdjnrVniHOeOJF2zhkt3b8BSl6z0oyDHiUyUM0d7Rh9INrQjazYQLSP9IwjJw0fu9vdFS1eU1dJIw0NglDUSuQfnUKFB5mmdh99UE0JXJfnG3lslQyQw4Ev3EL1cUcQ7UxWVMp9vmCHXTKMhFy5MfK/aypNETuQrQxajz0GN00z04MKTQjMNW0fQao6Y7ceOmtcbWBpOnfWf+B9Hm+qSrBZ2jPmnnCrm06EtPBgequbXORHxnq+ZDcTaK6r0h1M4rPCMzB9OajdFxxL0iZ/sM0e7s7LwRuP/VKEKlB1qjd9VWTUmIPcmYtVkTAVDQaoB1rllSadK5DtWaYy+A2FieViF7nBg74sFWNxrj4eOEwVZr6Gk56ZCeVtWo6APTR3g1CYnyJafqkPDZrGBol+ZFcMxmpGj/uXk1xYqkaRpM4XDrdAglFCyNNOZWf0WlUeStwSxCpd46xxcaTVsohXBiF85a/zmNJGIWEVPKCQHJpVYeJIj4dULH1asx+sUrbcG1G8M7ZAawANANB/XdpfmHEWkJDgmASKFXKFoi1/tKUNEzSYcHuXzINFptgIgjIlA0P+WOPaWKiNCaFX4IDxkm1YnCtan2vXRwVeRWXM74+L1iA6fEstJAtS3R3gmZ+uFxHQ0vqadtx3EGkfnrwMZBhzr8EfoB+WMX3fQ61kaHfTTyFhsoW1b6139FyxlfnaTJSLDkiLXFwwOTegNog8kEE27TOlwtQzSshXk3efCRzK2TaBbXZnlb/diF+PnLiVdXHjSomVewi1drJGSZvRePFypJpqjN++U09ugWqHbQSSmNYF6wsMd4OcvLALxH+Q1Edon5+e8xxNF7ctrF8fAZtebw0hmUm+g1RdD59TFJLD3lNBC6RfiGkGQdN9RSqdEIgdab65wkQJNirIrRINLWZy+5HL14kGyloUd0cFfDRMRQkWOzpMi2u6yVsIkorS0JetZPNYbXydeiHHrWHNcm0V0sadf/aZhETzQB2RnXsOSrApUEfQaZ19QdJJFL3OHYJ1fi00jprNs2cXPIwH3hqQ1FHKk1xHgTI5EmmQ2VyVnB1k3oGRiWc1dWYX1hGVfmlPHN8SwJ240m1IQ4xKTA65tWDYRIeU3KoNFlgv6JJ1RQtJGSGofLhiZxBHu8aD7JkwPMcJMlaEc1Nf7g/+QEEwb9cRnlIk0p7StU4FDzOLh0SFxxNeiyfO16yVDi/TnW2dZdk3Dgw9aANZyNFJUJcLaQbFeTplxnU6aUpvSt5Ho9HXz7yRJN1kGw8SU8lS0XaksfolCV0pe1sGHQ8JmxS0Zxd7AqtarxRnERbX9HUbhmS10wKrWC+FtT6g0kGKwkUTCYlG057cjVJwGRdBgKuaw43YXMmEXka1MG1HiV4NlqcQpJ5JVlhcfW1kl7SIeRb0fV5h+JnF09aREHaElaaNxSPKno0W5JGQ3NJ5Hl4EkfKHZLCXHgSZVnsJbw5+BJ4RZ9JvwU2kmlmoJGCzHBSKup67BBdBpIr3G2MPom/ZVzxbNTRTt0SQOQ4nG8IjGCqJFHsWSQmVbM7VOxuxeHm7Rr+lH7U/0mJEnrEXSC8pD2WcjJaYFNTPQ5NtOYyCUEO1K8S0OIQRP2KFx90MmG8OaxQTQi7ItN9igNkCbjjZGHuLHodZHMSQCURlK3lwpjRYQOij2XdEhc0ZDZmqlKSG3SFLHfEdZiRqWKUp2VMWL085vIs9H5MC5Jjjlc6PBZYnSMUVbo0qiSYk1YBVk2esZIULDjR9rxN4k07Lvmq8c3iMIYcYaQClBIuWSr5jg4W8ccOOWmB8f/cP1GJyfGLIiBr3BMhIjI1STx2NnzmMlNmlknx7AcGAhI+ou5WZ2JadD7cWtbLYasmycjFTDjGcyYIDAnU34kbJlGqFILW3uCNpWZ4VOxKZ2JnSfNMSV6rJoDIZfXj/vK0klJZ7CkOGglMhll8WpTg1gMKNjoWDby5lCUdnkMNozGWQ3HJx9jFcUr2dUIF9YZMQo2YBcUtJAXE6Yrp22Wq6dwJorI4rEcR4qR/zSMeFfYx0ZUrG6R+UrM4KfK70m6inRHT1YFPS1U4Jdd8aal+9nn2QTQVTTWBLicvWizkaakSzQSOGOLTVRBdXw5EhzCcbrq09hl9OxxwYU6cQqTdHGCyugWqZnMvNnkDycWMV0HyDmJ3YsWH5GWcQPSgfIsZjUttOGX5mfpzxZgk1wXpTFmBW4C9lkSSjdpyGhH2bsWS9GGqNXYYSMhJrsXUvPo1gWdSqjpPOsdW7AtDXDpvdktik1UvehH5FJxQjCuvCrHPEuAkQk8mpZ2Swa7cOlCJGEGALHlaTiRiFieCawd7KSgPDypbdHk6KmNT0cWElW1EGJdaVvGNS2xQk1SdjFzcjyRzFSnheS97hENitTh4+ICcV0Fmkb4G73WuVD3SmBmwbF7DFJhfrGsUE8MxAc0Qa9BNAc5EDgGdAaUB2ZhHFGkBnml70BUDUmkbOB5pDU2eRAoB/QHkaSfDIwGUzvkBggRFAZNN5QGFTeRpa8NLTdVN08Mbw3dpZgHwyFh6gcNngQP0f0hJwBHkGgQuxexiJgHdAZ4wOApvTcLsX03mcHDNkcNZBzUOMwG7Ta1Nh03KREWOvU2rTZTN1cVjTfFEIBheeCoBsml3wzTNl03tGVtN7M3TTeTNzkRGAfMwYwHMaTrtEs2O6HtNuAtzTbW4Z02MaQHDdU2a6Q9NkMAIHmoBhrV6kEYGQQA0BEzNkBBhaUTNuUhdTgHN7mlnwyigfs2tAcFpVbARzdLNoSgpAeRpYs3IMBEBzGlVzfXDTs39oGXNjM2pzbDwVs3YzaHN2iNtzfjgPLUUzaDN6MhHcHPN2kRgdqTFLc3QzZtwMTg/wEDN7PwrzcMYZ82IzbvsOs3yAaEobU3HTZoByDB9TZMBwC2Hzc1Nq9B/zYHDM8NCzcPNmzgzwyzN+s3ZmF3N283oLY+wdc2oLbdNnUTTzalgZC3BBH3N5ugGzrwtus3PaVTpGCNfaQ1Eb4H4RCqEXOl0QaotmWl3hB9EGOkfhFTQV0QE6QGESCMrRGLYH8NihFottERZhBotp1M+LaCyfUQYga6AOIHb6AmoPYQl0FtwfSBuiDnDToAAACEtWGKAEi2AgdgjP2kv4G4kGUAioGHYAdg2dD9YbLJl2FluWQRDLew4M9Q02ArYYgRjLcAEMThGACkwI3gF4CWcQLh7LaPYXmBu2CkwZ3hNwAF4azhBVVkEGWmv2HMtjARAYEdYKDQj2GCt7S2HLf8t0wQ/JFdEby2QrZE0Vy3JeGitt3hz2EE4Iy3IuFkEWy2ZQEG4fgQzFj0t1Tgo2AL4Zc0MBBCWeK2creEEQoGr2Gstiq2olCqtlK2graStptgvHD8t0/wTOBit9YGA2FB0MK3ZAHitgULABGOzOq3uIgat/bhkrYDxQAQzZWrYDy3Crbr4Fy3ZBFKt2a3xrZfYKa27WGx8Sa2voHa4P1h01TMty3gPWCsttbg/AagjVURuLZhEFzhjTVjYOhR3WFOtrLhT4DoUZbyMOFOtoTg6FFtYWogkllA4W62EBlo4Wogfljet8S5NBFqIGQQfrbutz63YeurYC5ArBGk4f62luAuQfXhLrbl5BEQG2A3YL63wuG5wINhnrdQa2dh3rdhtwrhzrdMt9ThaiD6tm63frfutmE4ERFxt8nh8beRt7LIsbYJt0m2gbe8AZ63kWDBt1tg+ABf/c62Rvl3YFm3yrfhtugBLrb8yu9hobYXYFm3MpG5wXm2ErYxtrthEbZigwG3gIyFtpgBbrcbYHTghbahtqm2UhAytwG2bBnJthyCcbbpt0W2YlHet5m2kAVBtsm3FbfSjWm3uhBZtlQQHWHltwW3r4qNt24hRbe+twm3GrdFty23ubYWAF225bcrYG23mSwxtythdbc9t8UkuuBDQYW32bfutyTh+bdDtz62dWN9tnm2KWB24AW3Ebe1sN23LrZwV8W3nbbjtym37bbjtuW2dkUFtr2J+bZVtkNAhBDNtvO2zrcC4fW2ObfY4M23mbY8JNO2NbcVtlGYzbZTt1m3y7dztxO3iuDttmW25Ejttka2G7Zbtq227gGbt+CQE7bxt2u23rb9tilgQ7cDt5jgxiABtm63I7YhtngJubfBty636yZjtqdhUJGD4bm32uD7tsa357Zyncm3Aylptn3gIbaPt62327b3tpu3N7bknVu2WUzxtte31beZtukntbY+txe2O7brtwW3kMwLtmqBV7YIEWm2Fbd/t4e2IHift/u3abbIAX+257ePtkB2vOFvt3u3f7cdt4+3P7eBGWB2a7aj4NO3wHYpYGrhbras4em3EI3o4MG2kHfO4W6232FLAZ62zQO3twW3qre3ty63NHGXt5m3A9Ajt6e2Iba6t9e2aHZAERh2d7bYdjLgRbcQjbh3lIY5tjGRv7ZPtth2S7Bft+h2mIwrtrrh64AUEce2mHZDpCLIA7ZXtnQhQHeht+R2/7ZHt8ng0I2Rtwe3lHeNkbW24Hd0d5W2s7a0du22AHeUdoB2f7fMdox367bUdvW2ibdo4aR3M7dfttR3XbfethdgoSCcdtR2QtHPt9TgoSCMd4CM/HaEd9x2voADt923lHYQdjR2dOGkdqG2J7ccd0G2F7dtYeuBrrYodjdh64Bd18u3YnYqybR25HeUdrB2F7dwjZB2B7djt0OlvHa9t1J2RIfid40ACnYid/h2MOBKdnO3Wrek4JJ2GnecdzCMnHdRt1fBuHfsdpp33nmrtzQRM6Rad1tgBnbod3dg/w2ydmG2QIxidg+2ond6dlG2fWAOtzi2NeDIt9OkGuDYSUwQ9chzcVrgy7abYO0JYLVwdsjgUOBGWOSctnZkd6zhBU2Od7rg3uHOdnjgGuGJ4R1gtRE2dpDghrfWdsLgLnd4QO53MCE+mbLg9chQ4O0JgBgO4PXJHuAed3wAtnY+d3Z2QuHw4OJtHWBHpkLh7eBgdptgYXYo4e3hTnfudlmmQ+EJbL9hZwlhd5uhIHcwIDA9yeFfATKQ8Xf+d+3g1nZ2djWUkXeboc7g8Xced18Bi7cwIIoJsuA6IIF30/h44Ul3fnbd4EF2qXaud1522XeboIl3wXcpd18BcXcFdpl3Wmkxd3l2CXY5LA9hgXfoASF3aBAPYRF3suFpxbDhRXYs4BUloXc1KCjhdeCBBiV2CbAJdwEcr2AHCWl2m0old7NplXaYjPF29nar4ZJ2aXa5d2bAvuAZdkl3jeBKcVV2SnHtdt8k3XbDKi13HXYeBt53EeBZds7QhXaP5VF344Sr4IdSXnbDdl12wXYdsYN3dXcjd/52dXeed8l3zXfVd+N3yXdPjA12UeFDd612XXcvtzAgg3ey4aLtQ3eddxjAWXe9dizhOeSNdtF25aRvt8l27WHz4ZN3UXcRJLN2abbjEE121uGbd0t2fOWbdjt3XrbOdmt2XXYFdtaE+Xdmwft2c3exd2bBqXbVdm12OXe9tVt2WXYlUON2m3cwIed2DuFm5N12vnf2dkm3PndzdyhB4JF3diF2ehGndlwkhXezDTV2MtDPdsW2TOFyByd320Tddlt313b/tzAhnb0F4eq2Xna3drjhrIwldrd38OFyjH9293f/d0wQlXYs4U224xEA995YZXaWCUd3v3Zed1939nef4C92IPZXdkD2v3bQdkzgo4FpdyEM3Xbw6Al2pFFRd1UcuOCkVKD38XYO4Yj2b3fddkPh8PYLd0t3sPYldqN2XsBZdpTECXe4VTd2IPfB4Gd3wkDbdv523nfmOgt3aXdjY+j3S3bihat3g4TQ9212BwmE99h2JXcI9rj2OXdw9g7gSCivYTD37XcQ9/kRL3ac4Me2B3c/d+U2ubZfdnNx8OC091F3U3aI9992U3do9692B3Ybd0z36XY2d+12k7eJdt53U7Yo9kMZTPYk9093NPYZ5Ej2sPek9l53SPdM97j31zio92XYoPes9+U3MeEk9pz30PYHd1z3wvaY9vZ38OHv0at2K3a44W3gvXYS91sh4XdRdnT2DoCJd1D3WyHc9392XXZ4EKygBnizd1+3TaXVdC13rOC6ec7mq+CDYGr3Pu1Hd3PgrKHA+C12tLZh+Ylh6vYHYMThhvwO4a7xTaVckfPgKvasoIb2q+BK93r3RHZtdnr3FAPz4cgRTaVAsON2OvZacG52ehHBtyr26vbW9mb3SvBD4fHhBvb69uWk6+FG9rr2YRmO9nS283Zm9vwtSHa29q9gungO9wCNl2Fq9gPEy+A29572Lvdu9pr2s3YDYPZ5Nvdmwb72nZEbdmb2DxgNd02lsVUO9x72RNHO9yhB1vasoRb2nODc4CH2yvafdpwRSvd+94LhEfbR9qQRSvfu9yhB67cq9k73cfZm9ufWCXZ4HA9h6fim9492IfeaEK92JvbyBUd30few4Z82ofbUEM73dveD0r9hJvdW969Ad7de9oV2J3UZ9h3DtXfCQEwQm2Ce9vn2FKo592b20Pdc8kzhOfZY9qHtJfbG98JBP2FMEJn2Q+AxEfb2Kfe59qn3zuYWdr2kuLeWdo2lpQmE4EPh/OE04FzgGuAPd24wTndy4FHhVnce4AYgtnYQd0zg5XaQ4PT3Loy2d+l3bjFudzTh0nYBdkL2V+HMULZ3MeH/ac3h0jGwEAm3kXYd9oP2cXbe4HQoA+EdlNdgofcT9hgH4+Axd0wRnRyi4DZ3sBEdtuF3NOEdtvX3SLasB9S2KLY44DgNZ2DvoAP3pODL9vARQOGSAIQRbWBr95NhkgFEd8nga/cdEZkQuXbL9k+2O/feed1hVdBb993hgKFqtiv3mRDnt/v2G7tjYZIB4XYn96Z3e/cKd2f24rcr9nEB+/e1pMlhk3dX9xp2O/YgeI3h2/cr94nhN/dr9tf3VHgstoaQKhSn9zv3neGH9hW3t/ar9xv2gSTvYFv2r/Yf9i/2Wgd3YYf3j/fTd2f2Rfdv9g/2z/bx9/f3d/cfJathl/aH91IVX/bt9s/3EgCf9/v3vJ0f9y/37/fn9oQQJ/dv9ve3YA5H9uv31/aH92URAA/f9uAOIA+J4Rv3guFQD7APIpBADslg//amoX/3d/bKe0f2T/fU4dBBP/ZX9kvwFfcC4ZIA63fQDkh2HWGn90gO1/atePAPEhFH9n72N2CoDmAOWA/m9sQP0EG4Dzv2NrZFMF9hJA7JAagPNBBSaSQOeBGX93f2gCnID+gO2/fjAJQOMOBywavhcA/0DhQF4A+0DnTgDA+4kZf3XfYMDiQOKA40DsgOhA7YELrgbA+b9mQORA9OKef2u/dEhcgO+/bkD6AO3A4YDt9DMA/4D4wPGrfn9mf25A97t+f2OA8iD1wPR3n79oXhQA/cDs79MA5399/2PA6MD2jgXA60D9N3G/bcGHION/ZtkCX22A7sD9/2MxhyDygOYalMDr/2ig/W99QOyg6Yd8IOr/aqDi/3hA4YD8oPHA6795tZWg4IEfv38g86Dof2XJHgDxGk+g7vtkoPK2F39to5HA8ttvIP2fZKD+IOig/8DswPRg6ct6QO0g/0D+rs6A5qDzkhVg9QD5oO5g7WDu/2upEzYSQP0ZmGDggRG/b94PQOsg6uD5IB+3f79mksfA+Q4B4P5A+ZEZAPjg64DpAP4uB9oNQPSg/0D66hPA+sDgEPp/d396XgBg5ED8NhAQ5eDpwRTg4ODzwOh/asyJoOXg6WDo4OfaH8DkYPjg579wf2IQ6hD0BQTg8v9/v3MUXOD1v3zA4LEJEO8Q49EP4PmOGFgGEOsA5ED3pwKg9399CRrg+r9wbYCg6H9hoh6g/0DzkOx/av9tkPwQ4YD5kPJA4ZDzoO+Q6QEbEPBQ5SDvgPiyEJDqUP5/dOd2UOmAGSAGYPiJHWXLYPmA6bQHn2kg7xtoLI4g6r9y62KRG1D8m3dQ4KD53hNQ71DwgPVQ+lDrl2m0AADqkOIbfIeJ4PfAGetrp5cQ+mQSwP7Q+et5UAxA5rMLkPPrdqd1IOag+mQb0P7Q8utwDhMg4htrp5u2CNDxW3XQ6sDl0O6bbdD6bhAQ4TD2wPOvY5tsTg9Q7QD02xz/fmDoMPpuAtDo3hpkFpD9YOZ7YJCRkOObfLDxwOG/ZSUDAPrQ/d4b9AQw98D79A6g4JD2sOPQ7aD8m27QlcDkIPPrbtCaMOx/YbD/sPzg5iDu4Qsw7NDzzgSA8RtzzhCw8rD/EPSw4htqsPAw+Td563FswIDosO1w/GDi4Paw5v9ngPpw7AEEEO5w6P9+EP9w9pD5sO9cgHD955nrajgPYPLrcqt9UOGw5vDiMO7w7n9mMOXw5DDhYPoUA/Do4PoUGPDt8PRNFzDw4O//ehQCr3nw4Ajn/3/w+hQGX2mA7NDsxZog8fDrThwg4Qj6CPwg6LDiBliQ4Qj0CO2w+hQXcPsI4hzJ0PZA+hQKIOfQ+cQ0UOXw+Ij0MPBclWtrYPieEL9tS3yLcQ4L+Bx3aYj93gv4GLtr+Byrb7YDLgOI4ct78G72BYj89gIHiYAJiPPLYXDuy3sslYjsSO2I94j4tgv4HO92YQluDkjmSPuI54eQSPXXdjYL+AsQD7Yc7hNI5kjsl3xI+xt1/h7SHC4fi2j2GMjta2UeG0jxSPT7jUjnSO7gFEj9SPnLYqdky2FXdA4CzAZI7udizBXfYXgTKQBI4wEPZ4TI5cBxK2YlB4jxK2UXb8j1/g17gMj+4O92GEjirJPLYmDiyOI3Yv4RGkDI7kAZ9gubdmEBKPVODSj1iP7vkCjmP2fI4Kj663gODijxyPeAEstmm2so+fYKqOgo8X4abgCo8j9zdhko9yj1K2q/bSj7KPL7eqj9YGQtAUj89hAYEajzy2Bo4sj8q2fREyj+0hWI61EMqPOI++BgqOZo83AL7gIo4v4fzgCo5ijhaOCo7Jd10RFo/WRbq32I52RSaPLPYMjyvh1gb0d5y2dkSGjtW3T4E0jg6Pxo8Kjh53+I74jhq3mI6Ej10Q9o7UALaOyo+Sjv1gRlhGjhy3MPYejsz3XRC6j/y4gY7KjzaP1gZq4a6P+o+i9gyOmo++wOt3Wo5KtyD23I5ejla3wo9Rj77AQo8ej1/hMywsjuGO48wBjv33CrZJDgyPwY8xj1aPPLcT9paPprbmjv6PkY6ujuqPcrfKjgyP5o9U8AGO5AG+j5mOoY6Rj7aPXI5qt5J2+o6RjlSP3o5WtlqOso82twp3oo9YjhNtfo6PYPuCAY/mjrZULI9Oji/gtRoBjtaO1Y40jiSPz2CVj2dhpI7lj8V2zo/KjjNhXbbkj6WOt7bkjzy2VXa1j3z3VY8ljzSOrY4tj7GO7Y9NjjGP5Y5tj9KPdrcgdwWPSwDoj6CNi/YYjyy3bXchDbfhho/wEJJl+BGcCA9g7AW34KOPA/Yjj3B3NwBJjpcNe+DtCOP3BBUX4YrUiuAgs/q3mY/YBh/hBU2gER7QGrf0jw02C47M9+fhy44Pd0QNb+DTjorgABETj9P2m2CfDW/hElgi4HOOarYRjlOPQ4+zdpcNCBAhjt7g/Mp7jld3TinLjzHga46RjruOYBAv4NuOy45njw2Pm4+LjnGPiyAi4JHRCrZiUdgHU4/TdiLgyp2u9izBluGyjuZpTBDBitSOog5RpDyPduGUj5bhJI/L96wR37cAEHZEUuC5duSP3BDWjtu3WBHeDuSOUuCJjxdhjw5oEOGOKshS4T2PZhCATmSOz4584RK2j46bYarFn2D54JT1T/Z8jy+PErZQjmgQIg4XgaIQveE3YT4OaBBJDjKP3BDJjvZ4JBEytwQO74+OjxBOaBHkj9LkKE+yjm/2KE7yj4gR1+ActgsP/BAIT2+PohFwTzdhoE5lDzhP3BDQTqhPSeGQTpBPM47VDu+OFQ56j3hODo7it1BPIrbrD0BPNBH2oIRPc45QTk+OGrYwTi6PsE/kbaGONE+2d10RohE/jrUQB2HkTJ6PMuAujkr2n1S2j9wQyE/84IhPc47/j09VoY7sT/u2to4PjixPghDQTyMJFE+EELURPE85jqRPzE5WtvxOfbaZjwJPP46jgSxPWI/vD0hPKY8aD6hP148y4CJPqI7vj0vgVrYa9nxOVrZ791BOEk92D8+Oj2Hwj47gxE++wWhOVE+Xj+b3pE9yThwOkk+iTopPjY5WtxxP5I8X8YIR6k639uhPz2Gt4D+Pok/ATyz3CrdKT+92Y2Alj7ROCk5a94pO7Y5V9rhPx/a9j9wRLQ4vYdIQWkcijmJPUsNrYAy2LuE7sGy35k9mTlKPig964FZPE4+TDzlAfBGYTg9gE21cELK2PW2fYWhP/72OTwCOLuDnROZPeuGYJ1ZO/4/mQy5OUfeJHTwRBOG+4WIQ3LYMEXY1Io4u4e5OvE9kT3sAbk+WjwFOLk/8ji7gCeGfYM+Ojk/8jnq29k4sEXZOFk+ET0pPXk62jmZOXNH4EbsOkhBzg3ROZk/mGXOPsE5hT1/gDE+xTjFOAU5G9pFPc45K9olOQU5RTjwRGLeXYVFOIY8ZT3EJFk+ZT75OfBC0tp5PJ45ZT7zRprd5T2IQAHWxTn5P549GTv5PBU+L4AwQyU85jgNgmU9DYfkQRNkWt7JPp/DJ4eeOcHc1d1lVFraCWYD3YOm6T5dhY5U8EDogNU4cEeVOaU8Kt9VP4U7mt4gRKU/5j9FPVU8Kt6lOQhBWtvH3ewBKk5eOXU5WQpGPHU/+T7pOZk5FT7pOPk8NTuUOIeAlT2VORNH24P2OjrcN94oRTOEHjqUP3WFjT7ARX7dtYBgH045F9hNO67TXYZ3geSB24BgHW2B5INt3+g9o4HkhweAKgDNP2o9IYBdgnWHTj6Thq0+wEBr3y04+dqYPi08z96OP4041wbeOHOA6dwdhc0+I4BNOgTSLj1YP+08OjrtPd2EL4IrgcHeHT5OOIEQ3YQdgN46CD2tPn7dMEHThB2BRdtAR806JKfAQlHbnTmtOq07hYLNON09Ad0hhh05Vj4ThD0/HdvNOx04HT/ARs07S9+TgRfcjT72lo05hEZNAUfbrtVL2C+DrtQz212E9j19Pu+Fd9g6AYfcd9+U2/44GIRL3AU499zL3p+A5j1sgA2HI9izhtmFQ4NLhIQ6QzqLgUM9D90jgwQ8D9kqPWyBdT/O3ruEQz6O2zQEfTg32A45WdsdwK0+n8BNOxI/5Eeu2U052RR7g2k/J4Vr3GM7YT6jOvPYw9/wB6M97j5bbZ09HeYz3u04Yzo12E09q91V2SM6WdsjOjaU1j0wR79H9diuO5073d0/C0+DwaON3HXdkz5r2OM4t4C9iq+D9919hu3dtjlNhFM80z9tgO3bUzymY43fpdgz8NM6Jd23gPXcujmvhJ3e0Zevg5M+Tj3bpHM6PT58D8+APdg3YNM709kSk7M5szw9pVM7e4RnJ3M90zw4QDPdCBm3gVM6Ldre2509Ldjd2peCD4xt3HuHo0uTP83aszkn3JY57Tvd3i3Z7ThLPw/aSz2L3ofZCzwd3ofdSz2qr6fY8zqz6r3e8zkd2ss7qz5j2n3dcz5LO5aVxd9TOss6y9hTO73cKzmTOYs+3dy121pivd212Os6fdszOcvafVONh5BLfdlrOl3ey4LW2+s7E95X2Ks/1dxT2F47jYYrPbbeUzzbPss8N4OSc/3eqztd20PY3jobP5s/pjvPhJ3dg9rnhj9iqzjLOPPcrdmGPC+FU93bPWXfl9533p4eezk7OtfXV96rOK3YOzszO5s9A9zt2xeEiz69AzM4OXeX2Rs5qzs7Pws72zmD2+Y42zgT3i2BBz50OXXe1Tpthjjy19xHg12C0CC128M9SqON3NOF/kazPI+CTOKvgUE8hqLHOSE4oEYH3+vc2T4Thfve1wYTgcfcU7eTgdvZtd4TgCfaIBpNO+vcmEVJO0BBx9l11sBFxzh7OjveCMN73GMFJzwXPAU5rxK92pE+dHZn25/YYB6XOxc6l9tb3I+HZznoR+c7+RKrPsE4Vztn29c/o5OXPp+GJ9iqOehHRznHPMfYxzgIQtfYZ9+TgqvYez2hOCOiF97n3p+BFztD2oE5xznH3NA63T372fc8D966AXc4Wq4XPvc+pzy3OJc76UYXO/c4qTigRic8hzyPgHc/E9hPPQ89KT/j4I87GD63PTc+l9w/hQ84oEIYo0PcNz2nOC88j4MH3wkAoEDzz5fZ/91P2ofcjztnOCfYwhFTgK894AcTOLhBjTrJ26rcwT+iA23ZEpU/36IHpdolRZ097Dny36Y/YzyzO1AG4z8Hg70+YzoSO52Ab4Di39fYkzwIG/aRLQVJPsHf+EWgPAbaHThLx6c+wd1tgS0Aad9HP188OgHx3yeH3z7thMbe3zlCO3HY3YFfPz8+6do/PlQEkd2jgS0Efz/J3t89Xzt/OV8+ody/Pk2Eido/Of/Z4ds/PGHe8t//Pf84lt9Tgv89ut4R3387AL2QAH87Adz4Q1BCZt3dgS0CcEE/OdOBLQdVOL88wLu/OM86Pznv2n8+k4cchPc8ILrwG6+GvziAv+fZftsgv/7YXYAEQRna64WwHf88/z7wOY7fBttwGY876djDhxyHm95AvGC+6D2+3uhHVQK/Pjbf+EDoPH7ZQLloPBC73z/eJv7ZsdleRM2HltmQu5/fltsQvZE93zyQv1C4SgZQuSC4RtiAvOaWht5QuefdUdhQuxU74L5/PxC/3tpR3hC+YL2O3hC/Pzsp2+k7YkFQuwnfI4Fwu6bc+EBkwC7bULi3OlC80LtAvRC4UL3YPSC4ULqIOQi7cLuK2KC9PzlbY5C8+EUdguC+fz+IvzC9wdtwunbYMdtwuAC9cLgEOLrecLm/2oC7oLyEOoC73zoNY7ba3ztwvjw/QL/4RCi5Vttwu8i8CLtwueBHCLnCCxHZQLpIvjbc+EVlQS7Zvz1xY7bdad+LAEi6ILl1lei4KL/+3ii7Ad/4Qhi7Tt9IueoFJtiYvGg5yL6LBuJHyL7ovEk6dtjB3osFXz4B3Wi9pt9HPG/aCyXAvgIz/QK22Kskb9+74GC6yDr5O2bZydqcRj8/vzkKQwg8ILxv2HomGLkQO2416L1tgMzBCLsv2SC8CL74ur7bL98gv347b9yJOnbaP9zf3H84qycEvcC8nTgexsHYXYF9Hgi4gefv2Bwigd9/3gciCd14u2E7dtj4vni5jtsJ2X0d8Lxwu2/ZRLkwuES4cL64uJrbYLj4uQS+3txv2Ylzrt6kud89+Ltuc67c39p22zHbL9tYv4S5ZLwG3oC7L9zIv07bL9ir2ci7L93gv8S/tYRB2RA7yT3kvGS98LzCGpS6sxbW2OS+lLp23uhFFLrouGA7Tzd4v3/fpLiQvnA62tlov9A89YKIvzA8n92+3yBEX98kv2C7P9iou7i+H920u4C7P944vBS+AD8W3v/dmLs/2RC8at+/2sS5NL2f26i51tz0uBi+/92Av5C4/90Yv3/YG91QvPS9gLw/Ogy9utw4vwA9vtxMvfS62L5wPINTkLj4uMy5xtogP3C63zz9BUS/0DgPke7fhLvb2RS6FznMu5A8iLu0v/c8Jtxv3ay8LLrIP6BAxLwIORE8JthIP5i/xLxQPli9bLzYvHS4MDvsvk07kDvsuMHYHL3AuDHYMDkQuOy+FLrsupBB7LnQPOC7XzuQOxS48LooOfi8DLhsQ/S8iD3Au1S4XT2gvkg4IL+UvWy7CL7Qv0g8lL9oOXC9GD4wv8S+bTtIv4S6kL50u+S+7wMB37y5fYSovag53L0YP1va3Lzkhry43LvBRMy+UD6WRgy8WD84vcHZ2DjUu2/c2DvUusg6CkECvOSBXLsMuqOH+LoYOlS9fLvH24S5ED5Cuii4aDlcuJy7grkUvoK/bL0Cv5y7Nzn4OwC5eDmcvVy59ob8v8S8eDtO2LS+ODswvfi/umbUv/g7Dzr4vtmB/L66hQy8uDh4u7S8RD7iu4Q78L9ivgi4SdvEOWnfhL8BQ2K6yDzouvi56Lj+36Q+r4ESvZK+UrpEu8Q9orwUu5K/xL6Su3S4kr88u2/f5DzfPZQ6ormEvhYBPYBMvG2Bbz8WkYRFGYEb3/9ndYSGh0rfJAW1hRmBR96Axd2Dcr+K2yXdcr/fwO85D4e0hnK/oAayvjrb9pMlgL07NA91hmRC7js0DbWDJYDLhFQCN4eKuUOAYdpwvmRA+dyKuBdHkzs0CQq+fTv2kEVCotwjDkRGqUKi313oYtyIHvhGVAQWA2fc93foRqq9yryTOJaR84eWyD8A84je3KECAjOy2erQVpBqul84ot8cgogYREFVYFaTIL/UQhq/4qa4Req5L9xDhbAfhEJtB7vGKr2au0RGFgRVmo6QGryqvfhBCdrwHaq+BEEJ2pq8Djk6O2q5DEL2JkI32oI6va8HQjH0R3vmOrwMQ3VG1pDEh9q/IzzcBOq5oYfhKMHc3AQavXq+eER6ujaUu5PoQO/ZVWG4Q5aU+r/hB6DEawH6umq9konURuUFiLNLA5aTn+gCNRmFCWb0QehGur7lBgI01pO6vjq9uICGu4Ixh+MGvbhFSyeYQCndquioQVq9JVj4Ro6Un8ZUAm0HFAAp3UaP6EWmvgq/nzov2+q4zpTwIFDBZABvMN7dDpTquua/dEXGu/aUzpVCMxOAprkmvUIwMT+YREnbXuDwHt6Gd4UOl4KW/UAEhg+EFrii3ea7Gr5ug+bkawAp3Pq5+QAmvVa5mrrqMQgdDpSOlgI1mr42uePYeEDgu0a+UYLwHVVCVr5RgDa44Ll6u9a6Br2EQlggUMTWv9a5Zr+iOnq7bjFquo4HdEWK2Ka7stwOueq59r/2O2a59EPsdGhDIu4quzq7REZeBTa59ENuxmLYBTnavKhG8AUS34aTR4ToFB3xn0UCJ/SE24ImDnzgLr7agOzcfNxugxUzvsEsBUWluobsPReYkQOuuEzcXNqmkNfZqQesJ1cBaoBOoyIwVKEM3wLdIjXEAngGguZcNozbAEGpAR65/NlZhzkFKtyah6fluoV0O56764KevNwwqQZMOl4FcWW6hZ68WL5cMELd/N85BFwx4B6S3FwxemFevvmFMIE+ubTekt/y5pQFPrluvELblIQ+vmzevrnKPbzfbNk83K650gKhxG66FL982loHR9muvJqD6IM+v8GEJIb+vnzhfR0VI/TYAbwd9IG8OkfuvRzaFIP9VqAcCJxWQSGGQbzkRJjdNkBBvW64hQZFgKzaRpacMV48wbjGkQG4uYKuuS66jbGut667zrrTtqG/vr/evH68obhzBjQhob0ORYG9Ybhhvp67wb4hv7BGXypdAbOBSsXsBTOjQbvevuG6Qbv+2yaWW8ALR0G8kb4RvCG64b1eueMCHrjevsfC7r9uuNi93riuuB64yQF3A57V69ruvc+CXrvuuxG6UbpXBZwjYBu/whwy1EWC2rG8Ub8+vgCAsbk8NusekQAt3YLe6x0xuHG/GoGxuDTZx2axvzFDYBvxv7G9AbhcMqrnoBngJ/G5Eb2+vzmk8bkJvnsDiWAc2uo3ppBJvqAYjMHBuH64JwMt7Um59kf0hCcHXkuC3RG+0bxBuZ0CybuiAfwlJYUpv+RG1edJvGG6TQFJu6ID5VZJv4sgHN8pvgm/Ib0UAgJGidbJuKm/xSbpu2m5iYOpvmm76bzRAyWD+VVDgcm9ib9puByF6bspuFOCabsKMC3cKbj+udG/GoHtUBzZRmIcM1m5TN+qElMAXNjJvgCBh+eaQbOBhVEhhDm4HN4wdMLeNYbC27tXyb1pvlTbE4I5vGm/6bnOuSSAWbrZQu66KudZuYhDIbgZvnsAeblpu5m6XQV5uhG7ubmpvxG90bjwsBzaebwTBIW/goS4EwW7Mb81AdkSEb95vbmBmb8Zufm5eb2FuULbQb5nBsW4xb55uQWE+4I5vUW/ub9Fukm8JbuU3bcGiiXuucpCLr9ev97kMETFuQWAuQHuvJ6+ktiUuJ67UbylujaEVAElvKCFoBqXFMG+ZbuU2+W4Bb3U3ysBYbcVvLm/f0a5uT+BppUzhiiClbgcMjTaKb3BuhSDK1RJuZAYEbzVvqAYmbtVv9m8kwZVvZm4lbstACiAVbuJsRW95b3VuGm9AtkhgbW6tdq1uh6CNAJCXhW/UB41vFW55b1lhVwyvrzRBbreRMHBOZW4nAOVvi6/0gWhYaG/0gP9UnW8cYRcNw25frgNu427At4pueMBgbxOYKCCgb5nBwG+WidNv4G8mb35uU29obkigDuS7rrNvuAgbQQuv5LcKAEAAAADNhAEQAVwBdWEtYAgBylBwADVhlLaVEfwHI6+mruKvEKXN+BEQHZjdrm4gAdB+EQHAg69UsCxVOhAjACmudOCHbrCMIwDurjB2biHivT4u67T9EKKvM+A4UCMBneBuIYwuy0/Hbt6uERFXb22v926YGQ9v/QOO0KKufPGdEM9vp28vbuDQTaQjAKIG728GrwHAyZTCdwnAsC8dMaoQ726wIvnRPcDeru9vZXXakf9vnhDvbn1QLK6/bsUA727lthEtnRGg7javH29zpQnBh28fz4vXJkGg7s9vXfaHbhDvj4FA7j1AUO7PbgDvx2+MLysqahHg709vjYEZFje3sO4o7ssA1aR7biduR257Rc35128Y7x/PM/WdEBjuCO8wQW9v8O4Q79edJDjA7pi2EREYEcYpAO76EK23mq+KrwnBf28aLjju3hDir2elxigREHzk12/Hb7jvVO+UYRTvrO2kGckBJTzKEVju+a6W5b9viO7GrvTuqO647hDuv8FY7jTviwSWESzuKO6U7gzu+O8c7/TuGACE774QERBVT4muPUGnbrzuCRTeEH9uvRBU7uzvGsAc7ydu2rUHb9BkIu9C7sgBwu5HbrURn2+VpBERrbQVpbTvuO8S7k9uYu7er9LuEO45r2oQXO8nbhqOxO/w77m3eO8JwcDuyu//DQDv/w25thdvn29sL8DvWO4Pbi5Amu/Hbo5Rx4Na7pi3WO+XbpYuxOGq79Tu527E4CTubO7y7tzvt24yECjv8u/R4Wdu+24uQMkFCWB67gOkUu5iEEzubiA677x3/rUHbufE0RGLroCMGu9BtkUIwgd872rvi66I7iru5u6xCKDvSu/m7t9vyO6K7j2uUa5k7z0V/7ZG79TuEO52RCTv0u7nb/R4Rq9M7/6u/8/+7hOx3rfN+eLvlQHdAcrvJu8nb/YuN2GQ7j7uV6bSr6LufhHdACbu2O7stokP1ODh709vMGClDi4ATWGEAKYAhgAjrqNPGq7gjdbYfAZa0YNFj24bQbxxgxH39ljvWZAC73GRK/YmdigggO5LDqnuea/e6e0RHRB3OUHvGe427pUOKA4Z7r8Q88wIDenu1O9F7hbvvw/TT+Uw5Q8r92XvRe9k72/3Ya4Cd+SlJDlv9jmFta7l79nvb/Z3MRbude9q7yv31T1nQEOl1e+0sSnvZswNgM3uGISDEXnvzpG+EG3v1U8p7zvoue7NpFuwXe5F7qUGdgRd77ruBe8jpe3uB7UmQPHuCe6J7lXgLAa7bg6upqCwjYf2iO6moDavu/bHb+PvT29FLt7vo+77boUu/e8YD5buhS4Z79BBBe8YAfkv0A559ovuWA4Pb3Pu1O8/QFPvI8Ivbs/3pe8L7qO1BO7r7qWky/afbqAPku+79u7uoA+TYWPumBln95XvY+7w76/3au8H7t2vh/cq73vuTO+H9pgBO+7g7z0uE++874qvp+4X7sXvre6DL/kvcy4I774uh+6h7n4Rt+7H7/APAuAJLr0Rv/YT7rUQ1aXQDrfvz+/575PvOhBuLqjvL+4T73mA32837p/uuwib75fuU++G7j/up7X5yG4u2q+f99/vtLBuLtvv7S+C7m4vpe59LgAfC+6UuSvvClRT72AetO89LmPusnZK79BBOq5uL6mvi+7Grv9ALO5YDgjvosCv9+Ae7+91OG4RX+9Pb6LAAB9P7igfs8uc78fvhO+iwUAe2qw176LBpe/778AfSB/s7/AeNq/iwHfu0e94HsgfuB4oHyIhZ/cGrtwuJgd4wH0uCB5EHsvuaB9i7qQeeB4TKHzvP+86EdVAqB6DL9VBeO/H7vtvNB4G74fuee/VQervu++rYQwe8+53yROuj243t/PuA+8MHrPuohGW73Qf7REv7rCNNB7T74gfmLdA6Ogf3B6qrpQel++Y76QZBCC777PvB/QiLvvuWA4L7iIuh+/MHtxw3C/274wfZ2FiH47v9B4IDSIex+807k9hQh6n7pnPAh7n7lQePB8e7jCN7S5e7ngu3B/4HqBVJDikHlwe9ICT7v6uE7HVQTh2WA86rq4Qb++8HroQgB8U4W/vmLaoLtv3d+6qr7oeyK96HtoeiB/4Hw/vTS/4H5IRs2C0AfHvCe/IAYnun09J7/Kv3umkGKyg32+C91GXUXdtSDB2DoHWHgt33RHAzz1Q3HDxdyOkP04OHioR1PaYtwz3UMgH0KpuT+/lNnYfgckBED9P7h8hyFoQnh77bm4egxEuHnYee3oIzq4fE+B+HvD3mk4Qzv4frk554bWxlh9Ijzz2dh5QcGOk3h4hH7wGOhDhH64fouzU7g6AzE44IxTg0R6wjaROSu9y9/CMcE554KUH/q5wT3OkDoDaq3GQSR5875NBUORi4KhwZeGwq7SwcR+c75NBOZH5yFGk3u5ZH94eUR+Pbzkf4R61pcDOdh93VZkelh+RHhEeE4BOH+ER/4+OHzL2xq8DN21IP07FTmgQJO/arz5oiuHpPDGuiR4TsQRvbh4OgU4eA2CFH9zvWyHJHvnhn/npHrKc+dCXDMEfzFB57wRvPRTc94TvtR6DENz33h/SjJwe7h65HibHUR+MpNkfS71hHkDPau6lHwEQvh/eHuRJcR/BH64fqIW1EYMflh4O4EUfE+FjHxw0Ix89HnkfIiHxHzyE/R4OgEKJx4MNN+k8BR/eHngI3R+2HkMe81JM7tEef04DpD9PvZE6EEtP5R9bIBC9v1ALT+k8FR9lHwoIA+AucO3uc04V4O2IbR50KbUR7R887gtPpR95H64fOuwaEZ0flh/T4L0euwgHHgsf0O/9Hm0fgSiBEUz3zR5K9mksnR6NHt9vPeB1HzGI0RFXTjkfNR5bsVdOBu8AzoPgL+8y9yPhPRUJ4A8e305eHumvWyD1HtdhnhA1pB2Zr287H0/2ix4nH1VpphCRHxPgbWjCHssfFQAZ7tEeNq8VAP3vcveW7mUB1R4VH9K2E6Q/T7mv4rdgn+U2Vx4Qn48fux4IDUCfHe7uHh0ecdinHnYe/x9LH8Mffx6/HscesJ5nH28fgvc5BdqQQc77HpCfgu57ThXhHTBNpHtPju5PH6LPTa4/Tg98MzHongPgdpWrHm/yaJ4An7fQhx7jHuNhLx7zH5Yes+Ou74ceT2BWEL7uCvb7b2Sem++kn7yumBhD7mYfxwDmH0jOo681Mc9umFAItsdvaM77bl12iO8MnjwHZsFp78UedJ4Xb3nve27U7/kRde6HdyquE04hzO3uh3ecn+Xux3fcniQewI16HryfNx6Hds8fOUFPbl12LJ9rTnbu3HBdduIfXU41r87Awh9dT6MOLUC773sAC+/0nv7ugU+W71KfrhATTwYeCLaSnpnPjJ7in9IebJ/d74CMIeCMn8yeKx7csQ6Ah3ZTTuJszJ5VQrKeqp8q7vN2DJ8nmkAPofelHsqezJ5jRTCfTJ4H0Y92Lh6sn8qe8QN6nuqf+p9kYJgZap/DJcaerqURHpqfhp/GqOaezBCwjZX2mx6qn0Kfee+bC5CNkp4D78JBqa5TTvuCfe+TQFDv3J+an46fKq4On3SfoA+TQAmvuhH5EXWvXFzn7+6fku/lNhdupp7OnmQe+p7AjRWZrhHen8qfve+NEbKfpp7AjAGeuoCBnqjvee6u6baeBxzp7skfCp+L4DhRwvb2HoaezJ5uDRqeup/GntGfJB5Rn8ae1oCBnl2uytUEHjGewIzxnnSf6+9bIbyfLp+anslgop6Knyv3bp/BnzXvax/sEYKfRm8qn9KfB/QV7wKeDS7zDk6eyZ4QjcKunJ50n5XuuZ4Z7+yeje7Zn78erJ+E7yv3Qp9OnoyeyWAZnnGfKQ+Et7aea+70nslgsB50nhyeXMiSnlyfwRkt71qf72+hrnc5c6Xinx/3TZ587jmeGhED77yfwZ42ry3u8p+qnzWf4Z+pn1Wfyq+Sn+k9PA+ZnsafKQ72eW1IqZ5ln6Ku8O+en+Wz9/fzTxfvlVDuDi6flZ479+uU/R6+n+f2YS+JnpOfu07pnzpvs099nuOf205Tnj1Ad7bUnsPvzAc7bknvtJ5p7/CMPq5F78nvgxH9YL3ume/B7kEuQ6W57ggMa58l7puf2pArnv0REnYJB8eCW5+p7tDv257v8SXvYO4knf/B3HaIr0OvNk5t75Xv/8GO70Xu/O++wLXuMHbnn2rvMY6775eeee/hj24e554k7rqug+7X7pXvgu4+rv3vRe/VTjufqe6hnhOwz57d726fd56a88jhG54RnnufcgftEAufZh/D74uf5h+0npOOXu/09tTvv5+U7+6fryVYt94foWz/nz2AQF7gEKFP8R7Lev+e0rY4UWjP3xEsnxy2vZ/5EaMK4a+ajlBfHZTn7xy2A+/U9owpDR4XgRWuB3btK8uOggmWHi8PMJ+er94eNnbAXjZIbCl/npAf0E5/nmhfj26YXgBfQF9YX78GdgQYXje2FI+4XjhfaAAMt7HwOx5YX3heR647HgReE067EQf1AF7snkGRsx5DjKRfysaqOfkQ1mWu7mUALc/snpyj0eA0X/VORNBonmUBPvHfkVBeEFlKn+ReQtFQX9vIMHadACCeJVRM7jiO6J7sXsUBX540nz+vDQAiyLQGcm/Mwd5OyaX1b62gc68ctlM2/64doOyQaBHLr/xeQWE0toJfaAdCXlPhzmHzblgGfF+Sn4ogkl8HAbOhVLcj78jOyOGS7ktP4+GUCYsfLQ94Qc34KR6UKHkfpQgXHy2CeR7wjHwGGAbJBfDhXhGJH/0NUR/sjz8epfkEXmThtc8qX9qvjnkd4Lpf8OAweGpeml55HoLId58HYNpeuOB4uPieF44mX152FDB3TgPgIsh/n1gJkIwZpJgYLR5K2N2uGaTYt/ngNu5mX7Zf/2nXH1Ze6J/kpQsfFl4AX7WxMJ4ZpdCNhODJBGZenc66XmZfVh6T94duZl61pJP2JB98r+k0zh6GXje3b0GKXvngfl8cruOR5bLGX53hb0H5zh6gwh9vQd0QUOFTHqWfoV7onpdOdOARXjseESz+76Fef54OXsjun0FWL95e3R/BXnJeLl9r7v5fNx9qXtTvb0CzpG5fyV9ySbAQ9lmJXjGRuF5OXucfb0CeXgtOzRCBXsUeKBBfKXjAOV7eX+Zf1OBZX3Be4V5InlleUF8hXkzvb0FoTp3gOV8pXsZe6l9rwJi2AV4eXi6ucl5+X1yvw2A1z25fa8ClXvpfa8E2H55fMJ+ppECfSl9+X3seVF5NXxyuTq61Holf75+5QWVemV7X7kkhjV5gq7FenV9Pb3JfPK8xSXce0V8ankkhTa7nYXZf0a7FXpNVru+ppbEeNl6WES1fJ2DFrvVf8x+mXvVeHR+QzR4eE17Inrq5yhEcrycfrh/FX0Nf3K+eD7lBlR/bYLVe/V5L4Itf7lCmXi33uUG2XwFfSsBAn6teiSGdXtpfXK/DDbhf1n0Bn5pAnx6pXpAfJwEVXmvhDV/lBDXvA2B87ycB7V/7YeYQXF7LoOU2GaS1bp2kZoE1wGzg3aVGEOVvRmAnNgUQ5hF5ILHghaSXXudfhyCWgOdekmEdgPZvam+ewZ+gN18gwE9fUgdZpLdf11/iYdqhtmDJpBderm/fnw63P5+7bmteZZ4tQMduXcDOn8Kfte6/X8qeYZ8snr9f319sn49uXcB1n3yfSsBFnzyfSsGd76DeiSAQjMd2hZ6JIfyex3bPHkkhqa+KnuWediHhESKfju5JIF2uC2xzXhHu2A8SnufuSSBSnj9f0V7LiTmfKN99Xq2xgp9I3wLuYa+KnrWenV//XkqfLV+BnzDfKp5JIJUOx3dcr+GB2N7tnu1ehN8/X1gu6/Y6n5Ne2N+6nq6fHK8E3mTe3p5rXhaejB7/XsyexwrFAATeuN7Lz2sfpN5mnxafAN/2YtTffkhon15v8I3CQOIfyN92niafqhFcr58Ijp/o3iVf5N/GnhzeNN7tX99e7N7bXl3AHp7rnuTeCh95756xvhE03j6eh2CU3syefp+xn1TfMZ+M3zzfLB8hn6LewZ5hrlafdR7w3gNoKe7hniVeYakRnzNBkZ8i3kGfjZ55XkTfUZ/y39pfct8D7sFfxc4TsSnucu8K33GeQt+Q369uKZ5y32LeWe5S3rTfFZ7Wn3jemZ79H3jeHZ8lnkVfqN5tn0WfyV9kLiAO+Z/g3kIHBZ6hX0ju+dCG30Debih572WeeN5Gn/nJZZ503pzeVZ/i37oRSt5a35CMgN88743upt9X7mEPdZ7I36be1A5cyMTfit8D7tvv8N4Sn5sQh14G3jMxDZ6o3tHvHZ7I3lXADt4y3trf3Z6jpcjevZ5b9tbe2t/9nmOlbN6un6IO8O683l6eKA9bYSHew5+ZEFDugt4Vn+Oe5p+239KuYd+a3tHfNBF03ykPMu9R3t4uMOGx3jv3oljTYcdfNJ8Xz19floAhn0fvI1+K0NHvE+/RXsi5q+/aH5Ff7SBj79WeMHeWgXruG++Bnxyu+kQ4UUvvloBL76zvad/L732fed9W7vfv2d5DpCCWJJ1T7pvvf8Bb7yOf0eAbQQavZ+6Y3lXee+8I3sJ2G0AH7n9el57Z0Hnvqd+178tuM+6136XfDoDV3g3uG0C37pXfzd5t3o7e7d+53133Kd5X7ojvrd9d3iHeYe9jYY/v1x/d3lPvr+/JXxne7+4D3rteg9737+740N7D35UAIB5f72net++/7pceZ9Hj35nfzd+sn//u7R5n0PzuQB9zpHXfwB+f7zjuZ9GgHv9A2u5d3hAfgZ8SdzaWM+9QH5zvBd5wH/N4JV5+3pwRcB/o7uPeeB9Jn0veSB/kH1ve5B/UHv3fVB9oHw0fy24YH+7fiq4bQPzvWB7Xn0ejwRmmwZ4RXK6j3yoRCZ5p3vvfmLcX3sLvu99UHmQeVd+S78QfkZ+X3qquZB+WgDDeBB64HvffKhF8HgrvT97UHjPfrd7P3lPeC650H/ueAnYN3lIeAt9r7jXeTB8sH8XeD29MHwPfH55C0WwfDV+guBwfH9/F3iGfXB6b7jvf8h/UHyA+fB4KH0A+XB+Hng3vOd4cHyDuwneWgCIeB25p3w/eqLYvn9Bf394SH3A+n96O3yoRMD+N3vyQAh9QPx3ech/V3vFQKB/P3jCMdd+KH8ofE95gPyoRmD90gCvedO4H0VGhP18b32/eGh9r3/6vmh87n9ffmLYE7lg/594BEdx3aD9UH/ofOD4IHusBQD54H0Ye7d54HiYf5namH0Pu356Ln59etJ9fXyFANq80t24emI5Any7IxZ5kPn4QZQCzpFNPpVRNEVxZ1x6dAS2lNrn57kw/3V6En5NfXD+rH+w/sV4MP91fvD9N7mlg0e7F4SOkhF4I7wdgG08CPsI/WK5cjnn3r2F8P6sfWx4wEefe3x6cLzw/LD6IiJvv4j/SPjEeV04sPk0eSx/UXhogHOGZn0M42R8jHttftLdGXloFZ05H35VRN49Orr6B3V4cxho/Nt9Xjh9hoLjTH17I216Yj7Ef0x7mntI/8j8VXvtgwj4yPoEQbD6CP5teKj7yP2rg3u8cPpieNQx8P2o+tLf7XxPfDF+AETYelF4tTiT0pZ8MXnJeWnOTXuY+TREmPhLepMHdXu3OjI7/39bgzHY4jiCfjj+6EHo+PR9WH4Y+QJ+2PkieBj/UEP3uHj5jHnI++2C53x0eahFCPkCfz+Ron94+mR4YAQE/3V+zT6Y+7x6sPh0e/51r7yo+B16pXTI+p94tH2HrxinGPsI+L/B2P6E+/5jkXw6BXU4G7qw/3h5m8FE/md4u4GFfNj5yXyEfhBD537MeaT9+PiCetlRK7r4/rh/L4dcfQT5o7OcfQT6TlMIfWT/+H4if018XYP4/jHX6Puk+LF5DjDw/Gj+rHyU/Xh8CP7yeNU5KPvzf7p/Zns4nFXYKPsJ21j+xTqCfAj8Gr5Kfbh8OPh0Rkp4z304/qx5pPzE+QJ8SWN0esj754Een8T/k9oWfiT/IX5MeN7e0tgMe9clVP4NOLsz9HqTBJR+9PsU/Lj+bdyqebj5kXiSAzx/5Pgj2hZ55P30ROF6CPq0/uT9Z3iBe1l/uPoA+ZF8zLFk/xT8Od1Yu+2APbkxerZ7VPzjP0IyUX3XvUF/zT8g/rh/TP5zu1mA+HxY+4z7YgyZALT/dXn8JsF+SP6peOhEbP6se2z6QX5I/mz7eEUnen18Wd1vOYRH/n+hfUTtYXv52AF9m5Wheg8lFHmLFeF/AX+EeoYCgXmpfJzdgXnN96T7MHfo/BOBQXvytzaWQX7hfj1uwXuBeNz6KighflAhXPnUZE968t7EeTeEoX6UJ4R7nP3ROf57HP9pe2F9HP84ZWF4Cjyc+Pz7EX5RfjF5fP4dgUF6nPxhfxF/BGTlAgF+FPuifgL9dP6RebZ7CXiC/DF9wXoblNj53PuDQ4p9kBAwQEjaFP3ReDBGWyBLfDF9QvvJx0F8Qv+BefOTdrmxeZF7OIexfQL4tHqi/nF80P9SeJ16NoQJfYzfwtli/BG/iXgJekl7JAGJeBwz8X+ug4m8kwDxfWL5SXnq2RL+BYOU2ol9vNrxfysGEv08N0l6/DEufX1+/Qaye5e+E3lS+jJ4oIIjuNL9lrpvG5p5UvmWf027PH79AHJ/TboWfv0BFn9NvLrfx3uv2rL9rDhU/Ge75ngDB/J6Mvhnuvw+CniggsN6/DnDeKCDiH6FAXq60vsIf/L+jDqXuu++hQFKepe7Hb6FAud7UvqK+ke+9D0K+5+6gjx0RAr5M7kCPNL8IPl8Pmp88vyqfkr8cv1cOtN4oIdS+s58Z79S+bL+1pBtBBe6yvzS/Sj9tXnS/+p6H3wLfaw+an5aAjB/qv/0RpT9c39q+QxA6Pv0f0r48Bznfax6gjlaf0D7Wn6K+zN8EP82lwr92nw/fJp4Ajm+eZZDY76y+tN6EwBHeAI9UvoTAlZ+/QT6vloDYH2sOdr5h+Qafur8ZbicOVr95gZGfjr7IjLa+Sr6uvsa/dNoGvo7vkI3GvinuyIy1n6a/EZ5ZwC6/A4wev4rfqr5+vymfmr6MnnYRYI5KnkMRIu64H/q/+p+Bv5a/yZ7IjAG/Ib/9EDBUnr5uvw6e217yvlqgvL/ivkMQ1GRIn6K+Mp5aoB/uAI61Dgm/zL9S76GuSb6Cvh6JXJ4Jv4y+zfYW3jG/cr8jCGWeMb6Gv76+ob9RvhLfLr6Rvqa+mb/23lqg3r7pv8XvHaTCvqm+DZ8dpKK+yb8Rr23eib+jDnYQ2+7xvzmfxb7+7qCOHZ+FvpK+v8GxviXewnYRvzW+gI2vD1o/mkC8vtm/1aX033B2QI+Zv6Ifte+2vl6eWqBhL62+w58nANa/Lr9mnyyfLr8ixe62br/dvme2br7LAZa+Wr/E3iG2br5G332OGL8LnoYQI+6Uvg6uRz9pHu2pxz7oXmLgKuGnPl0fY7/nPvsBk74aQZc/gxBs4N45Pz/XPixeT7qQX7c/uF8YEU6ui75UXp9Ujz7zv9bg1PjPPleEs74jdJvvrz49Hjz1bV6oX5YewYtoXrKyY78Hu18+vz/oXju/c767v232e78Av4u+U79HvlRfE75Av4RewL4Hv38+ZCwtHqe+YL4j5OC+l782P3BeJ3RQv7heMRBduzU+ML6/YMdsSJ5wv1gR9gnwvjcry75oe82kSL+zHmE5yL9gvrif152ovme+0T67CaoR+z5WbxJexL/YB0S+XzfIYIJgEl/yIOS+/77RpF9g3684vyJekl+Af2S/QH9IYcB/JL7kv04of77bNhS+I75fXg6vGJFNv2+eGe4wfjafe543ts8BNx++wCZ2WQF17vB/3WBIfleefnZEPlkAC+7If42hiD7of+8hCH/Qj9ThPcFPnlh/yeE9waee0PGQjT3B5577jN2u+H5XnvlU5+6EfjeezZXXHvh+d54PwAbuuH8PnuuNMJ7Yf5Ngr5/Ifhz1/q5Uf+RJWj6PnxR+7jI4UGR+X59Dv7Q/w74/nvQ+Dq/3dn+f5G1RHpDF6F6ZBHkfR0KTH+/12q9cgZO+4wCr4IhfauADWdqvoiXgXmgEMx4GVMe+VknQXv72gL41lJje/vdwXsE5cR7DZGpfy0UT3hQgPR8L2W1eOq4SfiC/zH+/Pxx+dXaHvp+PUn9gFABfbH/ar6Fsx78cf+3gjF5K9/J/5XYXv9Efin+boSp/249SfiSAIJ/yf0F2N7+L4UF2UF7JAXe+tnc0Xne+pZ94QTRfAlQEnjZ2An9MX5p/4F+qxTZeGn5kX19VSx7ytjsfpn/ovlgBph7Dv9Vv5iBgfqjhZAdCXsfg4H6NoP72UG42fvZ+JL52fjxYVW/ppZIQTn8Ofoehdn9vN3FuPsDOfis2UH5Mf8nf0H96v2GfjWDU7nB+zN+F7tTuCH4a3mmfW2Aofhbevn+PbgF/xe7576h/dH/HgiXvgX7bnjnvXe/IfyNoJJwV7hdglH5yD2Xu5H9cn8Kvju6kfjXvZZ7w7sR/xe8Vnrvv8X/akY3vbh+xfi3uXMlkfoNZXJ53OP3uUX4r9sF/gX7UfyrfGX/wf80sqjl97nR/Az8t7/8N37+Mf3Q+nn6er0ngAF9EXogQ7NHoXyRfdreQLAU/kOlYXlBwIF4f4UZUal5gXuV/rangXt9sfT7fJfheaoz3PrV+VF6wXpjejQDF2CU/cQhZPpV+s74kgPwxFX79Bahe7nEoXkydnT9lf3hfhX/oX0ReJY/FfmLhRX92tj1+sz6df7pOUF69fwpPMF5f+xhfCgZEXkN/eF7DfsC/JX83AUfouJ5jfsVN1X8gX9YGG12MX11N7F8TjL9hnVSln9EG9F77JE4/itW1ftBfgIwWj3BfSVTdr2N/bF6Zva7uiH8cX6t+FgD5flZ/JMGxz3xfiiBbfsJftn+db9t+0l/UBm8PYzfCXgS+pm7XAPt+O397flkRkl4ufoBh4Y88Xtt/x64nfihgMl8jv8jP528Mv8Lf8H+a3rS+8X43fvS/LJ5Xf/bfXL++fx/eUr/R6MIeIwEsvmQfH2+b9uy/R2+Nrk9+TO9fbhreD3+hfrW/j39Nv+F/Yu9ffuIfPcACvyg/6H61DxK+mN89wCK+13/ffmK/Ir7+7z3ACO7Uvol/tmEZ7rWfPcGyvzK/6H8Q/ojSSJ8g/19/XffnbjK/fr+Q/7D/hN8vfkAPKr+lHhD+ar9k3gMhCr9qvuLvyP5av7LI6X+a32a+bN+o/oG+Xn93fp3gBr5Y/6ThIP5Gv0k4aJ89wDafad6/f7ueQtBF3ua+gP/+31a+hZ6w/ga/7vhjnhD/mb9q93j/6D56vnzfyP4Ovq6fbWCk/qG/Mu80//0Rzr7S7pj+fr6Vnkj/DP7Wnrj+gb8ev82k+P4mvq7uwnaA/ma+9P9+ngz+tP5w/4z/nP4BvnT+wb5C379+Na52EarfXP/9EYXeH38RfuG/kZ/8/3W+sX7Y/9m/Nt/ffpUOWb79HyD/Vb5xvoU++P/xvkDf8H9AeKf2Kb/vftd/Nb75ns9/gu688Lg/13+IPwr/eu/If1/e9J7i/uaePP8K/oz/6P+5v9Be935W3/m/T36PfhuQVP/y/6m+mmQg/nL/2v7b779/Zb+lvlL/Fb+6/xqeEv+CntW/AP9g/lr/738i/xG+Sp40/0Ge1A8nALDeav5W/gOfkP4tv2Lvyv783wr+YS8Q7h2/vB40/+j+Xb84/+j+vb84/ub/paSlDxb+Vr99vpz/FaXbTsL/K16srwx/XF50Pwc+bK8WHs3MY7+qf3Uef56af8L3k77+/gQZvj9cfkDPOj4jXHkfCgh8frbY5p5ZHkJ/An4xrr2Ix7/HCMJ+Yf5vv45lDR9fT/EfYn8xH0H/RR8SfrYfAynbv5b4Ux5+/9bgMn/lNn1/sn6nHmn+U49RHhzGin9Sfpn/J77J/9pfXc7mf9n+0PbG3Re/uf/Nzxp/+f8oQY1/h77Gz9p+aSVLHv/g1R+0XuWkXU4Gfttfhf8R/kZ+ehBF/oBOrF7lpON+tLfmfsJ3Of9nvrBE377e/pi/Ln90D65/6aTgr03/J39voWRgDn+VNk3/DTc7fnM3zf/t/yDAnf/Wfy3+/zbnft3/bf/Hfr3/EiEXftB+hX4p/i7hHz5P4en/oL4zYaV/nBAgvl1ubz6XYDNgZ4QbH1c/VX9V/4RvEF+EEPV//z9HiXV+lJRUXw8/DX9Qok8/8F8djhP+shEvP61+3LAfPzYN3q4dftk+fz7Ff58+fz/dfhv+Q/6NAMP+6/5Wt1N/HU5b/5hYL77nPzmPef67/6P+o35fvlv+BwluP9v/S39IvuP+U39QviY8a38zf0wQe1Rzfhf/euDwv+4/C39z/rP/0F8n/jc+X+e17yt/KL8CcGt/h/+9T/HLG38NblgH2354vsd+pRGv/r5hBL8v/ud+k6HqQK/+BW/d/+eAR37v/88MR3+f//++Al5//4hg5mBu37EMAKwP7/Ux+5GcXcATLHjHm+/blA3UU4E51z003lAA7+Otw8SSBIAP/jigAkaw3x8LN5ZBGkEB1va88TR9Lj6cbzZeFxPU7+nG9QErGL1IAdygOoqh48FARSbxm1ocPWAEMW9PuyWHy2nubScjeuxh4AGyd3P/kevAtuRchnf6CYCiECmbbBu+LBthCCANjNtg3MeuV4Y6AAO/22EO3XFGk6jdq+AW/3v/kO/Z2kcgCtn5AtzEAfwAv3+il8A/5G0m5iK6/CBo5P96f7mgFSfiT/Cs+hgD2q4E/xlfmR7UbMWd9X3pATwx/ia/OqQlk8Ef7av35DEE/FH++r9juwG9xZHmW/KuyzI9L2jKvyYBHE/KwBBHsq/6me0j/u27VEe+gDPX4WAMuHvT/CSApgCg/4KpxZ/jn/YxeiQDGf5pAJK9iYAkQ+uv8LR4ZAJ5Hqc6CReFgCNf5Vvw98HY/NV+Ci87nBy0k7/hqnTp+lPtsOD2al6flL/LN++cYFf5P5DcAcr/YX+fgC7Ira90oQJr/TV2ZiQef51vzMSNwA8FuFNAnf7XeDN/k//aQB7/8ILYzAIkAR9gO3++PAZAFCUGWAbMA73+UogpgFzAKrwOO/bYByptJgGDhigoGAAwV+togXX7d32j/ucA4e+0f8a/7QAJHvrtbCv+SY8M767WxL/uoITx+GbAU/4F33T/lkA7+Oyv8jX4hPzYCPn/SoB+d85soEL3Nfg2PBu+V595X6k/xbvtX/dtcifA5771/2/Pj3fJv+yICbgHJALXvh3/EJ+9wCg37b3xTvv3/KC+4980Y50T0xAQf/Ve+RICd/4WL03vjP/PEBbXx5/4Z53UEDL/b4Gkycm1AFvx+Af/HP4Bib9Mf721H3/mP/KZ+r99j/66+C5/sNyBt+hv85W5Gv2oBmxfEd+f98RAHOUE//rJwWd+W4hv747AOMwNKAwAB5WB5QEUyD//pEvV/+WoCgAGe/xAAezgE4BQ58/aTF12uXqovI3g83dsR6z0k0EMXXf5emrthFz4P3KXuhPTEUwL8uz7WcHKYNQ/BpeWo9XQH4PxaXrX/R0BGn8el7qn0dAeQ/YMBJnBfQEafwGXlnfX0B5D8Rl4Dr1jAZx0a4klh8MFQbsGIdtSfXrOOnBbrYwr2D/jGvbMBdE80bo071uttsvJpkoj94wGMjw9VJI/d84xQCR/hr92zAT/POJsij8XAYgr09AcC/IEuCLs+hRtgPInpq7Uistq9sHbQLx+sg2fe2Asq9EwEo91JXqOA4Fecy9j1ohsBuNocnWRwfJ88BwAL3+XG8ffw+jqdLbYzgK9eNG/DUwjU93QA5gPsnuyve2A/OdH2zcn0nAXUfRsBtfcxwGvj1bAbwvdNQu49rwEbgNoTueA1u+DK8vAG1gJLfvTNKoBrkoAj7ugD5XklaP7uP4D8R6pgIwEB+Aixey4ChT7ugA7XstPBcBVyczBCeW1vAYcPSMBWOgNT5/Jy1Xjj3c0BiECce6PgM7AbwvDVe3yd5V44931XoZPShePpR3V73gOQ6F0fNN+2ECQ2BWr0PHk+A96uXq9Dh7HgLX7gWQZMBtp8+UbYrxYgZafPmO1ECvl4BsD/ATuAmiBKPtSwGGvzNXpRA3N4YTsWIEFryCnhW/F5OW7BTq6Zr0T4EBA1/gYZgBx59wQ8PipAtkeYEDPBAKQL+TlrPLSQsECeIFSQNHAYkfRf+VEDyIFAn1U4H6wUY+/QgzBCoQKRBGafMyBLlAe178iEDAY4IVC+37ITj53HwdAfhA9oQkJ8c/QXgJWPjZAyeaPndfBCSj2CgQ8IMYBiLdNSBzr1ZoI7gE9e1dID17igNyoPOvYog269VaCHr3GATbgE9eN69DQDJQIvXjBwENu8UDV17+txTNg+vNQA4oC0oEzr3IgSuvMqBcgAyd4mgIotmk/AwB5QCnH7x3yzPi1Aw72EC8OoGo12tAdUAvN2A4DSMQ8j28fp+AtP+4btg37uAIxrv4/LwB+3YfAHDQJNfktBbH+0T87AHBAMxHs4/Z0++lYkn72P0T4AUA1qBWT8ogFID3MnswvEoBIU8GwHHQNfAKU/Aj2qT9Cn5eAJagRU/OieO0D7eC1PxSAaiPSZ+cF8cgFlLyrvhqnf32F0D7p71AL6fnovEn6Qp9/oGNALaAQlvd5240CugEXhyTfr0ArYer0D436gRR1/rM/LcBowCxQFuLwzQMc/cQB+z98zarAKQtl/ffYBvNI7n7yAJVARTQDGBQKdTn54wKOAcoAgB+SZBCYErALXNjA/OmBC78dAHgAI54MQ7a8k7cdax4Jl3xyilwSAeSYDHH7IAMkfj97Un+sncwwHs/1q4Fi/KMOuADeP5dPF3vtIIYj+HWQZF6UAKgLqyAsp+MADsHamLzlgcmvbB2Vi8pYFtry5gdWPVgBjX8KsjcwPQAUGISKBXjcnzZICExgcfXZcURMCqYE511Zbuc/P1u69c7YHagKpbh4nJQB9LcrYFaANlAQfXW2BjMCi64ewJ9gUaA5mBpwCJaQxANu4DscFUeyQC1FTQ/3hAbtwJIBjwCEQFbsAC9oBA0UUuE8kL4RDHh/p4AzP+QOgPAHsgIKQuj/YEBt3B7qbY/0CATGAyT4IQCbX7wjyX0kk/MwBikDhAhGAIb/lHA+IBzcCkgFt/yjgeJ7dyBqQDagEo0mvJAdnAf+EKdUgGDwL7gVY/WeqcF9Y4GtQM+ASnAlX+IT8nXhSTxaAaZA7JsQMDF4FbJxVgTUA1C+ecCMa7o+yn/hOUPoBmDU4L7BViknkUAsC+R8DRQGLPy0Pu9/ZNum2B1gF0t3vQE7/NcMbsCdn4PwJqgNMApUB8oh7YFEtzt/h/A3mkt8CcYHzAPfgZTA3+B478f4GgANDgQ1AxDgTUCYuD4vQqAXtAyeBnUDSf6dwJ6gR6Pedgbj804FQPSGgZ9A3sAH+oXAFTQNzgV0AvBBjqcuLizQKwQRD4KJ+dd9E/6VwNWgWnfGuB4QDAIwkn0bgbtAtuBuQDcn7vnyQQYdA78+7CDroGZ/y4QX+fdEeLcCan4FgMYQY9AwkB7CC4YFa/2EQUhwHpAmP9UEFSILngX9A9EuX7AxuokT2BgUogmnggz8+EEXcC3gaM/Dc+e8DYYEr3y4nmfAkRBHY8z4HmwIf/uagWmBr8DIMCEwNAQSywHM2pMDH4H3oEsQXS3X2BV6BSYE/wPvQA4gqxBn8DJ142IKAQZ4gmB+tiDpCDGgK+/hRbC5AEM8QO6CPxk/hR3ED+w9A0e5Ttze7uEguduFX8MHYXIC53jp/UWBBfct26iwN3bl5/SSGu3dP95xIIw3k1/PsBCUBNx4JIKb7lAXKWkB39iq7qwPlskF/A3uGhcMba/vwTLsF3SJBRYDzo4893aQdr3EHuuncWkH30AaQbZ/efeNSCCu7+txw7g7vJMBMHcuM5xIO47rh3QR+wyC5kFFgKJLlbbM7ecYD4kF0dwZ7uEghDuGyCvQHxIP8Hm6AvZBCACZkH8dzv3mMgiju4h9FODvW2E7pggdQe8tsd56YIH6/uQ8O3uBCBY94Jlxe7np3NruWyCKO7pDyjAUV/ELutyC9RAA92M7td3aG2Znc0v5BgPiQYF/aJBk7c9d4QoO47k53Q0eZyCYu63INo/p53W3AjyDyT4yWyJfk8g8EYenc/P7QoJHbuDfHpBwyCiUFUfy+QZO3bT+O/t6kGS33aXkighLueSCX35O4Fn3pMgsbuGKDuO7Fd2c7iVAi5AvHdekED6G5QbI/TpBBAYuu5NgLlDq13TZB+SC3HBioO+flGHTduh19FH6QvEH9Pygt0eSSC5u4J70uQQSg1/O43dRYHsoLgPjMgobuHX8FUE2zzO7qe/GVBnXctu5LII/fnt3LF+aZc3rYWfyNgcQfM7ueL9EB4WVxs/msggO2e186UGaoKiBr8g6AedyDKkEaoNe7hUPSZBP3cXP6AoOB7ssgnJBZndnUFwoMMPhReRPe5KCR25e704fsMgpNBZudPUHo9wZQQR3d0ADQ900E49xwdqTvRS27bcQkGhVzCQfkvWWuw4hpUG4rxn0De+WlB3oCPe6/4EARKLA/1etO8a0GiwNVvsA7cVB8tJyb56fGq/uGA+6un3cgx651yeXrTvXYsCW9i67DoIbQdQ/LFOFftloCjoO6EGaA5v2gu9UhhZgMtrlHPWa+ij9ez7M90nQcC/GbMlW9t0FOgIogct/Ro+G6DuwEi7y48JTXW3AlK9ad4qSCLAWAzMW+2WQPchr71twMmfFK+FaDgX53oJm3rtfRtBIihD0HKfxrQWYglQBjQAMYGM9zvgY7gWy2TddvEFPwNZYOBgkDBC9dx64z6C0bhEvKluwGCae5b11AfrBg4mBlsDFlCoYI5buhgnDBTMDUH4swOKEGRGS8enn80N6roMsDr5/BnuZEZrl6Ffxb3jsINi27X80N6dxhxfvzfajBCKpOhDtfwiPnLfVL+MZ9fl7Yn0G3lRgkQ+3dcZr54n1A3j/yNEQdGDqMGnJga3uLwRyuplZyb68nwlXjSfTz+WtJ5MHFcGU7u1/dietX8Xu7tf2TPupg1JO7X8dT4Y3xtvhUsQ1eMmDgv52n3EwVcnJjB0mDT0G+fz97rbfCa+8Z9HV4mEkEwR+grbebmCnt7A3y77k5gl6+b7Y3a4iYI+vq9mNgBSZduA47CDMdgTffyeEWCF2AmYIdviFg9BeGN9F0EBYKwPsyfGwo7X9/l5Nr1/QVJg8lenEZOMFsYNywV2gqW+jldl0TxYI1PiVgjTB6WC5b46b2abF1/BwGiWDasFi3w8wRVgnMBRmCBu4rf2SwcO6Ylexg4QgZCYNA3vRbD3ufWDfl5eQKYwY5g/Y+kL8GMHtYN9HnT3HYQ+mDmkBvLwywb5g8bBwn8dhBZ0gqwR2vLTBeG8BsEwhxiwRuwR2+CEZdsECrzpHjOghLBwEZ/Ta6YNWwRDvRrBn6CB5gF70gATNfKzBvy9AoHhYMewZpve0BtmDyV6LjmC/mJgp7Bsy810HhqmowQaPWL+op9AN7PYM8/qsPUHetGCCsGgb2jiN9gvjBRACcN5yYO5QM2gx2kSG8TIEvYMFPujwVAB4n8AR7Ir1Egct/XDwL29dw6zYIwAfVgnbBLmCzsEMQIqEKNgw1esODme5DYM43lDgx7BnG9WsEOYNpwZuAm7B9Z9HV7WQIxwXNg/DeRvdgb6fr17CPTfXHBnG9GME8YPhXsUNJrB5WDYAEXYOk4K83G2+P2D1V5VoOhwb8vSIgB2CfsEZr1YgWDfLXBV6DUcFQr1t4P9XPr+PG9cIGZf1FwdqvQb+RWC1cFk4M8/nzgwk0EU9JsH4ryalPlgszBxK91cG9YOZwRdXTrBaG81x7S4I2PrXgcXBFOCtcHqj1twSgAjSBlX9CcG+r3DwdAHQ7B5PAka4C4IEwUKfJGuO892v5DH1rwC+ghuQWuDDMGq4IAwdTA/+uMzdad6j11yQHo3TbIy0Bc252INkAWN4AIAZeCFAHXfkZbi4givBzVAtm4d10gwZIA0vBkYR/4GD1z5MMPXfxBxeDm8H14M7wbo3fvBnO8S24F4JHwccA8BBoSDGI7qJBtnoIQBnu7oBrl5z4L/nqeA7iQ4g9+e7FgJ3nkvgrsBbFs18HfP0mXsxbeiutHBsHYoH3hAWsg0jBW+Da0HdgN3wQcgyle1+C/QGqLAknG4XVJBVfwTaRP4Mk/n2gkg+tgDd35WvGU7g0XCWBlWD6OCxDzJfh/giIusj8Ao7y2UEIHS/e74m48L8FNoO7YLAQuJBTy9ICHyoM5Xp/glfcdYCQaYhDx06ILAzHBn+DXjaNIPdAZ/gmOuz+Cr8HT40s/qLXO9gDRdkX7QEOvblQQtMB4BCFDB/4N4fiAQyIgeL8f8E2FFSLq8g412OwI78HkPyATAfg0/Budc7AZP4L4IX9g1fBoIF737GhF/wWhseL+M4c7e5MEMs/nIQ8EYQBDJH5SEI4IenwZVB06DQODIENr7naAqWkCBDi67+rwMIdwQqo4OhC+wEPD3HgqAQzQhqBCVCHYr2Lrm8vTghoj8LCH/71YIYI/Ewh78gFCGNf13QS3YOghrD8jRCv4P/YGmArQhp8BPCHARmLrjmAjIueL8lCF86EcIQp3H9BSBD64HkPxYwdpYC/BGn9bsGP4MSIT+g+0BvBCf0GL4Iw6N8/Ss+gBCZCHVf2SIXVXDVeg6C9O55EMEIeZ3GAhjORvn4SYJiHlZkch+b5IhD4SEJBQWFgz/Bmv9miG/oN8IZw/YE+phCPEwQfw6IbYQgI+encjCEaELnHh8gqi2X3RdCEWYNxkAYQuOuyqgFiEAEKYAGYQ1JB7J9lCETELrAaSfFIh2BC7CFcn3akKkXMduencQ8G9EKzATsQsoh48Dkv4bEJiIW0Q2z+aWCiiGOl0qIdvvOohSA9MECpJxyIZggYQhrxD8H55YIEIakgxYQjQg7iHkP22wZ0QyqePHd4CGBENYfucfB1gRxCIP6gkJGIfOgwEhiQArCGTEL+IbAfU/SfYCesE6iAMIcdg7QhmRDMEAvoLWISCQnI+aBDZH5y8gMHnsQ0Yh8J8mFBwkLG/jSQlEhUJDOH4UkJSHlGqKWemCAd8HAkLBMBzgngQIhDuSEfEJ+Ibngh2BoDopHSsqDgwTHoVRu/F95GCAYLiQRKQv9AVUCLkASkMWLoPgrnAIpCawD3fDQwdd+ZUhmGDG6BqkKXrvhbM0BKVh7+4qkJtwHaEI0hGpDpLaCcCNIWzgYJBk+CS0GMR3KIdmPH4hIbBHSEWL0F4qwvREOToB58EMZnQnvkADcBI8DTtDL4OSAekkH0+Clc2raOXD3PmGQ4fO+BCJIGRsgAXnGQ5zu2aC6J643Ebvj6Qqie1KBKF6ekOdIUhAlP+PxC/WAqOCmXqnXIZByQC7iG/IOHSHYfaoh3uABx7ukPwfsMiJie2ZCoC6Jr3hARCggYBhwgoCHFwKmzp2g4ghnZDK0ExkKmzu2Q8shRp8UyHxoL2eJbSM1QUSDrkgSTisPtQQhjwhw9A9DSwI7IdpbUz+03AIJ60SHoIdXA64e45CLUFJwLKtkS/UchTE9jDJW11zrjD7echesCZw69L2lfhp/c8hB7BCti8P2NCCCvNchfhDJyEUj1PIWOghMIxI9XyHzoI3/sYvR8hnD8uQFukNnIT0g/8hsK9myE/oPmxIePDMhuhDpHSWHwbIUKnZTO0r8kiFCgLAvpBQvsBFSwB17DkMuQWhQxkeW5CekEn/28rsi/OCh4ZDO/6IUMphnzwT8hiFDwKEo+1/IVmAiTw21tiCEUUPStjGQxChGdcZQDlfhRrjJbJshCFCf0GYkM6tlkAtIhjYk2R4FkPaIc/1X0hEZDGv5WtmwoXgXTVQwZCsgHdELYoVpbT8hQpCWW7ZZCdgUXXFShdEA/eAmkMboOpQ1dONDc+AGaUJ1ISGAO0IqlC9CA6UPUAT4go2gjsDORAGkNjIDKAxvBfsD9KEbAMDgYhHT2BriDTCCL11gfpaQre21lCtKEhgBdgVA/D82az8Ym72ULlIB5Q3sIcGDQl63GF8odRAb2B4VCvKHI0iioYZQmKhkVC1ABwYISoYaA20hhGCw4G2V3UnNIMG4uSCCksHVsHyof3Awr+/q9iqHkrxaIQnYF9GBVDiRx392f7nZguwGIA9RoGlfx77vjTQdBk4Anl7p7xM3stgmfueohhMF4kNPgF1QzzeA1DC+5RhwgPqVghQw+VC6EGO303HuVQ/rBNuC5qHDYN/QVNQw1ePVDRqG/JHtEEFveEQNxc9EG+bxfQTtQqxemm99qF9ULm3jyQwvuR3dPsHLUIuoY7XVGBH99wyCKByAbr3g9qgD1CX0YN4KQwUbQFqgQVYO8FAtxbfpyXaKhMYAXcAnJm+oYJgX6hwNCoMFAME+oTWAMxYCgCTkzQ0InwVlQiBBU08WoE9kOPbs9AzchYlDKa5o0MT4FGQoGeyNDWKH5p1xAJ4/Mq2Bk9EeBp/3itqRQoGeih4AKGUUMunnjQwYh6M8nwDswLnTgTQu5wk7ADT49qjcPn0sVY+J5IZF5bENKnggSbAQPFCgZ6VqBNEDMQ21erqdoiarjxEoWv3cC+FS8dq5eTyr/mzQhw+70CiJ7bpxVoa+wI2eG0DXeAU0KqnuSTdMhgFDrF7L4g7HmQQ4i+5Ph6yFSUIh4CQ7Htgs6ceaFwXxNofzQ2DoUy96KFVT26MN+weGedNCfiyOfyx4EzQrNoT09GaHLDzkSFbPaIkOOcM97YINlgeunBw+ttCuJ5NhEyPgLQ+Tg6BCHaEi0KNPhI0OceEtDUV5c0MU4LLQ9CeMyRlaH33SYUGgIUOh6tDTOBmzyLob7QpjeCqdFaGkMBDnrTiHseGND8Z6S0OE4FWnM2hotDZKFNTytoTmnNaewjdtF6N0JtoY7Q7I+lFCgZ6u0L44ORff2hI49nyELACpnirA1eOndCi6Gs/y6gJdPCaB09CDF5x0OXThbQ/PcbP9naEQ8CnoUuGEmhBcgD745O1ggbuPJAEJXcsaG1cE9FAvQnWBOCcnZ4wwO/jht/U+h/8dmZ6j0OTgSX/XGhTNDmmwaHwvgYxfOVuNnBrTagYL2IJoA+GA/1CKoAAMNbwWgQTQBBlCLKFD0BwTtE3RYBexA5AEQMPBoRJbeBhTlDXG5qAMgwWAghGhU+CIUEFr3lIRBfNJBPfdVHi7ILKoYQwg5BZVD4eCVoLf7oNA+/BjVCHm7xfw/wTtQqKQ4oAryHdgJuLlgEN8hLDCSGG0oOCIetQthhX5DcV6YDytfiugsQhMA886GpIM3QdHvThhohDiGHHQPHQV7PeUhdCDx0EB90wHpIhC9BKWCya73fHV/j+g46hwDYuB7PoI4HjIwjzB61DuoG24A7XhAPa8kSlCqW7gYJfRkXgwKhQVYQlhAMKAwaA/AEuaGCgaFAILcoRUgDGB1jC4MFfULcYSFQ9yh49dnGG4YNhoU5QjBhjz9EaFCyA/4FgAsWeMAhvj5aUyjpGXHb4+0Edy05oAIzhGOnDXoyd8wpgFbzzTjUvbjU6i9Jsqw/ziYZjQzABoo9MmGun2KYcnApJhHad8rAEjwcPvgA6se7LpMj4LhAngR3EVOhrzFWBA8cXFocceJieVK5ep7yrj1/rPkVOhv8IbR4NMNWPgwqAceVDgHD4xMNFHpUwhJhJTCDJ5jMJ9HouqdReQzD0J4KznIvn0wl++hTDy07VNSNPi05WdObTDj46Kl2Yzk0wh++IAhtp51MMsPmswmneBacJEFAmU1PuUw3gQyM8C06AIm+4ElPB5hZggzZ44AKBTqHQi5hfPBwSS1MKM4If/RiomdCDmG9cAGYTLQrphJogFSTWnw2YY6nYFhK6cVmFUT3+YT4fBZh+dDWEGGj1mYQ3AkZ6BXdMWGvMKenqiwsNOg7Fte4OcHPQcsnY7u868iISOpzjLgLnJiehCDy05K+FMgaU/ctOxACuU5HMJXTr8wslh5zCrxBaIJDnu8wn/kBe9SGBq2EogUywiJhaADuEHcABTToniLUe4rD6WEjW01dtSw9jg2r8iWHWL0VYa+AgyeoLCHQH5p3oAWcPWDqJ9CpmECnyHvpKw3cChw8nUxPT21YQGwMM+IO9RWEvMLjEMzPd5hlrClp72sOpzhYw3lumgCohBENykAYhgwd+eeCewCaAIQCEOGN1hvjD3qFQMLkAe6wgRucgD/WFJUJ7ABGw24gAbCXKGqLwefgK/cJhJGCT8HkYOEYaAQ8leFGCF958YNcrqUQ2EhCkDHK55sOzYcxg7XBqRcYd6J4NXwThPUDeFbCySHCYKIBhwoeLAdmDb8FVsN+XnMQ/fe6mDviEy4MKoQQfTle6mCIiGG4NCwSsQz/BfOCVMGxD3awYsQ8QhXWDbV5RYNoIQWw0qhkJD4cGFfyQIdHg9TBDhDZx6uYNwIW4XEdhm7DWCFkbxhHsGIBouEO962GWEIHYYlg4YhpuC48FtsM/wZFgidh17C8N6jsPtwb+vB4hqxDd2FxEI6oV7PRthhWC296LsP2wQEQirBVRC08HnYOkIb2w5pARJDT2FnYOuwbyQ33BAR8gOHqEK5wRBw3FeERcxsFW4NrYfNQ8YhP7CvIFIcNWoaQQ+DhFWC12E8kLw4fhGSIhZG81qGHsMCwZhw8DhFWD0OGRYOxIQ6IWousWCRqG1Fy2wUOwsjhWB9IOFEENj3vdghthc7C9G6b4IUgW9g2ohP7CvsHzEJbYb5vADhaG8gcGf4LUwaVgTkh5E9IcHb71E4TDXGAhinCnV44H043uhwwDh6OCpOE8b3xwdew2LBunCMi5C4KuTluw0nB6HDjMFU4MZIVOwjnedOD994/sLrSBAQnjhoY84OH+4PI3sF3Mdh+K8ecHDsNJwacQ93BdG94OF6cL2wZ5wt/BkuCzqHiDzRwSxw6zh6bCW2HK4I+ISpw3zhdHC4uGlsI53o+wyzhgHDwOHacPhXhew/NhgEctcE3+0M4eivdLhJnD1x52VxwPrhw2vAPA8V2G14E7YT7gxDhPHDoOFQcKs4cHgvjhZXD48GUkII4SmvfnI+XCo8FWcIC4QKvddhTghguEir0XHpcQtLhoXDkuGIcJbYS6woegJeCHSAw/FrwdsWK2QDjCZOELcKeoaiQbvBqjcvWHSkJ9Yc7SYN06pDQGHtUGbwZgPJbhM3C9uF/0PzwYchObhUbDnaSHcLuAIY3dbhGxdE2Gff3tISmnH72B585yio0Ne4RffL+Urp96fhnH3e4T9w6ceizCvEAiZwZHjZA5psYs98aZc/xPGJZPK2kS4D4cLEX2h4HDw5ByBvdTRBCIKEbNmnabgoy9iRyZH2G7qpAt0QvU9fuEOQO+4SDwgvGjqdvuEppzTjm9w4nh8chBoxfcO/QS+7Bv+1PCGeHpP0ARFNPLMeoED/uHuT3Z4ZT/enhAH1VmGc8J0nshPHBOOi8VU7IgL3pJqfQFk/ghp3BH30l4cdwAWK+F9ReHvn1pXMRfSeaJiCl1DXML54Uiwtsk6i99sJT/yuGOfAkAASz8jH5NvyVwHBHWZuVUCVh6u0iW4Zbw21uNz89iBm8ITYVdwpGgLsCdSA9gBdgZGwyBhQDBUF7CiFjYQI3B3hVtAvCDFoLyrhRbVr24v8PhIk8JQXjoUOyehPDsj7h8No8IDw/OhhQQQeGTeEZHpikCHhDsYwL58cATnojw+heciRtp458Ji4KD8cuhkPCwL7ZFhPoZjwgdeECIceEJ8P1Hm4GBE+MfD8j5x8ND4XiAj4SFPDaeEUAISVK6fSnh5q9O+EJp0Bdnk/XvhNPCaR6++xKoagvFp+TfDdeHZjyj4ajQzXhN48J+EZ8ItHknwwXhmK9YeBxT1l4YH7YPC2F91+F553Xgcvw85exXA1Z4L8JK9teUDXh1o9s6EnDR14fW1KfhF/CDeFG8KvgSbwiZANvDdKECNxdgXJbPxhBzdvYE90AVAA7wt/hwbCveE/8JQYWgQV/hITD3+HjUAAERbwgARwgCQ4GYMOe4Qr3WaEKHAZYGYTzJYGXLRPg3yI1O7xV2edqbSM941Hcd/akq0q9o0GRdu2hdWzSle3PQVFXFoGYNdTaRnfACPuv7Ikwy3sDxAYcHX9iAbRr2l3hGp52BzwEaN7Q5m77djYGVcE19td3MlgI2QKR7TcEfQYQI9Bccy9puALWHQXoLPYzgptICjzk8Exfmm2U2korE7x7yCPoXrzAGWSM3cyLjSCP2IOLwsgRogi6j4ihA0EWmBKchioR0BHAOwmBqi7bARugj7UhwXwMEXFXe748AisBHfoPh3g4IzAglgjkgB9nEPHvd8ZfgUVd/rRYEQsEU4I3wRnZ9AkxID06bjkUGyBIkMwh4L0FNYnzwCIRjH9CcD45CongNHSIRceYHGSuCJm7mh4BQRrginBHflksPiYI49uMnchmQo+wMET+3TAR2gjkhHjVhUXmoIqWeH7dq3y0+yUEdu3FBYPAiVh4SCOAjPEIs3a/3s3BE1CPMEVZQbAR5/8g+ELDxD4eZHG8hHG8KM4XpxhftxnYmo2NDov7x8MmEaJPM2eIy9Wl7893ogLMIndOBi9K2Bkgk94J3Q9YRAdCVP49CM04MnPO4AlXcC04GnxJpFnfc3umdCKsgh1xzTkSfZFur48QD6jCOXbu8vTI+0FxGRaPjxOEf2INkeRFd2M4rCMQPpqfBYRWa9Nt7cZw3EJ8IwgBFGcfhEjCOWERsIhzg8wiPhH50JIKCfQiLIEg95+DvCN5eHz/Xju9EAL07sHxXTtlkI6uhpt3hHm8QpHvCIqs+OyI/BHQiKtnow8b1e238KM5ZMUPHsHfbERhkdrc5Kz0qgIXSNdgVV94+HCbWjoaCInoRGG9Y05rCIEADjnKtO2wix6EmTyFEdAAg4R/Ij2AZyTx6EVCIu/GOx9RRGZcFmPv8I6ABet8wRFQiLq5AiIs8YhP8A6QTCKhEZbfaxe8oiwl4hz0OER6PBoelUAsa6oJ06nqo8MZ+qH9yhAT5yA7pq7YTekIjlh6jf2xnqV7YduEKcq07iXBBXml/UfOFk95WHn0JmETyI+K+IPCYuD3Xw+4ZqIg1hzM8DRGkoJDEfJ7JKebyImz44f3mYPwlLt25IiPHzZj0BdmmImkRRQikxFKiIdAd8IqERmYiIoG3UOvgY/w4ABFvD234JQK1gBlAqKBCoBKxGrr1G9loDWqBNYiLYGP8M5bilAgRu5YjN15owIqgOBg09e3JA+xH5QIKEN/QwcRDYj2xFDiMXXgOfBfOybDCMaZCMQEW7g2oIJog0BGgbylaE0I5cR1uDfjAWL3nEdOw9LoxAiunikCIVXrQIygRlLCtcHWCK4nl4Izyuu4is770/AK4VlSbMeYnBOBFa4L0PKr7PIEoa9QBiYiBkEcII3XB8BxlvYBbUSwej0LQRmPC9sGziNUEWYEKTeIEiYuBVCKG4fXIKD2bYM3xF6CK0tsUI7Ve+PgKR55CI3EbUI/wR5K9oDAUCLSEZ8ve3MkEjghG/LxixgYAtwRLK9ChGg+28EWuvDusuQjCJEzL2okTEIwiR/S89XqMj1iEVJPSSGpIjWJET0Ip4BhInoR36DpYAJCJR9uuI+pei4ijT7riLO4BIabaBtEiZODxCQo9rtcKpebMwwL5iBAzHlGHDziigicyjigD6EXaQ4Ph0+DcCEfYNYXivgsjB3pDhGE5YLeIeWA/oQekjayGkkJMkZZI1W+eVtd2DH4MVvprgpMBpGCLJEtkNEwYuw1ruiOCnJHhIOiwZx/F/BimCZcH4MJADtVguhhQ7DNsHMELCkSTgnAh2eCg8FxIKZwY1wmZBvkiPJEUELNwclI+zBruC+wGEELawcqgzAh7mD2uGKkPxvukQgghqBD2v5rYMQIQ9gsnBcBDH/ax4KzATQQyzBOXC4pGmYMqkXFIzrBZUiwbZy4IfwYSwZhhG2DVcGiEMS/h5I/whimDRCHxSLTweEQjqR0nDwiEFfwiwVi/aIhBOD8pFqEPo4NlIyYh3DCacG6EMGkVLfAaRNuCLJGiEJ6kRlIsRh6UiyuH2EOcwfNIkqRPmCnCEHSLake4QuaR2mDDCE+f3NwXoQj3BDUiF0HBSNOwaIQ1nBajD9pEZ4LOkXEQkxhFUizx7UtxTwUNg/ih72CGcFZEOiwd5I2DqZWDlR6IUPekSBwgGRrGDZT5MMOkoVDg7yRV7DrJHdEL1wZx/Sqhg2ClMHCUOJwRWw7ohu0inpH9EPfkBlg44hHRC9MFkv2xkeTgw6RDRDqcFs4NmIZ1I70OoMjniFlYP+kc+wsjBdL8biFzSJ1PicQwGRzWDpKEh4LJkUMQ/zhWmDkX4XEIxwZePOShU0jcZH3EMikVjI4yRquCNP4jUPRkdyQiIGvUjuSG2SJJIZjIwKRoJDjcHskJhIZ5/Mx2EJDqpGR4IK3jx3O6R+UjkSGef15keiQzmRij9aOEBfw8kSrIlmR7HDVpFYkKskY7gtEhosiopF2EIZIZ5/UCMJJD9V5iyLTASyQkl+EuC0P7Inwt7vrg+9+bsikcHvEMXQT9gqbhjjA9SG073gbnoQVORZEY3qHesIdgVaQ6vBYNCM5FV4KeAGDQ9xhXOB/OCl4OguJqQiuRsgAluGKkIUGOPgv1u5cjq8GVyKd4bKQ+uRLcjnYHrcIHwfDQsJhWDDAj53xC3ER09BE+bqplh4aMPxPoKodCeY8jUaGB6Fp7qD7P3u2ltXGgICOQ4NafZF0ZPsfEa1n1+vI17MEugR9SzoESOvqlkwmeRikilyYo8MK2KpIqygg3ElF5KaCCEbXsYlhriwcJHIhG2npGyYgRUVtcj66+HYESKETqeV+wMxGMMiPvk/Ii1+JH0TO740PvkVpwS+RqBQaJGcU2XvgX1GyBU0d8T6byOy9kIvCeRVE8/viUL3tINsoUH28+D3zg4SKnkb+fAeRS8iceSt3zlON0Iw6+jd9CFGVCOueDTvFYQnbIOXZQJz7YKv9LieR3cQT6oKIWWK4ItaebEdbgg5iJoUYuwKBRovtyFH7/0MtqkIpIILZ8ZFhkKOMkEeQi8MHwwcxEnExOPt7gKmU6CiRD7iKNkUfsQY7uXkcmhEvyOA4FQoiwRrCj9xGFiPSMCCfPZ4CVc1FGbsDYaKgI3hR71cq/jMKOwUZZbaKoggih5Gt31Y4LK6ORRcd9cFGOKNTvnQougRnx8VaZQiOIUVefTxRo8j15HfgJnDlgotjO6wNnFErDxoth/ARRRDUcQoEGBDmEIoIsdujlsuqg2KIvkc1HRJRDEib5FmKOP+jRIzhRhC8JFGaKJBPsFEd+Ruijuj6BKJsEdM7FOuqSiXFGuiAFaHUfZBRF4C8tSASOXkdyfMVMc4j/FHr/yoaKBI5JRsb9vrYbD2UUWP/N1QGw8H2Aenw/ESwo/JRkwwtR4MKO6PiMsboRhija36FKMOWHufQ3M14jr/CCgPRcg2PTMOHJ9CgbsCJd+G6PeGOAuhjF61KNbvmBgSJRVDI477WKIYkRAozmOWKILR7YKP9frPIkZRxohLlHZWGuUcsoiSBOxZMhEPyIWUT9oLQRMyivlTxXjyUZMozJRfPAJlHz0O9frJERr2+Ci4QGZ5D8URAojNgwHN86E3KN2ttwoueR9r93XZHyIy8FCA1FRzyjbJjfgNQJAIo4JRRoA4VH/e1EUQV3I0AV8jLD5RKPjruXwIJR+8jeF7/3j3ES8ok2OYKjTaTpKIzYG4ogZROsd0irVj2BUfcfU5MKHx7lEnH1xUYyPF+RmkiYBHaSL9YK6Q9bgXFDMIEtPylUZ6QztcN4DpaEo+z7TvbAEeBnkIjJH0/2wVKGQmJO8MBlFFRkPbjl33bNBAP8Kf7+kJJARnQi/gaZCUfYRWlbvp6Q9L6f88JVE8wJcPkJQ+ABRZC1kFt/yLIWWQy2k8qi1kE8UP/Tnvgz2huzDKyECUPzobaot4hK5D+QFC0LiQdPArihPkjdx4hqPvwX2QpUeA5DPVFmqNFgYOQ6ABztC0kGkr1rzpw/aAhR9DW6HcoJafsRQxAhgv95C6KkN6PgbQ0WBO5Clwx7kP9UXcA1wGx5DgBBFqMmkf4IS8hDaii44D0OPITkvbNRQjCE1Fz0L4YZRQpehZ5D2QHdqKkYS0/DNRwFCHVHUPx48MSPK1RqSDoKHwAOjUYRQ6IQi6ikKEv3wjUU7gKo+Kaif0EsUOo2reg1dRqsDS1FLqMHUWOg+dRx6j50HTqK1HiOosCh7/AM1G0UP3oUxQ7dRm6j5KH8UJ9UUqPTZBHiABx59qJfUQ6PFAo978/5g2jx1Ubw/CShNkCr1EnEKNUU2orZUIK8+1HJyJ0YDpQj3halD/YEgCL/4TowYyhtvDbqBwaN94Z7wnRgLsCSWBeUNiXsFQ5DRHuAPKHtpgiobObINuhUDENGwMPRAKho12BpcjLYErm3OaHoQHDRqVDW5FmgKEAXpQn3hSzcc5Est2I0eqAwKhKOgzBC1yN40XsYL2BDGjyNE9iMaAMxomyhllBcNEEYN7kbAIjqgK0990EGYKvfm+gkre1MjX0HipGswSjgspBFVDtcFpyNEMNZg9WRPaDAN4qYJHQepI53ea1CR0FCsK23lZo/dBWWDs8HnR26oSrgoLIy6D/2E232PQd1gpmRmmjW0FOiA1rspo9te4n9PNHTsKs0dgfTahNa9EcEPoMCwQsfT9BUWiuB6A0IK/gFohLR1N9dNGnUJ6kalopOkJYiH+E6QBbfghgmGh/xxNuE8MG24TNAB6hGGCQaHwYIoINnIrbhLzdctGVaLu4dhgxbhrcjAaEFaPy0RBgqrRaYBilBVt2rbigAFAAhgATAANt3sADmIUAAyrBq24WAAAAMoAAGEJAAXAGQAOgANVgz4NLsR3kC/wO8AMAAUwBKBjumAx5A6Yb1gnQAZWAAAC9pEQq72+UN+qbYGAcAq24WsAgAENokAAUwBhADsADAAK4AHMQIABNWC9zF4pBYgHbRBAB9tFRAF5IH/fcyAZ+BYADZAGEAOGIFAAfQBQQAkRm1QLQ4eQArqA8ACRAC0ACgAatu1bcrADXAGBAKWIYgAZABln7XaNu0fdo/QAj2iLgBKW2e0fPcNggb2iPtExgBWgMmAH7RyyA/tEA6NOAOUAAgAyIAAQBaAHxgDCALQAYrBZWBTAAp0eRAanRtOjzABM6IbblMAVnR72ibsTXyE6ALDo+HRYABEdE/AGR0UQAVHRxvD0dF3aIe0ZqwLQAuOi1gazYBSsATopwA/OjPtHPgFJ0f7gX7R/2j2dE06PKAHTolgADOjcgDc6JZ0WzoqnR+ujDdEgAGZ0bzovbRAujPZBC6Lh0Qjo1ukb0hjMgo6LR0Tdo2XRWOj5dEsAEV0V8DFU2UjpFMB26I10Y4yE7ROujKdEWAA50QbornRRuiNICM6JYADbo1nRuuiLdGc6IuAIno4PRbEZBdEw6Kd0aLol3RrmA3dGS6I90RjouXROOiQAB46IzQPMdOKA1aAM9F8bFD0ZZDWsQ5Ojk9GR6Mt0THosFA8ejrdE86KT0RHovkAUeirdHp6PV0Znoh3R2eiRdFi6JWAKqAeEAMujMdGeAGx0QrosvRSui8xDfYD5gDXo66qdej3wYN6MhAObo5vRqej6dFx6JN0QnozvRm+ie9Et6LT0QfogfR02wh9EsAGF0c7ol6MruiJ9Ge6Kn0fUAGfRvui59H+6I1dlXo5MAy+j8kBa6P9gOHovXR2+jY9HkQHb0enopvRR+j/9Ed6LN0WforFQF+iQABX6Nz0Tfo/PRd+ji9He6Jf0QtohfRQejIDF3r2+0droxvR3eitUBA6JB0eJbC4AYOium4AGLCgFDoi4AsBjR9G36NFYOKwYgAUAAcxCdAEn0RYATVg8IARtEWAAAABLcABm0agAcQAoABxETptz8gLJosS2a2jJUThpRpcEiCHXAy+iR6ZEOnBlMsAM7RPQBLtGT6JL0bPo8vR/UATf7qd0J0TdiI8Q2DdzIAb6JAMSwAXvRrejjdEn6LN0foYkAAhhiTDG26MgMblQNaAjuiR9F56Il0VLo+/hShjkDEqGLWBtHQeOQcmUS4DygjQyJoYgSk2hiTtF6GNwMeYY4/RO+jADF76PAMbboswxFhjTdFWGKJ0QnxbWQdhjr9EQyld0RPod3R0uj79HKGOf0aoYmaACwiThJXcDPGFtWSwA1hjFAEFiECMXuAaIxoRjSDEWACAMQfoyoxYBj+9HxGJmOIkY4fRyRikPCpGKAcOkY5wxmRjXDHZGPcMXevAox8Ddl9Fkh2DZOUYrCA9Rjo9EXAGMMbEYrvRf+jJjEzGOGMbyQWwxrRi4DEpGPz0WkYwvRGRikDHT6J90SAAP3Rz4MPDE+NEsyJ03TwxRVhijFNGJGMWUY+vRQRi5jFW6OmMfvo0wxwRiYjEPGLiMTdieLmSRjVjHtGPWMZ0YzYx3RjtjGP6N2MfsY/gxAxih25+GM8AEanDIsYxinAATGLuMbvoywxsxiU9HzGJeMXzopoxY/AMgIfGKoMd8Y45oXRjmYAuGJ2MaXonIxacjBDHEMEWMQEY64xFRinjFVGLb0REY4AxlJiGjGn6IuMUsY4hglBiHDFoqBxMYgYr3R+Ji3DFfA0F3sfRPyAF2ZCtRgmLSikP6KEx1QAYTFGGLhMQsY8Ux8JjFjHvGJWMZiYxwxRejOTEAmIJMf0Y8lgnTdDsCkmJFMeSY8YxdJikTHUmJlMdKYhYxJRi5TGX6Jz0QqYtkxvxiCgA0GOEABKwegx+gBGDH36OYMesINgxfIBJtHN5y0ALNo3gxz4NbAamgGWMbEDEQxOYgNtH9sC20f2wIUx4BQKNCbKGO0fXop0A8hiLtHKWzxMSqY7kxPpjqlQ1gG6IJ/oknRfMAydE3GMRMbCY8Ixhpi9TF96IZMfbo4uQGJjWTHCOHZMT6ARMxegBsdGEmN9MfnQD/RGBivtHEMGzMRSYwHRwOixWCEGOawODosIxZBjodFmmPsMfAYxUxWxjlTE1mMBMSgY8RE9ZizmBq6KaMV/orMx2BiczFb6P1MfcYyIxCJilzFFmIgMYyYrPRA5i2jFI6MtMU4Y3ExPRiuTF9GK+BmoPB0g6ZimzGa6PnMT/onAxtxiJTH5mKlMYWY1vRjRiSzGNaJ3MZ8YvcxFZirTEcmIf0WOY1Uxp5iywDX4ESwBmYq8xYejbzG5mPvMacAWoxjxi7zEymJKMduYmAx5pjyzEiImrMU/ovYxE5iG6RnmKAsY2Y2cxmZiwLGLmNAMcuYyUxyJjD9EGGKpMS+YgSkCFiWTFDmJSAD+YkvRdZjALF3kAvMbhYyco+Fi2zG20nwMZ2Y+IG3ZiSDGGYHIMfKY5CxdFjejHoWLrMamYu8gwFjLzGr6Nuhuvo9ix65jILE1GJpMXUYp8xcFitzHQGOosWsY8fRNpi7TEMGK0AEwYvkALBifQCumJYAAAAEQ9MSwAL0x82jxESdN1IkEqPFbRgZj9AAsqWsTOGYjYcgTo0G6I4GCAHGYxQxR5iVTGEmJuIEqAxHg4Zj4i6YQBO0V3AUixYltuLHVGLbAPxY98xFpivzEHmKEsfiY3yx7b9u8CBWJcod0QD5gsljiIxdmMisdUAaKxiFjBzEaWP3MUqY38xtZi1gbhVy0BlqAjMxNjIQrEEWNiBhFYvix/Zj8rG7mPF0bRYqsx3li/zG+WJPXilYmcx0iIgrHpWP9wKFYswxJEZIdGNWPUsV8YzSx3OjbTF0GJ0sSwAPSxLAADLFFACMsSAASbRmWjzLE8GMssRgTAIAuXs7LHraNSIEhYbbRPVj9ACHaKjMe/obYGsZiJ9AKGITMe1YtCxQJjLobMPSeAMxY3qxeFiYzG1WJCMWAYlcxtJjYLHGmNUsaWYgSxNFi4rHFWPosRBrbxONSBemAZmNYsS9YzKxeBiOzGg6MHQD2YnKxlgA8rFjWM/MQXo+KxbVj/jF/mOTMWiDVKOyDAl9GSWOCsZDY3UxX1iEbHQWKiMcpY76xr5igEHI2JasQDYkcxJVjxzGEmIUTrjY1KxoFjCbHQmPJsSTYxSxMFiILEqWMpscuGamxY+iirF02KyMSJYiDW91iS4Bg2Pxsf1Yz6gUNi3rFEWIfMSRYo0xJFj4LFqWKQsf9YlCx11iGbHA2PVMZLY3CxrNi19GDWI5sQaYx8xxNjVzGLGKosWrYwqxoQAErFJmJPMaZDHGxtqgcLFPWP1sdJYw2xptiPrFKWNNsRRYwfRv1iYrGCWPRsaOY0qxXwMmbFn0FSsRDYg2xr1jXACcWNhsWhgeGxDViKDGW2PGsbRYrSx01iHTG6WKdMfpYl0xYABRtF8gHYMWZYkAAFljW24HGLvXixA6agq2j1tESGPwiquKKQx3lCR6bbAzkMRdY+MxngBQACoWK1sV8DAQxcUA/7412JQdHS3XQxstjnjHG2MVsUbY72xSYV0TF/WKtsajYwGxwljbrFVKA7sSUQcMxlxinKF92KJsTzY3sxCliCzFe2OLMQJSU0xTViPzE02MnscLY6exGFjZ7GeQkK1BTAQoxYoxzjFaGO1MWvo16xA9iPbHc2LksbzY7exLRi/bHq2I2MWjYooArdj/zHF2N5ID+AhexpRil7H+4DvsVSYh+xZNjN7GbmLeMa/Y3exsViD7F/GMDsW3Yg4xp9ivDEFEFOMcuGLUxoxidTHs2PdscRYs2xStizbEmmOgcQLYjox2JjvzEB2PpsT/Y8REvJi0MitAFLvIKYw6xbEYyTG32P7saA43Bxn1jV7HK2MZMTvY4hxWJiTACVmK/sZrYyhxDdIy8Fd4BJMSUYphx0liQHHvWLYcZ7YjhxBDiuHFEOMTsSjYj+xU9jjzGi2PbsSb/UuxADiJHHL2OwcXI4sBxa5jCLEbmNeMS/Y/+QZZj37E/GM/sS3YwRxWNjhHF5GJssNmg4+i2jib7GSOJYcdI4hWxeDjh7Fb2LYjNw4pRx+9iVHGzDxTsZKwNOxs1iM7HzWKzsTnYlgAAABxAAAVHE47gxc2ii7EXYjOaGQYZVg9ljPADumEOpJj0SGk1QBIDHob0t0kXID+AO7lLIYN2KAcJdYzwAQTj7TEVOPTsRjo50xrBjs7EWAAAAErRA09MetYpJxl0MhRBk0i1AWk43axgbNHJbhmMzTsWGeuxHljG7FeWIxsUHY+2x0QQKrEAOIMNKKYywAQ1jo7HZWOIwMjAM2EEOj80BI2L8cYLY2mx8DiKHGM2OGRCuvSqxJRjZnFYOLFMcEYqOxMNilnHEGIlIfHY8exSdjrbGVOJmsVdosJx2Oj6nGROJAAAAAVWm0a04xJxRQAqHGDwC/IOXY0QxRQxcig80mX0STbXMY4MogECeWKusRjYwkxozB8m7PYUkMYQ432x0ljeCBhWOGses40axmzjb9HkOMecVQ4+puFCdq7HIuLfMai4jWA6LilnEjWITsQVYu5xGtjYXFrA3BXkI3OZQSLiFHEouPMgGi4oaxFLjMXFUuOasVs42lxo5i4XENrC1bhCzXJxLLiSXFsuLJcRy4+qxlLjbnEo2JtsR1Y+lxgzjUE7MuJuxAwyLUB4rjI7GcuIcgBs46lxyjjLHGqOJ8sQq4jYG/8dlXECUlVcSdo9lxZzjNXF9mO5cXvY3lxcriJnFUOMVcX3gGZxrqRzXESuMtcVK4rlxMrj97H2uKe0Ya406QhpsTXFsRjNcfXoi1x4YgrXGZgG1cTy4nFxAjjxnF+uP90TfXa5+QbjpRoPiDdcRq4z1xWrisXE6uJ9cbi45AxhJip15atyJcYyYkNxa+iw3G20gjcVFYrNx0biEDG5uMSsUroxNxxriXXGpuNDce648NxGbjrXHeuLtcbW4g1xCbjX65KuKbcQBINNxstiMXGZuJtcbA431xx9iloD/OKdsZ9opD8Q7iV7El0grcblYqtxtrjqDGTWO0sSE4p5xtTjM7GvOPG0RNorOu3zjvTHJOPJYNtYy0AgLigzF7WNDMRPYK+xR1jIzGSAGjMe+Dc6xZTim7H1AGscXG4oRx8KhK9EKrxZsVJYjKxC7ijHHyWL5AKTYwxxZFj6TGQOMosarY7NxvLiAnE7OJFsTPYnc2xDdv3EMONr0QTYiOxbjj5bFQWK5seA4uRxI9ioDEouJ4ccOY2Dxebj59HksGppGHYpoINVjh3GLOPqscQYnJECNjYABRuNXcbw4/hxb7iEHEfuO3+KMwPGxetjf3EDWKkcRh49exJticPHeOPP0fh47FxzHiyHGxuLY8bY4z9xY70j4AzuOJ0S7Yv9xejin7Fr2KA8Vh4kDxctjjHEomL5seY4iexE7jpPEIeIUGHJ4rjxztiePEy2P/caB4/jxaniN7FCePA8T7YklxBHjWrGSeIocQZ4pakxnif3GoeNdsXx4vMxmHibPEqeM4cTp4ztxMbjWPG7OJI8VdQeTxbHEKPFs2NOce2YggxNHi4bG8WOlcW/YvTxDzjN3FzWJecYZYhpxbpiJtGo6MPcRtY2exZxdVG5l2PScaa0TbR35gDrEiuIO0Xe4ycArCgvPEjOOfcWM4qTxdtj+DGzhDTMRF4lfRnnjWzEWeM08YB4o3R6niwrED2Nw8VbISDx1bjCPGHmPfca54/qAhXjpzGVeJD0Z14hcx6HifPECeKHsRA4kxx9niqbFieLG8RO4wkxf4Z1MAmeM+0eHY6Sxv+iOLEXOPi8bHYxLxXrjkvE0uJg8eN4prx6jiDjEKOza8ft4hTxZniEUDHeP88YPYzxxq3jtPEQeNE8VB4khxfDiJPEheLg8ZO4kmArXjxLHteLnMWxY7rx99iZHGP2IA8c/Y9bx/NjNvFOeOB8UfYnbxj3iIfHPeJQ8dLYt7x4FiPvEGOIG8eRY4TxeHiHPEo+Otsd24zGxzXiG6S7eKx8R543HxN2B3vEI+NU8X14vzxzPiAvG/eLJ8f94mtxznigbHt2MK8ZAwZDxf9UovFr6KZ8dDYuLxrUBaPEpWBucVd42VxqXjqnGhOO3ceE43dxfIBYnHxOLy8e04tLkSvpFjo9ONEMX/KCu0F2oPII3uJ8wJbBBo4jOBUMrDOIoANC4hXxHeiprHBOJt8el4haxw2isvEmWNy8WtYn5xfBiG6SnhlKgTtYoFxDEInLFC+JcsVZWNyxvHj6vHHNHKca+4rdxbHjCTHe8K6calY6qx9eixfHhWNagEl4mBxyFibvHbeLWBrH4z1us3jidEJ+NF8fj4rKx7bjI3EruNgcRn4ynxDrivfHIVzdbrn4vbsr3jGfGF+LqsSn4y7xafj1bGZ+K+BgwDaZxQvi+rHf6Lx8em45vxo7igvEIGPl8fUAR0xSviMvGLWJd8SAARpxwVcNfG/OI6ceO/NzgvviL3F9OKjpsm4lSY3jJZDFh+PO0Y140LxwdikgjnNxrkUL4zounrI5nHouOo8ZL4hLx1zjU/GOeO2cbd4vfxpkN9nEXmxmceisM/xCzjTvGX+PO8df4lvxt/jilAj+L0AGP4u7RdTjMvFvOMm0bP493xR7iafGFeJOvsv4hyxl7jyvFhmKF8cdY+9xp1jLIZPuPD8S+4gwAUfiXPHU+IK8SQYdAx3Hj5vHmeOU8ez4z7x7DiPvFDeJcoVz40bxQtiiPF1uP58SQYIjA4NiRfF1eO68ec4iXxRBiEvF0eJl8a34iex5fjefHo+PcMeD45Wu2PiOvEM+MyIDD41hxHjjyAmkBMoCRbY7nxW3iK/GIOP4MZj4kQJ9Pje/E3YDdsfo4uHx2HiKAkk+OG8X94mgJd/j9PG4BPagNAE4Sg6gTrzHkYG88b14lS2bPjLPFaePNsSN4pjx4+ilAnseLB8WO9CwJ3fjnrFoeMkCe443zxgni9Al2eJE8dQElwJqPjsAkg+Ix8Yh4rwJtfixAkaBIkCSQEhwJtgTgPFE+LA8Wt4kIJG3iFAnhBO/sTt48wJBASnrGHeKU8TF4k7xHASeLHcBJv8eT4v/x67jU7EO+OecU74sS2bzi1fExOIScZAE8xGX7jHoyril18UGYlR8mMZEWqBWLRIKLYJIAaJBEbyW+Ot8aP46oJ9vjxgmK+KACTu4kAJTTj87GF2Pn8eYjTpxqHBYAkZOLj6CZoUFxeTiNgaM5FGCaM4mFx0fiINYH+NSbi/40/xJzj5nFnOIv8ZwEr/x0viKglZBOMCW4EvZxQzdORCamKOca/484J5/iP/HXBJWcetwngJv/j1AD/+MACa4AYAJk/i3nHsGK+cRAE/LxF1A/7F/3y6CQ5YyuxOYUi3HSImkMfA6LfxVvj9gnN2IiCYIEr4GLIBBADz2OP8YA4nQxwDjFvHJBP68fg4ygJvjj7glwOPv8ZEEtYGj7cjjHn2PxIpfYjBxVxjmHF+BKs8az4wIJsgT9AlMmJ1wL/4/gJaPi1HHwePjgJzSTuxYjjGTE6OOJCeyEpbx1niuQlJBMR8QkYsxxQ/jFAkCBKFCaD4h8AuITz7FDGPEcS443RxxQSCfE6BI08YN4nkJlISjAnUhJMCfd48RE9ISz7FxQDocSnEAkJkoT/YA2BKmMYaE1IJ+piKQmKOKpCQKErEJaoS6zE+Ly0cQ6E3UJUoTEgk9eJdCdIE2RxQQT0gnNGKVCbL4/xxerjD7G+hLWBvpwC+xpEhUHFHGOccZg4tkJIYTYfHhhPh8fKEimxpjj/TG8BOu8fGEugJttjLQmYWO2EScJRxxvhjAwmZhNccdKE0kJ9gTQwkFhJ8cZ6Es0J3oTv7GTeMaALlQAMJsQSITEdEDf8UbYwnx5ISSfFomMHXLp4ksJpDj4rGAhJqcTME5XxcwS+QCNOK6gC0EqEJGaA+RDX8DWCcn0TYJ6/jBnG7BJKcdv4iPxWAScglK6MnNj2bU4JPUAhwmxeK4sZ/4n4J3/jB/GxhOg8aWEmkJxHj/dFS1i+btg3RYxxziswn6hOIjFcEnix94SO3GPhLXcfvou3xVTipgnYBJBCc74sEJbviC7FtOKWCdCE+FgxDA4QkZOIRCWIY9fxKIS67EHhPRCQ14g4JOASKwlVKGtCV4YgoxTIS6W4shKAcU6EkkJYYSAgkreNs8VGEmwxzJjKgmdhJscaYE+OAuVAsq6vBIlCUGEyiJjYTqInLeK+8XREn7xbYSYwnFhN1cdOE/VxVPiCImIROJMRhE5cUg4SPgn4OJHCV444IJWGkx7HARPE8VY4n0J5YThQmIQCrCaFcF0gpESMwmshIbCdmEqQJNESBImRhKEiYqEosJ/ITnwkWhJ0ictQFkQGhi6wnGRL1CRcEnBxuYTdAnchJUiQxEvkJTES7IluBO7Cf7oFMJ/Jjscz2hNiCYvYokJPETTIn+BP4iTIE/MJHPjhIk2RP8ieJEhMJ2kT1QmORLQcaFEtBxRkSKIkIoGdCSz4uwJcoSWwmJROsiYxEr0JAUTVQnpRL9CWJfZyJEUTCQlXhO0CZ5Eo0JxPifIm8hMnCWJEwHxmkSuwmsRI1CexEl0g2oSuIn1hLciW6EmUJnITaImWRNlMe2EsIJxgTZwnTBOBCbME0EJTTiD3GQhM18YaAafwXfiAzG9OOgipbLXcJOwTE9ZAQDGCceEwRxjNjSaEHOIvCcaARqJJdJ/wmqMDnALcEn/xKUSuokSRMr8eYjEJYQjcArEEhO/CSZE38J4vibwnfBK/AKs4wqJDHjS/GCWLmiZBExaJ0ES93EtONWiQhE6mAjFiYAlnuJK8bc0Mrx7pgKvHG+NgKNV4h9xt0N0Ak7+LwibSEgCx+ATIfE+BNYCTFEjkJRUSJoneRPoiVQEzIJHYTKomChJ7cT6Y+GJCtdyPE9BEo8WwEm6JyziAYkXeIfCaJEuMJqUSywmSRIcidvnBQY26BLAlsxNJiWNE8mJFkTKYlWRNJ8TTEmaJ5oTAom9RJrgHbEEEgogSofHRePciU1E8yJ8USSonyOMC8epElUJ9MT5XEExK2sfkEg7xLASiglaxOuiV8EsoJ90SeYn/BKViVJE2SgngSmAlS2PiCRKQAqJnNjmwnGhLaifIEs0J9kSMonCxK2sW7EwgJ4gTPYlURMKiSkE0cJfsTnAnjuKdiULE+sxGPAxYmaxNGiU2E4qJvsSqYn+xIViQCEiYJ4ESAAlzhIWiQuEpaJqvi4nHNBLn8Z74uSm8DMtwln4wgJnATZAmAzjDeB+cVaAKQ4JfC74NSnEYBMecWKwMCJjzjHfEROKacdEAVcJa0SK9Ff303CYjE7aJDvgMpADOP2iVBrVzAR0TjYkvRP2gNWUD8JF0TDsAjRPf8aUE26JNHI1nEOxMeiSx4rSJJsSFtE73xXiZ9E94JP4TrYl/hNtiVvEwGJ9HjGPHjuLBiX3ElXxLABGnFcGIriaZDDaJsZt4G4oRO3Cf04oXxe4SDonBEHniQfExeJa4AzonP+NPiWcE8+JnwTN4mcxPV4PbEoCJvMSnwn8xJfCfQE9+JlvhwEn1RK+ievEy4JV8TYElegHgSSX4sdxoMS84m9xLqCf3EpcJq1i4Ike+OfBh1Qn3x48TRDHVEAr0meGZfRdy5p/xsxKASSeEnkxaghrn5zm3qiUK3IJuBfjI7EcxOIMfo9HeJCCTbInIJPb8TQk7hJmSckQn+GIYZOt4I7xjfiugDCJIS8aIkoGJd8TiEmgRI3cbUE8fx9QSlrGNOIN4YsEyuJ+0AheBk0jQbt/EuE8k8StglNGP/ibPEjuJuMTMQmcJIW0cvErQGaDcvwlnxO+iRfE36JMdi7wkEJMrcUQkixxkiTHglK6OPiW4k1eJV0TL4kwJKucf4k5dxgSSUvEkJLS8WQkp+J0/iIQlUJNaCetE0eJl0T6Ekr+J2iWaoPaJtX57EmHhMwCQvE+NxpkMwEkvBIiSQpEnBJ0SSr/GxJMRsSDEoJJT0S0omHxLRBm9Er5unESVXGeJOwSdeE3xJXMTAImEJOVCcnYxJJuiT5wkT+MhiXyAd5xsETjEmmQ2ncZYgc9xDljgXHrmXX8eC4jZu2ESOEntWMZsQS4xFxADjwDCRJKb8XxEgJJQySKfFVRILicHYwVxKZsSRoEhL2SdUkttxA/jxEmVBLlcYzYi5Jt5thXHoxOjCWK44MJP0Tk/GHJLiScckvlxv5itknPBOrUev4hiJy4YeknluOL8Uckw2J2QSTol0hIbcQoDT6JrrjbkmQpPuSYMkmFJDwTTkkgJI1CQikxY6X4TkUlQJMlcWik6FJiCTgvHAJLKSVaEhtxMJwB3GlaH2ST8kjRJjSS9PEhJJxCVSkvFJRziCUleJPJcVCkv5JGKSAUl8+NMhoq4826mCSOUkQpMXcdykhpJ8SSaXFSJLRBoKk7VuwqTm3GEpI9ccSknlJpKSefGlJKDiZxAwtxoKTiG60pJRSWKk5VJEqT/knSpMuhk64uVJ7yT/9gKpM5SUSk35JhqTeUnGpPMRnMk1Kxc7i9UlF+INScDEyVJcviRkkQRMfiYuE5+JlAAh4mwxJwtnsAzDRwhiJ4k7hOniYUktEJGyT33H5uLPCeYkqpJiqTekmXOLqSWIk9FJqqSjYnkpKDia+ABZuuIAE0lWpJqSX9EgCJ9ST3UlGpIfickk31J0/jpknwRJMSWebRQBtlicklwBMyQh+adfxrCSlPzwN3csThEzuJeMTXwnPgz27hmbXs25qT0EkMSnFid8k9gJhaTr4njWmLSZokppJ+8TnElWhJFCCq3XhJg6T+EnB8BHSd4klRJuCSREmF8gZSR6kn1xZaS9EnkJL9SVWk6hJF2IzEn1pK2iQwk1fxu0SI0mb+L2CbhEpxJcKT/dGuJNjNqIEk/xl4SXUk+JOTSTcE1NJJKSJEnNJIFidikvfAQrdz0mDpKwSV8k9dJY6S+klwJJ/SSqk/4J+6Sxkn6JKn8cuEtJJMySLsR8iABcUjEhvo4aS/4kzxKjSRiEyPxc6SG6R/eyOblaQDxJkCT80lJpLO8X4kmDJtqT00m0BJQSQzEi7E74S6EmYJO6SeBk6BJ46S8El3RJoySWku1J8GSi4njJIaCXu41+JMMSa0l5E15ILbgYrxu1iUYmZoHQcZAY5AJNXiQ/HmeOjSXd4oWJGgNA9FExMU8Qt43iJUcSyQnKRKziXHE9PxdMTM0lBRMoBgEgTTJ9fjAQBJ+JzCTrEiMJMsSnAmGBIVicxEibxysSTo7mZPVicTErrxEsT04kUxISifrEznx8sSy/HGZMIyVXEqR01eimzGFBO0ySGEyDJX6SfgnlBIeiRVE4JJWKSKUmbWPmgB5kyLJN5ihEmbpK4CVOkxlJUqSE4kapJxsYvolOJgiTI4nexIzia1EgzJjmT44nJZPcCVFAcWxxWTvAlaZMyyWVksgJdmS/MlyBMMyW34grJjNiQbGNZNiCRrE0rJOmTysm+ZL1iZ1k6rJWiTbfE6JO9SeWkkuJLAAJtEiZPSSWuEjUJINjSr41xOTuPvqKAcsQTW0nN13bicUk3fxD2ihYnPoNdbmtkh0JCiTwZRhKGiyaok87x6iTb4l5ZM6ibOk66xR2TFuAixMesfIk9Q0F2Sssm1JJuyduku7Ju6S7XH8ZIsAEpbFJJ7ziVolLZOHiTtw0jxFpCL0kr+L+VOD0GxJB2jTbpxUL2yZ2kxxJBGSnslBxJdwPbMMvB2qS5DS92PYydakndJ/yTnMmB2KFiVjk6vB0OTB0l45LpSSO4h5JVIT7XFk5PeqsXI85o5tjADA05KXcbRkx2JWKSyck9uxbwWQYVnJPEh2cnipN4yXRkk5JC8Seck7BNWvgA46nJH6T6Ul/ZKNSRX4iXJ7pIccnS5LZybLk2nJaaS4MlepLOSeDE5/RIOTwAng5MDSY0AEGxf6BlwyWJJ6KAajE5uLCSkcmL3FjQPtk7tJ0+jnslWY3sjqrkwXJLbj+/E2pJFyX+kx7J4zincma5g7kVTktXJpbjW3GopM9ydOkplJ3OSg4lioL9MWakgXJZEh53HRZI5yV7kx5JiuSo8nTMhjyQjkyixQeTSXEe5KJyXak1PJhJjJMkOkADyXHk9CQCeTR0lJ5PDyflkyPJheT08lL10USaXkyDB6rjh3GV5PuyXuk7XJQISgcmHpJAAMZYlDJ1aTe0mFeM8oTDkxtJcOSVVgtpLHequk9ZJ+GTjom+5KjyUHAruxxLiWzEE5KVSWHktvJSCT/0kMZJrMUdk6C4koDdknQONFSa6k1fJ/2SQIlTZJqCTNk8fxwOSK0k5eIDSWJkmaAeYhrMbrZMYSc2k8MxO2SRNDbAyhcdPk8XJmOTz+RGkPNiYw487J5eSIMnXZJ+Cbdkv4Je8SgfHAJMZycQOH1m2jiACnu5Ko8dlkn7JQrcwCn05MByXyAS/Jc2SQAD7uJvyc+Df+O1AMzckLJPWCVek/JJN6THGQXZJxiUeEr/JMfiZEmYxG1SWBklrJ7MTECnUZLzyaLkxWJNeSs/EyJIKqnmkrzJo6TgCn9JNyycfk4fxHeTC4ld5JSSVNonAp86TeSAEl0fyU2k580zCT5MmXcDYSZZDD/J96T0cmz5MLyS9k8yG7iTxHFwFODyV9kzjJW6TkCl3BNpiUlkqgpdITj6xaFNgKR9kwApHGSoMmwgFAKcYUnOJaBS9clX5INyahkr3xMiTioAyFLySRaaUgpQzi0AkOJMoKZAUoOJeBTbW7mmVAyWxk4gJvBSmCn8FJ4yVXkh7JEBTULFCxNCKVfQugpkRTrAkIFO+ycwU+XJfGThCnzRNEKRWk95xi2T3ClVKEdvjWAe0gMhS4ckoCnHySzufCkRyB7ckPpPUKfS43nJ+VDccnZ5ObyWwE1vJghSM0lJFO/yVZjCopBISZcl6FJbycLk+IpObj2Ck8mN5yYwPNopbuThimdFNGKWvkslJvRS4XFM5NUbiJoxvJ+OT/YBluP1SUfkhXJExSaEmrFNwHq7k+PJ8BT5ilupLGKV24/YpVDjDilr3GOKWXk04pieSFindFOGSdoks/JOuT0vEYFImSX6ktwp/eTxESYEBssXDQ4fJRBSfClTxJwyZGku9JXaTGimk5JCKX3GKFuQCCyMnvpMTSSUEgwpKaSWCne5MSKRjkmPxecifeFyZOLcekUm7A+hS7CncZLRKY8k5wp6FiUknLhLBySUUhUAQcDrqDeFOsSQUk29JyhS8IAqZJKsckU7EpGlDIMEIlOySXMUq7JMRToMkklMSyRvkhnJMJTXkjRNzIiW8E8jJHRS+SlZFNiKYKUgOJZJTPilCZL5AAAAKQWCb8Uhuk8O8BwzN+FDSaIYjfs46UzjHL6Jd+Fimd/JLJTP8nBFM6sVM4zkQ5+hl0mvXhsKYTknIprBSSclslKDiZ03YDJI1gMwmjsHtKSvk+UpOcSC8llWIqSdgg7QptiSxL684GlKRXkp4pexSzCn+6NpvLObYMp0iJgK72Lm9KXck3YpuRTXimTBPeKc84pUpS1j3nHqlJPSV742euIGTzcnq4MPpuPk7lcvrdWAmslLxcQWU72BpGTkXHhxPYMMokjXJv6SU8mnJJj8UHAuspLLiGykyWLOKamU1gpIpSY/F68G1KXIk4NxnVxofGPFPOKYsUjSJz0TkilDlP7fpnk0cpSqtxykRlMnKc8UsXJFpSs/GFlM7KQLo15QmxS+/EjFNXKVGUjcpHfjxxFDqguiTzSHgpEGSuilHlOWKZuUutJ1Q80ilLlMT8U2U68p+eSrile+OsTrebGLmERSnylDZInKX2UrnJ0ZTcCkLpK/KSOU26sY5Tnym55MdKYBU48pwFS60k75EfKZdQZcpV5TIylvlKAqX8Uz8phojEKlmpMvKVykw8paFTYKl/FK3KU98c8pF2Sk/HNlNgya2U9CpNZSlQEIVNIqchUvCpAFTSSl5FN1yeSUitJKpTj0kZJIBoXlAh1w62T9SlVtXDMcaUok6ppTAiklJMIqcI4qToXzcbSkYOK9KQ8UlcpTFShSk+5OhKfm41zRUlT4yn+GLtKXJUlCp+FT+yn+lJ5MT9CFdetXjl9GJlLDKf7gbYph+TfSk1ZOoqfCoJuRcZTp4lQrmTKaHkyypk2Tu4nTZMzKRfk7vJ7zjoYmG5NvyUIQp4AlOTiylilIqKAuUpMKqtQ8MmqFJnycpU8wpr9c05EzFJOKUiUnYpzlSZ0kYlKaKTiEuvJi184qn3FISqRZU6CpVFTxKmERPSqWRGfnJ8Fj2inL5JTKUlUiPJ1lSYqHK5OlCHcUpvJZVSnKm5VPpyXpUgfJkuTKckbFKFyTpUmCpt5ScQlCVNiqXVUvcpBJSDykKVIVKSxUj4p3eSVSl95PzKaFkpsR62TiRx680CsTjsE0pzJTRKkHZKx0Wpk5FuA5t0+CelKAQeGU7SpI1SnMnBZMxKUcEq0p/PBtUkQ3kcqYlUpqpAcSWqltJKHSWdUnap4KSzKkh5KuqSgUm6p75TzEb8xi2qZPkvhJmlTeSnyVIqqdXkqqpa5Ah1RCAL2iQ5UrSpjFTAamyuNuqV74h2Yh/jiqkhlIhqf9U/ap0NT28nplPziZ3k9Ap3eTjLHFFI1KYREwfJQhjAqmj5JiEDUUsSk4VTISlqFKiqTiEoOBQhipokiRIPyQcktGp6+SlKkulMLyTvkqRue+SGakNVNeqY4U++JY1Ssynd5Im0XmUripkOTCoBYMEIKYu0Z7i6vp5CmomMUKW2kiEpaOTIqls1PpcXOCB6Mb2T/8nWFPVyXwUotgDhSEskmFOFKbDU0opP+TxanteN5AlrU7Kpn6SqMlcxL1qbvE1ApAtSPKm5xKEAKLonoAlrBhADzaMMAAQAQwASkA9jHvOIAACoTaL6AIgAMAAC0hsABjaJTEG4AbAAeAAUAAQAD6ADMAbAAAAAtIgxYAATWAEABlYC23RZ+wwALgDlABQAHgAC1gHAALAAAADV/alp6MtYKcAcbqTYhvABNiC4MVW3VAAeAB5tGoAEggKCcLQAZAA+gC7GIm0fAAbaovAB4AADUmtYKLohtuIkBqxBYFLd8YUsLApEITuoBtiCwKWZYnlYWBSRMm3aDbEEUoKOILdSqABEAHbqZ3UyqwPdSb5B91MMAAPUqoAQ9SJtHgBMvCFgUlaJ8UgF6l36FIkD3kgAAcgAABQuAI049epUMBN6k98G3qbvUl8QNZjGnEQhPVyNP4syxAWRp/EiZNHCNP48AJykxp/ErRKkAJPU5pxVQAy5DT+PPgZ74StJhEZNlDQSErSSPU/6QlaSIQkdeErSWZY3uwlaSRMkPbErSYfU4WQlaSVokSrBfEIvUz2IWgBGnF31Ifqd3U3up/dTdWB71PfqSPUxKA79TVrFDvRIadcoLQAxlj4AAJ1LsAEAEjhp8AAxtEAAHljLEsUl0gD7ooepveSqgDJDB7ySJksmApDSAAnsNJYAIXUgAAotawYyxD7gKAAAAA0LgDKNNUaeo0rRpb9Se8lu+Pq0D3ksyxhsQ2GkgGC0AAAAQWMsWNogx+Jlj1WCX1JgJu6YJRp19T4AASADQALwAPAAeAB4ADX1LWgF40+AALjTeVBoACo4F40+hpHzizLFBKDPqUvUlgAljS/akdQD9qbY0xbJxliHGlzAFoAM401xpvABgmn+NN8af4AfxpLjTw2BoAEiIKE0gxpUySqgAI6A+cRCE4fQ5jToThaAFdYNawD7wVAALgCCNL9qSxSElA/DSJtEKIgoAAQsMJpRRSqgD+OA+ceAEg9YHziT6lYSA+cdDE50wUTSamkaiHzsdawfAxntTJgDsGJTEGAAeAAY/B/GnWsG7qdfUnoA8ABC6kEAHdqQY09gxRjTEGnghKqAEo4EAAediqgCjNM4MSc0uRpcjTpxDLWOetmQAAAA0qb3QupTTSHmnPNI7YGE0ybRRjSmGnLWPEKUOISep7piymmAtIWyZI0ghpYASTmk1SD+aStExBpk2joYk2mD+aatYiDw1TSvABaADG0dawHupFwBLGl51OyAHYAFMQPdTyITj2EycbaoV1g6rAe6loACPgD403bo/jTFmkNt120RmIFwAhPcDGkcVL6aSsDFFpf4B7mluNKxaTi0vFpUwACWklCCJaaLIA0QZLSyAAUtIkAFS08xQNLSUAB0tIZaaH3ZlpETTf7DstLRaXYAWAA0rTBgBWNJ5aUQAfFpOjFZjbEtKXPiK0ilp3AAJWlYgClaTK0+wAcrSQTggAEmqX00wKAZ9SdtFysAIACYAMwABKBLMiwwAKCGg3TVgMDgxXBX1NvqeQ0qhpT9TBF60NMHqe/Uz+pUDTGnE/1NUUH/UsppULSZ/EnNIIaY040BpvzSIGnX4HAaTA0yNpy4T4GmSAEQacuE5Bp4DSJwCSNMTkBg0spp8bSVwlJACqaaP4hRp0/jKGld1IDaS/UuhpBjTlwmSNKTaSw0xVpFbTomkgAB0aWo04Bg+jTFGkqNK7abXAHtp4jSjGmFtNMsZI0m5plbTYmnxNMSaRcAZJpjjS0mlkABcaSs0rJp3jScmn0ADyadfUgppRTT66klNLd8eU0z5xVQBy2nyNO3yFoAdZpFwBZmnA6PmaVAARZpMwAVmm3EDWaRs0rZpOzS9mmWtIOaSc0o5pEITTmnnNJrAJPUq5pSQBx2keBDRae80l5pbzTUJAfNNdYF806/JfkAQWkQhN+aUC0zZQILS56ngtIPqZC0kFpMLSQWnwtJQaStYvpp47TC0EwOAvqa3UtepNbSaGk71PraZa0yDpBkYgFBj1L6ab804WpFzSUGmgtJopMi0ttpZDSWACrQFXqRcADupRHSt6lBtLCach0o6A9HST6m2tJRaf+IH1p1bSN6nEdNfqZa05cJ+DS82lENKY6Ue0ljpPeSuGk8NOBCXw0wRpwjSkdBiNJrMRI0mikUDTcakXNNCAJM01FpMTSbGl2NJ7ySk0ygA6TS3GkeNOyaX407xpgTTw7DBNJqgMU0y1puZS+mk7zBRaRfUuppDTTM2nLWIEaS00gjQ7TTOmndNJKaSJk/pp7zjBmmRtNByZI00ZpXlS+mmHtLkaRy09FpmLSNWkmAFxaVq0vlpOrTBWndaVJaeS0ylpG7TJWneNNpae9o2VpTLTLWkstOTwP+0h8AgHSuWmpdPS6dq0wlpHUA9WnCtLy6eK0grpJrSiunStJK6ea0srpQ9S1Sl9NNbaQp04zpy1iVWlqtO5aWl03lp/LTVZJdNKi+Ll00Vps6BjWlrtM66Wa0xlpYTTrWn8YBw6V1ohlp8AAwQAuADVYFW3AgAddT4AAmsFl0c23TMQfIATWBBSBzYEAAAAA=="))
///////////////////////////////////////////////
///////////////////////////////////////////////
/* Utility functions */
var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
pcbdata.metadata.revision + '__#';
var storage;
function initStorage(key) {
try {
window.localStorage.getItem("blank");
storage = window.localStorage;
} catch (e) {
// localStorage not available
}
if (!storage) {
try {
window.sessionStorage.getItem("blank");
storage = window.sessionStorage;
} catch (e) {
// sessionStorage also not available
}
}
}
function readStorage(key) {
if (storage) {
return storage.getItem(storagePrefix + key);
} else {
return null;
}
}
function writeStorage(key, value) {
if (storage) {
storage.setItem(storagePrefix + key, value);
}
}
function fancyDblClickHandler(el, onsingle, ondouble) {
return function() {
if (el.getAttribute("data-dblclick") == null) {
el.setAttribute("data-dblclick", 1);
setTimeout(function() {
if (el.getAttribute("data-dblclick") == 1) {
onsingle();
}
el.removeAttribute("data-dblclick");
}, 200);
} else {
el.removeAttribute("data-dblclick");
ondouble();
}
}
}
function smoothScrollToRow(rowid) {
document.getElementById(rowid).scrollIntoView({
behavior: "smooth",
block: "center",
inline: "nearest"
});
}
function focusInputField(input) {
input.scrollIntoView(false);
input.focus();
input.select();
}
function copyToClipboard() {
var text = '';
for (var node of bomhead.childNodes[0].childNodes) {
if (node.firstChild) {
text = text + node.firstChild.nodeValue;
}
if (node != bomhead.childNodes[0].lastChild) {
text += '\t';
}
}
text += '\n';
for (var row of bombody.childNodes) {
for (var cell of row.childNodes) {
for (var node of cell.childNodes) {
if (node.nodeName == "INPUT") {
if (node.checked) {
text = text + '✓';
}
} else if (node.nodeName == "MARK") {
text = text + node.firstChild.nodeValue;
} else {
text = text + node.nodeValue;
}
}
if (cell != row.lastChild) {
text += '\t';
}
}
text += '\n';
}
var textArea = document.createElement("textarea");
textArea.classList.add('clipboard-temp');
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
if (document.execCommand('copy')) {
console.log('Bom copied to clipboard.');
}
} catch (err) {
console.log('Can not copy to clipboard.');
}
document.body.removeChild(textArea);
}
function removeGutterNode(node) {
for (var i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].classList &&
node.childNodes[i].classList.contains("gutter")) {
node.removeChild(node.childNodes[i]);
break;
}
}
}
function cleanGutters() {
removeGutterNode(document.getElementById("bot"));
removeGutterNode(document.getElementById("canvasdiv"));
}
var units = {
prefixes: {
giga: ["G", "g", "giga", "Giga", "GIGA"],
mega: ["M", "mega", "Mega", "MEGA"],
kilo: ["K", "k", "kilo", "Kilo", "KILO"],
milli: ["m", "milli", "Milli", "MILLI"],
micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
nano: ["N", "n", "nano", "Nano", "NANO"],
pico: ["P", "p", "pico", "Pico", "PICO"],
},
unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
unitsLong: [
"OHM", "Ohm", "ohm", "ohms",
"FARAD", "Farad", "farad",
"HENRY", "Henry", "henry"
],
getMultiplier: function(s) {
if (this.prefixes.giga.includes(s)) return 1e9;
if (this.prefixes.mega.includes(s)) return 1e6;
if (this.prefixes.kilo.includes(s)) return 1e3;
if (this.prefixes.milli.includes(s)) return 1e-3;
if (this.prefixes.micro.includes(s)) return 1e-6;
if (this.prefixes.nano.includes(s)) return 1e-9;
if (this.prefixes.pico.includes(s)) return 1e-12;
return 1;
},
valueRegex: null,
}
function initUtils() {
var allPrefixes = units.prefixes.giga
.concat(units.prefixes.mega)
.concat(units.prefixes.kilo)
.concat(units.prefixes.milli)
.concat(units.prefixes.micro)
.concat(units.prefixes.nano)
.concat(units.prefixes.pico);
var allUnits = units.unitsShort.concat(units.unitsLong);
units.valueRegex = new RegExp("^([0-9\.]+)" +
"\\s*(" + allPrefixes.join("|") + ")?" +
"(" + allUnits.join("|") + ")?" +
"(\\b.*)?$", "");
units.valueAltRegex = new RegExp("^([0-9]*)" +
"(" + units.unitsShort.join("|") + ")?" +
"([GgMmKkUuNnPp])?" +
"([0-9]*)" +
"(\\b.*)?$", "");
for (var bom_type of ["both", "F", "B"]) {
for (var row of pcbdata.bom[bom_type]) {
row.push(parseValue(row[1], row[3][0][0]));
}
}
}
function parseValue(val, ref) {
var inferUnit = (unit, ref) => {
if (unit) {
unit = unit.toLowerCase();
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
unit = 'r';
}
unit = unit[0];
} else {
ref = /^([a-z]+)\d+$/i.exec(ref);
if (ref) {
ref = ref[1].toLowerCase();
if (ref == "c") unit = 'f';
else if (ref == "l") unit = 'h';
else if (ref == "r" || ref == "rv") unit = 'r';
else unit = null;
}
}
return unit;
};
val = val.replace(/,/g, "");
var match = units.valueRegex.exec(val);
var unit;
if (match) {
val = parseFloat(match[1]);
if (match[2]) {
val = val * units.getMultiplier(match[2]);
}
unit = inferUnit(match[3], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[4],
}
}
match = units.valueAltRegex.exec(val);
if (match && (match[1] || match[4])) {
val = parseFloat(match[1] + "." + match[4]);
if (match[3]) {
val = val * units.getMultiplier(match[3]);
}
unit = inferUnit(match[2], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[5],
}
}
return null;
}
function valueCompare(a, b, stra, strb) {
if (a === null && b === null) {
// Failed to parse both values, compare them as strings.
if (stra != strb) return stra > strb ? 1 : -1;
else return 0;
} else if (a === null) {
return 1;
} else if (b === null) {
return -1;
} else {
if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
else if (a.val != b.val) return a.val > b.val ? 1 : -1;
else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
else return 0;
}
}
function validateSaveImgDimension(element) {
var valid = false;
var intValue = 0;
if (/^[1-9]\d*$/.test(element.value)) {
intValue = parseInt(element.value);
if (intValue <= 16000) {
valid = true;
}
}
if (valid) {
element.classList.remove("invalid");
} else {
element.classList.add("invalid");
}
return intValue;
}
function saveImage(layer) {
var width = validateSaveImgDimension(document.getElementById("render-save-width"));
var height = validateSaveImgDimension(document.getElementById("render-save-height"));
var bgcolor = null;
if (!document.getElementById("render-save-transparent").checked) {
var style = getComputedStyle(topmostdiv);
bgcolor = style.getPropertyValue("background-color");
}
if (!width || !height) return;
// Prepare image
var canvas = document.createElement("canvas");
var layerdict = {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
bg: canvas,
fab: canvas,
silk: canvas,
highlight: canvas,
layer: layer,
}
// Do the rendering
recalcLayerScale(layerdict, width, height);
prepareLayer(layerdict);
clearCanvas(canvas, bgcolor);
drawBackground(layerdict, false);
drawHighlightsOnLayer(layerdict, false);
// Save image
var imgdata = canvas.toDataURL("image/png");
var filename = pcbdata.metadata.title;
if (pcbdata.metadata.revision) {
filename += `.${pcbdata.metadata.revision}`;
}
filename += `.${layer}.png`;
saveFile(filename, dataURLtoBlob(imgdata));
}
function saveSettings() {
var data = {
type: "InteractiveHtmlBom settings",
version: 1,
pcbmetadata: pcbdata.metadata,
settings: settings,
}
var blob = new Blob([JSON.stringify(data, null, 4)], {type: "application/json"});
saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}
function loadSettings() {
var input = document.createElement("input");
input.type = "file";
input.accept = ".settings.json";
input.onchange = function(e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = readerEvent => {
var content = readerEvent.target.result;
var newSettings;
try {
newSettings = JSON.parse(content);
} catch(e) {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
if (newSettings.type != "InteractiveHtmlBom settings") {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
if (metadataMatches) {
for (var k in pcbdata.metadata) {
if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
metadataMatches = false;
}
}
}
if (!metadataMatches) {
var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
if (!confirm(
`Settins file metadata does not match current metadata.\n\n` +
`Page metadata:\n${currentMetadata}\n\n` +
`Settings file metadata:\n${fileMetadata}\n\n` +
`Press OK if you would like to import settings anyway.`)) {
return;
}
}
overwriteSettings(newSettings.settings);
}
reader.readAsText(file, 'UTF-8');
}
input.click();
}
function overwriteSettings(newSettings) {
initDone = false;
Object.assign(settings, newSettings);
writeStorage("bomlayout", settings.bomlayout);
writeStorage("bommode", settings.bommode);
writeStorage("canvaslayout", settings.canvaslayout);
writeStorage("bomCheckboxes", settings.checkboxes.join(","));
document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
for (var checkbox of settings.checkboxes) {
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
}
writeStorage("darkenWhenChecked", settings.darkenWhenChecked);
padsVisible(settings.renderPads);
document.getElementById("padsCheckbox").checked = settings.renderPads;
fabricationVisible(settings.renderFabrication);
document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
silkscreenVisible(settings.renderSilkscreen);
document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
referencesVisible(settings.renderReferences);
document.getElementById("referencesCheckbox").checked = settings.renderReferences;
valuesVisible(settings.renderValues);
document.getElementById("valuesCheckbox").checked = settings.renderValues;
tracksVisible(settings.renderTracks);
document.getElementById("tracksCheckbox").checked = settings.renderTracks;
zonesVisible(settings.renderZones);
document.getElementById("zonesCheckbox").checked = settings.renderZones;
dnpOutline(settings.renderDnpOutline);
document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
setRedrawOnDrag(settings.redrawOnDrag);
document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
setDarkMode(settings.darkMode);
document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
setHighlightPin1(settings.highlightpin1);
document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
initDone = true;
prepCheckboxes();
changeBomLayout(settings.bomlayout);
}
function saveFile(filename, blob) {
var link = document.createElement("a");
var objurl = URL.createObjectURL(blob);
link.download = filename;
link.href = objurl;
link.click();
}
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
}
var settings = {
canvaslayout: "default",
bomlayout: "default",
bommode: "grouped",
checkboxes: [],
checkboxStoredRefs: {},
darkMode: false,
highlightpin1: false,
redrawOnDrag: true,
boardRotation: 0,
renderPads: true,
renderReferences: true,
renderValues: true,
renderSilkscreen: true,
renderFabrication: true,
renderDnpOutline: false,
renderTracks: true,
renderZones: true,
}
function initDefaults() {
settings.bomlayout = readStorage("bomlayout");
if (settings.bomlayout === null) {
settings.bomlayout = config.bom_view;
}
if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
settings.bomlayout = config.bom_view;
}
settings.bommode = readStorage("bommode");
if (settings.bommode === null) {
settings.bommode = "grouped";
}
if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
settings.bommode = "grouped";
}
settings.canvaslayout = readStorage("canvaslayout");
if (settings.canvaslayout === null) {
settings.canvaslayout = config.layer_view;
}
var bomCheckboxes = readStorage("bomCheckboxes");
if (bomCheckboxes === null) {
bomCheckboxes = config.checkboxes;
}
settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
document.getElementById("bomCheckboxes").value = bomCheckboxes;
settings.darkenWhenChecked = readStorage("darkenWhenChecked") || "";
populateDarkenWhenCheckedOptions();
function initBooleanSetting(storageString, def, elementId, func) {
var b = readStorage(storageString);
if (b === null) {
b = def;
} else {
b = (b == "true");
}
document.getElementById(elementId).checked = b;
func(b);
}
initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
if ("tracks" in pcbdata) {
initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
} else {
document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
tracksVisible(false);
zonesVisible(false);
}
initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
settings.boardRotation = readStorage("boardRotation");
if (settings.boardRotation === null) {
settings.boardRotation = config.board_rotation * 5;
} else {
settings.boardRotation = parseInt(settings.boardRotation);
}
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
}
// Helper classes for user js callbacks.
const IBOM_EVENT_TYPES = {
ALL: "all",
HIGHLIGHT_EVENT: "highlightEvent",
CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}
const EventHandler = {
callbacks: {},
init: function() {
for (eventType of Object.values(IBOM_EVENT_TYPES))
this.callbacks[eventType] = [];
},
registerCallback: function(eventType, callback) {
this.callbacks[eventType].push(callback);
},
emitEvent: function(eventType, eventArgs) {
event = {
eventType: eventType,
args: eventArgs,
}
var callback;
for(callback of this.callbacks[eventType])
callback(event);
for(callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
callback(event);
}
}
EventHandler.init();
///////////////////////////////////////////////
///////////////////////////////////////////////
/* PCB rendering code */
var emptyContext2d = document.createElement("canvas").getContext("2d");
function deg2rad(deg) {
return deg * Math.PI / 180;
}
function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
var point = [
linepoint[0] * text.width + offsetx,
linepoint[1] * text.height + offsety
];
// This approximates pcbnew behavior with how text tilts depending on horizontal justification
point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
return point;
}
function drawText(ctx, text, color) {
if ("ref" in text && !settings.renderReferences) return;
if ("val" in text && !settings.renderValues) return;
ctx.save();
ctx.fillStyle = color;
ctx.strokeStyle = color;
ctx.lineCap = "round";
ctx.lineJoin = "round";
ctx.lineWidth = text.thickness;
if ("svgpath" in text) {
ctx.stroke(new Path2D(text.svgpath));
ctx.restore();
return;
}
ctx.translate(...text.pos);
ctx.translate(text.thickness * 0.5, 0);
var angle = -text.angle;
if (text.attr.includes("mirrored")) {
ctx.scale(-1, 1);
angle = -angle;
}
var tilt = 0;
if (text.attr.includes("italic")) {
tilt = 0.125;
}
var interline = text.height * 1.5 + text.thickness;
var txt = text.text.split("\n");
// KiCad ignores last empty line.
if (txt[txt.length - 1] == '') txt.pop();
ctx.rotate(deg2rad(angle));
var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
for (var i in txt) {
var lineWidth = text.thickness + interline / 2 * tilt;
for (var j = 0; j < txt[i].length; j++) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
lineWidth += fourSpaces - lineWidth % fourSpaces;
} else {
if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
}
lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
}
}
var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
var inOverbar = false;
for (var j = 0; j < txt[i].length; j++) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
offsetx += fourSpaces - offsetx % fourSpaces;
continue;
} else if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
if (txt[i][j] != '~') {
inOverbar = !inOverbar;
}
}
var glyph = pcbdata.font_data[txt[i][j]];
if (inOverbar) {
var overbarStart = [offsetx, -text.height * 1.4 + offsety];
var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];
if (!lastHadOverbar) {
overbarStart[0] += text.height * 1.4 * tilt;
lastHadOverbar = true;
}
ctx.beginPath();
ctx.moveTo(...overbarStart);
ctx.lineTo(...overbarEnd);
ctx.stroke();
} else {
lastHadOverbar = false;
}
for (var line of glyph.l) {
ctx.beginPath();
ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
for (var k = 1; k < line.length; k++) {
ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
}
ctx.stroke();
}
offsetx += glyph.w * text.width;
}
offsety += interline;
}
ctx.restore();
}
function drawedge(ctx, scalefactor, edge, color) {
ctx.strokeStyle = color;
ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
ctx.lineCap = "round";
if ("svgpath" in edge) {
ctx.stroke(new Path2D(edge.svgpath));
} else {
ctx.beginPath();
if (edge.type == "segment") {
ctx.moveTo(...edge.start);
ctx.lineTo(...edge.end);
}
if (edge.type == "rect") {
ctx.moveTo(...edge.start);
ctx.lineTo(edge.start[0], edge.end[1]);
ctx.lineTo(...edge.end);
ctx.lineTo(edge.end[0], edge.start[1]);
ctx.lineTo(...edge.start);
}
if (edge.type == "arc") {
ctx.arc(
...edge.start,
edge.radius,
deg2rad(edge.startangle),
deg2rad(edge.endangle));
}
if (edge.type == "circle") {
ctx.arc(
...edge.start,
edge.radius,
0, 2 * Math.PI);
ctx.closePath();
}
if (edge.type == "curve") {
ctx.moveTo(...edge.start);
ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
}
ctx.stroke();
}
}
function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
// chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
var path = new Path2D();
var width = size[0];
var height = size[1];
var x = width * -0.5;
var y = height * -0.5;
var chamfOffset = Math.min(width, height) * chamfratio;
path.moveTo(x, 0);
if (chamfpos & 4) {
path.lineTo(x, y + height - chamfOffset);
path.lineTo(x + chamfOffset, y + height);
path.lineTo(0, y + height);
} else {
path.arcTo(x, y + height, x + width, y + height, radius);
}
if (chamfpos & 8) {
path.lineTo(x + width - chamfOffset, y + height);
path.lineTo(x + width, y + height - chamfOffset);
path.lineTo(x + width, 0);
} else {
path.arcTo(x + width, y + height, x + width, y, radius);
}
if (chamfpos & 2) {
path.lineTo(x + width, y + chamfOffset);
path.lineTo(x + width - chamfOffset, y);
path.lineTo(0, y);
} else {
path.arcTo(x + width, y, x, y, radius);
}
if (chamfpos & 1) {
path.lineTo(x + chamfOffset, y);
path.lineTo(x, y + chamfOffset);
path.lineTo(x, 0);
} else {
path.arcTo(x, y, x, y + height, radius);
}
path.closePath();
return path;
}
function getOblongPath(size) {
return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}
function getPolygonsPath(shape) {
if (shape.path2d) {
return shape.path2d;
}
if ("svgpath" in shape) {
shape.path2d = new Path2D(shape.svgpath);
} else {
var path = new Path2D();
for (var polygon of shape.polygons) {
path.moveTo(...polygon[0]);
for (var i = 1; i < polygon.length; i++) {
path.lineTo(...polygon[i]);
}
path.closePath();
}
shape.path2d = path;
}
return shape.path2d;
}
function drawPolygonShape(ctx, shape, color) {
ctx.save();
ctx.fillStyle = color;
if (!("svgpath" in shape)) {
ctx.translate(...shape.pos);
ctx.rotate(deg2rad(-shape.angle));
}
ctx.fill(getPolygonsPath(shape));
ctx.restore();
}
function drawDrawing(ctx, scalefactor, drawing, color) {
if (["segment", "arc", "circle", "curve"].includes(drawing.type)) {
drawedge(ctx, scalefactor, drawing, color);
} else if (drawing.type == "polygon") {
drawPolygonShape(ctx, drawing, color);
} else {
drawText(ctx, drawing, color);
}
}
function getCirclePath(radius) {
var path = new Path2D();
path.arc(0, 0, radius, 0, 2 * Math.PI);
path.closePath();
return path;
}
function getCachedPadPath(pad) {
if (!pad.path2d) {
// if path2d is not set, build one and cache it on pad object
if (pad.shape == "rect") {
pad.path2d = new Path2D();
pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
} else if (pad.shape == "oval") {
pad.path2d = getOblongPath(pad.size);
} else if (pad.shape == "circle") {
pad.path2d = getCirclePath(pad.size[0] / 2);
} else if (pad.shape == "roundrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
} else if (pad.shape == "chamfrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
} else if (pad.shape == "custom") {
pad.path2d = getPolygonsPath(pad);
}
}
return pad.path2d;
}
function drawPad(ctx, pad, color, outline) {
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(deg2rad(pad.angle));
if (pad.offset) {
ctx.translate(...pad.offset);
}
ctx.fillStyle = color;
ctx.strokeStyle = color;
var path = getCachedPadPath(pad);
if (outline) {
ctx.stroke(path);
} else {
ctx.fill(path);
}
ctx.restore();
}
function drawPadHole(ctx, pad, padHoleColor) {
if (pad.type != "th") return;
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(deg2rad(pad.angle));
ctx.fillStyle = padHoleColor;
if (pad.drillshape == "oblong") {
ctx.fill(getOblongPath(pad.drillsize));
} else {
ctx.fill(getCirclePath(pad.drillsize[0] / 2));
}
ctx.restore();
}
function drawFootprint(ctx, layer, scalefactor, footprint, padColor, padHoleColor, outlineColor, highlight, outline) {
if (highlight) {
// draw bounding box
if (footprint.layer == layer) {
ctx.save();
ctx.globalAlpha = 0.2;
ctx.translate(...footprint.bbox.pos);
ctx.rotate(deg2rad(-footprint.bbox.angle));
ctx.translate(...footprint.bbox.relpos);
ctx.fillStyle = padColor;
ctx.fillRect(0, 0, ...footprint.bbox.size);
ctx.globalAlpha = 1;
ctx.strokeStyle = padColor;
ctx.strokeRect(0, 0, ...footprint.bbox.size);
ctx.restore();
}
}
// draw drawings
for (var drawing of footprint.drawings) {
if (drawing.layer == layer) {
drawDrawing(ctx, scalefactor, drawing.drawing, padColor);
}
}
// draw pads
if (settings.renderPads) {
for (var pad of footprint.pads) {
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, padColor, outline);
if (pad.pin1 && settings.highlightpin1) {
drawPad(ctx, pad, outlineColor, true);
}
}
}
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, padHoleColor);
}
}
}
function drawEdgeCuts(canvas, scalefactor) {
var ctx = canvas.getContext("2d");
var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
for (var edge of pcbdata.edges) {
drawedge(ctx, scalefactor, edge, edgecolor);
}
}
function drawFootprints(canvas, layer, scalefactor, highlight) {
var ctx = canvas.getContext("2d");
ctx.lineWidth = 3 / scalefactor;
var style = getComputedStyle(topmostdiv);
var padColor = style.getPropertyValue('--pad-color');
var padHoleColor = style.getPropertyValue('--pad-hole-color');
var outlineColor = style.getPropertyValue('--pin1-outline-color');
if (highlight) {
padColor = style.getPropertyValue('--pad-color-highlight');
outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
}
for (var i = 0; i < pcbdata.footprints.length; i++) {
var mod = pcbdata.footprints[i];
var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
if (!highlight || highlightedFootprints.includes(i)) {
drawFootprint(ctx, layer, scalefactor, mod, padColor, padHoleColor, outlineColor, highlight, outline);
}
}
}
function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
var ctx = canvas.getContext("2d");
for (var d of pcbdata.drawings[layername][layer]) {
if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
drawedge(ctx, scalefactor, d, edgeColor);
} else if (d.type == "polygon") {
drawPolygonShape(ctx, d, polygonColor);
} else {
drawText(ctx, d, textColor);
}
}
}
function drawTracks(canvas, layer, color, highlight) {
ctx = canvas.getContext("2d");
ctx.strokeStyle = color;
ctx.lineCap = "round";
for(var track of pcbdata.tracks[layer]) {
if (highlight && highlightedNet != track.net) continue;
ctx.lineWidth = track.width;
ctx.beginPath();
if ('radius' in track) {
ctx.arc(
...track.center,
track.radius,
deg2rad(track.startangle),
deg2rad(track.endangle));
} else {
ctx.moveTo(...track.start);
ctx.lineTo(...track.end);
}
ctx.stroke();
}
}
function drawZones(canvas, layer, color, highlight) {
ctx = canvas.getContext("2d");
ctx.strokeStyle = color;
ctx.fillStyle = color;
ctx.lineJoin = "round";
for(var zone of pcbdata.zones[layer]) {
if (!zone.path2d) {
zone.path2d = getPolygonsPath(zone);
}
if (highlight && highlightedNet != zone.net) continue;
ctx.fill(zone.path2d);
if (zone.width > 0) {
ctx.lineWidth = zone.width;
ctx.stroke(zone.path2d);
}
}
}
function clearCanvas(canvas, color = null) {
var ctx = canvas.getContext("2d");
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
if (color) {
ctx.fillStyle = color;
ctx.fillRect(0, 0, canvas.width, canvas.height);
} else {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
ctx.restore();
}
function drawNets(canvas, layer, highlight) {
var style = getComputedStyle(topmostdiv);
if (settings.renderTracks) {
var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
drawTracks(canvas, layer, trackColor, highlight);
}
if (settings.renderZones) {
var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
drawZones(canvas, layer, zoneColor, highlight);
}
if (highlight && settings.renderPads) {
var padColor = style.getPropertyValue('--pad-color-highlight');
var padHoleColor = style.getPropertyValue('--pad-hole-color');
var ctx = canvas.getContext("2d");
for (var footprint of pcbdata.footprints) {
// draw pads
var padDrawn = false;
for (var pad of footprint.pads) {
if (highlightedNet != pad.net) continue;
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, padColor, false);
padDrawn = true;
}
}
if (padDrawn) {
// redraw all pad holes because some pads may overlap
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, padHoleColor);
}
}
}
}
}
function drawHighlightsOnLayer(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.highlight);
}
if (highlightedFootprints.length > 0) {
drawFootprints(canvasdict.highlight, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, true);
}
if (highlightedNet !== null) {
drawNets(canvasdict.highlight, canvasdict.layer, true);
}
}
function drawHighlights() {
drawHighlightsOnLayer(allcanvas.front);
drawHighlightsOnLayer(allcanvas.back);
}
function drawBackground(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.bg);
clearCanvas(canvasdict.fab);
clearCanvas(canvasdict.silk);
}
drawNets(canvasdict.bg, canvasdict.layer, false);
drawFootprints(canvasdict.bg, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, false);
drawEdgeCuts(canvasdict.bg, canvasdict.transform.s);
var style = getComputedStyle(topmostdiv);
var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
var textColor = style.getPropertyValue('--silkscreen-text-color');
if (settings.renderSilkscreen) {
drawBgLayer(
"silkscreen", canvasdict.silk, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
edgeColor = style.getPropertyValue('--fabrication-edge-color');
polygonColor = style.getPropertyValue('--fabrication-polygon-color');
textColor = style.getPropertyValue('--fabrication-text-color');
if (settings.renderFabrication) {
drawBgLayer(
"fabrication", canvasdict.fab, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
}
function prepareCanvas(canvas, flip, transform) {
var ctx = canvas.getContext("2d");
ctx.setTransform(1, 0, 0, 1, 0, 0);
var fontsize = 1.55;
ctx.scale(transform.zoom, transform.zoom);
ctx.translate(transform.panx, transform.pany);
if (flip) {
ctx.scale(-1, 1);
}
ctx.translate(transform.x, transform.y);
ctx.rotate(deg2rad(settings.boardRotation));
ctx.scale(transform.s, transform.s);
}
function prepareLayer(canvasdict) {
var flip = (canvasdict.layer == "B");
for (var c of ["bg", "fab", "silk", "highlight"]) {
prepareCanvas(canvasdict[c], flip, canvasdict.transform);
}
}
function rotateVector(v, angle) {
angle = deg2rad(angle);
return [
v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
];
}
function applyRotation(bbox) {
var corners = [
[bbox.minx, bbox.miny],
[bbox.minx, bbox.maxy],
[bbox.maxx, bbox.miny],
[bbox.maxx, bbox.maxy],
];
corners = corners.map((v) => rotateVector(v, settings.boardRotation));
return {
minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
}
}
function recalcLayerScale(layerdict, width, height) {
var bbox = applyRotation(pcbdata.edges_bbox);
var scalefactor = 0.98 * Math.min(
width / (bbox.maxx - bbox.minx),
height / (bbox.maxy - bbox.miny)
);
if (scalefactor < 0.1) {
scalefactor = 1;
}
layerdict.transform.s = scalefactor;
var flip = (layerdict.layer == "B");
if (flip) {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
} else {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
}
layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
for (var c of ["bg", "fab", "silk", "highlight"]) {
canvas = layerdict[c];
canvas.width = width;
canvas.height = height;
canvas.style.width = (width / devicePixelRatio) + "px";
canvas.style.height = (height / devicePixelRatio) + "px";
}
}
function redrawCanvas(layerdict) {
prepareLayer(layerdict);
drawBackground(layerdict);
drawHighlightsOnLayer(layerdict);
}
function resizeCanvas(layerdict) {
var canvasdivid = {
"F": "frontcanvas",
"B": "backcanvas"
} [layerdict.layer];
var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
recalcLayerScale(layerdict, width, height);
redrawCanvas(layerdict);
}
function resizeAll() {
resizeCanvas(allcanvas.front);
resizeCanvas(allcanvas.back);
}
function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
var A = x - x1;
var B = y - y1;
var C = x2 - x1;
var D = y2 - y1;
var dot = A * C + B * D;
var len_sq = C * C + D * D;
var dx, dy;
if (len_sq == 0) {
// start and end of the segment coincide
dx = x - x1;
dy = y - y1;
} else {
var param = dot / len_sq;
var xx, yy;
if (param < 0) {
xx = x1;
yy = y1;
} else if (param > 1) {
xx = x2;
yy = y2;
} else {
xx = x1 + param * C;
yy = y1 + param * D;
}
dx = x - xx;
dy = y - yy;
}
return dx * dx + dy * dy <= d * d;
}
function modulo(n, mod) {
return ((n % mod) + mod ) % mod;
}
function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
var dx = x - xc;
var dy = y - yc;
var r_sq = dx * dx + dy * dy;
var rmin = Math.max(0, radius-d);
var rmax = radius + d;
if (r_sq < rmin * rmin || r_sq > rmax * rmax)
return false;
var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
var dx1 = xc + radius * Math.cos(angle1) - x;
var dy1 = yc + radius * Math.sin(angle1) - y;
if (dx1 * dx1 + dy1 * dy1 <= d * d)
return true;
var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
var dx2 = xc + radius * Math.cos(angle2) - x;
var dy2 = yc + radius * Math.sin(angle2) - y;
if (dx2 * dx2 + dy2 * dy2 <= d * d)
return true;
var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
if (angle1 > angle2)
return (angle >= angle2 || angle <= angle1);
else
return (angle >= angle1 && angle <= angle2);
}
function pointWithinPad(x, y, pad) {
var v = [x - pad.pos[0], y - pad.pos[1]];
v = rotateVector(v, -pad.angle);
if (pad.offset) {
v[0] -= pad.offset[0];
v[1] -= pad.offset[1];
}
return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}
function netHitScan(layer, x, y) {
// Check track segments
if (settings.renderTracks && pcbdata.tracks) {
for(var track of pcbdata.tracks[layer]) {
if ('radius' in track) {
if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
return track.net;
}
} else {
if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
return track.net;
}
}
}
}
// Check pads
if (settings.renderPads) {
for (var footprint of pcbdata.footprints) {
for(var pad of footprint.pads) {
if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
return pad.net;
}
}
}
}
return null;
}
function pointWithinFootprintBbox(x, y, bbox) {
var v = [x - bbox.pos[0], y - bbox.pos[1]];
v = rotateVector(v, bbox.angle);
return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}
function bboxHitScan(layer, x, y) {
var result = [];
for (var i = 0; i < pcbdata.footprints.length; i++) {
var footprint = pcbdata.footprints[i];
if (footprint.layer == layer) {
if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
result.push(i);
}
}
}
return result;
}
function handlePointerDown(e, layerdict) {
if (e.button != 0 && e.button != 1) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
layerdict.pointerStates[e.pointerId] = {
distanceTravelled: 0,
lastX: e.offsetX,
lastY: e.offsetY,
downTime: Date.now(),
};
}
function handleMouseClick(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var x = e.offsetX;
var y = e.offsetY;
var t = layerdict.transform;
if (layerdict.layer == "B") {
x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
} else {
x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
}
y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
var v = rotateVector([x, y], -settings.boardRotation);
if ("nets" in pcbdata) {
var net = netHitScan(layerdict.layer, ...v);
if (net !== highlightedNet) {
netClicked(net);
}
}
if (highlightedNet === null) {
var footprints = bboxHitScan(layerdict.layer, ...v);
if (footprints.length > 0) {
footprintsClicked(footprints);
}
}
}
function handlePointerLeave(e, layerdict) {
e.preventDefault();
e.stopPropagation();
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
delete layerdict.pointerStates[e.pointerId];
}
function resetTransform(layerdict) {
layerdict.transform.panx = 0;
layerdict.transform.pany = 0;
layerdict.transform.zoom = 1;
redrawCanvas(layerdict);
}
function handlePointerUp(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
e.preventDefault();
e.stopPropagation();
if (e.button == 2) {
// Reset pan and zoom on right click.
resetTransform(layerdict);
layerdict.anotherPointerTapped = false;
return;
}
// We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
var ptr = layerdict.pointerStates[e.pointerId];
ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);
if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
if (Object.keys(layerdict.pointerStates).length == 1) {
if (layerdict.anotherPointerTapped) {
// This is the second pointer coming off of a two-finger tap
resetTransform(layerdict);
} else {
// This is just a regular tap
handleMouseClick(e, layerdict);
}
layerdict.anotherPointerTapped = false;
} else {
// This is the first finger coming off of what could become a two-finger tap
layerdict.anotherPointerTapped = true;
}
} else {
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
layerdict.anotherPointerTapped = false;
}
delete layerdict.pointerStates[e.pointerId];
}
function handlePointerMove(e, layerdict) {
if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var thisPtr = layerdict.pointerStates[e.pointerId];
var dx = e.offsetX - thisPtr.lastX;
var dy = e.offsetY - thisPtr.lastY;
// If this number is low on pointer up, we count the action as a click
thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);
if (Object.keys(layerdict.pointerStates).length == 1) {
// This is a simple drag
layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
} else if (Object.keys(layerdict.pointerStates).length == 2) {
var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];
var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2) + Math.pow(e.offsetY - otherPtr.lastY, 2));
var scaleFactor = newDist/oldDist;
if (scaleFactor != NaN) {
layerdict.transform.zoom *= scaleFactor;
var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
}
}
thisPtr.lastX = e.offsetX;
thisPtr.lastY = e.offsetY;
if (settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
}
function handleMouseWheel(e, layerdict) {
e.preventDefault();
e.stopPropagation();
var t = layerdict.transform;
var wheeldelta = e.deltaY;
if (e.deltaMode == 1) {
// FF only, scroll by lines
wheeldelta *= 30;
} else if (e.deltaMode == 2) {
wheeldelta *= 300;
}
var m = Math.pow(1.1, -wheeldelta / 40);
// Limit amount of zoom per tick.
if (m > 2) {
m = 2;
} else if (m < 0.5) {
m = 0.5;
}
t.zoom *= m;
var zoomd = (1 - m) / t.zoom;
t.panx += devicePixelRatio * e.offsetX * zoomd;
t.pany += devicePixelRatio * e.offsetY * zoomd;
redrawCanvas(layerdict);
}
function addMouseHandlers(div, layerdict) {
div.addEventListener("pointerdown", function(e) {
handlePointerDown(e, layerdict);
});
div.addEventListener("pointermove", function(e) {
handlePointerMove(e, layerdict);
});
div.addEventListener("pointerup", function(e) {
handlePointerUp(e, layerdict);
});
var pointerleave = function(e) {
handlePointerLeave(e, layerdict);
}
div.addEventListener("pointercancel", pointerleave);
div.addEventListener("pointerleave", pointerleave);
div.addEventListener("pointerout", pointerleave);
div.onwheel = function(e) {
handleMouseWheel(e, layerdict);
}
for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
element.addEventListener("contextmenu", function(e) {
e.preventDefault();
}, false);
}
}
function setRedrawOnDrag(value) {
settings.redrawOnDrag = value;
writeStorage("redrawOnDrag", value);
}
function setBoardRotation(value) {
settings.boardRotation = value * 5;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("rotationDegree").textContent = settings.boardRotation;
resizeAll();
}
function initRender() {
allcanvas = {
front: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("F_bg"),
fab: document.getElementById("F_fab"),
silk: document.getElementById("F_slk"),
highlight: document.getElementById("F_hl"),
layer: "F",
},
back: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("B_bg"),
fab: document.getElementById("B_fab"),
silk: document.getElementById("B_slk"),
highlight: document.getElementById("B_hl"),
layer: "B",
}
};
addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}
///////////////////////////////////////////////
///////////////////////////////////////////////
/* DOM manipulation and misc code */
var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var highlightedFootprints = [];
var highlightedNet = null;
var lastClicked;
function dbg(html) {
dbgdiv.innerHTML = html;
}
function redrawIfInitDone() {
if (initDone) {
redrawCanvas(allcanvas.front);
redrawCanvas(allcanvas.back);
}
}
function padsVisible(value) {
writeStorage("padsVisible", value);
settings.renderPads = value;
redrawIfInitDone();
}
function referencesVisible(value) {
writeStorage("referencesVisible", value);
settings.renderReferences = value;
redrawIfInitDone();
}
function valuesVisible(value) {
writeStorage("valuesVisible", value);
settings.renderValues = value;
redrawIfInitDone();
}
function tracksVisible(value) {
writeStorage("tracksVisible", value);
settings.renderTracks = value;
redrawIfInitDone();
}
function zonesVisible(value) {
writeStorage("zonesVisible", value);
settings.renderZones = value;
redrawIfInitDone();
}
function dnpOutline(value) {
writeStorage("dnpOutline", value);
settings.renderDnpOutline = value;
redrawIfInitDone();
}
function setDarkMode(value) {
if (value) {
topmostdiv.classList.add("dark");
} else {
topmostdiv.classList.remove("dark");
}
writeStorage("darkmode", value);
settings.darkMode = value;
redrawIfInitDone();
}
function setFullscreen(value) {
if (value) {
document.documentElement.requestFullscreen();
} else {
document.exitFullscreen();
}
}
function fabricationVisible(value) {
writeStorage("fabricationVisible", value);
settings.renderFabrication = value;
redrawIfInitDone();
}
function silkscreenVisible(value) {
writeStorage("silkscreenVisible", value);
settings.renderSilkscreen = value;
redrawIfInitDone();
}
function setHighlightPin1(value) {
writeStorage("highlightpin1", value);
settings.highlightpin1 = value;
redrawIfInitDone();
}
function getStoredCheckboxRefs(checkbox) {
function convert(ref) {
var intref = parseInt(ref);
if (isNaN(intref)) {
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.footprints[i].ref == ref) {
return i;
}
}
return -1;
} else {
return intref;
}
}
if (!(checkbox in settings.checkboxStoredRefs)) {
var val = readStorage("checkbox_" + checkbox);
settings.checkboxStoredRefs[checkbox] = val ? val : "";
}
if (!settings.checkboxStoredRefs[checkbox]) {
return new Set();
} else {
return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
}
}
function getCheckboxState(checkbox, references) {
var storedRefsSet = getStoredCheckboxRefs(checkbox);
var currentRefsSet = new Set(references.map(r => r[1]));
// Get difference of current - stored
var difference = new Set(currentRefsSet);
for (ref of storedRefsSet) {
difference.delete(ref);
}
if (difference.size == 0) {
// All the current refs are stored
return "checked";
} else if (difference.size == currentRefsSet.size) {
// None of the current refs are stored
return "unchecked";
} else {
// Some of the refs are stored
return "indeterminate";
}
}
function setBomCheckboxState(checkbox, element, references) {
var state = getCheckboxState(checkbox, references);
element.checked = (state == "checked");
element.indeterminate = (state == "indeterminate");
}
function createCheckboxChangeHandler(checkbox, references, row) {
return function() {
refsSet = getStoredCheckboxRefs(checkbox);
var darkenWhenChecked = settings.darkenWhenChecked == checkbox;
eventArgs = {
checkbox: checkbox,
refs: references,
}
if (this.checked) {
// checkbox ticked
for (var ref of references) {
refsSet.add(ref[1]);
}
if (darkenWhenChecked) {
row.classList.add("checked");
}
eventArgs.state = 'checked';
} else {
// checkbox unticked
for (var ref of references) {
refsSet.delete(ref[1]);
}
if (darkenWhenChecked) {
row.classList.remove("checked");
}
eventArgs.state = 'unchecked';
}
settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
updateCheckboxStats(checkbox);
EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
}
}
function clearHighlightedFootprints() {
if (currentHighlightedRowId) {
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
currentHighlightedRowId = null;
highlightedFootprints = [];
highlightedNet = null;
}
}
function createRowHighlightHandler(rowid, refs, net) {
return function() {
if (currentHighlightedRowId) {
if (currentHighlightedRowId == rowid) {
return;
}
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
}
document.getElementById(rowid).classList.add("highlighted");
currentHighlightedRowId = rowid;
highlightedFootprints = refs ? refs.map(r => r[1]) : [];
highlightedNet = net;
drawHighlights();
EventHandler.emitEvent(
IBOM_EVENT_TYPES.HIGHLIGHT_EVENT,
{
rowid: rowid,
refs: refs,
net: net
});
}
}
function entryMatches(entry) {
if (settings.bommode == "netlist") {
// entry is just a net name
return entry.toLowerCase().indexOf(filter) >= 0;
}
// check refs
for (var ref of entry[3]) {
if (ref[0].toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
// check extra fields
for (var i in config.extra_fields) {
if (entry[4][i].toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
// check value
if (entry[1].toLowerCase().indexOf(filter) >= 0) {
return true;
}
// check footprint
if (entry[2].toLowerCase().indexOf(filter) >= 0) {
return true;
}
return false;
}
function findRefInEntry(entry) {
return entry[3].filter(r => r[0].toLowerCase() == reflookup);
}
function highlightFilter(s) {
if (!filter) {
return s;
}
var parts = s.toLowerCase().split(filter);
if (parts.length == 1) {
return s;
}
var r = "";
var pos = 0;
for (var i in parts) {
if (i > 0) {
r += '<mark class="highlight">' +
s.substring(pos, pos + filter.length) +
'</mark>';
pos += filter.length;
}
r += s.substring(pos, pos + parts[i].length);
pos += parts[i].length;
}
return r;
}
function checkboxSetUnsetAllHandler(checkboxname) {
return function() {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (checkboxnum >= settings.checkboxes.length) {
return;
}
var allset = true;
var checkbox;
var row;
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
if (!checkbox.checked || checkbox.indeterminate) {
allset = false;
break;
}
}
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = !allset;
checkbox.indeterminate = false;
checkbox.onchange();
}
}
}
function createColumnHeader(name, cls, comparator) {
var th = document.createElement("TH");
th.innerHTML = name;
th.classList.add(cls);
th.style.cursor = "pointer";
var span = document.createElement("SPAN");
span.classList.add("sortmark");
span.classList.add("none");
th.appendChild(span);
th.onclick = function() {
if (currentSortColumn && this !== currentSortColumn) {
// Currently sorted by another column
currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
if (currentSortColumn && this === currentSortColumn) {
// Already sorted by this column
if (currentSortOrder == "asc") {
// Sort by this column, descending order
bomSortFunction = function(a, b) {
return -comparator(a, b);
}
currentSortColumn.childNodes[1].classList.remove("asc");
currentSortColumn.childNodes[1].classList.add("desc");
currentSortOrder = "desc";
} else {
// Unsort
bomSortFunction = null;
currentSortColumn.childNodes[1].classList.remove("desc");
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
} else {
// Sort by this column, ascending order
bomSortFunction = comparator;
currentSortColumn = this;
currentSortColumn.childNodes[1].classList.remove("none");
currentSortColumn.childNodes[1].classList.add("asc");
currentSortOrder = "asc";
}
populateBomBody();
}
return th;
}
function populateBomHeader() {
while (bomhead.firstChild) {
bomhead.removeChild(bomhead.firstChild);
}
var tr = document.createElement("TR");
var th = document.createElement("TH");
th.classList.add("numCol");
tr.appendChild(th);
var checkboxCompareClosure = function(checkbox) {
return (a, b) => {
var stateA = getCheckboxState(checkbox, a[3]);
var stateB = getCheckboxState(checkbox, b[3]);
if (stateA > stateB) return -1;
if (stateA < stateB) return 1;
return 0;
}
}
if (settings.bommode == "netlist") {
th = createColumnHeader("Net name", "bom-netname", (a, b) => {
if (a > b) return -1;
if (a < b) return 1;
return 0;
});
tr.appendChild(th);
} else {
for (var checkbox of settings.checkboxes) {
th = createColumnHeader(
checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
th.onclick = fancyDblClickHandler(
th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
tr.appendChild(th);
}
tr.appendChild(createColumnHeader("References", "References", (a, b) => {
var i = 0;
while (i < a[3].length && i < b[3].length) {
if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
i++;
}
return a[3].length - b[3].length;
}));
// Extra fields
if (config.extra_fields.length > 0) {
var extraFieldCompareClosure = function(fieldIndex) {
return (a, b) => {
var fa = a[4][fieldIndex];
var fb = b[4][fieldIndex];
if (fa != fb) return fa > fb ? 1 : -1;
else return 0;
}
}
for (var i in config.extra_fields) {
tr.appendChild(createColumnHeader(
config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
}
}
tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
return valueCompare(a[5], b[5], a[1], b[1]);
}));
tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
else return 0;
}));
if (settings.bommode == "grouped") {
tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
return a[3].length - b[3].length;
}));
}
}
bomhead.appendChild(tr);
}
function populateBomBody() {
while (bom.firstChild) {
bom.removeChild(bom.firstChild);
}
highlightHandlers = [];
footprintIndexToHandler = {};
netsToHandler = {};
currentHighlightedRowId = null;
var first = true;
if (settings.bommode == "netlist") {
bomtable = pcbdata.nets.slice();
} else {
switch (settings.canvaslayout) {
case 'F':
bomtable = pcbdata.bom.F.slice();
break;
case 'FB':
bomtable = pcbdata.bom.both.slice();
break;
case 'B':
bomtable = pcbdata.bom.B.slice();
break;
}
if (settings.bommode == "ungrouped") {
// expand bom table
expandedTable = []
for (var bomentry of bomtable) {
for (var ref of bomentry[3]) {
expandedTable.push([1, bomentry[1], bomentry[2], [ref], bomentry[4], bomentry[5]]);
}
}
bomtable = expandedTable;
}
}
if (bomSortFunction) {
bomtable = bomtable.sort(bomSortFunction);
}
for (var i in bomtable) {
var bomentry = bomtable[i];
if (filter && !entryMatches(bomentry)) {
continue;
}
var references = null;
var netname = null;
var tr = document.createElement("TR");
var td = document.createElement("TD");
var rownum = +i + 1;
tr.id = "bomrow" + rownum;
td.textContent = rownum;
tr.appendChild(td);
if (settings.bommode == "netlist") {
netname = bomentry;
td = document.createElement("TD");
td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
tr.appendChild(td);
} else {
if (reflookup) {
references = findRefInEntry(bomentry);
if (references.length == 0) {
continue;
}
} else {
references = bomentry[3];
}
// Checkboxes
for (var checkbox of settings.checkboxes) {
if (checkbox) {
td = document.createElement("TD");
var input = document.createElement("input");
input.type = "checkbox";
input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
setBomCheckboxState(checkbox, input, references);
if (input.checked && settings.darkenWhenChecked == checkbox) {
tr.classList.add("checked");
}
td.appendChild(input);
tr.appendChild(td);
}
}
// References
td = document.createElement("TD");
td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
tr.appendChild(td);
// Extra fields
for (var i in config.extra_fields) {
td = document.createElement("TD");
td.innerHTML = highlightFilter(bomentry[4][i]);
tr.appendChild(td);
}
// Value
td = document.createElement("TD");
td.innerHTML = highlightFilter(bomentry[1]);
tr.appendChild(td);
// Footprint
td = document.createElement("TD");
td.innerHTML = highlightFilter(bomentry[2]);
tr.appendChild(td);
if (settings.bommode == "grouped") {
// Quantity
td = document.createElement("TD");
td.textContent = bomentry[3].length;
tr.appendChild(td);
}
}
bom.appendChild(tr);
var handler = createRowHighlightHandler(tr.id, references, netname);
tr.onmousemove = handler;
highlightHandlers.push({
id: tr.id,
handler: handler,
});
if (references !== null) {
for (var refIndex of references.map(r => r[1])) {
footprintIndexToHandler[refIndex] = handler;
}
}
if (netname !== null) {
netsToHandler[netname] = handler;
}
if ((filter || reflookup) && first) {
handler();
first = false;
}
}
EventHandler.emitEvent(
IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT,
{
filter: filter,
reflookup: reflookup,
checkboxes: settings.checkboxes,
bommode: settings.bommode,
});
}
function highlightPreviousRow() {
if (!currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[0].id == currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
for (var i = 0; i < highlightHandlers.length - 1; i++) {
if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function highlightNextRow() {
if (!currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
for (var i = 1; i < highlightHandlers.length; i++) {
if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function populateBomTable() {
populateBomHeader();
populateBomBody();
}
function footprintsClicked(footprintIndexes) {
var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
for (var i = 1; i <= footprintIndexes.length; i++) {
var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
if (refIndex in footprintIndexToHandler) {
lastClicked = refIndex;
footprintIndexToHandler[refIndex]();
smoothScrollToRow(currentHighlightedRowId);
break;
}
}
}
function netClicked(net) {
if (net in netsToHandler) {
netsToHandler[net]();
smoothScrollToRow(currentHighlightedRowId);
} else {
clearHighlightedFootprints();
highlightedNet = net;
drawHighlights();
}
}
function updateFilter(input) {
filter = input.toLowerCase();
populateBomTable();
}
function updateRefLookup(input) {
reflookup = input.toLowerCase();
populateBomTable();
}
function changeCanvasLayout(layout) {
document.getElementById("fl-btn").classList.remove("depressed");
document.getElementById("fb-btn").classList.remove("depressed");
document.getElementById("bl-btn").classList.remove("depressed");
switch (layout) {
case 'F':
document.getElementById("fl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(1);
}
break;
case 'B':
document.getElementById("bl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(0);
}
break;
default:
document.getElementById("fb-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.setSizes([50, 50]);
}
}
settings.canvaslayout = layout;
writeStorage("canvaslayout", layout);
resizeAll();
changeBomMode(settings.bommode);
}
function populateMetadata() {
document.getElementById("title").innerHTML = pcbdata.metadata.title;
document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
document.getElementById("company").innerHTML = pcbdata.metadata.company;
document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
if (pcbdata.metadata.title != "") {
document.title = pcbdata.metadata.title + " BOM";
}
// Calculate board stats
var fp_f = 0, fp_b = 0, pads_f = 0, pads_b = 0, pads_th = 0;
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.bom.skipped.includes(i)) continue;
var mod = pcbdata.footprints[i];
if (mod.layer == "F") {
fp_f++;
} else {
fp_b++;
}
for (var pad of mod.pads) {
if (pad.type == "th") {
pads_th++;
} else {
if (pad.layers.includes("F")) {
pads_f++;
}
if (pad.layers.includes("B")) {
pads_b++;
}
}
}
}
document.getElementById("stats-components-front").innerHTML = fp_f;
document.getElementById("stats-components-back").innerHTML = fp_b;
document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
document.getElementById("stats-th-pads").innerHTML = pads_th;
// Update version string
document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
/^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}
function changeBomLayout(layout) {
document.getElementById("bom-btn").classList.remove("depressed");
document.getElementById("lr-btn").classList.remove("depressed");
document.getElementById("tb-btn").classList.remove("depressed");
switch (layout) {
case 'bom-only':
document.getElementById("bom-btn").classList.add("depressed");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
document.getElementById("frontcanvas").style.display = "none";
document.getElementById("backcanvas").style.display = "none";
document.getElementById("bot").style.height = "";
break;
case 'top-bottom':
document.getElementById("tb-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("bot").style.height = "calc(100% - 80px)";
document.getElementById("bomdiv").classList.remove("split-horizontal");
document.getElementById("canvasdiv").classList.remove("split-horizontal");
document.getElementById("frontcanvas").classList.add("split-horizontal");
document.getElementById("backcanvas").classList.add("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
direction: "vertical",
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
onDragEnd: resizeAll
});
break;
case 'left-right':
document.getElementById("lr-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("bot").style.height = "calc(100% - 80px)";
document.getElementById("bomdiv").classList.add("split-horizontal");
document.getElementById("canvasdiv").classList.add("split-horizontal");
document.getElementById("frontcanvas").classList.remove("split-horizontal");
document.getElementById("backcanvas").classList.remove("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
direction: "vertical",
onDragEnd: resizeAll
});
}
settings.bomlayout = layout;
writeStorage("bomlayout", layout);
changeCanvasLayout(settings.canvaslayout);
}
function changeBomMode(mode) {
document.getElementById("bom-grouped-btn").classList.remove("depressed");
document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
document.getElementById("bom-netlist-btn").classList.remove("depressed");
switch (mode) {
case 'grouped':
document.getElementById("bom-grouped-btn").classList.add("depressed");
break;
case 'ungrouped':
document.getElementById("bom-ungrouped-btn").classList.add("depressed");
break;
case 'netlist':
document.getElementById("bom-netlist-btn").classList.add("depressed");
}
writeStorage("bommode", mode);
if (mode != settings.bommode) {
settings.bommode = mode;
bomSortFunction = null;
currentSortColumn = null;
currentSortOrder = null;
clearHighlightedFootprints();
}
populateBomTable();
}
function focusFilterField() {
focusInputField(document.getElementById("filter"));
}
function focusRefLookupField() {
focusInputField(document.getElementById("reflookup"));
}
function toggleBomCheckbox(bomrowid, checkboxnum) {
if (!bomrowid || checkboxnum > settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
checkbox.checked = !checkbox.checked;
checkbox.indeterminate = false;
checkbox.onchange();
}
function checkBomCheckbox(bomrowid, checkboxname) {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = true;
checkbox.indeterminate = false;
checkbox.onchange();
}
function setBomCheckboxes(value) {
writeStorage("bomCheckboxes", value);
settings.checkboxes = value.split(",").filter((e) => e);
prepCheckboxes();
populateBomTable();
populateDarkenWhenCheckedOptions();
}
function setDarkenWhenChecked(value) {
writeStorage("darkenWhenChecked", value);
settings.darkenWhenChecked = value;
populateBomTable();
}
function prepCheckboxes() {
var table = document.getElementById("checkbox-stats");
while (table.childElementCount > 1) {
table.removeChild(table.lastChild);
}
if (settings.checkboxes.length) {
table.style.display = "";
} else {
table.style.display = "none";
}
for (var checkbox of settings.checkboxes) {
var tr = document.createElement("TR");
var td = document.createElement("TD");
td.innerHTML = checkbox;
tr.appendChild(td);
td = document.createElement("TD");
td.id = "checkbox-stats-" + checkbox;
var progressbar = document.createElement("div");
progressbar.classList.add("bar");
td.appendChild(progressbar);
var text = document.createElement("div");
text.classList.add("text");
td.appendChild(text);
tr.appendChild(td);
table.appendChild(tr);
updateCheckboxStats(checkbox);
}
}
function populateDarkenWhenCheckedOptions() {
var container = document.getElementById("darkenWhenCheckedContainer");
if (settings.checkboxes.length == 0) {
container.parentElement.style.display = "none";
return;
}
container.innerHTML = '';
container.parentElement.style.display = "inline-block";
function createOption(name, displayName) {
var id = "darkenWhenChecked-" + name;
var div = document.createElement("div");
div.classList.add("radio-container");
var input = document.createElement("input");
input.type = "radio";
input.name = "darkenWhenChecked";
input.value = name;
input.id = id;
input.onchange = () => setDarkenWhenChecked(name);
div.appendChild(input);
// Preserve the selected element when the checkboxes change
if (name == settings.darkenWhenChecked) {
input.checked = true;
}
var label = document.createElement("label");
label.innerHTML = displayName;
label.htmlFor = id;
div.appendChild(label);
container.appendChild(div);
}
createOption("", "None");
for (var checkbox of settings.checkboxes) {
createOption(checkbox, checkbox);
}
}
function updateCheckboxStats(checkbox) {
var checked = getStoredCheckboxRefs(checkbox).size;
var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
var percent = checked * 100.0 / total;
var td = document.getElementById("checkbox-stats-" + checkbox);
td.firstChild.style.width = percent + "%";
td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}
document.onkeydown = function(e) {
switch (e.key) {
case "n":
if (document.activeElement.type == "text") {
return;
}
if (currentHighlightedRowId !== null) {
checkBomCheckbox(currentHighlightedRowId, "placed");
highlightNextRow();
e.preventDefault();
}
break;
case "ArrowUp":
highlightPreviousRow();
e.preventDefault();
break;
case "ArrowDown":
highlightNextRow();
e.preventDefault();
break;
default:
break;
}
if (e.altKey) {
switch (e.key) {
case "f":
focusFilterField();
e.preventDefault();
break;
case "r":
focusRefLookupField();
e.preventDefault();
break;
case "z":
changeBomLayout("bom-only");
e.preventDefault();
break;
case "x":
changeBomLayout("left-right");
e.preventDefault();
break;
case "c":
changeBomLayout("top-bottom");
e.preventDefault();
break;
case "v":
changeCanvasLayout("F");
e.preventDefault();
break;
case "b":
changeCanvasLayout("FB");
e.preventDefault();
break;
case "n":
changeCanvasLayout("B");
e.preventDefault();
break;
default:
break;
}
if (e.key >= '1' && e.key <= '9') {
toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
}
}
}
function hideNetlistButton() {
document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
document.getElementById("bom-netlist-btn").style.display = "none";
}
window.onload = function(e) {
initUtils();
initRender();
initStorage();
initDefaults();
cleanGutters();
populateMetadata();
dbgdiv = document.getElementById("dbg");
bom = document.getElementById("bombody");
bomhead = document.getElementById("bomhead");
filter = "";
reflookup = "";
if (!("nets" in pcbdata)) {
hideNetlistButton();
}
initDone = true;
prepCheckboxes();
// Triggers render
changeBomLayout(settings.bomlayout);
// Users may leave fullscreen without touching the checkbox. Uncheck.
document.addEventListener('fullscreenchange', () => {
if (!document.fullscreenElement)
document.getElementById('fullscreenCheckbox').checked = false;
});
}
window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);
///////////////////////////////////////////////
///////////////////////////////////////////////
///////////////////////////////////////////////
</script>
</head>
<body>
<div id="topmostdiv" class="topmostdiv">
<div id="top">
<div style="float: right; height: 100%;">
<div class="hideonprint menu" style="float: right; top: 8px;">
<button class="menubtn"></button>
<div class="menu-content">
<label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
<input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
Dark mode
</label><!-- This comment eats space! All of it!
--><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
<input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
Full Screen
</label>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
Fab layer
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
Silkscreen
</label>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
References
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
Values
</label>
<div id="tracksAndZonesCheckboxes">
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
Tracks
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
Zones
</label>
</div>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
Pads
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
DNP outlined
</label>
<label class="menu-label">
<input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
Highlight first pin
</label>
<label class="menu-label">
<input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
Continuous redraw on drag
</label>
<label class="menu-label">
<span>Board rotation</span>
<span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
<input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
</label>
<label class="menu-label">
<div style="margin-left: 5px">Bom checkboxes</div>
<input id="bomCheckboxes" class="menu-textbox" type=text
oninput="setBomCheckboxes(this.value)">
</label>
<label class="menu-label">
<div style="margin-left: 5px">Darken when checked</div>
<div id="darkenWhenCheckedContainer"></div>
</label>
<label class="menu-label">
<span class="shameless-plug">
<span>Created using</span>
<a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
</span>
</label>
</div>
</div>
<div class="button-container hideonprint"
style="float: right; position: relative; top: 8px">
<button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
title="Front only">F
</button>
<button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
title="Front and Back">FB
</button>
<button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
title="Back only">B
</button>
</div>
<div class="button-container hideonprint"
style="float: right; position: relative; top: 8px">
<button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
title="BOM only"></button>
<button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
title="BOM left, drawings right"></button>
<button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
title="BOM top, drawings bot"></button>
</div>
<div class="button-container hideonprint"
style="float: right; position: relative; top: 8px">
<button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
title="Grouped BOM"></button>
<button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
title="Ungrouped BOM"></button>
<button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
title="Netlist"></button>
</div>
<div class="hideonprint menu" style="float: right; top: 8px;">
<button class="statsbtn"></button>
<div class="menu-content">
<table class="stats">
<tbody>
<tr>
<td width="40%">Board stats</td>
<td>Front</td>
<td>Back</td>
<td>Total</td>
</tr>
<tr>
<td>Components</td>
<td id="stats-components-front">~</td>
<td id="stats-components-back">~</td>
<td id="stats-components-total">~</td>
</tr>
<tr>
<td>Groups</td>
<td id="stats-groups-front">~</td>
<td id="stats-groups-back">~</td>
<td id="stats-groups-total">~</td>
</tr>
<tr>
<td>SMD pads</td>
<td id="stats-smd-pads-front">~</td>
<td id="stats-smd-pads-back">~</td>
<td id="stats-smd-pads-total">~</td>
</tr>
<tr>
<td>TH pads</td>
<td colspan=3 id="stats-th-pads">~</td>
</tr>
</tbody>
</table>
<table class="stats">
<col width="40%"/><col />
<tbody id="checkbox-stats">
<tr>
<td colspan=2 style="border-top: 0">Checkboxes</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="hideonprint menu" style="float: right; top: 8px;">
<button class="iobtn"></button>
<div class="menu-content">
<div class="menu-label menu-label-top">
<div style="margin-left: 5px;">Save board image</div>
<div class="flexbox">
<input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
<span>X</span>
<input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
</div>
<label>
<input id="render-save-transparent" type="checkbox">
Transparent background
</label>
<div class="flexbox">
<button class="savebtn" onclick="saveImage('F')">Front</button>
<button class="savebtn" onclick="saveImage('B')">Back</button>
</div>
</div>
<div class="menu-label">
<span style="margin-left: 5px;">Config and checkbox state</span>
<div class="flexbox">
<button class="savebtn" onclick="saveSettings()">Export</button>
<button class="savebtn" onclick="loadSettings()">Import</button>
</div>
</div>
</div>
</div>
</div>
<div id="fileinfodiv" style="overflow: auto;">
<table class="fileinfo">
<tbody>
<tr>
<td id="title" class="title" style="width: 70%">
Title
</td>
<td id="revision" class="title" style="width: 30%">
Revision
</td>
</tr>
<tr>
<td id="company">
Company
</td>
<td id="filedate">
Date
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="bot" class="split" style="height: calc(100% - 80px)">
<div id="bomdiv" class="split split-horizontal">
<div style="width: 100%">
<input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
oninput="updateRefLookup(this.value)">
<input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
oninput="updateFilter(this.value)">
<div class="button-container hideonprint" style="float: left; margin: 0;">
<button id="copy" title="Copy bom table to clipboard"
onclick="copyToClipboard()"></button>
</div>
</div>
<div id="dbg"></div>
<table class="bom">
<thead id="bomhead">
</thead>
<tbody id="bombody">
</tbody>
</table>
</div>
<div id="canvasdiv" class="split split-horizontal">
<div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
<div style="position: relative; width: 100%; height: 100%;">
<canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
<canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
<canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
<canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
</div>
</div>
<div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
<div style="position: relative; width: 100%; height: 100%;">
<canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
<canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
<canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
<canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
</div>
</div>
</div>
</div>
</div>
</body>
</html>