/*! * @pixiv/three-vrm v2.0.6 * VRM file loader for three.js. * * Copyright (c) 2019-2023 pixiv Inc. * @pixiv/three-vrm is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ import * as THREE from 'three'; import { BufferAttribute } from 'three'; /*! * @pixiv/three-vrm-core v2.0.6 * The implementation of core features of VRM, for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-core is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ // animationMixer の監視対象は、Scene の中に入っている必要がある。 // そのため、表示オブジェクトではないけれど、Object3D を継承して Scene に投入できるようにする。 class VRMExpression extends THREE.Object3D { /** * A value represents how much it should override blink expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideBlinkAmount() { if (this.overrideBlink === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideBlink === 'blend') { return this.weight; } else { return 0.0; } } /** * A value represents how much it should override lookAt expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideLookAtAmount() { if (this.overrideLookAt === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideLookAt === 'blend') { return this.weight; } else { return 0.0; } } /** * A value represents how much it should override mouth expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideMouthAmount() { if (this.overrideMouth === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideMouth === 'blend') { return this.weight; } else { return 0.0; } } constructor(expressionName) { super(); /** * The current weight of the expression. */ this.weight = 0.0; /** * Interpret values greater than 0.5 as 1.0, ortherwise 0.0. */ this.isBinary = false; /** * Specify how the expression overrides blink expressions. */ this.overrideBlink = 'none'; /** * Specify how the expression overrides lookAt expressions. */ this.overrideLookAt = 'none'; /** * Specify how the expression overrides mouth expressions. */ this.overrideMouth = 'none'; this._binds = []; this.name = `VRMExpression_${expressionName}`; this.expressionName = expressionName; // traverse 時の救済手段として Object3D ではないことを明示しておく this.type = 'VRMExpression'; // 表示目的のオブジェクトではないので、負荷軽減のために visible を false にしておく。 // これにより、このインスタンスに対する毎フレームの matrix 自動計算を省略できる。 this.visible = false; } addBind(bind) { this._binds.push(bind); } /** * Apply weight to every assigned blend shapes. * Should be called every frame. */ applyWeight(options) { var _a; let actualWeight = this.isBinary ? (this.weight <= 0.5 ? 0.0 : 1.0) : this.weight; actualWeight *= (_a = options === null || options === void 0 ? void 0 : options.multiplier) !== null && _a !== void 0 ? _a : 1.0; this._binds.forEach((bind) => bind.applyWeight(actualWeight)); } /** * Clear previously assigned blend shapes. */ clearAppliedWeight() { this._binds.forEach((bind) => bind.clearAppliedWeight()); } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$6(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function extractPrimitivesInternal(gltf, nodeIndex, node) { var _a, _b; const json = gltf.parser.json; /** * Let's list up every possible patterns that parsed gltf nodes with a mesh can have,,, * * "*" indicates that those meshes should be listed up using this function * * ### A node with a (mesh, a signle primitive) * * - `THREE.Mesh`: The only primitive of the mesh * * * ### A node with a (mesh, multiple primitives) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, a single primitive) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Mesh`: A primitive of a MESH OF THE CHILD * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, multiple primitives) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Group`: The root of a MESH OF THE CHILD * - `THREE.Mesh`: A primitive of the mesh of the child * - `THREE.Mesh`: A primitive of the mesh of the child (2) * * ### A node with a (mesh, multiple primitives) BUT the node is a bone * * - `THREE.Bone`: The root of the node, as a bone * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, multiple primitives) BUT the node is a bone * * - `THREE.Bone`: The root of the node, as a bone * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Group`: The root of a MESH OF THE CHILD * - `THREE.Mesh`: A primitive of the mesh of the child * - `THREE.Mesh`: A primitive of the mesh of the child (2) * * ...I will take a strategy that traverses the root of the node and take first (primitiveCount) meshes. */ // Make sure that the node has a mesh const schemaNode = (_a = json.nodes) === null || _a === void 0 ? void 0 : _a[nodeIndex]; if (schemaNode == null) { console.warn(`extractPrimitivesInternal: Attempt to use nodes[${nodeIndex}] of glTF but the node doesn't exist`); return null; } const meshIndex = schemaNode.mesh; if (meshIndex == null) { return null; } // How many primitives the mesh has? const schemaMesh = (_b = json.meshes) === null || _b === void 0 ? void 0 : _b[meshIndex]; if (schemaMesh == null) { console.warn(`extractPrimitivesInternal: Attempt to use meshes[${meshIndex}] of glTF but the mesh doesn't exist`); return null; } const primitiveCount = schemaMesh.primitives.length; // Traverse the node and take first (primitiveCount) meshes const primitives = []; node.traverse((object) => { if (primitives.length < primitiveCount) { if (object.isMesh) { primitives.push(object); } } }); return primitives; } /** * Extract primitives ( `THREE.Mesh[]` ) of a node from a loaded GLTF. * The main purpose of this function is to distinguish primitives and children from a node that has both meshes and children. * * It utilizes the behavior that GLTFLoader adds mesh primitives to the node object ( `THREE.Group` ) first then adds its children. * * @param gltf A GLTF object taken from GLTFLoader * @param nodeIndex The index of the node */ function gltfExtractPrimitivesFromNode(gltf, nodeIndex) { return __awaiter$6(this, void 0, void 0, function* () { const node = yield gltf.parser.getDependency('node', nodeIndex); return extractPrimitivesInternal(gltf, nodeIndex, node); }); } /** * Extract primitives ( `THREE.Mesh[]` ) of nodes from a loaded GLTF. * See {@link gltfExtractPrimitivesFromNode} for more details. * * It returns a map from node index to extraction result. * If a node does not have a mesh, the entry for the node will not be put in the returning map. * * @param gltf A GLTF object taken from GLTFLoader */ function gltfExtractPrimitivesFromNodes(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const nodes = yield gltf.parser.getDependencies('node'); const map = new Map(); nodes.forEach((node, index) => { const result = extractPrimitivesInternal(gltf, index, node); if (result != null) { map.set(index, result); } }); return map; }); } /** * Get a material definition index of glTF from associated material. * It's basically a comat code between Three.js r133 or above and previous versions. * @param parser GLTFParser * @param material A material of gltf * @returns Material definition index of glTF */ function gltfGetAssociatedMaterialIndex(parser, material) { var _a, _b; const threeRevision = parseInt(THREE.REVISION, 10); let index = null; if (threeRevision >= 133) { index = (_b = (_a = parser.associations.get(material)) === null || _a === void 0 ? void 0 : _a.materials) !== null && _b !== void 0 ? _b : null; } else { const associations = parser.associations; const reference = associations.get(material); if ((reference === null || reference === void 0 ? void 0 : reference.type) === 'materials') { index = reference.index; } } return index; } /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionPresetName = { Aa: 'aa', Ih: 'ih', Ou: 'ou', Ee: 'ee', Oh: 'oh', Blink: 'blink', Happy: 'happy', Angry: 'angry', Sad: 'sad', Relaxed: 'relaxed', LookUp: 'lookUp', Surprised: 'surprised', LookDown: 'lookDown', LookLeft: 'lookLeft', LookRight: 'lookRight', BlinkLeft: 'blinkLeft', BlinkRight: 'blinkRight', Neutral: 'neutral', }; /** * Clamp the input value within [0.0 - 1.0]. * * @param value The input value */ function saturate(value) { return Math.max(Math.min(value, 1.0), 0.0); } class VRMExpressionManager { get expressions() { return this._expressions.concat(); } get expressionMap() { return Object.assign({}, this._expressionMap); } /** * A map from name to expression, but excluding custom expressions. */ get presetExpressionMap() { const result = {}; const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); Object.entries(this._expressionMap).forEach(([name, expression]) => { if (presetNameSet.has(name)) { result[name] = expression; } }); return result; } /** * A map from name to expression, but excluding preset expressions. */ get customExpressionMap() { const result = {}; const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); Object.entries(this._expressionMap).forEach(([name, expression]) => { if (!presetNameSet.has(name)) { result[name] = expression; } }); return result; } /** * Create a new {@link VRMExpressionManager}. */ constructor() { /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideBlink}. */ this.blinkExpressionNames = ['blink', 'blinkLeft', 'blinkRight']; /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideLookAt}. */ this.lookAtExpressionNames = ['lookLeft', 'lookRight', 'lookUp', 'lookDown']; /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideMouth}. */ this.mouthExpressionNames = ['aa', 'ee', 'ih', 'oh', 'ou']; /** * A set of {@link VRMExpression}. * When you want to register expressions, use {@link registerExpression} */ this._expressions = []; /** * A map from name to expression. */ this._expressionMap = {}; // do nothing } /** * Copy the given {@link VRMExpressionManager} into this one. * @param source The {@link VRMExpressionManager} you want to copy * @returns this */ copy(source) { // first unregister all the expression it has const expressions = this._expressions.concat(); expressions.forEach((expression) => { this.unregisterExpression(expression); }); // then register all the expression of the source source._expressions.forEach((expression) => { this.registerExpression(expression); }); // copy remaining members this.blinkExpressionNames = source.blinkExpressionNames.concat(); this.lookAtExpressionNames = source.lookAtExpressionNames.concat(); this.mouthExpressionNames = source.mouthExpressionNames.concat(); return this; } /** * Returns a clone of this {@link VRMExpressionManager}. * @returns Copied {@link VRMExpressionManager} */ clone() { return new VRMExpressionManager().copy(this); } /** * Return a registered expression. * If it cannot find an expression, it will return `null` instead. * * @param name Name or preset name of the expression */ getExpression(name) { var _a; return (_a = this._expressionMap[name]) !== null && _a !== void 0 ? _a : null; } /** * Register an expression. * * @param expression {@link VRMExpression} that describes the expression */ registerExpression(expression) { this._expressions.push(expression); this._expressionMap[expression.expressionName] = expression; } /** * Unregister an expression. * * @param expression The expression you want to unregister */ unregisterExpression(expression) { const index = this._expressions.indexOf(expression); if (index === -1) { console.warn('VRMExpressionManager: The specified expressions is not registered'); } this._expressions.splice(index, 1); delete this._expressionMap[expression.expressionName]; } /** * Get the current weight of the specified expression. * If it doesn't have an expression of given name, it will return `null` instead. * * @param name Name of the expression */ getValue(name) { var _a; const expression = this.getExpression(name); return (_a = expression === null || expression === void 0 ? void 0 : expression.weight) !== null && _a !== void 0 ? _a : null; } /** * Set a weight to the specified expression. * * @param name Name of the expression * @param weight Weight */ setValue(name, weight) { const expression = this.getExpression(name); if (expression) { expression.weight = saturate(weight); } } /** * Get a track name of specified expression. * This track name is needed to manipulate its expression via keyframe animations. * * @example Manipulate an expression using keyframe animation * ```js * const trackName = vrm.expressionManager.getExpressionTrackName( 'blink' ); * const track = new THREE.NumberKeyframeTrack( * name, * [ 0.0, 0.5, 1.0 ], // times * [ 0.0, 1.0, 0.0 ] // values * ); * * const clip = new THREE.AnimationClip( * 'blink', // name * 1.0, // duration * [ track ] // tracks * ); * * const mixer = new THREE.AnimationMixer( vrm.scene ); * const action = mixer.clipAction( clip ); * action.play(); * ``` * * @param name Name of the expression */ getExpressionTrackName(name) { const expression = this.getExpression(name); return expression ? `${expression.name}.weight` : null; } /** * Update every expressions. */ update() { // see how much we should override certain expressions const weightMultipliers = this._calculateWeightMultipliers(); // reset expression binds first this._expressions.forEach((expression) => { expression.clearAppliedWeight(); }); // then apply binds this._expressions.forEach((expression) => { let multiplier = 1.0; const name = expression.expressionName; if (this.blinkExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.blink; } if (this.lookAtExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.lookAt; } if (this.mouthExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.mouth; } expression.applyWeight({ multiplier }); }); } /** * Calculate sum of override amounts to see how much we should multiply weights of certain expressions. */ _calculateWeightMultipliers() { let blink = 1.0; let lookAt = 1.0; let mouth = 1.0; this._expressions.forEach((expression) => { blink -= expression.overrideBlinkAmount; lookAt -= expression.overrideLookAtAmount; mouth -= expression.overrideMouthAmount; }); blink = Math.max(0.0, blink); lookAt = Math.max(0.0, lookAt); mouth = Math.max(0.0, mouth); return { blink, lookAt, mouth }; } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionMaterialColorType = { Color: 'color', EmissionColor: 'emissionColor', ShadeColor: 'shadeColor', MatcapColor: 'matcapColor', RimColor: 'rimColor', OutlineColor: 'outlineColor', }; const v0ExpressionMaterialColorMap = { _Color: VRMExpressionMaterialColorType.Color, _EmissionColor: VRMExpressionMaterialColorType.EmissionColor, _ShadeColor: VRMExpressionMaterialColorType.ShadeColor, _RimColor: VRMExpressionMaterialColorType.RimColor, _OutlineColor: VRMExpressionMaterialColorType.OutlineColor, }; const _color = new THREE.Color(); /** * A bind of expression influences to a material color. */ class VRMExpressionMaterialColorBind { constructor({ material, type, targetValue, }) { var _a, _b, _c; this.material = material; this.type = type; this.targetValue = targetValue; // init property name const propertyNameMap = (_a = Object.entries(VRMExpressionMaterialColorBind._propertyNameMapMap).find(([distinguisher]) => { return material[distinguisher] === true; })) === null || _a === void 0 ? void 0 : _a[1]; const propertyName = (_b = propertyNameMap === null || propertyNameMap === void 0 ? void 0 : propertyNameMap[type]) !== null && _b !== void 0 ? _b : null; if (propertyName == null) { console.warn(`Tried to add a material color bind to the material ${(_c = material.name) !== null && _c !== void 0 ? _c : '(no name)'}, the type ${type} but the material or the type is not supported.`); this._state = null; } else { const target = material[propertyName]; const initialValue = target.clone(); // 負の値を保持するためにColor.subを使わずに差分を計算する const deltaValue = new THREE.Color(targetValue.r - initialValue.r, targetValue.g - initialValue.g, targetValue.b - initialValue.b); this._state = { propertyName, initialValue, deltaValue, }; } } applyWeight(weight) { if (this._state == null) { // warning is already emitted in constructor return; } const { propertyName, deltaValue } = this._state; const target = this.material[propertyName]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.add(_color.copy(deltaValue).multiplyScalar(weight)); if (typeof this.material.shouldApplyUniforms === 'boolean') { this.material.shouldApplyUniforms = true; } } clearAppliedWeight() { if (this._state == null) { // warning is already emitted in constructor return; } const { propertyName, initialValue } = this._state; const target = this.material[propertyName]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.copy(initialValue); if (typeof this.material.shouldApplyUniforms === 'boolean') { this.material.shouldApplyUniforms = true; } } } /** * Mapping of property names from VRMC/materialColorBinds.type to three.js/Material. */ VRMExpressionMaterialColorBind._propertyNameMapMap = { isMeshStandardMaterial: { color: 'color', emissionColor: 'emissive', }, isMeshBasicMaterial: { color: 'color', }, isMToonMaterial: { color: 'color', emissionColor: 'emissive', outlineColor: 'outlineColorFactor', matcapColor: 'matcapFactor', rimColor: 'parametricRimColorFactor', shadeColor: 'shadeColorFactor', }, }; /** * A bind of {@link VRMExpression} influences to morph targets. */ class VRMExpressionMorphTargetBind { constructor({ primitives, index, weight, }) { this.primitives = primitives; this.index = index; this.weight = weight; } applyWeight(weight) { this.primitives.forEach((mesh) => { var _a; if (((_a = mesh.morphTargetInfluences) === null || _a === void 0 ? void 0 : _a[this.index]) != null) { mesh.morphTargetInfluences[this.index] += this.weight * weight; } }); } clearAppliedWeight() { this.primitives.forEach((mesh) => { var _a; if (((_a = mesh.morphTargetInfluences) === null || _a === void 0 ? void 0 : _a[this.index]) != null) { mesh.morphTargetInfluences[this.index] = 0.0; } }); } } const _v2 = new THREE.Vector2(); /** * A bind of expression influences to texture transforms. */ class VRMExpressionTextureTransformBind { constructor({ material, scale, offset, }) { var _a, _b; this.material = material; this.scale = scale; this.offset = offset; const propertyNames = (_a = Object.entries(VRMExpressionTextureTransformBind._propertyNamesMap).find(([distinguisher]) => { return material[distinguisher] === true; })) === null || _a === void 0 ? void 0 : _a[1]; if (propertyNames == null) { console.warn(`Tried to add a texture transform bind to the material ${(_b = material.name) !== null && _b !== void 0 ? _b : '(no name)'} but the material is not supported.`); this._properties = []; } else { this._properties = []; propertyNames.forEach((propertyName) => { var _a; const texture = (_a = material[propertyName]) === null || _a === void 0 ? void 0 : _a.clone(); if (!texture) { return null; } material[propertyName] = texture; // because the texture is cloned const initialOffset = texture.offset.clone(); const initialScale = texture.repeat.clone(); const deltaOffset = offset.clone().sub(initialOffset); const deltaScale = scale.clone().sub(initialScale); this._properties.push({ name: propertyName, initialOffset, deltaOffset, initialScale, deltaScale, }); }); } } applyWeight(weight) { this._properties.forEach((property) => { const target = this.material[property.name]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.offset.add(_v2.copy(property.deltaOffset).multiplyScalar(weight)); target.repeat.add(_v2.copy(property.deltaScale).multiplyScalar(weight)); target.needsUpdate = true; }); } clearAppliedWeight() { this._properties.forEach((property) => { const target = this.material[property.name]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.offset.copy(property.initialOffset); target.repeat.copy(property.initialScale); target.needsUpdate = true; }); } } VRMExpressionTextureTransformBind._propertyNamesMap = { isMeshStandardMaterial: [ 'map', 'emissiveMap', 'bumpMap', 'normalMap', 'displacementMap', 'roughnessMap', 'metalnessMap', 'alphaMap', ], isMeshBasicMaterial: ['map', 'specularMap', 'alphaMap'], isMToonMaterial: [ 'map', 'normalMap', 'emissiveMap', 'shadeMultiplyTexture', 'rimMultiplyTexture', 'outlineWidthMultiplyTexture', 'uvAnimationMaskTexture', ], }; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$4 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRMExpressionManager} from a VRM extension of a GLTF. */ class VRMExpressionLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMExpressionLoaderPlugin'; } constructor(parser) { this.parser = parser; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmExpressionManager = yield this._import(gltf); }); } /** * Import a {@link VRMExpressionManager} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$4.has(specVersion)) { console.warn(`VRMExpressionLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaExpressions = extension.expressions; if (!schemaExpressions) { return null; } // list expressions const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); const nameSchemaExpressionMap = new Map(); if (schemaExpressions.preset != null) { Object.entries(schemaExpressions.preset).forEach(([name, schemaExpression]) => { if (schemaExpression == null) { return; } // typescript if (!presetNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: Unknown preset name "${name}" detected. Ignoring the expression`); return; } nameSchemaExpressionMap.set(name, schemaExpression); }); } if (schemaExpressions.custom != null) { Object.entries(schemaExpressions.custom).forEach(([name, schemaExpression]) => { if (presetNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: Custom expression cannot have preset name "${name}". Ignoring the expression`); return; } nameSchemaExpressionMap.set(name, schemaExpression); }); } // prepare manager const manager = new VRMExpressionManager(); // load expressions yield Promise.all(Array.from(nameSchemaExpressionMap.entries()).map(([name, schemaExpression]) => __awaiter$6(this, void 0, void 0, function* () { var _c, _d, _e, _f, _g, _h, _j; const expression = new VRMExpression(name); gltf.scene.add(expression); expression.isBinary = (_c = schemaExpression.isBinary) !== null && _c !== void 0 ? _c : false; expression.overrideBlink = (_d = schemaExpression.overrideBlink) !== null && _d !== void 0 ? _d : 'none'; expression.overrideLookAt = (_e = schemaExpression.overrideLookAt) !== null && _e !== void 0 ? _e : 'none'; expression.overrideMouth = (_f = schemaExpression.overrideMouth) !== null && _f !== void 0 ? _f : 'none'; (_g = schemaExpression.morphTargetBinds) === null || _g === void 0 ? void 0 : _g.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { var _k; if (bind.node === undefined || bind.index === undefined) { return; } const primitives = (yield gltfExtractPrimitivesFromNode(gltf, bind.node)); const morphTargetIndex = bind.index; // check if the mesh has the target morph target if (!primitives.every((primitive) => Array.isArray(primitive.morphTargetInfluences) && morphTargetIndex < primitive.morphTargetInfluences.length)) { console.warn(`VRMExpressionLoaderPlugin: ${schemaExpression.name} attempts to index morph #${morphTargetIndex} but not found.`); return; } expression.addBind(new VRMExpressionMorphTargetBind({ primitives, index: morphTargetIndex, weight: (_k = bind.weight) !== null && _k !== void 0 ? _k : 1.0, })); })); if (schemaExpression.materialColorBinds || schemaExpression.textureTransformBinds) { // list up every material in `gltf.scene` const gltfMaterials = []; gltf.scene.traverse((object) => { const material = object.material; if (material) { gltfMaterials.push(material); } }); (_h = schemaExpression.materialColorBinds) === null || _h === void 0 ? void 0 : _h.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { const materials = gltfMaterials.filter((material) => { const materialIndex = gltfGetAssociatedMaterialIndex(this.parser, material); return bind.material === materialIndex; }); materials.forEach((material) => { expression.addBind(new VRMExpressionMaterialColorBind({ material, type: bind.type, targetValue: new THREE.Color().fromArray(bind.targetValue), })); }); })); (_j = schemaExpression.textureTransformBinds) === null || _j === void 0 ? void 0 : _j.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { const materials = gltfMaterials.filter((material) => { const materialIndex = gltfGetAssociatedMaterialIndex(this.parser, material); return bind.material === materialIndex; }); materials.forEach((material) => { var _a, _b; expression.addBind(new VRMExpressionTextureTransformBind({ material, offset: new THREE.Vector2().fromArray((_a = bind.offset) !== null && _a !== void 0 ? _a : [0.0, 0.0]), scale: new THREE.Vector2().fromArray((_b = bind.scale) !== null && _b !== void 0 ? _b : [1.0, 1.0]), })); }); })); } manager.registerExpression(expression); }))); return manager; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaBlendShape = vrmExt.blendShapeMaster; if (!schemaBlendShape) { return null; } const manager = new VRMExpressionManager(); const schemaBlendShapeGroups = schemaBlendShape.blendShapeGroups; if (!schemaBlendShapeGroups) { return manager; } const blendShapeNameSet = new Set(); yield Promise.all(schemaBlendShapeGroups.map((schemaGroup) => __awaiter$6(this, void 0, void 0, function* () { var _b; const v0PresetName = schemaGroup.presetName; const v1PresetName = (v0PresetName != null && VRMExpressionLoaderPlugin.v0v1PresetNameMap[v0PresetName]) || null; const name = v1PresetName !== null && v1PresetName !== void 0 ? v1PresetName : schemaGroup.name; if (name == null) { console.warn('VRMExpressionLoaderPlugin: One of custom expressions has no name. Ignoring the expression'); return; } // duplication check if (blendShapeNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: An expression preset ${v0PresetName} has duplicated entries. Ignoring the expression`); return; } blendShapeNameSet.add(name); const expression = new VRMExpression(name); gltf.scene.add(expression); expression.isBinary = (_b = schemaGroup.isBinary) !== null && _b !== void 0 ? _b : false; // v0 doesn't have ignore properties // Bind morphTarget if (schemaGroup.binds) { schemaGroup.binds.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { var _c; if (bind.mesh === undefined || bind.index === undefined) { return; } const nodesUsingMesh = []; (_c = json.nodes) === null || _c === void 0 ? void 0 : _c.forEach((node, i) => { if (node.mesh === bind.mesh) { nodesUsingMesh.push(i); } }); const morphTargetIndex = bind.index; yield Promise.all(nodesUsingMesh.map((nodeIndex) => __awaiter$6(this, void 0, void 0, function* () { var _d; const primitives = (yield gltfExtractPrimitivesFromNode(gltf, nodeIndex)); // check if the mesh has the target morph target if (!primitives.every((primitive) => Array.isArray(primitive.morphTargetInfluences) && morphTargetIndex < primitive.morphTargetInfluences.length)) { console.warn(`VRMExpressionLoaderPlugin: ${schemaGroup.name} attempts to index ${morphTargetIndex}th morph but not found.`); return; } expression.addBind(new VRMExpressionMorphTargetBind({ primitives, index: morphTargetIndex, weight: 0.01 * ((_d = bind.weight) !== null && _d !== void 0 ? _d : 100), // narrowing the range from [ 0.0 - 100.0 ] to [ 0.0 - 1.0 ] })); }))); })); } // Bind MaterialColor and TextureTransform const materialValues = schemaGroup.materialValues; if (materialValues && materialValues.length !== 0) { materialValues.forEach((materialValue) => { if (materialValue.materialName === undefined || materialValue.propertyName === undefined || materialValue.targetValue === undefined) { return; } /** * アバターのオブジェクトに設定されているマテリアルの内から * materialValueで指定されているマテリアルを集める。 * * 特定には名前を使用する。 * アウトライン描画用のマテリアルも同時に集める。 */ const materials = []; gltf.scene.traverse((object) => { if (object.material) { const material = object.material; if (Array.isArray(material)) { materials.push(...material.filter((mtl) => (mtl.name === materialValue.materialName || mtl.name === materialValue.materialName + ' (Outline)') && materials.indexOf(mtl) === -1)); } else if (material.name === materialValue.materialName && materials.indexOf(material) === -1) { materials.push(material); } } }); const materialPropertyName = materialValue.propertyName; materials.forEach((material) => { // TextureTransformBind if (materialPropertyName === '_MainTex_ST') { const scale = new THREE.Vector2(materialValue.targetValue[0], materialValue.targetValue[1]); const offset = new THREE.Vector2(materialValue.targetValue[2], materialValue.targetValue[3]); offset.y = 1.0 - offset.y - scale.y; expression.addBind(new VRMExpressionTextureTransformBind({ material, scale, offset, })); return; } // MaterialColorBind const materialColorType = v0ExpressionMaterialColorMap[materialPropertyName]; if (materialColorType) { expression.addBind(new VRMExpressionMaterialColorBind({ material, type: materialColorType, targetValue: new THREE.Color(...materialValue.targetValue.slice(0, 3)), })); return; } console.warn(materialPropertyName + ' is not supported'); }); }); } manager.registerExpression(expression); }))); return manager; }); } } VRMExpressionLoaderPlugin.v0v1PresetNameMap = { a: 'aa', e: 'ee', i: 'ih', o: 'oh', u: 'ou', blink: 'blink', joy: 'happy', angry: 'angry', sorrow: 'sad', fun: 'relaxed', lookup: 'lookUp', lookdown: 'lookDown', lookleft: 'lookLeft', lookright: 'lookRight', // eslint-disable-next-line @typescript-eslint/naming-convention blink_l: 'blinkLeft', // eslint-disable-next-line @typescript-eslint/naming-convention blink_r: 'blinkRight', neutral: 'neutral', }; /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionOverrideType = { None: 'none', Block: 'block', Blend: 'blend', }; class VRMFirstPerson { /** * Create a new VRMFirstPerson object. * * @param humanoid A {@link VRMHumanoid} * @param meshAnnotations A renderer settings. See the description of [[RendererFirstPersonFlags]] for more info */ constructor(humanoid, meshAnnotations) { this._firstPersonOnlyLayer = VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER; this._thirdPersonOnlyLayer = VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER; this._initializedLayers = false; this.humanoid = humanoid; this.meshAnnotations = meshAnnotations; } /** * Copy the given {@link VRMFirstPerson} into this one. * {@link humanoid} must be same as the source one. * @param source The {@link VRMFirstPerson} you want to copy * @returns this */ copy(source) { if (this.humanoid !== source.humanoid) { throw new Error('VRMFirstPerson: humanoid must be same in order to copy'); } this.meshAnnotations = source.meshAnnotations.map((annotation) => ({ meshes: annotation.meshes.concat(), type: annotation.type, })); return this; } /** * Returns a clone of this {@link VRMFirstPerson}. * @returns Copied {@link VRMFirstPerson} */ clone() { return new VRMFirstPerson(this.humanoid, this.meshAnnotations).copy(this); } /** * A camera layer represents `FirstPersonOnly` layer. * Note that **you must call {@link setup} first before you use the layer feature** or it does not work properly. * * The value is {@link DEFAULT_FIRSTPERSON_ONLY_LAYER} by default but you can change the layer by specifying via {@link setup} if you prefer. * * @see https://vrm.dev/en/univrm/api/univrm_use_firstperson/ * @see https://threejs.org/docs/#api/en/core/Layers */ get firstPersonOnlyLayer() { return this._firstPersonOnlyLayer; } /** * A camera layer represents `ThirdPersonOnly` layer. * Note that **you must call {@link setup} first before you use the layer feature** or it does not work properly. * * The value is {@link DEFAULT_THIRDPERSON_ONLY_LAYER} by default but you can change the layer by specifying via {@link setup} if you prefer. * * @see https://vrm.dev/en/univrm/api/univrm_use_firstperson/ * @see https://threejs.org/docs/#api/en/core/Layers */ get thirdPersonOnlyLayer() { return this._thirdPersonOnlyLayer; } /** * In this method, it assigns layers for every meshes based on mesh annotations. * You must call this method first before you use the layer feature. * * This is an equivalent of [VRMFirstPerson.Setup](https://github.com/vrm-c/UniVRM/blob/73a5bd8fcddaa2a7a8735099a97e63c9db3e5ea0/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs#L295-L299) of the UniVRM. * * The `cameraLayer` parameter specifies which layer will be assigned for `FirstPersonOnly` / `ThirdPersonOnly`. * In UniVRM, we specified those by naming each desired layer as `FIRSTPERSON_ONLY_LAYER` / `THIRDPERSON_ONLY_LAYER` * but we are going to specify these layers at here since we are unable to name layers in Three.js. * * @param cameraLayer Specify which layer will be for `FirstPersonOnly` / `ThirdPersonOnly`. */ setup({ firstPersonOnlyLayer = VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER, thirdPersonOnlyLayer = VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER, } = {}) { if (this._initializedLayers) { return; } this._firstPersonOnlyLayer = firstPersonOnlyLayer; this._thirdPersonOnlyLayer = thirdPersonOnlyLayer; this.meshAnnotations.forEach((item) => { item.meshes.forEach((mesh) => { if (item.type === 'firstPersonOnly') { mesh.layers.set(this._firstPersonOnlyLayer); mesh.traverse((child) => child.layers.set(this._firstPersonOnlyLayer)); } else if (item.type === 'thirdPersonOnly') { mesh.layers.set(this._thirdPersonOnlyLayer); mesh.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } else if (item.type === 'auto') { this._createHeadlessModel(mesh); } }); }); this._initializedLayers = true; } _excludeTriangles(triangles, bws, skinIndex, exclude) { let count = 0; if (bws != null && bws.length > 0) { for (let i = 0; i < triangles.length; i += 3) { const a = triangles[i]; const b = triangles[i + 1]; const c = triangles[i + 2]; const bw0 = bws[a]; const skin0 = skinIndex[a]; if (bw0[0] > 0 && exclude.includes(skin0[0])) continue; if (bw0[1] > 0 && exclude.includes(skin0[1])) continue; if (bw0[2] > 0 && exclude.includes(skin0[2])) continue; if (bw0[3] > 0 && exclude.includes(skin0[3])) continue; const bw1 = bws[b]; const skin1 = skinIndex[b]; if (bw1[0] > 0 && exclude.includes(skin1[0])) continue; if (bw1[1] > 0 && exclude.includes(skin1[1])) continue; if (bw1[2] > 0 && exclude.includes(skin1[2])) continue; if (bw1[3] > 0 && exclude.includes(skin1[3])) continue; const bw2 = bws[c]; const skin2 = skinIndex[c]; if (bw2[0] > 0 && exclude.includes(skin2[0])) continue; if (bw2[1] > 0 && exclude.includes(skin2[1])) continue; if (bw2[2] > 0 && exclude.includes(skin2[2])) continue; if (bw2[3] > 0 && exclude.includes(skin2[3])) continue; triangles[count++] = a; triangles[count++] = b; triangles[count++] = c; } } return count; } _createErasedMesh(src, erasingBonesIndex) { const dst = new THREE.SkinnedMesh(src.geometry.clone(), src.material); dst.name = `${src.name}(erase)`; dst.frustumCulled = src.frustumCulled; dst.layers.set(this._firstPersonOnlyLayer); const geometry = dst.geometry; const skinIndexAttr = geometry.getAttribute('skinIndex'); const skinIndexAttrArray = skinIndexAttr instanceof THREE.GLBufferAttribute ? [] : skinIndexAttr.array; const skinIndex = []; for (let i = 0; i < skinIndexAttrArray.length; i += 4) { skinIndex.push([ skinIndexAttrArray[i], skinIndexAttrArray[i + 1], skinIndexAttrArray[i + 2], skinIndexAttrArray[i + 3], ]); } const skinWeightAttr = geometry.getAttribute('skinWeight'); const skinWeightAttrArray = skinWeightAttr instanceof THREE.GLBufferAttribute ? [] : skinWeightAttr.array; const skinWeight = []; for (let i = 0; i < skinWeightAttrArray.length; i += 4) { skinWeight.push([ skinWeightAttrArray[i], skinWeightAttrArray[i + 1], skinWeightAttrArray[i + 2], skinWeightAttrArray[i + 3], ]); } const index = geometry.getIndex(); if (!index) { throw new Error("The geometry doesn't have an index buffer"); } const oldTriangles = Array.from(index.array); const count = this._excludeTriangles(oldTriangles, skinWeight, skinIndex, erasingBonesIndex); const newTriangle = []; for (let i = 0; i < count; i++) { newTriangle[i] = oldTriangles[i]; } geometry.setIndex(newTriangle); // mtoon material includes onBeforeRender. this is unsupported at SkinnedMesh#clone if (src.onBeforeRender) { dst.onBeforeRender = src.onBeforeRender; } dst.bind(new THREE.Skeleton(src.skeleton.bones, src.skeleton.boneInverses), new THREE.Matrix4()); return dst; } _createHeadlessModelForSkinnedMesh(parent, mesh) { const eraseBoneIndexes = []; mesh.skeleton.bones.forEach((bone, index) => { if (this._isEraseTarget(bone)) eraseBoneIndexes.push(index); }); // Unlike UniVRM we don't copy mesh if no invisible bone was found if (!eraseBoneIndexes.length) { mesh.layers.enable(this._thirdPersonOnlyLayer); mesh.layers.enable(this._firstPersonOnlyLayer); return; } mesh.layers.set(this._thirdPersonOnlyLayer); const newMesh = this._createErasedMesh(mesh, eraseBoneIndexes); parent.add(newMesh); } _createHeadlessModel(node) { if (node.type === 'Group') { node.layers.set(this._thirdPersonOnlyLayer); if (this._isEraseTarget(node)) { node.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } else { const parent = new THREE.Group(); parent.name = `_headless_${node.name}`; parent.layers.set(this._firstPersonOnlyLayer); node.parent.add(parent); node.children .filter((child) => child.type === 'SkinnedMesh') .forEach((child) => { const skinnedMesh = child; this._createHeadlessModelForSkinnedMesh(parent, skinnedMesh); }); } } else if (node.type === 'SkinnedMesh') { const skinnedMesh = node; this._createHeadlessModelForSkinnedMesh(node.parent, skinnedMesh); } else { if (this._isEraseTarget(node)) { node.layers.set(this._thirdPersonOnlyLayer); node.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } } } _isEraseTarget(bone) { if (bone === this.humanoid.getRawBoneNode('head')) { return true; } else if (!bone.parent) { return false; } else { return this._isEraseTarget(bone.parent); } } } /** * A default camera layer for `FirstPersonOnly` layer. * * @see [[getFirstPersonOnlyLayer]] */ VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER = 9; /** * A default camera layer for `ThirdPersonOnly` layer. * * @see [[getThirdPersonOnlyLayer]] */ VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER = 10; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$3 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRMFirstPerson} from a VRM extension of a GLTF. */ class VRMFirstPersonLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMFirstPersonLoaderPlugin'; } constructor(parser) { this.parser = parser; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const vrmHumanoid = gltf.userData.vrmHumanoid; // explicitly distinguish null and undefined // since vrmHumanoid might be null as a result if (vrmHumanoid === null) { return; } else if (vrmHumanoid === undefined) { throw new Error('VRMFirstPersonLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first'); } gltf.userData.vrmFirstPerson = yield this._import(gltf, vrmHumanoid); }); } /** * Import a {@link VRMFirstPerson} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader * @param humanoid A {@link VRMHumanoid} instance that represents the VRM */ _import(gltf, humanoid) { return __awaiter$6(this, void 0, void 0, function* () { if (humanoid == null) { return null; } const v1Result = yield this._v1Import(gltf, humanoid); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf, humanoid); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf, humanoid) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$3.has(specVersion)) { console.warn(`VRMFirstPersonLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaFirstPerson = extension.firstPerson; if (!schemaFirstPerson) { return null; } const meshAnnotations = []; const nodePrimitivesMap = yield gltfExtractPrimitivesFromNodes(gltf); Array.from(nodePrimitivesMap.entries()).forEach(([nodeIndex, primitives]) => { var _a; const annotation = schemaFirstPerson.meshAnnotations ? schemaFirstPerson.meshAnnotations.find((a) => a.node === nodeIndex) : undefined; meshAnnotations.push({ meshes: primitives, type: (_a = annotation === null || annotation === void 0 ? void 0 : annotation.type) !== null && _a !== void 0 ? _a : 'both', }); }); return new VRMFirstPerson(humanoid, meshAnnotations); }); } _v0Import(gltf, humanoid) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaFirstPerson = vrmExt.firstPerson; if (!schemaFirstPerson) { return null; } const meshAnnotations = []; const nodePrimitivesMap = yield gltfExtractPrimitivesFromNodes(gltf); Array.from(nodePrimitivesMap.entries()).forEach(([nodeIndex, primitives]) => { const schemaNode = json.nodes[nodeIndex]; const flag = schemaFirstPerson.meshAnnotations ? schemaFirstPerson.meshAnnotations.find((a) => a.mesh === schemaNode.mesh) : undefined; meshAnnotations.push({ meshes: primitives, type: this._convertV0FlagToV1Type(flag === null || flag === void 0 ? void 0 : flag.firstPersonFlag), }); }); return new VRMFirstPerson(humanoid, meshAnnotations); }); } _convertV0FlagToV1Type(flag) { if (flag === 'FirstPersonOnly') { return 'firstPersonOnly'; } else if (flag === 'ThirdPersonOnly') { return 'thirdPersonOnly'; } else if (flag === 'Auto') { return 'auto'; } else { return 'both'; } } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMFirstPersonMeshAnnotationType = { Auto: 'auto', Both: 'both', ThirdPersonOnly: 'thirdPersonOnly', FirstPersonOnly: 'firstPersonOnly', }; const _v3A$4$1 = new THREE.Vector3(); const _v3B$2$1 = new THREE.Vector3(); const _quatA$5 = new THREE.Quaternion(); class VRMHumanoidHelper extends THREE.Group { constructor(humanoid) { super(); this.vrmHumanoid = humanoid; this._boneAxesMap = new Map(); Object.values(humanoid.humanBones).forEach((bone) => { const helper = new THREE.AxesHelper(1.0); helper.matrixAutoUpdate = false; helper.material.depthTest = false; helper.material.depthWrite = false; this.add(helper); this._boneAxesMap.set(bone, helper); }); } dispose() { Array.from(this._boneAxesMap.values()).forEach((axes) => { axes.geometry.dispose(); axes.material.dispose(); }); } updateMatrixWorld(force) { Array.from(this._boneAxesMap.entries()).forEach(([bone, axes]) => { bone.node.updateWorldMatrix(true, false); bone.node.matrixWorld.decompose(_v3A$4$1, _quatA$5, _v3B$2$1); const scale = _v3A$4$1.set(0.1, 0.1, 0.1).divide(_v3B$2$1); axes.matrix.copy(bone.node.matrixWorld).scale(scale); }); super.updateMatrixWorld(force); } } /* eslint-disable @typescript-eslint/naming-convention */ /** * The list of {@link VRMHumanBoneName}. Dependency aware. */ const VRMHumanBoneList = [ 'hips', 'spine', 'chest', 'upperChest', 'neck', 'head', 'leftEye', 'rightEye', 'jaw', 'leftUpperLeg', 'leftLowerLeg', 'leftFoot', 'leftToes', 'rightUpperLeg', 'rightLowerLeg', 'rightFoot', 'rightToes', 'leftShoulder', 'leftUpperArm', 'leftLowerArm', 'leftHand', 'rightShoulder', 'rightUpperArm', 'rightLowerArm', 'rightHand', 'leftThumbMetacarpal', 'leftThumbProximal', 'leftThumbDistal', 'leftIndexProximal', 'leftIndexIntermediate', 'leftIndexDistal', 'leftMiddleProximal', 'leftMiddleIntermediate', 'leftMiddleDistal', 'leftRingProximal', 'leftRingIntermediate', 'leftRingDistal', 'leftLittleProximal', 'leftLittleIntermediate', 'leftLittleDistal', 'rightThumbMetacarpal', 'rightThumbProximal', 'rightThumbDistal', 'rightIndexProximal', 'rightIndexIntermediate', 'rightIndexDistal', 'rightMiddleProximal', 'rightMiddleIntermediate', 'rightMiddleDistal', 'rightRingProximal', 'rightRingIntermediate', 'rightRingDistal', 'rightLittleProximal', 'rightLittleIntermediate', 'rightLittleDistal', ]; /* eslint-disable @typescript-eslint/naming-convention */ /** * The names of {@link VRMHumanoid} bone names. * * Ref: https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm-1.0/humanoid.md */ const VRMHumanBoneName = { Hips: 'hips', Spine: 'spine', Chest: 'chest', UpperChest: 'upperChest', Neck: 'neck', Head: 'head', LeftEye: 'leftEye', RightEye: 'rightEye', Jaw: 'jaw', LeftUpperLeg: 'leftUpperLeg', LeftLowerLeg: 'leftLowerLeg', LeftFoot: 'leftFoot', LeftToes: 'leftToes', RightUpperLeg: 'rightUpperLeg', RightLowerLeg: 'rightLowerLeg', RightFoot: 'rightFoot', RightToes: 'rightToes', LeftShoulder: 'leftShoulder', LeftUpperArm: 'leftUpperArm', LeftLowerArm: 'leftLowerArm', LeftHand: 'leftHand', RightShoulder: 'rightShoulder', RightUpperArm: 'rightUpperArm', RightLowerArm: 'rightLowerArm', RightHand: 'rightHand', LeftThumbMetacarpal: 'leftThumbMetacarpal', LeftThumbProximal: 'leftThumbProximal', LeftThumbDistal: 'leftThumbDistal', LeftIndexProximal: 'leftIndexProximal', LeftIndexIntermediate: 'leftIndexIntermediate', LeftIndexDistal: 'leftIndexDistal', LeftMiddleProximal: 'leftMiddleProximal', LeftMiddleIntermediate: 'leftMiddleIntermediate', LeftMiddleDistal: 'leftMiddleDistal', LeftRingProximal: 'leftRingProximal', LeftRingIntermediate: 'leftRingIntermediate', LeftRingDistal: 'leftRingDistal', LeftLittleProximal: 'leftLittleProximal', LeftLittleIntermediate: 'leftLittleIntermediate', LeftLittleDistal: 'leftLittleDistal', RightThumbMetacarpal: 'rightThumbMetacarpal', RightThumbProximal: 'rightThumbProximal', RightThumbDistal: 'rightThumbDistal', RightIndexProximal: 'rightIndexProximal', RightIndexIntermediate: 'rightIndexIntermediate', RightIndexDistal: 'rightIndexDistal', RightMiddleProximal: 'rightMiddleProximal', RightMiddleIntermediate: 'rightMiddleIntermediate', RightMiddleDistal: 'rightMiddleDistal', RightRingProximal: 'rightRingProximal', RightRingIntermediate: 'rightRingIntermediate', RightRingDistal: 'rightRingDistal', RightLittleProximal: 'rightLittleProximal', RightLittleIntermediate: 'rightLittleIntermediate', RightLittleDistal: 'rightLittleDistal', }; /* eslint-disable @typescript-eslint/naming-convention */ /** * An object that maps from {@link VRMHumanBoneName} to its parent {@link VRMHumanBoneName}. * * Ref: https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm-1.0/humanoid.md */ const VRMHumanBoneParentMap = { hips: null, spine: 'hips', chest: 'spine', upperChest: 'chest', neck: 'upperChest', head: 'neck', leftEye: 'head', rightEye: 'head', jaw: 'head', leftUpperLeg: 'hips', leftLowerLeg: 'leftUpperLeg', leftFoot: 'leftLowerLeg', leftToes: 'leftFoot', rightUpperLeg: 'hips', rightLowerLeg: 'rightUpperLeg', rightFoot: 'rightLowerLeg', rightToes: 'rightFoot', leftShoulder: 'upperChest', leftUpperArm: 'leftShoulder', leftLowerArm: 'leftUpperArm', leftHand: 'leftLowerArm', rightShoulder: 'upperChest', rightUpperArm: 'rightShoulder', rightLowerArm: 'rightUpperArm', rightHand: 'rightLowerArm', leftThumbMetacarpal: 'leftHand', leftThumbProximal: 'leftThumbMetacarpal', leftThumbDistal: 'leftThumbProximal', leftIndexProximal: 'leftHand', leftIndexIntermediate: 'leftIndexProximal', leftIndexDistal: 'leftIndexIntermediate', leftMiddleProximal: 'leftHand', leftMiddleIntermediate: 'leftMiddleProximal', leftMiddleDistal: 'leftMiddleIntermediate', leftRingProximal: 'leftHand', leftRingIntermediate: 'leftRingProximal', leftRingDistal: 'leftRingIntermediate', leftLittleProximal: 'leftHand', leftLittleIntermediate: 'leftLittleProximal', leftLittleDistal: 'leftLittleIntermediate', rightThumbMetacarpal: 'rightHand', rightThumbProximal: 'rightThumbMetacarpal', rightThumbDistal: 'rightThumbProximal', rightIndexProximal: 'rightHand', rightIndexIntermediate: 'rightIndexProximal', rightIndexDistal: 'rightIndexIntermediate', rightMiddleProximal: 'rightHand', rightMiddleIntermediate: 'rightMiddleProximal', rightMiddleDistal: 'rightMiddleIntermediate', rightRingProximal: 'rightHand', rightRingIntermediate: 'rightRingProximal', rightRingDistal: 'rightRingIntermediate', rightLittleProximal: 'rightHand', rightLittleIntermediate: 'rightLittleProximal', rightLittleDistal: 'rightLittleIntermediate', }; /** * A compat function for `Quaternion.invert()` / `Quaternion.inverse()`. * `Quaternion.invert()` is introduced in r123 and `Quaternion.inverse()` emits a warning. * We are going to use this compat for a while. * @param target A target quaternion */ function quatInvertCompat$1(target) { if (target.invert) { target.invert(); } else { target.inverse(); } return target; } const _v3A$3$2 = new THREE.Vector3(); const _quatA$4 = new THREE.Quaternion(); /** * A class represents the Rig of a VRM. */ class VRMRig { /** * Create a new {@link VRMHumanoid}. * @param humanBones A {@link VRMHumanBones} contains all the bones of the new humanoid */ constructor(humanBones) { this.humanBones = humanBones; this.restPose = this.getAbsolutePose(); } /** * Return the current absolute pose of this humanoid as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getPose} instead. */ getAbsolutePose() { const pose = {}; Object.keys(this.humanBones).forEach((vrmBoneNameString) => { const vrmBoneName = vrmBoneNameString; const node = this.getBoneNode(vrmBoneName); // Ignore when there are no bone on the VRMHumanoid if (!node) { return; } // Get the position / rotation from the node _v3A$3$2.copy(node.position); _quatA$4.copy(node.quaternion); // Convert to raw arrays pose[vrmBoneName] = { position: _v3A$3$2.toArray(), rotation: _quatA$4.toArray(), }; }); return pose; } /** * Return the current pose of this humanoid as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getPose() { const pose = {}; Object.keys(this.humanBones).forEach((boneNameString) => { const boneName = boneNameString; const node = this.getBoneNode(boneName); // Ignore when there are no bone on the VRMHumanoid if (!node) { return; } // Take a diff from restPose _v3A$3$2.set(0, 0, 0); _quatA$4.identity(); const restState = this.restPose[boneName]; if (restState === null || restState === void 0 ? void 0 : restState.position) { _v3A$3$2.fromArray(restState.position).negate(); } if (restState === null || restState === void 0 ? void 0 : restState.rotation) { quatInvertCompat$1(_quatA$4.fromArray(restState.rotation)); } // Get the position / rotation from the node _v3A$3$2.add(node.position); _quatA$4.premultiply(node.quaternion); // Convert to raw arrays pose[boneName] = { position: _v3A$3$2.toArray(), rotation: _quatA$4.toArray(), }; }); return pose; } /** * Let the humanoid do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getPose}. * * @param poseObject A [[VRMPose]] that represents a single pose */ setPose(poseObject) { Object.entries(poseObject).forEach(([boneNameString, state]) => { const boneName = boneNameString; const node = this.getBoneNode(boneName); // Ignore when there are no bone that is defined in the pose on the VRMHumanoid if (!node) { return; } const restState = this.restPose[boneName]; if (!restState) { // It's very unlikely. Possibly a bug return; } // Apply the state to the actual bone if (state === null || state === void 0 ? void 0 : state.position) { node.position.fromArray(state.position); if (restState.position) { node.position.add(_v3A$3$2.fromArray(restState.position)); } } if (state === null || state === void 0 ? void 0 : state.rotation) { node.quaternion.fromArray(state.rotation); if (restState.rotation) { node.quaternion.multiply(_quatA$4.fromArray(restState.rotation)); } } }); } /** * Reset the humanoid to its rest pose. */ resetPose() { Object.entries(this.restPose).forEach(([boneName, rest]) => { const node = this.getBoneNode(boneName); if (!node) { return; } if (rest === null || rest === void 0 ? void 0 : rest.position) { node.position.fromArray(rest.position); } if (rest === null || rest === void 0 ? void 0 : rest.rotation) { node.quaternion.fromArray(rest.rotation); } }); } /** * Return a bone bound to a specified {@link VRMHumanBoneName}, as a {@link VRMHumanBone}. * * @param name Name of the bone you want */ getBone(name) { var _a; return (_a = this.humanBones[name]) !== null && _a !== void 0 ? _a : undefined; } /** * Return a bone bound to a specified {@link VRMHumanBoneName}, as a `THREE.Object3D`. * * @param name Name of the bone you want */ getBoneNode(name) { var _a, _b; return (_b = (_a = this.humanBones[name]) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : null; } } const _v3A$2$2 = new THREE.Vector3(); const _quatA$3$1 = new THREE.Quaternion(); const _boneWorldPos = new THREE.Vector3(); /** * A class represents the normalized Rig of a VRM. */ class VRMHumanoidRig extends VRMRig { static _setupTransforms(modelRig) { const root = new THREE.Object3D(); root.name = 'VRMHumanoidRig'; // store boneWorldPositions and boneWorldRotations const boneWorldPositions = {}; const boneWorldRotations = {}; const boneRotations = {}; VRMHumanBoneList.forEach((boneName) => { const boneNode = modelRig.getBoneNode(boneName); if (boneNode) { const boneWorldPosition = new THREE.Vector3(); const boneWorldRotation = new THREE.Quaternion(); boneNode.updateWorldMatrix(true, false); boneNode.matrixWorld.decompose(boneWorldPosition, boneWorldRotation, _v3A$2$2); boneWorldPositions[boneName] = boneWorldPosition; boneWorldRotations[boneName] = boneWorldRotation; boneRotations[boneName] = boneNode.quaternion.clone(); } }); // build rig hierarchy + store parentWorldRotations const parentWorldRotations = {}; const rigBones = {}; VRMHumanBoneList.forEach((boneName) => { var _a; const boneNode = modelRig.getBoneNode(boneName); if (boneNode) { const boneWorldPosition = boneWorldPositions[boneName]; // see the nearest parent position let currentBoneName = boneName; let parentWorldPosition; let parentWorldRotation; while (parentWorldPosition == null) { currentBoneName = VRMHumanBoneParentMap[currentBoneName]; if (currentBoneName == null) { break; } parentWorldPosition = boneWorldPositions[currentBoneName]; parentWorldRotation = boneWorldRotations[currentBoneName]; } // add to hierarchy const rigBoneNode = new THREE.Object3D(); rigBoneNode.name = 'Normalized_' + boneNode.name; const parentRigBoneNode = (currentBoneName ? (_a = rigBones[currentBoneName]) === null || _a === void 0 ? void 0 : _a.node : root); parentRigBoneNode.add(rigBoneNode); rigBoneNode.position.copy(boneWorldPosition); if (parentWorldPosition) { rigBoneNode.position.sub(parentWorldPosition); } rigBones[boneName] = { node: rigBoneNode }; // store parentWorldRotation parentWorldRotations[boneName] = parentWorldRotation !== null && parentWorldRotation !== void 0 ? parentWorldRotation : new THREE.Quaternion(); } }); return { rigBones: rigBones, root, parentWorldRotations, boneRotations, }; } constructor(humanoid) { const { rigBones, root, parentWorldRotations, boneRotations } = VRMHumanoidRig._setupTransforms(humanoid); super(rigBones); this.original = humanoid; this.root = root; this._parentWorldRotations = parentWorldRotations; this._boneRotations = boneRotations; } /** * Update this humanoid rig. */ update() { VRMHumanBoneList.forEach((boneName) => { const boneNode = this.original.getBoneNode(boneName); if (boneNode != null) { const rigBoneNode = this.getBoneNode(boneName); const parentWorldRotation = this._parentWorldRotations[boneName]; const invParentWorldRotation = _quatA$3$1.copy(parentWorldRotation).invert(); const boneRotation = this._boneRotations[boneName]; boneNode.quaternion .copy(rigBoneNode.quaternion) .multiply(parentWorldRotation) .premultiply(invParentWorldRotation) .multiply(boneRotation); // Move the mass center of the VRM if (boneName === 'hips') { const boneWorldPosition = rigBoneNode.getWorldPosition(_boneWorldPos); boneNode.parent.updateWorldMatrix(true, false); const parentWorldMatrix = boneNode.parent.matrixWorld; const localPosition = boneWorldPosition.applyMatrix4(parentWorldMatrix.invert()); boneNode.position.copy(localPosition); } } }); } } /** * A class represents a humanoid of a VRM. */ class VRMHumanoid { /** * @deprecated Deprecated. Use either {@link rawRestPose} or {@link normalizedRestPose} instead. */ get restPose() { console.warn('VRMHumanoid: restPose is deprecated. Use either rawRestPose or normalizedRestPose instead.'); return this.rawRestPose; } /** * A {@link VRMPose} of its raw human bones that is its default state. * Note that it's not compatible with {@link setRawPose} and {@link getRawPose}, since it contains non-relative values of each local transforms. */ get rawRestPose() { return this._rawHumanBones.restPose; } /** * A {@link VRMPose} of its normalized human bones that is its default state. * Note that it's not compatible with {@link setNormalizedPose} and {@link getNormalizedPose}, since it contains non-relative values of each local transforms. */ get normalizedRestPose() { return this._normalizedHumanBones.restPose; } /** * A map from {@link VRMHumanBoneName} to raw {@link VRMHumanBone}s. */ get humanBones() { // an alias of `rawHumanBones` return this._rawHumanBones.humanBones; } /** * A map from {@link VRMHumanBoneName} to raw {@link VRMHumanBone}s. */ get rawHumanBones() { return this._rawHumanBones.humanBones; } /** * A map from {@link VRMHumanBoneName} to normalized {@link VRMHumanBone}s. */ get normalizedHumanBones() { return this._normalizedHumanBones.humanBones; } /** * The root of normalized {@link VRMHumanBone}s. */ get normalizedHumanBonesRoot() { return this._normalizedHumanBones.root; } /** * Create a new {@link VRMHumanoid}. * @param humanBones A {@link VRMHumanBones} contains all the bones of the new humanoid * @param autoUpdateHumanBones Whether it copies pose from normalizedHumanBones to rawHumanBones on {@link update}. `true` by default. */ constructor(humanBones, options) { var _a; this.autoUpdateHumanBones = (_a = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones) !== null && _a !== void 0 ? _a : true; this._rawHumanBones = new VRMRig(humanBones); this._normalizedHumanBones = new VRMHumanoidRig(this._rawHumanBones); } /** * Copy the given {@link VRMHumanoid} into this one. * @param source The {@link VRMHumanoid} you want to copy * @returns this */ copy(source) { this.autoUpdateHumanBones = source.autoUpdateHumanBones; this._rawHumanBones = new VRMRig(source.humanBones); this._normalizedHumanBones = new VRMHumanoidRig(this._rawHumanBones); return this; } /** * Returns a clone of this {@link VRMHumanoid}. * @returns Copied {@link VRMHumanoid} */ clone() { return new VRMHumanoid(this.humanBones, { autoUpdateHumanBones: this.autoUpdateHumanBones }).copy(this); } /** * @deprecated Deprecated. Use either {@link getRawAbsolutePose} or {@link getNormalizedAbsolutePose} instead. */ getAbsolutePose() { console.warn('VRMHumanoid: getAbsolutePose() is deprecated. Use either getRawAbsolutePose() or getNormalizedAbsolutePose() instead.'); return this.getRawAbsolutePose(); } /** * Return the current absolute pose of this raw human bones as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getRawPose} instead. */ getRawAbsolutePose() { return this._rawHumanBones.getAbsolutePose(); } /** * Return the current absolute pose of this normalized human bones as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getNormalizedPose} instead. */ getNormalizedAbsolutePose() { return this._normalizedHumanBones.getAbsolutePose(); } /** * @deprecated Deprecated. Use either {@link getRawPose} or {@link getNormalizedPose} instead. */ getPose() { console.warn('VRMHumanoid: getPose() is deprecated. Use either getRawPose() or getNormalizedPose() instead.'); return this.getRawPose(); } /** * Return the current pose of raw human bones as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getRawPose() { return this._rawHumanBones.getPose(); } /** * Return the current pose of normalized human bones as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getNormalizedPose() { return this._normalizedHumanBones.getPose(); } /** * @deprecated Deprecated. Use either {@link setRawPose} or {@link setNormalizedPose} instead. */ setPose(poseObject) { console.warn('VRMHumanoid: setPose() is deprecated. Use either setRawPose() or setNormalizedPose() instead.'); return this.setRawPose(poseObject); } /** * Let the raw human bones do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getRawPose}. * * If you are using {@link autoUpdateHumanBones}, you might want to use {@link setNormalizedPose} instead. * * @param poseObject A {@link VRMPose} that represents a single pose */ setRawPose(poseObject) { return this._rawHumanBones.setPose(poseObject); } /** * Let the normalized human bones do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getNormalizedPose}. * * @param poseObject A {@link VRMPose} that represents a single pose */ setNormalizedPose(poseObject) { return this._normalizedHumanBones.setPose(poseObject); } /** * @deprecated Deprecated. Use either {@link resetRawPose} or {@link resetNormalizedPose} instead. */ resetPose() { console.warn('VRMHumanoid: resetPose() is deprecated. Use either resetRawPose() or resetNormalizedPose() instead.'); return this.resetRawPose(); } /** * Reset the raw humanoid to its rest pose. * * If you are using {@link autoUpdateHumanBones}, you might want to use {@link resetNormalizedPose} instead. */ resetRawPose() { return this._rawHumanBones.resetPose(); } /** * Reset the normalized humanoid to its rest pose. */ resetNormalizedPose() { return this._normalizedHumanBones.resetPose(); } /** * @deprecated Deprecated. Use either {@link getRawBone} or {@link getNormalizedBone} instead. */ getBone(name) { console.warn('VRMHumanoid: getBone() is deprecated. Use either getRawBone() or getNormalizedBone() instead.'); return this.getRawBone(name); } /** * Return a raw {@link VRMHumanBone} bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getRawBone(name) { return this._rawHumanBones.getBone(name); } /** * Return a normalized {@link VRMHumanBone} bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getNormalizedBone(name) { return this._normalizedHumanBones.getBone(name); } /** * @deprecated Deprecated. Use either {@link getRawBoneNode} or {@link getNormalizedBoneNode} instead. */ getBoneNode(name) { console.warn('VRMHumanoid: getBoneNode() is deprecated. Use either getRawBoneNode() or getNormalizedBoneNode() instead.'); return this.getRawBoneNode(name); } /** * Return a raw bone as a `THREE.Object3D` bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getRawBoneNode(name) { return this._rawHumanBones.getBoneNode(name); } /** * Return a normalized bone as a `THREE.Object3D` bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getNormalizedBoneNode(name) { return this._normalizedHumanBones.getBoneNode(name); } /** * Update the humanoid component. * * If {@link autoUpdateHumanBones} is `true`, it transfers the pose of normalized human bones to raw human bones. */ update() { if (this.autoUpdateHumanBones) { this._normalizedHumanBones.update(); } } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMRequiredHumanBoneName = { Hips: 'hips', Spine: 'spine', Head: 'head', LeftUpperLeg: 'leftUpperLeg', LeftLowerLeg: 'leftLowerLeg', LeftFoot: 'leftFoot', RightUpperLeg: 'rightUpperLeg', RightLowerLeg: 'rightLowerLeg', RightFoot: 'rightFoot', LeftUpperArm: 'leftUpperArm', LeftLowerArm: 'leftLowerArm', LeftHand: 'leftHand', RightUpperArm: 'rightUpperArm', RightLowerArm: 'rightLowerArm', RightHand: 'rightHand', }; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$2$1 = new Set(['1.0', '1.0-beta']); /** * A map from old thumb bone names to new thumb bone names */ const thumbBoneNameMap = { leftThumbProximal: 'leftThumbMetacarpal', leftThumbIntermediate: 'leftThumbProximal', rightThumbProximal: 'rightThumbMetacarpal', rightThumbIntermediate: 'rightThumbProximal', }; /** * A plugin of GLTFLoader that imports a {@link VRMHumanoid} from a VRM extension of a GLTF. */ class VRMHumanoidLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMHumanoidLoaderPlugin'; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; this.autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmHumanoid = yield this._import(gltf); }); } /** * Import a {@link VRMHumanoid} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$2$1.has(specVersion)) { console.warn(`VRMHumanoidLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaHumanoid = extension.humanoid; if (!schemaHumanoid) { return null; } /** * compat: 1.0-beta thumb bone names * * `true` if `leftThumbIntermediate` or `rightThumbIntermediate` exists */ const existsPreviousThumbName = schemaHumanoid.humanBones.leftThumbIntermediate != null || schemaHumanoid.humanBones.rightThumbIntermediate != null; const humanBones = {}; if (schemaHumanoid.humanBones != null) { yield Promise.all(Object.entries(schemaHumanoid.humanBones).map(([boneNameString, schemaHumanBone]) => __awaiter$6(this, void 0, void 0, function* () { let boneName = boneNameString; const index = schemaHumanBone.node; // compat: 1.0-beta previous thumb bone names if (existsPreviousThumbName) { const thumbBoneName = thumbBoneNameMap[boneName]; if (thumbBoneName != null) { boneName = thumbBoneName; } } const node = yield this.parser.getDependency('node', index); // if the specified node does not exist, emit a warning if (node == null) { console.warn(`A glTF node bound to the humanoid bone ${boneName} (index = ${index}) does not exist`); return; } // set to the `humanBones` humanBones[boneName] = { node }; }))); } const humanoid = new VRMHumanoid(this._ensureRequiredBonesExist(humanBones), { autoUpdateHumanBones: this.autoUpdateHumanBones, }); gltf.scene.add(humanoid.normalizedHumanBonesRoot); if (this.helperRoot) { const helper = new VRMHumanoidHelper(humanoid); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return humanoid; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaHumanoid = vrmExt.humanoid; if (!schemaHumanoid) { return null; } const humanBones = {}; if (schemaHumanoid.humanBones != null) { yield Promise.all(schemaHumanoid.humanBones.map((bone) => __awaiter$6(this, void 0, void 0, function* () { const boneName = bone.bone; const index = bone.node; if (boneName == null || index == null) { return; } const node = yield this.parser.getDependency('node', index); // if the specified node does not exist, emit a warning if (node == null) { console.warn(`A glTF node bound to the humanoid bone ${boneName} (index = ${index}) does not exist`); return; } // map to new bone name const thumbBoneName = thumbBoneNameMap[boneName]; const newBoneName = (thumbBoneName !== null && thumbBoneName !== void 0 ? thumbBoneName : boneName); // v0 VRMs might have a multiple nodes attached to a single bone... // so if there already is an entry in the `humanBones`, show a warning and ignore it if (humanBones[newBoneName] != null) { console.warn(`Multiple bone entries for ${newBoneName} detected (index = ${index}), ignoring duplicated entries.`); return; } // set to the `humanBones` humanBones[newBoneName] = { node }; }))); } const humanoid = new VRMHumanoid(this._ensureRequiredBonesExist(humanBones), { autoUpdateHumanBones: this.autoUpdateHumanBones, }); gltf.scene.add(humanoid.normalizedHumanBonesRoot); if (this.helperRoot) { const helper = new VRMHumanoidHelper(humanoid); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return humanoid; }); } /** * Ensure required bones exist in given human bones. * @param humanBones Human bones * @returns Human bones, no longer partial! */ _ensureRequiredBonesExist(humanBones) { // ensure required bones exist const missingRequiredBones = Object.values(VRMRequiredHumanBoneName).filter((requiredBoneName) => humanBones[requiredBoneName] == null); // throw an error if there are missing bones if (missingRequiredBones.length > 0) { throw new Error(`VRMHumanoidLoaderPlugin: These humanoid bones are required but not exist: ${missingRequiredBones.join(', ')}`); } return humanBones; } } class FanBufferGeometry extends THREE.BufferGeometry { constructor() { super(); this._currentTheta = 0; this._currentRadius = 0; this.theta = 0.0; this.radius = 0.0; this._currentTheta = 0.0; this._currentRadius = 0.0; this._attrPos = new THREE.BufferAttribute(new Float32Array(65 * 3), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE.BufferAttribute(new Uint16Array(3 * 63), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; if (this._currentTheta !== this.theta) { this._currentTheta = this.theta; shouldUpdateGeometry = true; } if (this._currentRadius !== this.radius) { this._currentRadius = this.radius; shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { this._attrPos.setXYZ(0, 0.0, 0.0, 0.0); for (let i = 0; i < 64; i++) { const t = (i / 63.0) * this._currentTheta; this._attrPos.setXYZ(i + 1, this._currentRadius * Math.sin(t), 0.0, this._currentRadius * Math.cos(t)); } this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 63; i++) { this._attrIndex.setXYZ(i * 3, 0, i + 1, i + 2); } this._attrIndex.needsUpdate = true; } } class LineAndSphereBufferGeometry extends THREE.BufferGeometry { constructor() { super(); this.radius = 0.0; this._currentRadius = 0.0; this.tail = new THREE.Vector3(); this._currentTail = new THREE.Vector3(); this._attrPos = new THREE.BufferAttribute(new Float32Array(294), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE.BufferAttribute(new Uint16Array(194), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; if (this._currentRadius !== this.radius) { this._currentRadius = this.radius; shouldUpdateGeometry = true; } if (!this._currentTail.equals(this.tail)) { this._currentTail.copy(this.tail); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.setXYZ(96, 0, 0, 0); this._attrPos.setXYZ(97, this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.setXY(192, 96, 97); this._attrIndex.needsUpdate = true; } } const _quatA$2$1 = new THREE.Quaternion(); const _quatB$2$1 = new THREE.Quaternion(); const _v3A$1$2 = new THREE.Vector3(); const _v3B$1$2 = new THREE.Vector3(); const SQRT_2_OVER_2 = Math.sqrt(2.0) / 2.0; const QUAT_XY_CW90 = new THREE.Quaternion(0, 0, -SQRT_2_OVER_2, SQRT_2_OVER_2); const VEC3_POSITIVE_Y = new THREE.Vector3(0.0, 1.0, 0.0); class VRMLookAtHelper extends THREE.Group { constructor(lookAt) { super(); this.matrixAutoUpdate = false; this.vrmLookAt = lookAt; { const geometry = new FanBufferGeometry(); geometry.radius = 0.5; const material = new THREE.MeshBasicMaterial({ color: 0x00ff00, transparent: true, opacity: 0.5, side: THREE.DoubleSide, depthTest: false, depthWrite: false, }); this._meshPitch = new THREE.Mesh(geometry, material); this.add(this._meshPitch); } { const geometry = new FanBufferGeometry(); geometry.radius = 0.5; const material = new THREE.MeshBasicMaterial({ color: 0xff0000, transparent: true, opacity: 0.5, side: THREE.DoubleSide, depthTest: false, depthWrite: false, }); this._meshYaw = new THREE.Mesh(geometry, material); this.add(this._meshYaw); } { const geometry = new LineAndSphereBufferGeometry(); geometry.radius = 0.1; const material = new THREE.LineBasicMaterial({ color: 0xffffff, depthTest: false, depthWrite: false, }); this._lineTarget = new THREE.LineSegments(geometry, material); this._lineTarget.frustumCulled = false; this.add(this._lineTarget); } } dispose() { this._meshYaw.geometry.dispose(); this._meshYaw.material.dispose(); this._meshPitch.geometry.dispose(); this._meshPitch.material.dispose(); this._lineTarget.geometry.dispose(); this._lineTarget.material.dispose(); } updateMatrixWorld(force) { // update geometries const yaw = THREE.MathUtils.DEG2RAD * this.vrmLookAt.yaw; this._meshYaw.geometry.theta = yaw; this._meshYaw.geometry.update(); const pitch = THREE.MathUtils.DEG2RAD * this.vrmLookAt.pitch; this._meshPitch.geometry.theta = pitch; this._meshPitch.geometry.update(); // get world position and quaternion this.vrmLookAt.getLookAtWorldPosition(_v3A$1$2); this.vrmLookAt.getLookAtWorldQuaternion(_quatA$2$1); // calculate rotation using faceFront _quatA$2$1.multiply(this.vrmLookAt.getFaceFrontQuaternion(_quatB$2$1)); // set transform to meshes this._meshYaw.position.copy(_v3A$1$2); this._meshYaw.quaternion.copy(_quatA$2$1); this._meshPitch.position.copy(_v3A$1$2); this._meshPitch.quaternion.copy(_quatA$2$1); this._meshPitch.quaternion.multiply(_quatB$2$1.setFromAxisAngle(VEC3_POSITIVE_Y, yaw)); this._meshPitch.quaternion.multiply(QUAT_XY_CW90); // update target line and sphere const { target, autoUpdate } = this.vrmLookAt; if (target != null && autoUpdate) { target.getWorldPosition(_v3B$1$2).sub(_v3A$1$2); this._lineTarget.geometry.tail.copy(_v3B$1$2); this._lineTarget.geometry.update(); this._lineTarget.position.copy(_v3A$1$2); } // apply transform to meshes super.updateMatrixWorld(force); } } const _position = new THREE.Vector3(); const _scale = new THREE.Vector3(); /** * A replacement of `Object3D.getWorldQuaternion`. * Extract the world quaternion of an object from its world space matrix, without calling `Object3D.updateWorldMatrix`. * Use this when you're sure that the world matrix is up-to-date. * * @param object The object * @param out A target quaternion */ function getWorldQuaternionLite(object, out) { object.matrixWorld.decompose(_position, out, _scale); return out; } /** * Calculate azimuth / altitude angles from a vector. * * This returns a difference of angles from (1, 0, 0). * Azimuth represents an angle around Y axis. * Altitude represents an angle around Z axis. * It is rotated in intrinsic Y-Z order. * * @param vector The vector * @returns A tuple contains two angles, `[ azimuth, altitude ]` */ function calcAzimuthAltitude(vector) { return [Math.atan2(-vector.z, vector.x), Math.atan2(vector.y, Math.sqrt(vector.x * vector.x + vector.z * vector.z))]; } /** * Make sure the angle is within -PI to PI. * * @example * ```js * sanitizeAngle(1.5 * Math.PI) // -0.5 * PI * ``` * * @param angle An input angle */ function sanitizeAngle(angle) { const roundTurn = Math.round(angle / 2.0 / Math.PI); return angle - 2.0 * Math.PI * roundTurn; } const VEC3_POSITIVE_Z$1 = new THREE.Vector3(0.0, 0.0, 1.0); const _v3A$6 = new THREE.Vector3(); const _v3B$3 = new THREE.Vector3(); const _v3C$2 = new THREE.Vector3(); const _quatA$1$1 = new THREE.Quaternion(); const _quatB$1$1 = new THREE.Quaternion(); const _quatC$1 = new THREE.Quaternion(); const _quatD = new THREE.Quaternion(); const _eulerA$1 = new THREE.Euler(); /** * A class controls eye gaze movements of a VRM. */ class VRMLookAt { /** * Its current angle around Y axis, in degree. */ get yaw() { return this._yaw; } /** * Its current angle around Y axis, in degree. */ set yaw(value) { this._yaw = value; this._needsUpdate = true; } /** * Its current angle around X axis, in degree. */ get pitch() { return this._pitch; } /** * Its current angle around X axis, in degree. */ set pitch(value) { this._pitch = value; this._needsUpdate = true; } /** * @deprecated Use {@link getEuler} instead. */ get euler() { console.warn('VRMLookAt: euler is deprecated. use getEuler() instead.'); return this.getEuler(new THREE.Euler()); } /** * Create a new {@link VRMLookAt}. * * @param humanoid A {@link VRMHumanoid} * @param applier A {@link VRMLookAtApplier} */ constructor(humanoid, applier) { /** * The origin of LookAt. Position offset from the head bone. */ this.offsetFromHeadBone = new THREE.Vector3(); /** * If this is true, the LookAt will be updated automatically by calling {@link update}, towarding the direction to the {@link target}. * `true` by default. * * See also: {@link target} */ this.autoUpdate = true; /** * The front direction of the face. * Intended to be used for VRM 0.0 compat (VRM 0.0 models are facing Z- instead of Z+). * You usually don't want to touch this. */ this.faceFront = new THREE.Vector3(0.0, 0.0, 1.0); this.humanoid = humanoid; this.applier = applier; this._yaw = 0.0; this._pitch = 0.0; this._needsUpdate = true; this._restHeadWorldQuaternion = this.getLookAtWorldQuaternion(new THREE.Quaternion()); } /** * Get its yaw-pitch angles as an `Euler`. * Does NOT consider {@link faceFront}; it returns `Euler(0, 0, 0; "YXZ")` by default regardless of the faceFront value. * * @param target The target euler */ getEuler(target) { return target.set(THREE.MathUtils.DEG2RAD * this._pitch, THREE.MathUtils.DEG2RAD * this._yaw, 0.0, 'YXZ'); } /** * Copy the given {@link VRMLookAt} into this one. * {@link humanoid} must be same as the source one. * {@link applier} will reference the same instance as the source one. * @param source The {@link VRMLookAt} you want to copy * @returns this */ copy(source) { if (this.humanoid !== source.humanoid) { throw new Error('VRMLookAt: humanoid must be same in order to copy'); } this.offsetFromHeadBone.copy(source.offsetFromHeadBone); this.applier = source.applier; this.autoUpdate = source.autoUpdate; this.target = source.target; this.faceFront.copy(source.faceFront); return this; } /** * Returns a clone of this {@link VRMLookAt}. * Note that {@link humanoid} and {@link applier} will reference the same instance as this one. * @returns Copied {@link VRMLookAt} */ clone() { return new VRMLookAt(this.humanoid, this.applier).copy(this); } /** * Reset the lookAt direction (yaw and pitch) to the initial direction. */ reset() { this._yaw = 0.0; this._pitch = 0.0; this._needsUpdate = true; } /** * Get its lookAt position in world coordinate. * * @param target A target `THREE.Vector3` */ getLookAtWorldPosition(target) { const head = this.humanoid.getRawBoneNode('head'); return target.copy(this.offsetFromHeadBone).applyMatrix4(head.matrixWorld); } /** * Get its lookAt rotation in world coordinate. * Does NOT consider {@link faceFront}. * * @param target A target `THREE.Quaternion` */ getLookAtWorldQuaternion(target) { const head = this.humanoid.getRawBoneNode('head'); return getWorldQuaternionLite(head, target); } /** * Get a quaternion that rotates the +Z unit vector of the humanoid Head to the {@link faceFront} direction. * * @param target A target `THREE.Quaternion` */ getFaceFrontQuaternion(target) { if (this.faceFront.distanceToSquared(VEC3_POSITIVE_Z$1) < 0.01) { return target.copy(this._restHeadWorldQuaternion).invert(); } const [faceFrontAzimuth, faceFrontAltitude] = calcAzimuthAltitude(this.faceFront); _eulerA$1.set(0.0, 0.5 * Math.PI + faceFrontAzimuth, faceFrontAltitude, 'YZX'); return target.setFromEuler(_eulerA$1).premultiply(_quatD.copy(this._restHeadWorldQuaternion).invert()); } /** * Get its LookAt direction in world coordinate. * * @param target A target `THREE.Vector3` */ getLookAtWorldDirection(target) { this.getLookAtWorldQuaternion(_quatB$1$1); this.getFaceFrontQuaternion(_quatC$1); return target .copy(VEC3_POSITIVE_Z$1) .applyQuaternion(_quatB$1$1) .applyQuaternion(_quatC$1) .applyEuler(this.getEuler(_eulerA$1)); } /** * Set its lookAt target position. * * Note that its result will be instantly overwritten if {@link VRMLookAtHead.autoUpdate} is enabled. * * If you want to track an object continuously, you might want to use {@link target} instead. * * @param position A target position, in world space */ lookAt(position) { // Look at direction in local coordinate const headRotDiffInv = _quatA$1$1 .copy(this._restHeadWorldQuaternion) .multiply(quatInvertCompat$1(this.getLookAtWorldQuaternion(_quatB$1$1))); const headPos = this.getLookAtWorldPosition(_v3B$3); const lookAtDir = _v3C$2.copy(position).sub(headPos).applyQuaternion(headRotDiffInv).normalize(); // calculate angles const [azimuthFrom, altitudeFrom] = calcAzimuthAltitude(this.faceFront); const [azimuthTo, altitudeTo] = calcAzimuthAltitude(lookAtDir); const yaw = sanitizeAngle(azimuthTo - azimuthFrom); const pitch = sanitizeAngle(altitudeFrom - altitudeTo); // spinning (1, 0, 0) CCW around Z axis makes the vector look up, while spinning (0, 0, 1) CCW around X axis makes the vector look down // apply angles this._yaw = THREE.MathUtils.RAD2DEG * yaw; this._pitch = THREE.MathUtils.RAD2DEG * pitch; this._needsUpdate = true; } /** * Update the VRMLookAtHead. * If {@link autoUpdate} is enabled, this will make it look at the {@link target}. * * @param delta deltaTime, it isn't used though. You can use the parameter if you want to use this in your own extended {@link VRMLookAt}. */ update(delta) { if (this.target != null && this.autoUpdate) { this.lookAt(this.target.getWorldPosition(_v3A$6)); } if (this._needsUpdate) { this._needsUpdate = false; this.applier.applyYawPitch(this._yaw, this._pitch); } } } VRMLookAt.EULER_ORDER = 'YXZ'; // yaw-pitch-roll const VEC3_POSITIVE_Z = new THREE.Vector3(0.0, 0.0, 1.0); const _quatA$6 = new THREE.Quaternion(); const _quatB$3 = new THREE.Quaternion(); const _eulerA = new THREE.Euler(0.0, 0.0, 0.0, 'YXZ'); /** * A class that applies eye gaze directions to a VRM. * It will be used by {@link VRMLookAt}. */ class VRMLookAtBoneApplier { /** * Create a new {@link VRMLookAtBoneApplier}. * * @param humanoid A {@link VRMHumanoid} * @param rangeMapHorizontalInner A {@link VRMLookAtRangeMap} used for inner transverse direction * @param rangeMapHorizontalOuter A {@link VRMLookAtRangeMap} used for outer transverse direction * @param rangeMapVerticalDown A {@link VRMLookAtRangeMap} used for down direction * @param rangeMapVerticalUp A {@link VRMLookAtRangeMap} used for up direction */ constructor(humanoid, rangeMapHorizontalInner, rangeMapHorizontalOuter, rangeMapVerticalDown, rangeMapVerticalUp) { this.humanoid = humanoid; this.rangeMapHorizontalInner = rangeMapHorizontalInner; this.rangeMapHorizontalOuter = rangeMapHorizontalOuter; this.rangeMapVerticalDown = rangeMapVerticalDown; this.rangeMapVerticalUp = rangeMapVerticalUp; this.faceFront = new THREE.Vector3(0.0, 0.0, 1.0); // set rest quaternions this._restQuatLeftEye = new THREE.Quaternion(); this._restQuatRightEye = new THREE.Quaternion(); this._restLeftEyeParentWorldQuat = new THREE.Quaternion(); this._restRightEyeParentWorldQuat = new THREE.Quaternion(); const leftEye = this.humanoid.getRawBoneNode('leftEye'); const rightEye = this.humanoid.getRawBoneNode('rightEye'); if (leftEye) { this._restQuatLeftEye.copy(leftEye.quaternion); getWorldQuaternionLite(leftEye.parent, this._restLeftEyeParentWorldQuat); } if (rightEye) { this._restQuatRightEye.copy(rightEye.quaternion); getWorldQuaternionLite(rightEye.parent, this._restRightEyeParentWorldQuat); } } /** * Apply the input angle to its associated VRM model. * * @param yaw Rotation around Y axis, in degree * @param pitch Rotation around X axis, in degree */ applyYawPitch(yaw, pitch) { const leftEye = this.humanoid.getRawBoneNode('leftEye'); const rightEye = this.humanoid.getRawBoneNode('rightEye'); const leftEyeNormalized = this.humanoid.getNormalizedBoneNode('leftEye'); const rightEyeNormalized = this.humanoid.getNormalizedBoneNode('rightEye'); // left if (leftEye) { if (pitch < 0.0) { _eulerA.x = -THREE.MathUtils.DEG2RAD * this.rangeMapVerticalDown.map(-pitch); } else { _eulerA.x = THREE.MathUtils.DEG2RAD * this.rangeMapVerticalUp.map(pitch); } if (yaw < 0.0) { _eulerA.y = -THREE.MathUtils.DEG2RAD * this.rangeMapHorizontalInner.map(-yaw); } else { _eulerA.y = THREE.MathUtils.DEG2RAD * this.rangeMapHorizontalOuter.map(yaw); } _quatA$6.setFromEuler(_eulerA); this._getWorldFaceFrontQuat(_quatB$3); // _quatB * _quatA * _quatB^-1 // where _quatA is LookAt rotation // and _quatB is worldFaceFrontQuat leftEyeNormalized.quaternion.copy(_quatB$3).multiply(_quatA$6).multiply(_quatB$3.invert()); _quatA$6.copy(this._restLeftEyeParentWorldQuat); // _quatA^-1 * leftEyeNormalized.quaternion * _quatA * restQuatLeftEye // where _quatA is restLeftEyeParentWorldQuat leftEye.quaternion .copy(leftEyeNormalized.quaternion) .multiply(_quatA$6) .premultiply(_quatA$6.invert()) .multiply(this._restQuatLeftEye); } // right if (rightEye) { if (pitch < 0.0) { _eulerA.x = -THREE.MathUtils.DEG2RAD * this.rangeMapVerticalDown.map(-pitch); } else { _eulerA.x = THREE.MathUtils.DEG2RAD * this.rangeMapVerticalUp.map(pitch); } if (yaw < 0.0) { _eulerA.y = -THREE.MathUtils.DEG2RAD * this.rangeMapHorizontalOuter.map(-yaw); } else { _eulerA.y = THREE.MathUtils.DEG2RAD * this.rangeMapHorizontalInner.map(yaw); } _quatA$6.setFromEuler(_eulerA); this._getWorldFaceFrontQuat(_quatB$3); // _quatB * _quatA * _quatB^-1 // where _quatA is LookAt rotation // and _quatB is worldFaceFrontQuat rightEyeNormalized.quaternion.copy(_quatB$3).multiply(_quatA$6).multiply(_quatB$3.invert()); _quatA$6.copy(this._restRightEyeParentWorldQuat); // _quatA^-1 * rightEyeNormalized.quaternion * _quatA * restQuatRightEye // where _quatA is restRightEyeParentWorldQuat rightEye.quaternion .copy(rightEyeNormalized.quaternion) .multiply(_quatA$6) .premultiply(_quatA$6.invert()) .multiply(this._restQuatRightEye); } } /** * @deprecated Use {@link applyYawPitch} instead. */ lookAt(euler) { console.warn('VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.'); const yaw = THREE.MathUtils.RAD2DEG * euler.y; const pitch = THREE.MathUtils.RAD2DEG * euler.x; this.applyYawPitch(yaw, pitch); } /** * Get a quaternion that rotates the world-space +Z unit vector to the {@link faceFront} direction. * * @param target A target `THREE.Quaternion` */ _getWorldFaceFrontQuat(target) { if (this.faceFront.distanceToSquared(VEC3_POSITIVE_Z) < 0.01) { return target.identity(); } const [faceFrontAzimuth, faceFrontAltitude] = calcAzimuthAltitude(this.faceFront); _eulerA.set(0.0, 0.5 * Math.PI + faceFrontAzimuth, faceFrontAltitude, 'YZX'); return target.setFromEuler(_eulerA); } } /** * Represent its type of applier. */ VRMLookAtBoneApplier.type = 'bone'; /** * A class that applies eye gaze directions to a VRM. * It will be used by {@link VRMLookAt}. */ class VRMLookAtExpressionApplier { /** * Create a new {@link VRMLookAtExpressionApplier}. * * @param expressions A {@link VRMExpressionManager} * @param rangeMapHorizontalInner A {@link VRMLookAtRangeMap} used for inner transverse direction * @param rangeMapHorizontalOuter A {@link VRMLookAtRangeMap} used for outer transverse direction * @param rangeMapVerticalDown A {@link VRMLookAtRangeMap} used for down direction * @param rangeMapVerticalUp A {@link VRMLookAtRangeMap} used for up direction */ constructor(expressions, rangeMapHorizontalInner, rangeMapHorizontalOuter, rangeMapVerticalDown, rangeMapVerticalUp) { this.expressions = expressions; this.rangeMapHorizontalInner = rangeMapHorizontalInner; this.rangeMapHorizontalOuter = rangeMapHorizontalOuter; this.rangeMapVerticalDown = rangeMapVerticalDown; this.rangeMapVerticalUp = rangeMapVerticalUp; } /** * Apply the input angle to its associated VRM model. * * @param yaw Rotation around Y axis, in degree * @param pitch Rotation around X axis, in degree */ applyYawPitch(yaw, pitch) { if (pitch < 0.0) { this.expressions.setValue('lookDown', 0.0); this.expressions.setValue('lookUp', this.rangeMapVerticalUp.map(-pitch)); } else { this.expressions.setValue('lookUp', 0.0); this.expressions.setValue('lookDown', this.rangeMapVerticalDown.map(pitch)); } if (yaw < 0.0) { this.expressions.setValue('lookLeft', 0.0); this.expressions.setValue('lookRight', this.rangeMapHorizontalOuter.map(-yaw)); } else { this.expressions.setValue('lookRight', 0.0); this.expressions.setValue('lookLeft', this.rangeMapHorizontalOuter.map(yaw)); } } /** * @deprecated Use {@link applyYawPitch} instead. */ lookAt(euler) { console.warn('VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.'); const yaw = THREE.MathUtils.RAD2DEG * euler.y; const pitch = THREE.MathUtils.RAD2DEG * euler.x; this.applyYawPitch(yaw, pitch); } } /** * Represent its type of applier. */ VRMLookAtExpressionApplier.type = 'expression'; class VRMLookAtRangeMap { /** * Create a new {@link VRMLookAtRangeMap}. * * @param inputMaxValue The {@link inputMaxValue} of the map * @param outputScale The {@link outputScale} of the map */ constructor(inputMaxValue, outputScale) { this.inputMaxValue = inputMaxValue; this.outputScale = outputScale; } /** * Evaluate an input value and output a mapped value. * @param src The input value */ map(src) { return this.outputScale * saturate(src / this.inputMaxValue); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$1$1 = new Set(['1.0', '1.0-beta']); /** * The minimum permitted value for {@link V1VRMSchema.LookAtRangeMap.inputMaxValue}. * If the given value is smaller than this, the loader shows a warning and clamps up the value. */ const INPUT_MAX_VALUE_MINIMUM = 0.01; /** * A plugin of GLTFLoader that imports a {@link VRMLookAt} from a VRM extension of a GLTF. */ class VRMLookAtLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMLookAtLoaderPlugin'; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const vrmHumanoid = gltf.userData.vrmHumanoid; // explicitly distinguish null and undefined // since vrmHumanoid might be null as a result if (vrmHumanoid === null) { return; } else if (vrmHumanoid === undefined) { throw new Error('VRMLookAtLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first'); } const vrmExpressionManager = gltf.userData.vrmExpressionManager; if (vrmExpressionManager === null) { return; } else if (vrmExpressionManager === undefined) { throw new Error('VRMLookAtLoaderPlugin: vrmExpressionManager is undefined. VRMExpressionLoaderPlugin have to be used first'); } gltf.userData.vrmLookAt = yield this._import(gltf, vrmHumanoid, vrmExpressionManager); }); } /** * Import a {@link VRMLookAt} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader * @param humanoid A {@link VRMHumanoid} instance that represents the VRM * @param expressions A {@link VRMExpressionManager} instance that represents the VRM */ _import(gltf, humanoid, expressions) { return __awaiter$6(this, void 0, void 0, function* () { if (humanoid == null || expressions == null) { return null; } const v1Result = yield this._v1Import(gltf, humanoid, expressions); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf, humanoid, expressions); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf, humanoid, expressions) { var _a, _b, _c; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$1$1.has(specVersion)) { console.warn(`VRMLookAtLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaLookAt = extension.lookAt; if (!schemaLookAt) { return null; } const defaultOutputScale = schemaLookAt.type === 'expression' ? 1.0 : 10.0; const mapHI = this._v1ImportRangeMap(schemaLookAt.rangeMapHorizontalInner, defaultOutputScale); const mapHO = this._v1ImportRangeMap(schemaLookAt.rangeMapHorizontalOuter, defaultOutputScale); const mapVD = this._v1ImportRangeMap(schemaLookAt.rangeMapVerticalDown, defaultOutputScale); const mapVU = this._v1ImportRangeMap(schemaLookAt.rangeMapVerticalUp, defaultOutputScale); let applier; if (schemaLookAt.type === 'expression') { applier = new VRMLookAtExpressionApplier(expressions, mapHI, mapHO, mapVD, mapVU); } else { applier = new VRMLookAtBoneApplier(humanoid, mapHI, mapHO, mapVD, mapVU); } const lookAt = this._importLookAt(humanoid, applier); lookAt.offsetFromHeadBone.fromArray((_c = schemaLookAt.offsetFromHeadBone) !== null && _c !== void 0 ? _c : [0.0, 0.06, 0.0]); return lookAt; }); } _v1ImportRangeMap(schemaRangeMap, defaultOutputScale) { var _a, _b; let inputMaxValue = (_a = schemaRangeMap === null || schemaRangeMap === void 0 ? void 0 : schemaRangeMap.inputMaxValue) !== null && _a !== void 0 ? _a : 90.0; const outputScale = (_b = schemaRangeMap === null || schemaRangeMap === void 0 ? void 0 : schemaRangeMap.outputScale) !== null && _b !== void 0 ? _b : defaultOutputScale; // It might cause NaN when `inputMaxValue` is too small // which makes the mesh of the head disappear // See: https://github.com/pixiv/three-vrm/issues/1201 if (inputMaxValue < INPUT_MAX_VALUE_MINIMUM) { console.warn('VRMLookAtLoaderPlugin: inputMaxValue of a range map is too small. Consider reviewing the range map!'); inputMaxValue = INPUT_MAX_VALUE_MINIMUM; } return new VRMLookAtRangeMap(inputMaxValue, outputScale); } _v0Import(gltf, humanoid, expressions) { var _a, _b, _c, _d; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaFirstPerson = vrmExt.firstPerson; if (!schemaFirstPerson) { return null; } const defaultOutputScale = schemaFirstPerson.lookAtTypeName === 'BlendShape' ? 1.0 : 10.0; const mapHI = this._v0ImportDegreeMap(schemaFirstPerson.lookAtHorizontalInner, defaultOutputScale); const mapHO = this._v0ImportDegreeMap(schemaFirstPerson.lookAtHorizontalOuter, defaultOutputScale); const mapVD = this._v0ImportDegreeMap(schemaFirstPerson.lookAtVerticalDown, defaultOutputScale); const mapVU = this._v0ImportDegreeMap(schemaFirstPerson.lookAtVerticalUp, defaultOutputScale); let applier; if (schemaFirstPerson.lookAtTypeName === 'BlendShape') { applier = new VRMLookAtExpressionApplier(expressions, mapHI, mapHO, mapVD, mapVU); } else { applier = new VRMLookAtBoneApplier(humanoid, mapHI, mapHO, mapVD, mapVU); } const lookAt = this._importLookAt(humanoid, applier); if (schemaFirstPerson.firstPersonBoneOffset) { lookAt.offsetFromHeadBone.set((_b = schemaFirstPerson.firstPersonBoneOffset.x) !== null && _b !== void 0 ? _b : 0.0, (_c = schemaFirstPerson.firstPersonBoneOffset.y) !== null && _c !== void 0 ? _c : 0.06, -((_d = schemaFirstPerson.firstPersonBoneOffset.z) !== null && _d !== void 0 ? _d : 0.0)); } else { lookAt.offsetFromHeadBone.set(0.0, 0.06, 0.0); } // VRM 0.0 are facing Z- instead of Z+ lookAt.faceFront.set(0.0, 0.0, -1.0); if (applier instanceof VRMLookAtBoneApplier) { applier.faceFront.set(0.0, 0.0, -1.0); } return lookAt; }); } _v0ImportDegreeMap(schemaDegreeMap, defaultOutputScale) { var _a, _b; const curve = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.curve; if (JSON.stringify(curve) !== '[0,0,0,1,1,1,1,0]') { console.warn('Curves of LookAtDegreeMap defined in VRM 0.0 are not supported'); } let xRange = (_a = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.xRange) !== null && _a !== void 0 ? _a : 90.0; const yRange = (_b = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.yRange) !== null && _b !== void 0 ? _b : defaultOutputScale; // It might cause NaN when `xRange` is too small // which makes the mesh of the head disappear // See: https://github.com/pixiv/three-vrm/issues/1201 if (xRange < INPUT_MAX_VALUE_MINIMUM) { console.warn('VRMLookAtLoaderPlugin: xRange of a degree map is too small. Consider reviewing the degree map!'); xRange = INPUT_MAX_VALUE_MINIMUM; } return new VRMLookAtRangeMap(xRange, yRange); } _importLookAt(humanoid, applier) { const lookAt = new VRMLookAt(humanoid, applier); if (this.helperRoot) { const helper = new VRMLookAtHelper(lookAt); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return lookAt; } } /* eslint-disable @typescript-eslint/naming-convention */ /** * Represents a type of applier. */ const VRMLookAtTypeName = { Bone: 'bone', Expression: 'expression', }; /** * Yoinked from https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/GLTFLoader.js */ function resolveURL(url, path) { // Invalid URL if (typeof url !== 'string' || url === '') return ''; // Host Relative URL if (/^https?:\/\//i.test(path) && /^\//.test(url)) { path = path.replace(/(^https?:\/\/[^/]+).*/i, '$1'); } // Absolute URL http://,https://,// if (/^(https?:)?\/\//i.test(url)) return url; // Data URI if (/^data:.*,.*$/i.test(url)) return url; // Blob URL if (/^blob:.*$/i.test(url)) return url; // Relative URL return path + url; } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$5 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRM1Meta} from a VRM extension of a GLTF. */ class VRMMetaLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMMetaLoaderPlugin'; } constructor(parser, options) { var _a, _b, _c; this.parser = parser; this.needThumbnailImage = (_a = options === null || options === void 0 ? void 0 : options.needThumbnailImage) !== null && _a !== void 0 ? _a : true; this.acceptLicenseUrls = (_b = options === null || options === void 0 ? void 0 : options.acceptLicenseUrls) !== null && _b !== void 0 ? _b : ['https://vrm.dev/licenses/1.0/']; this.acceptV0Meta = (_c = options === null || options === void 0 ? void 0 : options.acceptV0Meta) !== null && _c !== void 0 ? _c : true; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmMeta = yield this._import(gltf); }); } _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result != null) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result != null) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b, _c; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (extension == null) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$5.has(specVersion)) { console.warn(`VRMMetaLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaMeta = extension.meta; if (!schemaMeta) { return null; } // throw an error if acceptV0Meta is false const licenseUrl = schemaMeta.licenseUrl; const acceptLicenseUrlsSet = new Set(this.acceptLicenseUrls); if (!acceptLicenseUrlsSet.has(licenseUrl)) { throw new Error(`VRMMetaLoaderPlugin: The license url "${licenseUrl}" is not accepted`); } let thumbnailImage = undefined; if (this.needThumbnailImage && schemaMeta.thumbnailImage != null) { thumbnailImage = (_c = (yield this._extractGLTFImage(schemaMeta.thumbnailImage))) !== null && _c !== void 0 ? _c : undefined; } return { metaVersion: '1', name: schemaMeta.name, version: schemaMeta.version, authors: schemaMeta.authors, copyrightInformation: schemaMeta.copyrightInformation, contactInformation: schemaMeta.contactInformation, references: schemaMeta.references, thirdPartyLicenses: schemaMeta.thirdPartyLicenses, thumbnailImage, licenseUrl: schemaMeta.licenseUrl, avatarPermission: schemaMeta.avatarPermission, allowExcessivelyViolentUsage: schemaMeta.allowExcessivelyViolentUsage, allowExcessivelySexualUsage: schemaMeta.allowExcessivelySexualUsage, commercialUsage: schemaMeta.commercialUsage, allowPoliticalOrReligiousUsage: schemaMeta.allowPoliticalOrReligiousUsage, allowAntisocialOrHateUsage: schemaMeta.allowAntisocialOrHateUsage, creditNotation: schemaMeta.creditNotation, allowRedistribution: schemaMeta.allowRedistribution, modification: schemaMeta.modification, otherLicenseUrl: schemaMeta.otherLicenseUrl, }; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaMeta = vrmExt.meta; if (!schemaMeta) { return null; } // throw an error if acceptV0Meta is false if (!this.acceptV0Meta) { throw new Error('VRMMetaLoaderPlugin: Attempted to load VRM0.0 meta but acceptV0Meta is false'); } // load thumbnail texture let texture; if (this.needThumbnailImage && schemaMeta.texture != null && schemaMeta.texture !== -1) { texture = yield this.parser.getDependency('texture', schemaMeta.texture); } return { metaVersion: '0', allowedUserName: schemaMeta.allowedUserName, author: schemaMeta.author, commercialUssageName: schemaMeta.commercialUssageName, contactInformation: schemaMeta.contactInformation, licenseName: schemaMeta.licenseName, otherLicenseUrl: schemaMeta.otherLicenseUrl, otherPermissionUrl: schemaMeta.otherPermissionUrl, reference: schemaMeta.reference, sexualUssageName: schemaMeta.sexualUssageName, texture: texture !== null && texture !== void 0 ? texture : undefined, title: schemaMeta.title, version: schemaMeta.version, violentUssageName: schemaMeta.violentUssageName, }; }); } _extractGLTFImage(index) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const source = (_a = json.images) === null || _a === void 0 ? void 0 : _a[index]; if (source == null) { console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${index}] of glTF as a thumbnail but the image doesn't exist`); return null; } // Ref: https://github.com/mrdoob/three.js/blob/r124/examples/jsm/loaders/GLTFLoader.js#L2467 // `source.uri` might be a reference to a file let sourceURI = source.uri; // Load the binary as a blob if (source.bufferView != null) { const bufferView = yield this.parser.getDependency('bufferView', source.bufferView); const blob = new Blob([bufferView], { type: source.mimeType }); sourceURI = URL.createObjectURL(blob); } if (sourceURI == null) { console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${index}] of glTF as a thumbnail but the image couldn't load properly`); return null; } const loader = new THREE.ImageLoader(); return yield loader.loadAsync(resolveURL(sourceURI, this.parser.options.path)).catch((error) => { console.error(error); console.warn('VRMMetaLoaderPlugin: Failed to load a thumbnail image'); return null; }); }); } } /** * A class that represents a single VRM model. * This class only includes core spec of the VRM (`VRMC_vrm`). */ class VRMCore { /** * Create a new VRM instance. * * @param params [[VRMParameters]] that represents components of the VRM */ constructor(params) { this.scene = params.scene; this.meta = params.meta; this.humanoid = params.humanoid; this.expressionManager = params.expressionManager; this.firstPerson = params.firstPerson; this.lookAt = params.lookAt; } /** * **You need to call this on your update loop.** * * This function updates every VRM components. * * @param delta deltaTime */ update(delta) { this.humanoid.update(); if (this.lookAt) { this.lookAt.update(delta); } if (this.expressionManager) { this.expressionManager.update(); } } } class VRMCoreLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMC_vrm'; } constructor(parser, options) { var _a, _b, _c, _d, _e; this.parser = parser; const helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; const autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; this.expressionPlugin = (_a = options === null || options === void 0 ? void 0 : options.expressionPlugin) !== null && _a !== void 0 ? _a : new VRMExpressionLoaderPlugin(parser); this.firstPersonPlugin = (_b = options === null || options === void 0 ? void 0 : options.firstPersonPlugin) !== null && _b !== void 0 ? _b : new VRMFirstPersonLoaderPlugin(parser); this.humanoidPlugin = (_c = options === null || options === void 0 ? void 0 : options.humanoidPlugin) !== null && _c !== void 0 ? _c : new VRMHumanoidLoaderPlugin(parser, { helperRoot, autoUpdateHumanBones }); this.lookAtPlugin = (_d = options === null || options === void 0 ? void 0 : options.lookAtPlugin) !== null && _d !== void 0 ? _d : new VRMLookAtLoaderPlugin(parser, { helperRoot }); this.metaPlugin = (_e = options === null || options === void 0 ? void 0 : options.metaPlugin) !== null && _e !== void 0 ? _e : new VRMMetaLoaderPlugin(parser); } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { yield this.metaPlugin.afterRoot(gltf); yield this.humanoidPlugin.afterRoot(gltf); yield this.expressionPlugin.afterRoot(gltf); yield this.lookAtPlugin.afterRoot(gltf); yield this.firstPersonPlugin.afterRoot(gltf); const meta = gltf.userData.vrmMeta; const humanoid = gltf.userData.vrmHumanoid; // meta and humanoid are required to be a VRM. // Don't create VRM if they are null if (meta && humanoid) { const vrmCore = new VRMCore({ scene: gltf.scene, expressionManager: gltf.userData.vrmExpressionManager, firstPerson: gltf.userData.vrmFirstPerson, humanoid, lookAt: gltf.userData.vrmLookAt, meta, }); gltf.userData.vrmCore = vrmCore; } }); } } /** * A class that represents a single VRM model. */ class VRM extends VRMCore { /** * Create a new VRM instance. * * @param params [[VRMParameters]] that represents components of the VRM */ constructor(params) { super(params); this.materials = params.materials; this.springBoneManager = params.springBoneManager; this.nodeConstraintManager = params.nodeConstraintManager; } /** * **You need to call this on your update loop.** * * This function updates every VRM components. * * @param delta deltaTime */ update(delta) { super.update(delta); if (this.nodeConstraintManager) { this.nodeConstraintManager.update(); } if (this.springBoneManager) { this.springBoneManager.update(delta); } if (this.materials) { this.materials.forEach((material) => { if (material.update) { material.update(delta); } }); } } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$5(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } /*! * @pixiv/three-vrm-materials-mtoon v2.0.6 * MToon (toon material) module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-mtoon is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$4(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } var vertexShader = "// #define PHONG\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n varying vec3 vNormal;\n#endif\n\n#include \n\n// #include \n#ifdef MTOON_USE_UV\n varying vec2 vUv;\n\n // COMPAT: pre-r151 uses a common uvTransform\n #if THREE_VRM_THREE_REVISION < 151\n uniform mat3 uvTransform;\n #endif\n#endif\n\n// #include \n// COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n#if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n attribute vec2 uv2;\n varying vec2 vUv2;\n uniform mat3 uv2Transform;\n #endif\n#endif\n\n// #include \n// #include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n\n#ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE\n uniform sampler2D outlineWidthMultiplyTexture;\n uniform mat3 outlineWidthMultiplyTextureUvTransform;\n#endif\n\nuniform float outlineWidthFactor;\n\nvoid main() {\n\n // #include \n #ifdef MTOON_USE_UV\n // COMPAT: pre-r151 uses a common uvTransform\n #if THREE_VRM_THREE_REVISION >= 151\n vUv = uv;\n #else\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n #endif\n #endif\n\n // #include \n // COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n #if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n #endif\n #endif\n\n #include \n\n #include \n #include \n #include \n #include \n\n // we need this to compute the outline properly\n objectNormal = normalize( objectNormal );\n\n #include \n\n #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n vNormal = normalize( transformedNormal );\n #endif\n\n #include \n\n #include \n #include \n // #include \n #include \n #include \n #include \n\n vViewPosition = - mvPosition.xyz;\n\n float outlineTex = 1.0;\n\n #ifdef OUTLINE\n #ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE\n vec2 outlineWidthMultiplyTextureUv = ( outlineWidthMultiplyTextureUvTransform * vec3( vUv, 1 ) ).xy;\n outlineTex = texture2D( outlineWidthMultiplyTexture, outlineWidthMultiplyTextureUv ).g;\n #endif\n\n #ifdef OUTLINE_WIDTH_WORLD\n float worldNormalLength = length( transformedNormal );\n vec3 outlineOffset = outlineWidthFactor * outlineTex * worldNormalLength * objectNormal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( outlineOffset + transformed, 1.0 );\n #endif\n\n #ifdef OUTLINE_WIDTH_SCREEN\n vec3 clipNormal = ( projectionMatrix * modelViewMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n vec2 projectedNormal = normalize( clipNormal.xy );\n projectedNormal.x *= projectionMatrix[ 0 ].x / projectionMatrix[ 1 ].y;\n gl_Position.xy += 2.0 * outlineWidthFactor * outlineTex * projectedNormal.xy;\n #endif\n\n gl_Position.z += 1E-6 * gl_Position.w; // anti-artifact magic\n #endif\n\n #include \n // #include \n #include \n #include \n\n}"; var fragmentShader = "// #define PHONG\n\nuniform vec3 litFactor;\n\nuniform float opacity;\n\nuniform vec3 shadeColorFactor;\n#ifdef USE_SHADEMULTIPLYTEXTURE\n uniform sampler2D shadeMultiplyTexture;\n uniform mat3 shadeMultiplyTextureUvTransform;\n#endif\n\nuniform float shadingShiftFactor;\nuniform float shadingToonyFactor;\n\n#ifdef USE_SHADINGSHIFTTEXTURE\n uniform sampler2D shadingShiftTexture;\n uniform mat3 shadingShiftTextureUvTransform;\n uniform float shadingShiftTextureScale;\n#endif\n\nuniform float giEqualizationFactor;\n\nuniform vec3 parametricRimColorFactor;\n#ifdef USE_RIMMULTIPLYTEXTURE\n uniform sampler2D rimMultiplyTexture;\n uniform mat3 rimMultiplyTextureUvTransform;\n#endif\nuniform float rimLightingMixFactor;\nuniform float parametricRimFresnelPowerFactor;\nuniform float parametricRimLiftFactor;\n\n#ifdef USE_MATCAPTEXTURE\n uniform vec3 matcapFactor;\n uniform sampler2D matcapTexture;\n uniform mat3 matcapTextureUvTransform;\n#endif\n\nuniform vec3 emissive;\nuniform float emissiveIntensity;\n\nuniform vec3 outlineColorFactor;\nuniform float outlineLightingMixFactor;\n\n#ifdef USE_UVANIMATIONMASKTEXTURE\n uniform sampler2D uvAnimationMaskTexture;\n uniform mat3 uvAnimationMaskTextureUvTransform;\n#endif\n\nuniform float uvAnimationScrollXOffset;\nuniform float uvAnimationScrollYOffset;\nuniform float uvAnimationRotationPhase;\n\n#include \n#include \n#include \n#include \n\n// #include \n#if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n varying vec2 vUv;\n#endif\n\n// #include \n// COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n#if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n varying vec2 vUv2;\n #endif\n#endif\n\n#include \n\n#ifdef USE_MAP\n uniform mat3 mapUvTransform;\n#endif\n\n// #include \n\n#if THREE_VRM_THREE_REVISION >= 132\n #include \n#endif\n\n#include \n// #include \n#include \n\n#ifdef USE_EMISSIVEMAP\n uniform mat3 emissiveMapUvTransform;\n#endif\n\n// #include \n// #include \n// #include \n#include \n\n// #include \n// COMPAT: pre-r151 doesn't have BRDF_Lambert in \n#if THREE_VRM_THREE_REVISION < 151\n vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n return RECIPROCAL_PI * diffuseColor;\n }\n#endif\n\n#include \n\n#if THREE_VRM_THREE_REVISION >= 132\n #include \n#endif\n\n// #include \nvarying vec3 vViewPosition;\n\n#if THREE_VRM_THREE_REVISION < 132\n #ifndef FLAT_SHADED\n varying vec3 vNormal;\n #endif\n#endif\n\nstruct MToonMaterial {\n vec3 diffuseColor;\n vec3 shadeColor;\n float shadingShift;\n};\n\nfloat linearstep( float a, float b, float t ) {\n return clamp( ( t - a ) / ( b - a ), 0.0, 1.0 );\n}\n\n/**\n * Convert NdotL into toon shading factor using shadingShift and shadingToony\n */\nfloat getShading(\n const in float dotNL,\n const in float shadow,\n const in float shadingShift\n) {\n float shading = dotNL;\n shading = shading + shadingShift;\n shading = linearstep( -1.0 + shadingToonyFactor, 1.0 - shadingToonyFactor, shading );\n shading *= shadow;\n return shading;\n}\n\n/**\n * Mix diffuseColor and shadeColor using shading factor and light color\n */\nvec3 getDiffuse(\n const in MToonMaterial material,\n const in float shading,\n in vec3 lightColor\n) {\n #ifdef DEBUG_LITSHADERATE\n return vec3( BRDF_Lambert( shading * lightColor ) );\n #endif\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n lightColor *= PI;\n #endif\n #endif\n\n vec3 col = lightColor * BRDF_Lambert( mix( material.shadeColor, material.diffuseColor, shading ) );\n\n // The \"comment out if you want to PBR absolutely\" line\n #ifdef V0_COMPAT_SHADE\n col = min( col, material.diffuseColor );\n #endif\n\n return col;\n}\n\n#if THREE_VRM_THREE_REVISION >= 157\n void RE_Direct_MToon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {\n float dotNL = clamp( dot( geometryNormal, directLight.direction ), -1.0, 1.0 );\n vec3 irradiance = directLight.color;\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n irradiance *= PI;\n #endif\n #endif\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n\n irradiance *= dotNL;\n\n float shading = getShading( dotNL, shadow, material.shadingShift );\n\n // toon shaded diffuse\n reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );\n }\n\n void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {\n // indirect diffuse will use diffuseColor, no shadeColor involved\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n }\n#else\n void RE_Direct_MToon( const in IncidentLight directLight, const in GeometricContext geometry, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {\n float dotNL = clamp( dot( geometry.normal, directLight.direction ), -1.0, 1.0 );\n vec3 irradiance = directLight.color;\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n irradiance *= PI;\n #endif\n #endif\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n\n irradiance *= dotNL;\n\n float shading = getShading( dotNL, shadow, material.shadingShift );\n\n // toon shaded diffuse\n reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );\n }\n\n void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in GeometricContext geometry, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {\n // indirect diffuse will use diffuseColor, no shadeColor involved\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n }\n#endif\n\n#define RE_Direct RE_Direct_MToon\n#define RE_IndirectDiffuse RE_IndirectDiffuse_MToon\n#define Material_LightProbeLOD( material ) (0)\n\n#include \n// #include \n\n// #include \n#ifdef USE_NORMALMAP\n\n uniform sampler2D normalMap;\n uniform mat3 normalMapUvTransform;\n uniform vec2 normalScale;\n\n#endif\n\n// COMPAT: USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151\n#if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )\n\n uniform mat3 normalMatrix;\n\n#endif\n\n// COMPAT: USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( TANGENTSPACE_NORMALMAP ) )\n\n // Per-Pixel Tangent Space Normal Mapping\n // http://hacksoflife.blogspot.ch/2009/11/per-pixel-tangent-space-normal-mapping.html\n\n // three-vrm specific change: it requires `uv` as an input in order to support uv scrolls\n\n // Temporary compat against shader change @ Three.js r126, r151\n #if THREE_VRM_THREE_REVISION >= 151\n\n mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\n vec3 q0 = dFdx( eye_pos.xyz );\n vec3 q1 = dFdy( eye_pos.xyz );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n vec3 N = surf_norm;\n\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\n return mat3( T * scale, B * scale, N );\n\n }\n\n #elif THREE_VRM_THREE_REVISION >= 126\n\n vec3 perturbNormal2Arb( vec2 uv, vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\n vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n vec3 N = normalize( surf_norm );\n\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n\n // three-vrm specific change: Workaround for the issue that happens when delta of uv = 0.0\n // TODO: Is this still required? Or shall I make a PR about it?\n if ( length( T ) == 0.0 || length( B ) == 0.0 ) {\n return surf_norm;\n }\n\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\n return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\n }\n\n #else\n\n vec3 perturbNormal2Arb( vec2 uv, vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\n\n // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988\n\n vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n float scale = sign( st1.t * st0.s - st0.t * st1.s ); // we do not care about the magnitude\n\n vec3 S = ( q0 * st1.t - q1 * st0.t ) * scale;\n vec3 T = ( - q0 * st1.s + q1 * st0.s ) * scale;\n\n // three-vrm specific change: Workaround for the issue that happens when delta of uv = 0.0\n // TODO: Is this still required? Or shall I make a PR about it?\n\n if ( length( S ) == 0.0 || length( T ) == 0.0 ) {\n return surf_norm;\n }\n\n S = normalize( S );\n T = normalize( T );\n vec3 N = normalize( surf_norm );\n\n #ifdef DOUBLE_SIDED\n\n // Workaround for Adreno GPUs gl_FrontFacing bug. See #15850 and #10331\n\n bool frontFacing = dot( cross( S, T ), N ) > 0.0;\n\n mapN.xy *= ( float( frontFacing ) * 2.0 - 1.0 );\n\n #else\n\n mapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\n #endif\n\n mat3 tsn = mat3( S, T, N );\n return normalize( tsn * mapN );\n\n }\n\n #endif\n\n#endif\n\n// #include \n#include \n#include \n\n// == post correction ==========================================================\nvoid postCorrection() {\n #include \n #include \n #include \n #include \n #include \n}\n\n// == main procedure ===========================================================\nvoid main() {\n #include \n\n vec2 uv = vec2(0.5, 0.5);\n\n #if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n uv = vUv;\n\n float uvAnimMask = 1.0;\n #ifdef USE_UVANIMATIONMASKTEXTURE\n vec2 uvAnimationMaskTextureUv = ( uvAnimationMaskTextureUvTransform * vec3( uv, 1 ) ).xy;\n uvAnimMask = texture2D( uvAnimationMaskTexture, uvAnimationMaskTextureUv ).b;\n #endif\n\n uv = uv + vec2( uvAnimationScrollXOffset, uvAnimationScrollYOffset ) * uvAnimMask;\n float uvRotCos = cos( uvAnimationRotationPhase * uvAnimMask );\n float uvRotSin = sin( uvAnimationRotationPhase * uvAnimMask );\n uv = mat2( uvRotCos, -uvRotSin, uvRotSin, uvRotCos ) * ( uv - 0.5 ) + 0.5;\n #endif\n\n #ifdef DEBUG_UV\n gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n #if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n gl_FragColor = vec4( uv, 0.0, 1.0 );\n #endif\n return;\n #endif\n\n vec4 diffuseColor = vec4( litFactor, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive * emissiveIntensity;\n\n #include \n\n // #include \n #ifdef USE_MAP\n vec2 mapUv = ( mapUvTransform * vec3( uv, 1 ) ).xy;\n vec4 sampledDiffuseColor = texture2D( map, mapUv );\n #ifdef DECODE_VIDEO_TEXTURE\n sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n #endif\n diffuseColor *= sampledDiffuseColor;\n #endif\n\n // #include \n #if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )\n diffuseColor.rgb *= vColor;\n #endif\n\n // #include \n\n #include \n\n // #include \n\n // #include \n float faceDirection = gl_FrontFacing ? 1.0 : -1.0;\n\n #ifdef FLAT_SHADED\n\n vec3 fdx = dFdx( vViewPosition );\n vec3 fdy = dFdy( vViewPosition );\n vec3 normal = normalize( cross( fdx, fdy ) );\n\n #else\n\n vec3 normal = normalize( vNormal );\n\n #ifdef DOUBLE_SIDED\n\n normal *= faceDirection;\n\n #endif\n\n #endif\n\n #ifdef USE_NORMALMAP\n\n vec2 normalMapUv = ( normalMapUvTransform * vec3( uv, 1 ) ).xy;\n\n #endif\n\n #ifdef USE_NORMALMAP_TANGENTSPACE\n\n #ifdef USE_TANGENT\n\n mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\n #else\n\n mat3 tbn = getTangentFrame( - vViewPosition, normal, normalMapUv );\n\n #endif\n\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\n tbn[0] *= faceDirection;\n tbn[1] *= faceDirection;\n\n #endif\n\n #endif\n\n #ifdef USE_CLEARCOAT_NORMALMAP\n\n #ifdef USE_TANGENT\n\n mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\n #else\n\n mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\n #endif\n\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\n tbn2[0] *= faceDirection;\n tbn2[1] *= faceDirection;\n\n #endif\n\n #endif\n\n // non perturbed normal for clearcoat among others\n\n vec3 nonPerturbedNormal = normal;\n\n #ifdef OUTLINE\n normal *= -1.0;\n #endif\n\n // #include \n\n // COMPAT: USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151\n #if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )\n\n normal = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals\n\n #ifdef FLIP_SIDED\n\n normal = - normal;\n\n #endif\n\n #ifdef DOUBLE_SIDED\n\n // Temporary compat against shader change @ Three.js r126\n // See: #21205, #21307, #21299\n #if THREE_VRM_THREE_REVISION >= 126\n\n normal = normal * faceDirection;\n\n #else\n\n normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\n #endif\n\n #endif\n\n normal = normalize( normalMatrix * normal );\n\n // COMPAT: USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151\n #elif defined( USE_NORMALMAP_TANGENTSPACE ) || defined( TANGENTSPACE_NORMALMAP )\n\n vec3 mapN = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0;\n mapN.xy *= normalScale;\n\n // COMPAT: pre-r151\n #if THREE_VRM_THREE_REVISION >= 151 || defined( USE_TANGENT )\n\n normal = normalize( tbn * mapN );\n\n #else\n\n // pre-r126\n #if THREE_VRM_THREE_REVISION >= 126\n\n normal = perturbNormal2Arb( uv, -vViewPosition, normal, mapN, faceDirection );\n\n #else\n\n normal = perturbNormal2Arb( uv, -vViewPosition, normal, mapN );\n\n #endif\n\n #endif\n\n #endif\n\n // #include \n #ifdef USE_EMISSIVEMAP\n vec2 emissiveMapUv = ( emissiveMapUvTransform * vec3( uv, 1 ) ).xy;\n totalEmissiveRadiance *= texture2D( emissiveMap, emissiveMapUv ).rgb;\n #endif\n\n #ifdef DEBUG_DEPTH\n const float bitSh = 256.0; // 8位 \n float depth = gl_FragCoord.z / gl_FragCoord.w / 2.0;\n float r = fract(depth); // 获取第一个8位 \n float g = fract(depth * bitSh); // 获取第二个8位 \n float b = fract(depth * bitSh * bitSh); // 获取第三个8位 \n gl_FragColor = vec4( r, g, b , 1.0 ); return; \n #endif\n #ifdef DEBUG_NORMAL\n gl_FragColor = vec4( 0.5 + 0.5 * normal, 1.0 );\n return;\n #endif\n\n // -- MToon: lighting --------------------------------------------------------\n // accumulation\n // #include \n MToonMaterial material;\n\n material.diffuseColor = diffuseColor.rgb;\n\n material.shadeColor = shadeColorFactor;\n #ifdef USE_SHADEMULTIPLYTEXTURE\n vec2 shadeMultiplyTextureUv = ( shadeMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;\n material.shadeColor *= texture2D( shadeMultiplyTexture, shadeMultiplyTextureUv ).rgb;\n #endif\n\n #if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )\n material.shadeColor.rgb *= vColor;\n #endif\n\n material.shadingShift = shadingShiftFactor;\n #ifdef USE_SHADINGSHIFTTEXTURE\n vec2 shadingShiftTextureUv = ( shadingShiftTextureUvTransform * vec3( uv, 1 ) ).xy;\n material.shadingShift += texture2D( shadingShiftTexture, shadingShiftTextureUv ).r * shadingShiftTextureScale;\n #endif\n\n // #include \n\n // MToon Specific changes:\n // Since we want to take shadows into account of shading instead of irradiance,\n // we had to modify the codes that multiplies the results of shadowmap into color of direct lights.\n\n #if THREE_VRM_THREE_REVISION >= 157\n vec3 geometryPosition = - vViewPosition;\n vec3 geometryNormal = normal;\n vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n \n vec3 geometryClearcoatNormal;\n\n #ifdef USE_CLEARCOAT\n\n geometryClearcoatNormal = clearcoatNormal;\n\n #endif\n #else\n GeometricContext geometry;\n\n geometry.position = - vViewPosition;\n geometry.normal = normal;\n geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n #ifdef USE_CLEARCOAT\n\n geometry.clearcoatNormal = clearcoatNormal;\n\n #endif\n #endif\n\n IncidentLight directLight;\n\n // since these variables will be used in unrolled loop, we have to define in prior\n float shadow;\n\n #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n pointLight = pointLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getPointLightInfo( pointLight, geometryPosition, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getPointLightInfo( pointLight, geometry, directLight );\n #else\n getPointDirectLightIrradiance( pointLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n SpotLight spotLight;\n #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n spotLight = spotLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getSpotLightInfo( spotLight, geometryPosition, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getSpotLightInfo( spotLight, geometry, directLight );\n #else\n getSpotDirectLightIrradiance( spotLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n directionalLight = directionalLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getDirectionalLightInfo( directionalLight, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getDirectionalLightInfo( directionalLight, geometry, directLight );\n #else\n getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n // #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n // RectAreaLight rectAreaLight;\n\n // #pragma unroll_loop_start\n // for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n // rectAreaLight = rectAreaLights[ i ];\n // RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n // }\n // #pragma unroll_loop_end\n\n // #endif\n\n #if defined( RE_IndirectDiffuse )\n\n vec3 iblIrradiance = vec3( 0.0 );\n\n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n #if THREE_VRM_THREE_REVISION >= 157\n #if defined( USE_LIGHT_PROBES )\n irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n #endif\n #elif THREE_VRM_THREE_REVISION >= 133\n irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n #else\n irradiance += getLightProbeIrradiance( lightProbe, geometry );\n #endif\n\n #if ( NUM_HEMI_LIGHTS > 0 )\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n #if THREE_VRM_THREE_REVISION >= 157\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n #elif THREE_VRM_THREE_REVISION >= 133\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n #else\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #endif\n\n // #if defined( RE_IndirectSpecular )\n\n // vec3 radiance = vec3( 0.0 );\n // vec3 clearcoatRadiance = vec3( 0.0 );\n\n // #endif\n\n #include \n #include \n\n // modulation\n #include \n\n vec3 col = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\n #ifdef DEBUG_LITSHADERATE\n gl_FragColor = vec4( col, diffuseColor.a );\n postCorrection();\n return;\n #endif\n\n // -- MToon: rim lighting -----------------------------------------\n vec3 viewDir = normalize( vViewPosition );\n\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n reflectedLight.directSpecular /= PI;\n #endif\n vec3 rimMix = mix( vec3( 1.0 ), reflectedLight.directSpecular, 1.0 );\n\n vec3 rim = parametricRimColorFactor * pow( saturate( 1.0 - dot( viewDir, normal ) + parametricRimLiftFactor ), parametricRimFresnelPowerFactor );\n\n #ifdef USE_MATCAPTEXTURE\n {\n vec3 x = normalize( vec3( viewDir.z, 0.0, -viewDir.x ) );\n vec3 y = cross( viewDir, x ); // guaranteed to be normalized\n vec2 sphereUv = 0.5 + 0.5 * vec2( dot( x, normal ), -dot( y, normal ) );\n sphereUv = ( matcapTextureUvTransform * vec3( sphereUv, 1 ) ).xy;\n vec3 matcap = texture2D( matcapTexture, sphereUv ).rgb;\n rim += matcapFactor * matcap;\n }\n #endif\n\n #ifdef USE_RIMMULTIPLYTEXTURE\n vec2 rimMultiplyTextureUv = ( rimMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;\n rim *= texture2D( rimMultiplyTexture, rimMultiplyTextureUv ).rgb;\n #endif\n\n col += rimMix * rim;\n\n // -- MToon: Emission --------------------------------------------------------\n col += totalEmissiveRadiance;\n\n // #include \n\n // -- Almost done! -----------------------------------------------------------\n #if defined( OUTLINE )\n col = outlineColorFactor.rgb * mix( vec3( 1.0 ), col, outlineLightingMixFactor );\n #endif\n\n #ifdef OPAQUE\n diffuseColor.a = 1.0;\n #endif\n\n gl_FragColor = vec4( col, diffuseColor.a );\n postCorrection();\n}\n"; /* eslint-disable @typescript-eslint/naming-convention */ /** * Specifiers of debug mode of {@link MToonMaterial}. * * See: {@link MToonMaterial.debugMode} */ const MToonMaterialDebugMode = { /** * Render normally. */ None: 'none', /** * Visualize normals of the surface. */ Normal: 'normal', /** * Visualize lit/shade of the surface. */ LitShadeRate: 'litShadeRate', /** * Visualize UV of the surface. */ UV: 'uv', DEPTH: 'depth', }; /* eslint-disable @typescript-eslint/naming-convention */ const MToonMaterialOutlineWidthMode = { None: 'none', WorldCoordinates: 'worldCoordinates', ScreenCoordinates: 'screenCoordinates', }; const encodingColorSpaceMap = { 3000: '', 3001: 'srgb', }; /** * A compat function to get texture color space. * * COMPAT: pre-r152 * Starting from Three.js r152, `texture.encoding` is renamed to `texture.colorSpace`. * This function will handle the comapt. * * @param texture The texture you want to get the color space from */ function getTextureColorSpace(texture) { if (parseInt(THREE.REVISION, 10) >= 152) { return texture.colorSpace; } else { return encodingColorSpaceMap[texture.encoding]; } } /* tslint:disable:member-ordering */ /** * MToon is a material specification that has various features. * The spec and implementation are originally founded for Unity engine and this is a port of the material. * * See: https://github.com/Santarh/MToon */ class MToonMaterial extends THREE.ShaderMaterial { get color() { return this.uniforms.litFactor.value; } set color(value) { this.uniforms.litFactor.value = value; } get map() { return this.uniforms.map.value; } set map(value) { this.uniforms.map.value = value; } get normalMap() { return this.uniforms.normalMap.value; } set normalMap(value) { this.uniforms.normalMap.value = value; } get normalScale() { return this.uniforms.normalScale.value; } set normalScale(value) { this.uniforms.normalScale.value = value; } get emissive() { return this.uniforms.emissive.value; } set emissive(value) { this.uniforms.emissive.value = value; } get emissiveIntensity() { return this.uniforms.emissiveIntensity.value; } set emissiveIntensity(value) { this.uniforms.emissiveIntensity.value = value; } get emissiveMap() { return this.uniforms.emissiveMap.value; } set emissiveMap(value) { this.uniforms.emissiveMap.value = value; } get shadeColorFactor() { return this.uniforms.shadeColorFactor.value; } set shadeColorFactor(value) { this.uniforms.shadeColorFactor.value = value; } get shadeMultiplyTexture() { return this.uniforms.shadeMultiplyTexture.value; } set shadeMultiplyTexture(value) { this.uniforms.shadeMultiplyTexture.value = value; } get shadingShiftFactor() { return this.uniforms.shadingShiftFactor.value; } set shadingShiftFactor(value) { this.uniforms.shadingShiftFactor.value = value; } get shadingShiftTexture() { return this.uniforms.shadingShiftTexture.value; } set shadingShiftTexture(value) { this.uniforms.shadingShiftTexture.value = value; } get shadingShiftTextureScale() { return this.uniforms.shadingShiftTextureScale.value; } set shadingShiftTextureScale(value) { this.uniforms.shadingShiftTextureScale.value = value; } get shadingToonyFactor() { return this.uniforms.shadingToonyFactor.value; } set shadingToonyFactor(value) { this.uniforms.shadingToonyFactor.value = value; } get giEqualizationFactor() { return this.uniforms.giEqualizationFactor.value; } set giEqualizationFactor(value) { this.uniforms.giEqualizationFactor.value = value; } get matcapFactor() { return this.uniforms.matcapFactor.value; } set matcapFactor(value) { this.uniforms.matcapFactor.value = value; } get matcapTexture() { return this.uniforms.matcapTexture.value; } set matcapTexture(value) { this.uniforms.matcapTexture.value = value; } get parametricRimColorFactor() { return this.uniforms.parametricRimColorFactor.value; } set parametricRimColorFactor(value) { this.uniforms.parametricRimColorFactor.value = value; } get rimMultiplyTexture() { return this.uniforms.rimMultiplyTexture.value; } set rimMultiplyTexture(value) { this.uniforms.rimMultiplyTexture.value = value; } get rimLightingMixFactor() { return this.uniforms.rimLightingMixFactor.value; } set rimLightingMixFactor(value) { this.uniforms.rimLightingMixFactor.value = value; } get parametricRimFresnelPowerFactor() { return this.uniforms.parametricRimFresnelPowerFactor.value; } set parametricRimFresnelPowerFactor(value) { this.uniforms.parametricRimFresnelPowerFactor.value = value; } get parametricRimLiftFactor() { return this.uniforms.parametricRimLiftFactor.value; } set parametricRimLiftFactor(value) { this.uniforms.parametricRimLiftFactor.value = value; } get outlineWidthMultiplyTexture() { return this.uniforms.outlineWidthMultiplyTexture.value; } set outlineWidthMultiplyTexture(value) { this.uniforms.outlineWidthMultiplyTexture.value = value; } get outlineWidthFactor() { return this.uniforms.outlineWidthFactor.value; } set outlineWidthFactor(value) { this.uniforms.outlineWidthFactor.value = value; } get outlineColorFactor() { return this.uniforms.outlineColorFactor.value; } set outlineColorFactor(value) { this.uniforms.outlineColorFactor.value = value; } get outlineLightingMixFactor() { return this.uniforms.outlineLightingMixFactor.value; } set outlineLightingMixFactor(value) { this.uniforms.outlineLightingMixFactor.value = value; } get uvAnimationMaskTexture() { return this.uniforms.uvAnimationMaskTexture.value; } set uvAnimationMaskTexture(value) { this.uniforms.uvAnimationMaskTexture.value = value; } get uvAnimationScrollXOffset() { return this.uniforms.uvAnimationScrollXOffset.value; } set uvAnimationScrollXOffset(value) { this.uniforms.uvAnimationScrollXOffset.value = value; } get uvAnimationScrollYOffset() { return this.uniforms.uvAnimationScrollYOffset.value; } set uvAnimationScrollYOffset(value) { this.uniforms.uvAnimationScrollYOffset.value = value; } get uvAnimationRotationPhase() { return this.uniforms.uvAnimationRotationPhase.value; } set uvAnimationRotationPhase(value) { this.uniforms.uvAnimationRotationPhase.value = value; } /** * When this is `true`, vertex colors will be ignored. * `true` by default. */ get ignoreVertexColor() { return this._ignoreVertexColor; } set ignoreVertexColor(value) { this._ignoreVertexColor = value; this.needsUpdate = true; } /** * There is a line of the shader called "comment out if you want to PBR absolutely" in VRM0.0 MToon. * When this is true, the material enables the line to make it compatible with the legacy rendering of VRM. * Usually not recommended to turn this on. * `false` by default. */ get v0CompatShade() { return this._v0CompatShade; } /** * There is a line of the shader called "comment out if you want to PBR absolutely" in VRM0.0 MToon. * When this is true, the material enables the line to make it compatible with the legacy rendering of VRM. * Usually not recommended to turn this on. * `false` by default. */ set v0CompatShade(v) { this._v0CompatShade = v; this.needsUpdate = true; } /** * Debug mode for the material. * You can visualize several components for diagnosis using debug mode. * * See: {@link MToonMaterialDebugMode} */ get debugMode() { return this._debugMode; } /** * Debug mode for the material. * You can visualize several components for diagnosis using debug mode. * * See: {@link MToonMaterialDebugMode} */ set debugMode(m) { this._debugMode = m; this.needsUpdate = true; } get outlineWidthMode() { return this._outlineWidthMode; } set outlineWidthMode(m) { this._outlineWidthMode = m; this.needsUpdate = true; } get isOutline() { return this._isOutline; } set isOutline(b) { this._isOutline = b; this.needsUpdate = true; } /** * Readonly boolean that indicates this is a [[MToonMaterial]]. */ get isMToonMaterial() { return true; } constructor(parameters = {}) { super({ vertexShader, fragmentShader }); this.uvAnimationScrollXSpeedFactor = 0.0; this.uvAnimationScrollYSpeedFactor = 0.0; this.uvAnimationRotationSpeedFactor = 0.0; /** * Whether the material is affected by fog. * `true` by default. */ this.fog = true; /** * Will be read in WebGLPrograms * * See: https://github.com/mrdoob/three.js/blob/4f5236ac3d6f41d904aa58401b40554e8fbdcb15/src/renderers/webgl/WebGLPrograms.js#L190-L191 */ this.normalMapType = THREE.TangentSpaceNormalMap; /** * When this is `true`, vertex colors will be ignored. * `true` by default. */ this._ignoreVertexColor = true; this._v0CompatShade = false; this._debugMode = MToonMaterialDebugMode.None; this._outlineWidthMode = MToonMaterialOutlineWidthMode.None; this._isOutline = false; // override depthWrite with transparentWithZWrite if (parameters.transparentWithZWrite) { parameters.depthWrite = true; } delete parameters.transparentWithZWrite; // == enabling bunch of stuff ================================================================== parameters.fog = true; parameters.lights = true; parameters.clipping = true; // COMPAT: pre-r129 // See: https://github.com/mrdoob/three.js/pull/21788 if (parseInt(THREE.REVISION, 10) < 129) { parameters.skinning = parameters.skinning || false; } // COMPAT: pre-r131 // See: https://github.com/mrdoob/three.js/pull/22169 if (parseInt(THREE.REVISION, 10) < 131) { parameters.morphTargets = parameters.morphTargets || false; parameters.morphNormals = parameters.morphNormals || false; } // == uniforms ================================================================================= this.uniforms = THREE.UniformsUtils.merge([ THREE.UniformsLib.common, THREE.UniformsLib.normalmap, THREE.UniformsLib.emissivemap, THREE.UniformsLib.fog, THREE.UniformsLib.lights, { litFactor: { value: new THREE.Color(1.0, 1.0, 1.0) }, mapUvTransform: { value: new THREE.Matrix3() }, colorAlpha: { value: 1.0 }, normalMapUvTransform: { value: new THREE.Matrix3() }, shadeColorFactor: { value: new THREE.Color(0.97, 0.81, 0.86) }, shadeMultiplyTexture: { value: null }, shadeMultiplyTextureUvTransform: { value: new THREE.Matrix3() }, shadingShiftFactor: { value: 0.0 }, shadingShiftTexture: { value: null }, shadingShiftTextureUvTransform: { value: new THREE.Matrix3() }, shadingShiftTextureScale: { value: 1.0 }, shadingToonyFactor: { value: 0.9 }, giEqualizationFactor: { value: 0.9 }, matcapFactor: { value: new THREE.Color(0.0, 0.0, 0.0) }, matcapTexture: { value: null }, matcapTextureUvTransform: { value: new THREE.Matrix3() }, parametricRimColorFactor: { value: new THREE.Color(0.0, 0.0, 0.0) }, rimMultiplyTexture: { value: null }, rimMultiplyTextureUvTransform: { value: new THREE.Matrix3() }, rimLightingMixFactor: { value: 0.0 }, parametricRimFresnelPowerFactor: { value: 1.0 }, parametricRimLiftFactor: { value: 0.0 }, emissive: { value: new THREE.Color(0.0, 0.0, 0.0) }, emissiveIntensity: { value: 1.0 }, emissiveMapUvTransform: { value: new THREE.Matrix3() }, outlineWidthMultiplyTexture: { value: null }, outlineWidthMultiplyTextureUvTransform: { value: new THREE.Matrix3() }, outlineWidthFactor: { value: 0.5 }, outlineColorFactor: { value: new THREE.Color(0.0, 0.0, 0.0) }, outlineLightingMixFactor: { value: 1.0 }, uvAnimationMaskTexture: { value: null }, uvAnimationMaskTextureUvTransform: { value: new THREE.Matrix3() }, uvAnimationScrollXOffset: { value: 0.0 }, uvAnimationScrollYOffset: { value: 0.0 }, uvAnimationRotationPhase: { value: 0.0 }, }, parameters.uniforms, ]); // == finally compile the shader program ======================================================= this.setValues(parameters); // == upload uniforms that need to upload ====================================================== this._uploadUniformsWorkaround(); // == update shader stuff ====================================================================== this.customProgramCacheKey = () => [ ...Object.entries(this._generateDefines()).map(([token, macro]) => `${token}:${macro}`), this.matcapTexture ? `matcapTextureColorSpace:${getTextureColorSpace(this.matcapTexture)}` : '', this.shadeMultiplyTexture ? `shadeMultiplyTextureColorSpace:${getTextureColorSpace(this.shadeMultiplyTexture)}` : '', this.rimMultiplyTexture ? `rimMultiplyTextureColorSpace:${getTextureColorSpace(this.rimMultiplyTexture)}` : '', ].join(','); this.onBeforeCompile = (shader) => { const threeRevision = parseInt(THREE.REVISION, 10); const defines = Object.entries(Object.assign(Object.assign({}, this._generateDefines()), this.defines)) .filter(([token, macro]) => !!macro) .map(([token, macro]) => `#define ${token} ${macro}`) .join('\n') + '\n'; // -- generate shader code ------------------------------------------------------------------- shader.vertexShader = defines + shader.vertexShader; shader.fragmentShader = defines + shader.fragmentShader; // -- compat --------------------------------------------------------------------------------- // COMPAT: pre-r154 // Three.js r154 renames the shader chunk to if (threeRevision < 154) { shader.fragmentShader = shader.fragmentShader.replace('#include ', '#include '); } // COMPAT: pre-r132 // Three.js r132 introduces new shader chunks and if (threeRevision < 132) { shader.fragmentShader = shader.fragmentShader.replace('#include ', ''); shader.fragmentShader = shader.fragmentShader.replace('#include ', ''); } }; } /** * Update this material. * * @param delta deltaTime since last update */ update(delta) { this._uploadUniformsWorkaround(); this._updateUVAnimation(delta); } copy(source) { super.copy(source); // uniforms are already copied at this moment // Beginning from r133, uniform textures will be cloned instead of reference // See: https://github.com/mrdoob/three.js/blob/a8813be04a849bd155f7cf6f1b23d8ee2e0fb48b/examples/jsm/loaders/GLTFLoader.js#L3047 // See: https://github.com/mrdoob/three.js/blob/a8813be04a849bd155f7cf6f1b23d8ee2e0fb48b/src/renderers/shaders/UniformsUtils.js#L22 // This will leave their `.version` to be `0` // and these textures won't be uploaded to GPU // We are going to workaround this in here // I've opened an issue for this: https://github.com/mrdoob/three.js/issues/22718 this.map = source.map; this.normalMap = source.normalMap; this.emissiveMap = source.emissiveMap; this.shadeMultiplyTexture = source.shadeMultiplyTexture; this.shadingShiftTexture = source.shadingShiftTexture; this.matcapTexture = source.matcapTexture; this.rimMultiplyTexture = source.rimMultiplyTexture; this.outlineWidthMultiplyTexture = source.outlineWidthMultiplyTexture; this.uvAnimationMaskTexture = source.uvAnimationMaskTexture; // == copy members ============================================================================= this.normalMapType = source.normalMapType; this.uvAnimationScrollXSpeedFactor = source.uvAnimationScrollXSpeedFactor; this.uvAnimationScrollYSpeedFactor = source.uvAnimationScrollYSpeedFactor; this.uvAnimationRotationSpeedFactor = source.uvAnimationRotationSpeedFactor; this.ignoreVertexColor = source.ignoreVertexColor; this.v0CompatShade = source.v0CompatShade; this.debugMode = source.debugMode; this.outlineWidthMode = source.outlineWidthMode; this.isOutline = source.isOutline; // == update shader stuff ====================================================================== this.needsUpdate = true; return this; } /** * Update UV animation state. * Intended to be called via {@link update}. * @param delta deltaTime */ _updateUVAnimation(delta) { this.uniforms.uvAnimationScrollXOffset.value += delta * this.uvAnimationScrollXSpeedFactor; this.uniforms.uvAnimationScrollYOffset.value += delta * this.uvAnimationScrollYSpeedFactor; this.uniforms.uvAnimationRotationPhase.value += delta * this.uvAnimationRotationSpeedFactor; this.uniformsNeedUpdate = true; } /** * Upload uniforms that need to upload but doesn't automatically because of reasons. * Intended to be called via {@link constructor} and {@link update}. */ _uploadUniformsWorkaround() { // workaround: since opacity is defined as a property in THREE.Material // and cannot be overridden as an accessor, // We are going to update opacity here this.uniforms.opacity.value = this.opacity; // workaround: texture transforms are not updated automatically this._updateTextureMatrix(this.uniforms.map, this.uniforms.mapUvTransform); this._updateTextureMatrix(this.uniforms.normalMap, this.uniforms.normalMapUvTransform); this._updateTextureMatrix(this.uniforms.emissiveMap, this.uniforms.emissiveMapUvTransform); this._updateTextureMatrix(this.uniforms.shadeMultiplyTexture, this.uniforms.shadeMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.shadingShiftTexture, this.uniforms.shadingShiftTextureUvTransform); this._updateTextureMatrix(this.uniforms.matcapTexture, this.uniforms.matcapTextureUvTransform); this._updateTextureMatrix(this.uniforms.rimMultiplyTexture, this.uniforms.rimMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.outlineWidthMultiplyTexture, this.uniforms.outlineWidthMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.uvAnimationMaskTexture, this.uniforms.uvAnimationMaskTextureUvTransform); // COMPAT workaround: starting from r132, alphaTest becomes a uniform instead of preprocessor value const threeRevision = parseInt(THREE.REVISION, 10); if (threeRevision >= 132) { this.uniforms.alphaTest.value = this.alphaTest; } this.uniformsNeedUpdate = true; } /** * Returns a map object of preprocessor token and macro of the shader program. */ _generateDefines() { const threeRevision = parseInt(THREE.REVISION, 10); const useUvInVert = this.outlineWidthMultiplyTexture !== null; const useUvInFrag = this.map !== null || this.emissiveMap !== null || this.shadeMultiplyTexture !== null || this.shadingShiftTexture !== null || this.rimMultiplyTexture !== null || this.uvAnimationMaskTexture !== null; return { // Temporary compat against shader change @ Three.js r126 // See: #21205, #21307, #21299 THREE_VRM_THREE_REVISION: threeRevision, OUTLINE: this._isOutline, MTOON_USE_UV: useUvInVert || useUvInFrag, MTOON_UVS_VERTEX_ONLY: useUvInVert && !useUvInFrag, V0_COMPAT_SHADE: this._v0CompatShade, USE_SHADEMULTIPLYTEXTURE: this.shadeMultiplyTexture !== null, USE_SHADINGSHIFTTEXTURE: this.shadingShiftTexture !== null, USE_MATCAPTEXTURE: this.matcapTexture !== null, USE_RIMMULTIPLYTEXTURE: this.rimMultiplyTexture !== null, USE_OUTLINEWIDTHMULTIPLYTEXTURE: this._isOutline && this.outlineWidthMultiplyTexture !== null, USE_UVANIMATIONMASKTEXTURE: this.uvAnimationMaskTexture !== null, IGNORE_VERTEX_COLOR: this._ignoreVertexColor === true, DEBUG_NORMAL: this._debugMode === 'normal', DEBUG_LITSHADERATE: this._debugMode === 'litShadeRate', DEBUG_UV: this._debugMode === 'uv', DEBUG_DEPTH: this._debugMode === 'depth', OUTLINE_WIDTH_WORLD: this._isOutline && this._outlineWidthMode === MToonMaterialOutlineWidthMode.WorldCoordinates, OUTLINE_WIDTH_SCREEN: this._isOutline && this._outlineWidthMode === MToonMaterialOutlineWidthMode.ScreenCoordinates, }; } _updateTextureMatrix(src, dst) { if (src.value) { if (src.value.matrixAutoUpdate) { src.value.updateMatrix(); } dst.value.copy(src.value.matrix); } } } const colorSpaceEncodingMap = { '': 3000, srgb: 3001, }; /** * A compat function to set texture color space. * * COMPAT: pre-r152 * Starting from Three.js r152, `texture.encoding` is renamed to `texture.colorSpace`. * This function will handle the comapt. * * @param texture The texture you want to set the color space to * @param colorSpace The color space you want to set to the texture */ function setTextureColorSpace(texture, colorSpace) { if (parseInt(THREE.REVISION, 10) >= 152) { texture.colorSpace = colorSpace; } else { texture.encoding = colorSpaceEncodingMap[colorSpace]; } } /** * MaterialParameters hates `undefined`. This helper automatically rejects assign of these `undefined`. * It also handles asynchronous process of textures. * Make sure await for {@link GLTFMToonMaterialParamsAssignHelper.pending}. */ class GLTFMToonMaterialParamsAssignHelper { get pending() { return Promise.all(this._pendings); } constructor(parser, materialParams) { this._parser = parser; this._materialParams = materialParams; this._pendings = []; } assignPrimitive(key, value) { if (value != null) { this._materialParams[key] = value; } } assignColor(key, value, convertSRGBToLinear) { if (value != null) { this._materialParams[key] = new THREE.Color().fromArray(value); if (convertSRGBToLinear) { this._materialParams[key].convertSRGBToLinear(); } } } assignTexture(key, texture, isColorTexture) { return __awaiter$4(this, void 0, void 0, function* () { const promise = (() => __awaiter$4(this, void 0, void 0, function* () { if (texture != null) { yield this._parser.assignTexture(this._materialParams, key, texture); if (isColorTexture) { setTextureColorSpace(this._materialParams[key], 'srgb'); } } }))(); this._pendings.push(promise); return promise; }); } assignTextureByIndex(key, textureIndex, isColorTexture) { return __awaiter$4(this, void 0, void 0, function* () { return this.assignTexture(key, textureIndex != null ? { index: textureIndex } : undefined, isColorTexture); }); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$2 = new Set(['1.0', '1.0-beta']); class MToonMaterialLoaderPlugin { get name() { return MToonMaterialLoaderPlugin.EXTENSION_NAME; } constructor(parser, options = {}) { var _a, _b, _c; this.parser = parser; this.renderOrderOffset = (_a = options.renderOrderOffset) !== null && _a !== void 0 ? _a : 0; this.v0CompatShade = (_b = options.v0CompatShade) !== null && _b !== void 0 ? _b : false; this.debugMode = (_c = options.debugMode) !== null && _c !== void 0 ? _c : 'none'; this._mToonMaterialSet = new Set(); } beforeRoot() { return __awaiter$4(this, void 0, void 0, function* () { this._removeUnlitExtensionIfMToonExists(); }); } afterRoot(gltf) { return __awaiter$4(this, void 0, void 0, function* () { gltf.userData.vrmMToonMaterials = Array.from(this._mToonMaterialSet); }); } getMaterialType(materialIndex) { const v1Extension = this._getMToonExtension(materialIndex); if (v1Extension) { return MToonMaterial; } return null; } extendMaterialParams(materialIndex, materialParams) { const extension = this._getMToonExtension(materialIndex); if (extension) { return this._extendMaterialParams(extension, materialParams); } return null; } loadMesh(meshIndex) { var _a; return __awaiter$4(this, void 0, void 0, function* () { const parser = this.parser; const json = parser.json; const meshDef = (_a = json.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex]; if (meshDef == null) { throw new Error(`MToonMaterialLoaderPlugin: Attempt to use meshes[${meshIndex}] of glTF but the mesh doesn't exist`); } const primitivesDef = meshDef.primitives; const meshOrGroup = yield parser.loadMesh(meshIndex); if (primitivesDef.length === 1) { const mesh = meshOrGroup; const materialIndex = primitivesDef[0].material; if (materialIndex != null) { this._setupPrimitive(mesh, materialIndex); } } else { const group = meshOrGroup; for (let i = 0; i < primitivesDef.length; i++) { const mesh = group.children[i]; const materialIndex = primitivesDef[i].material; if (materialIndex != null) { this._setupPrimitive(mesh, materialIndex); } } } return meshOrGroup; }); } /** * Delete use of `KHR_materials_unlit` from its `materials` if the material is using MToon. * * Since GLTFLoader have so many hardcoded procedure related to `KHR_materials_unlit` * we have to delete the extension before we start to parse the glTF. */ _removeUnlitExtensionIfMToonExists() { const parser = this.parser; const json = parser.json; const materialDefs = json.materials; materialDefs === null || materialDefs === void 0 ? void 0 : materialDefs.map((materialDef, iMaterial) => { var _a; const extension = this._getMToonExtension(iMaterial); if (extension && ((_a = materialDef.extensions) === null || _a === void 0 ? void 0 : _a['KHR_materials_unlit'])) { delete materialDef.extensions['KHR_materials_unlit']; } }); } _getMToonExtension(materialIndex) { var _a, _b; const parser = this.parser; const json = parser.json; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`MToonMaterialLoaderPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return undefined; } const extension = (_b = materialDef.extensions) === null || _b === void 0 ? void 0 : _b[MToonMaterialLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return undefined; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$2.has(specVersion)) { console.warn(`MToonMaterialLoaderPlugin: Unknown ${MToonMaterialLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return undefined; } return extension; } _extendMaterialParams(extension, materialParams) { var _a; return __awaiter$4(this, void 0, void 0, function* () { // Removing material params that is not required to supress warnings. delete materialParams.metalness; delete materialParams.roughness; const assignHelper = new GLTFMToonMaterialParamsAssignHelper(this.parser, materialParams); assignHelper.assignPrimitive('transparentWithZWrite', extension.transparentWithZWrite); assignHelper.assignColor('shadeColorFactor', extension.shadeColorFactor); assignHelper.assignTexture('shadeMultiplyTexture', extension.shadeMultiplyTexture, true); assignHelper.assignPrimitive('shadingShiftFactor', extension.shadingShiftFactor); assignHelper.assignTexture('shadingShiftTexture', extension.shadingShiftTexture, true); assignHelper.assignPrimitive('shadingShiftTextureScale', (_a = extension.shadingShiftTexture) === null || _a === void 0 ? void 0 : _a.scale); assignHelper.assignPrimitive('shadingToonyFactor', extension.shadingToonyFactor); assignHelper.assignPrimitive('giEqualizationFactor', extension.giEqualizationFactor); assignHelper.assignColor('matcapFactor', extension.matcapFactor); assignHelper.assignTexture('matcapTexture', extension.matcapTexture, true); assignHelper.assignColor('parametricRimColorFactor', extension.parametricRimColorFactor); assignHelper.assignTexture('rimMultiplyTexture', extension.rimMultiplyTexture, true); assignHelper.assignPrimitive('rimLightingMixFactor', extension.rimLightingMixFactor); assignHelper.assignPrimitive('parametricRimFresnelPowerFactor', extension.parametricRimFresnelPowerFactor); assignHelper.assignPrimitive('parametricRimLiftFactor', extension.parametricRimLiftFactor); assignHelper.assignPrimitive('outlineWidthMode', extension.outlineWidthMode); assignHelper.assignPrimitive('outlineWidthFactor', extension.outlineWidthFactor); assignHelper.assignTexture('outlineWidthMultiplyTexture', extension.outlineWidthMultiplyTexture, false); assignHelper.assignColor('outlineColorFactor', extension.outlineColorFactor); assignHelper.assignPrimitive('outlineLightingMixFactor', extension.outlineLightingMixFactor); assignHelper.assignTexture('uvAnimationMaskTexture', extension.uvAnimationMaskTexture, false); assignHelper.assignPrimitive('uvAnimationScrollXSpeedFactor', extension.uvAnimationScrollXSpeedFactor); assignHelper.assignPrimitive('uvAnimationScrollYSpeedFactor', extension.uvAnimationScrollYSpeedFactor); assignHelper.assignPrimitive('uvAnimationRotationSpeedFactor', extension.uvAnimationRotationSpeedFactor); assignHelper.assignPrimitive('v0CompatShade', this.v0CompatShade); assignHelper.assignPrimitive('debugMode', this.debugMode); yield assignHelper.pending; }); } /** * This will do two processes that is required to render MToon properly. * * - Set render order * - Generate outline * * @param mesh A target GLTF primitive * @param materialIndex The material index of the primitive */ _setupPrimitive(mesh, materialIndex) { const extension = this._getMToonExtension(materialIndex); if (extension) { const renderOrder = this._parseRenderOrder(extension); mesh.renderOrder = renderOrder + this.renderOrderOffset; this._generateOutline(mesh); this._addToMaterialSet(mesh); return; } } /** * Generate outline for the given mesh, if it needs. * * @param mesh The target mesh */ _generateOutline(mesh) { // OK, it's the hacky part. // We are going to duplicate the MToonMaterial for outline use. // Then we are going to create two geometry groups and refer same buffer but different material. // It's how we draw two materials at once using a single mesh. // make sure the material is mtoon const surfaceMaterial = mesh.material; if (!(surfaceMaterial instanceof MToonMaterial)) { return; } // check whether we really have to prepare outline or not if (surfaceMaterial.outlineWidthMode === 'none' || surfaceMaterial.outlineWidthFactor <= 0.0) { return; } // make its material an array mesh.material = [surfaceMaterial]; // mesh.material is guaranteed to be a Material in GLTFLoader // duplicate the material for outline use const outlineMaterial = surfaceMaterial.clone(); outlineMaterial.name += ' (Outline)'; outlineMaterial.isOutline = true; outlineMaterial.side = THREE.BackSide; mesh.material.push(outlineMaterial); // make two geometry groups out of a same buffer const geometry = mesh.geometry; // mesh.geometry is guaranteed to be a BufferGeometry in GLTFLoader const primitiveVertices = geometry.index ? geometry.index.count : geometry.attributes.position.count / 3; geometry.addGroup(0, primitiveVertices, 0); geometry.addGroup(0, primitiveVertices, 1); } _addToMaterialSet(mesh) { const materialOrMaterials = mesh.material; const materialSet = new Set(); if (Array.isArray(materialOrMaterials)) { materialOrMaterials.forEach((material) => materialSet.add(material)); } else { materialSet.add(materialOrMaterials); } for (const material of materialSet) { if (material instanceof MToonMaterial) { this._mToonMaterialSet.add(material); } } } _parseRenderOrder(extension) { var _a; // transparentWithZWrite ranges from 0 to +9 // mere transparent ranges from -9 to 0 const enabledZWrite = extension.transparentWithZWrite; return (enabledZWrite ? 0 : 19) + ((_a = extension.renderQueueOffsetNumber) !== null && _a !== void 0 ? _a : 0); } } MToonMaterialLoaderPlugin.EXTENSION_NAME = 'VRMC_materials_mtoon'; /*! * @pixiv/three-vrm-materials-hdr-emissive-multiplier v2.0.6 * Support VRMC_hdr_emissiveMultiplier for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-hdr-emissive-multiplier is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$3(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } class VRMMaterialsHDREmissiveMultiplierLoaderPlugin { get name() { return VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME; } constructor(parser) { this.parser = parser; } extendMaterialParams(materialIndex, materialParams) { return __awaiter$3(this, void 0, void 0, function* () { const extension = this._getHDREmissiveMultiplierExtension(materialIndex); if (extension == null) { return; } // This extension is archived. Emit warning // See: https://github.com/vrm-c/vrm-specification/pull/375 console.warn('VRMMaterialsHDREmissiveMultiplierLoaderPlugin: `VRMC_materials_hdr_emissiveMultiplier` is archived. Use `KHR_materials_emissive_strength` instead.'); const emissiveMultiplier = extension.emissiveMultiplier; materialParams.emissiveIntensity = emissiveMultiplier; }); } _getHDREmissiveMultiplierExtension(materialIndex) { var _a, _b; const parser = this.parser; const json = parser.json; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`VRMMaterialsHDREmissiveMultiplierLoaderPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return undefined; } const extension = (_b = materialDef.extensions) === null || _b === void 0 ? void 0 : _b[VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return undefined; } return extension; } } VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME = 'VRMC_materials_hdr_emissiveMultiplier'; /*! * @pixiv/three-vrm-materials-v0compat v2.0.6 * VRM0.0 materials compatibility layer plugin for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-v0compat is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$2(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function gammaEOTF(e) { return Math.pow(e, 2.2); } class VRMMaterialsV0CompatPlugin { get name() { return 'VRMMaterialsV0CompatPlugin'; } constructor(parser) { var _a; this.parser = parser; this._renderQueueMapTransparent = new Map(); this._renderQueueMapTransparentZWrite = new Map(); // WORKAROUND: Add KHR_texture_transform to extensionsUsed // It is too late to add this in beforeRoot const json = this.parser.json; json.extensionsUsed = (_a = json.extensionsUsed) !== null && _a !== void 0 ? _a : []; if (json.extensionsUsed.indexOf('KHR_texture_transform') === -1) { json.extensionsUsed.push('KHR_texture_transform'); } } beforeRoot() { var _a; return __awaiter$2(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use V0VRM const v0VRMExtension = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a['VRM']; const v0MaterialProperties = v0VRMExtension === null || v0VRMExtension === void 0 ? void 0 : v0VRMExtension.materialProperties; if (!v0MaterialProperties) { return; } // populate render queue map this._populateRenderQueueMap(v0MaterialProperties); // convert V0 material properties into V1 compatible format v0MaterialProperties.forEach((materialProperties, materialIndex) => { var _a, _b; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return; } if (materialProperties.shader === 'VRM/MToon') { const material = this._parseV0MToonProperties(materialProperties, materialDef); json.materials[materialIndex] = material; } else if ((_b = materialProperties.shader) === null || _b === void 0 ? void 0 : _b.startsWith('VRM/Unlit')) { const material = this._parseV0UnlitProperties(materialProperties, materialDef); json.materials[materialIndex] = material; } else if (materialProperties.shader === 'VRM_USE_GLTFSHADER') ; else { console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${materialProperties.shader}`); } }); }); } _parseV0MToonProperties(materialProperties, schemaMaterial) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; const transparentWithZWrite = enabledZWrite && isTransparent; const renderQueueOffsetNumber = this._v0ParseRenderQueue(materialProperties); const isCutoff = (_e = (_d = materialProperties.keywordMap) === null || _d === void 0 ? void 0 : _d['_ALPHATEST_ON']) !== null && _e !== void 0 ? _e : false; const alphaMode = isTransparent ? 'BLEND' : isCutoff ? 'MASK' : 'OPAQUE'; const alphaCutoff = isCutoff ? (_f = materialProperties.floatProperties) === null || _f === void 0 ? void 0 : _f['_Cutoff'] : undefined; const cullMode = (_h = (_g = materialProperties.floatProperties) === null || _g === void 0 ? void 0 : _g['_CullMode']) !== null && _h !== void 0 ? _h : 2; // enum, { Off, Front, Back } const doubleSided = cullMode === 0; const textureTransformExt = this._portTextureTransform(materialProperties); const baseColorFactor = (_k = (_j = materialProperties.vectorProperties) === null || _j === void 0 ? void 0 : _j['_Color']) === null || _k === void 0 ? void 0 : _k.map((v, i) => (i === 3 ? v : gammaEOTF(v))); const baseColorTextureIndex = (_l = materialProperties.textureProperties) === null || _l === void 0 ? void 0 : _l['_MainTex']; const baseColorTexture = baseColorTextureIndex != null ? { index: baseColorTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const normalTextureScale = (_m = materialProperties.floatProperties) === null || _m === void 0 ? void 0 : _m['_BumpScale']; const normalTextureIndex = (_o = materialProperties.textureProperties) === null || _o === void 0 ? void 0 : _o['_BumpMap']; const normalTexture = normalTextureIndex != null ? { index: normalTextureIndex, scale: normalTextureScale, extensions: Object.assign({}, textureTransformExt), } : undefined; const emissiveFactor = (_q = (_p = materialProperties.vectorProperties) === null || _p === void 0 ? void 0 : _p['_EmissionColor']) === null || _q === void 0 ? void 0 : _q.map(gammaEOTF); const emissiveTextureIndex = (_r = materialProperties.textureProperties) === null || _r === void 0 ? void 0 : _r['_EmissionMap']; const emissiveTexture = emissiveTextureIndex != null ? { index: emissiveTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const shadeColorFactor = (_t = (_s = materialProperties.vectorProperties) === null || _s === void 0 ? void 0 : _s['_ShadeColor']) === null || _t === void 0 ? void 0 : _t.map(gammaEOTF); const shadeMultiplyTextureIndex = (_u = materialProperties.textureProperties) === null || _u === void 0 ? void 0 : _u['_ShadeTexture']; const shadeMultiplyTexture = shadeMultiplyTextureIndex != null ? { index: shadeMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; // // convert v0 shade shift / shade toony let shadingShiftFactor = (_w = (_v = materialProperties.floatProperties) === null || _v === void 0 ? void 0 : _v['_ShadeShift']) !== null && _w !== void 0 ? _w : 0.0; let shadingToonyFactor = (_y = (_x = materialProperties.floatProperties) === null || _x === void 0 ? void 0 : _x['_ShadeToony']) !== null && _y !== void 0 ? _y : 0.9; shadingToonyFactor = THREE.MathUtils.lerp(shadingToonyFactor, 1.0, 0.5 + 0.5 * shadingShiftFactor); shadingShiftFactor = -shadingShiftFactor - (1.0 - shadingToonyFactor); const giIntensityFactor = (_z = materialProperties.floatProperties) === null || _z === void 0 ? void 0 : _z['_IndirectLightIntensity']; const giEqualizationFactor = giIntensityFactor ? 1.0 - giIntensityFactor : undefined; const matcapTextureIndex = (_0 = materialProperties.textureProperties) === null || _0 === void 0 ? void 0 : _0['_SphereAdd']; const matcapFactor = matcapTextureIndex != null ? [1.0, 1.0, 1.0] : undefined; const matcapTexture = matcapTextureIndex != null ? { index: matcapTextureIndex, } : undefined; const rimLightingMixFactor = (_1 = materialProperties.floatProperties) === null || _1 === void 0 ? void 0 : _1['_RimLightingMix']; const rimMultiplyTextureIndex = (_2 = materialProperties.textureProperties) === null || _2 === void 0 ? void 0 : _2['_RimTexture']; const rimMultiplyTexture = rimMultiplyTextureIndex != null ? { index: rimMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const parametricRimColorFactor = (_4 = (_3 = materialProperties.vectorProperties) === null || _3 === void 0 ? void 0 : _3['_RimColor']) === null || _4 === void 0 ? void 0 : _4.map(gammaEOTF); const parametricRimFresnelPowerFactor = (_5 = materialProperties.floatProperties) === null || _5 === void 0 ? void 0 : _5['_RimFresnelPower']; const parametricRimLiftFactor = (_6 = materialProperties.floatProperties) === null || _6 === void 0 ? void 0 : _6['_RimLift']; const outlineWidthMode = ['none', 'worldCoordinates', 'screenCoordinates'][(_8 = (_7 = materialProperties.floatProperties) === null || _7 === void 0 ? void 0 : _7['_OutlineWidthMode']) !== null && _8 !== void 0 ? _8 : 0]; // // v0 outlineWidthFactor is in centimeter let outlineWidthFactor = (_10 = (_9 = materialProperties.floatProperties) === null || _9 === void 0 ? void 0 : _9['_OutlineWidth']) !== null && _10 !== void 0 ? _10 : 0.0; outlineWidthFactor = 0.01 * outlineWidthFactor; const outlineWidthMultiplyTextureIndex = (_11 = materialProperties.textureProperties) === null || _11 === void 0 ? void 0 : _11['_OutlineWidthTexture']; const outlineWidthMultiplyTexture = outlineWidthMultiplyTextureIndex != null ? { index: outlineWidthMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const outlineColorFactor = (_13 = (_12 = materialProperties.vectorProperties) === null || _12 === void 0 ? void 0 : _12['_OutlineColor']) === null || _13 === void 0 ? void 0 : _13.map(gammaEOTF); const outlineColorMode = (_14 = materialProperties.floatProperties) === null || _14 === void 0 ? void 0 : _14['_OutlineColorMode']; // enum, { Fixed, Mixed } const outlineLightingMixFactor = outlineColorMode === 1 ? (_15 = materialProperties.floatProperties) === null || _15 === void 0 ? void 0 : _15['_OutlineLightingMix'] : 0.0; const uvAnimationMaskTextureIndex = (_16 = materialProperties.textureProperties) === null || _16 === void 0 ? void 0 : _16['_UvAnimMaskTexture']; const uvAnimationMaskTexture = uvAnimationMaskTextureIndex != null ? { index: uvAnimationMaskTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const uvAnimationScrollXSpeedFactor = (_17 = materialProperties.floatProperties) === null || _17 === void 0 ? void 0 : _17['_UvAnimScrollX']; // uvAnimationScrollYSpeedFactor will be opposite between V0 and V1 let uvAnimationScrollYSpeedFactor = (_18 = materialProperties.floatProperties) === null || _18 === void 0 ? void 0 : _18['_UvAnimScrollY']; if (uvAnimationScrollYSpeedFactor != null) { uvAnimationScrollYSpeedFactor = -uvAnimationScrollYSpeedFactor; } const uvAnimationRotationSpeedFactor = (_19 = materialProperties.floatProperties) === null || _19 === void 0 ? void 0 : _19['_UvAnimRotation']; const mtoonExtension = { specVersion: '1.0', transparentWithZWrite, renderQueueOffsetNumber, shadeColorFactor, shadeMultiplyTexture, shadingShiftFactor, shadingToonyFactor, giEqualizationFactor, matcapFactor, matcapTexture, rimLightingMixFactor, rimMultiplyTexture, parametricRimColorFactor, parametricRimFresnelPowerFactor, parametricRimLiftFactor, outlineWidthMode, outlineWidthFactor, outlineWidthMultiplyTexture, outlineColorFactor, outlineLightingMixFactor, uvAnimationMaskTexture, uvAnimationScrollXSpeedFactor, uvAnimationScrollYSpeedFactor, uvAnimationRotationSpeedFactor, }; return Object.assign(Object.assign({}, schemaMaterial), { pbrMetallicRoughness: { baseColorFactor, baseColorTexture, }, normalTexture, emissiveTexture, emissiveFactor, alphaMode, alphaCutoff, doubleSided, extensions: { // eslint-disable-next-line @typescript-eslint/naming-convention VRMC_materials_mtoon: mtoonExtension, } }); } _parseV0UnlitProperties(materialProperties, schemaMaterial) { var _a, _b, _c, _d; const isTransparentZWrite = materialProperties.shader === 'VRM/UnlitTransparentZWrite'; const isTransparent = materialProperties.shader === 'VRM/UnlitTransparent' || isTransparentZWrite; const renderQueueOffsetNumber = this._v0ParseRenderQueue(materialProperties); const isCutoff = materialProperties.shader === 'VRM/UnlitCutout'; const alphaMode = isTransparent ? 'BLEND' : isCutoff ? 'MASK' : 'OPAQUE'; const alphaCutoff = isCutoff ? (_a = materialProperties.floatProperties) === null || _a === void 0 ? void 0 : _a['_Cutoff'] : undefined; const textureTransformExt = this._portTextureTransform(materialProperties); const baseColorFactor = (_c = (_b = materialProperties.vectorProperties) === null || _b === void 0 ? void 0 : _b['_Color']) === null || _c === void 0 ? void 0 : _c.map(gammaEOTF); const baseColorTextureIndex = (_d = materialProperties.textureProperties) === null || _d === void 0 ? void 0 : _d['_MainTex']; const baseColorTexture = baseColorTextureIndex != null ? { index: baseColorTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; // use mtoon instead of unlit, since there might be VRM0.0 specific features that are not supported by gltf const mtoonExtension = { specVersion: '1.0', transparentWithZWrite: isTransparentZWrite, renderQueueOffsetNumber, shadeColorFactor: baseColorFactor, shadeMultiplyTexture: baseColorTexture, }; return Object.assign(Object.assign({}, schemaMaterial), { pbrMetallicRoughness: { baseColorFactor, baseColorTexture, }, alphaMode, alphaCutoff, extensions: { // eslint-disable-next-line @typescript-eslint/naming-convention VRMC_materials_mtoon: mtoonExtension, } }); } /** * Create a glTF `KHR_texture_transform` extension from v0 texture transform info. */ _portTextureTransform(materialProperties) { var _a, _b, _c, _d, _e; const textureTransform = (_a = materialProperties.vectorProperties) === null || _a === void 0 ? void 0 : _a['_MainTex']; if (textureTransform == null) { return {}; } const offset = [(_b = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[0]) !== null && _b !== void 0 ? _b : 0.0, (_c = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[1]) !== null && _c !== void 0 ? _c : 0.0]; const scale = [(_d = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[2]) !== null && _d !== void 0 ? _d : 1.0, (_e = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[3]) !== null && _e !== void 0 ? _e : 1.0]; offset[1] = 1.0 - scale[1] - offset[1]; return { // eslint-disable-next-line @typescript-eslint/naming-convention KHR_texture_transform: { offset, scale }, }; } /** * Convert v0 render order into v1 render order. * This uses a map from v0 render queue to v1 compliant render queue offset which is generated in {@link _populateRenderQueueMap}. */ _v0ParseRenderQueue(materialProperties) { var _a, _b, _c; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; let offset = 0; if (isTransparent) { const v0Queue = materialProperties.renderQueue; if (v0Queue != null) { if (enabledZWrite) { offset = this._renderQueueMapTransparentZWrite.get(v0Queue); } else { offset = this._renderQueueMapTransparent.get(v0Queue); } } } return offset; } /** * Create a map which maps v0 render queue to v1 compliant render queue offset. * This lists up all render queues the model use and creates a map to new render queue offsets in the same order. */ _populateRenderQueueMap(materialPropertiesList) { /** * A set of used render queues in Transparent materials. */ const renderQueuesTransparent = new Set(); /** * A set of used render queues in TransparentZWrite materials. */ const renderQueuesTransparentZWrite = new Set(); // populate the render queue set materialPropertiesList.forEach((materialProperties) => { var _a, _b, _c; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; if (isTransparent) { const v0Queue = materialProperties.renderQueue; if (v0Queue != null) { if (enabledZWrite) { renderQueuesTransparentZWrite.add(v0Queue); } else { renderQueuesTransparent.add(v0Queue); } } } }); // show a warning if the model uses v1 incompatible number of render queues if (renderQueuesTransparent.size > 10) { console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${renderQueuesTransparent.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`); } if (renderQueuesTransparentZWrite.size > 10) { console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${renderQueuesTransparentZWrite.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`); } // create a map from v0 render queue to v1 render queue offset Array.from(renderQueuesTransparent) .sort() .forEach((queue, i) => { const newQueueOffset = Math.min(Math.max(i - renderQueuesTransparent.size + 1, -9), 0); this._renderQueueMapTransparent.set(queue, newQueueOffset); }); Array.from(renderQueuesTransparentZWrite) .sort() .forEach((queue, i) => { const newQueueOffset = Math.min(Math.max(i, 0), 9); this._renderQueueMapTransparentZWrite.set(queue, newQueueOffset); }); } } /*! * @pixiv/three-vrm-node-constraint v2.0.6 * Node constraint module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-node-constraint is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ const _v3A$3$1 = new THREE.Vector3(); class VRMNodeConstraintHelper extends THREE.Group { constructor(constraint) { super(); this._attrPosition = new THREE.BufferAttribute(new Float32Array([0, 0, 0, 0, 0, 0]), 3); this._attrPosition.setUsage(THREE.DynamicDrawUsage); const geometry = new THREE.BufferGeometry(); geometry.setAttribute('position', this._attrPosition); const material = new THREE.LineBasicMaterial({ color: 0xff00ff, depthTest: false, depthWrite: false, }); this._line = new THREE.Line(geometry, material); this.add(this._line); this.constraint = constraint; } updateMatrixWorld(force) { _v3A$3$1.setFromMatrixPosition(this.constraint.destination.matrixWorld); this._attrPosition.setXYZ(0, _v3A$3$1.x, _v3A$3$1.y, _v3A$3$1.z); if (this.constraint.source) { _v3A$3$1.setFromMatrixPosition(this.constraint.source.matrixWorld); } this._attrPosition.setXYZ(1, _v3A$3$1.x, _v3A$3$1.y, _v3A$3$1.z); this._attrPosition.needsUpdate = true; super.updateMatrixWorld(force); } } function decomposePosition(matrix, target) { return target.set(matrix.elements[12], matrix.elements[13], matrix.elements[14]); } const _v3A$2$1 = new THREE.Vector3(); const _v3B$1$1 = new THREE.Vector3(); function decomposeRotation(matrix, target) { matrix.decompose(_v3A$2$1, target, _v3B$1$1); return target; } /** * A compat function for `Quaternion.invert()` / `Quaternion.inverse()`. * `Quaternion.invert()` is introduced in r123 and `Quaternion.inverse()` emits a warning. * We are going to use this compat for a while. * @param target A target quaternion */ function quatInvertCompat(target) { if (target.invert) { target.invert(); } else { target.inverse(); } return target; } /** * A base class of VRM constraint classes. */ class VRMNodeConstraint { /** * @param destination The destination object * @param source The source object */ constructor(destination, source) { this.destination = destination; this.source = source; this.weight = 1.0; } } const _v3A$1$1 = new THREE.Vector3(); const _v3B$2 = new THREE.Vector3(); const _v3C$1 = new THREE.Vector3(); const _quatA$2 = new THREE.Quaternion(); const _quatB$2 = new THREE.Quaternion(); const _quatC = new THREE.Quaternion(); /** * A constraint that makes it look at a source object. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMAimConstraint extends VRMNodeConstraint { /** * The aim axis of the constraint. */ get aimAxis() { return this._aimAxis; } /** * The aim axis of the constraint. */ set aimAxis(aimAxis) { this._aimAxis = aimAxis; this._v3AimAxis.set(aimAxis === 'PositiveX' ? 1.0 : aimAxis === 'NegativeX' ? -1.0 : 0.0, aimAxis === 'PositiveY' ? 1.0 : aimAxis === 'NegativeY' ? -1.0 : 0.0, aimAxis === 'PositiveZ' ? 1.0 : aimAxis === 'NegativeZ' ? -1.0 : 0.0); } get dependencies() { const set = new Set([this.source]); if (this.destination.parent) { set.add(this.destination.parent); } return set; } constructor(destination, source) { super(destination, source); this._aimAxis = 'PositiveX'; this._v3AimAxis = new THREE.Vector3(1, 0, 0); this._dstRestQuat = new THREE.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); } update() { // update world matrix of destination and source manually this.destination.updateWorldMatrix(true, false); this.source.updateWorldMatrix(true, false); // get world quaternion of the parent of the destination const dstParentWorldQuat = _quatA$2.identity(); const invDstParentWorldQuat = _quatB$2.identity(); if (this.destination.parent) { decomposeRotation(this.destination.parent.matrixWorld, dstParentWorldQuat); quatInvertCompat(invDstParentWorldQuat.copy(dstParentWorldQuat)); } // calculate from-to vectors in world coord const a0 = _v3A$1$1.copy(this._v3AimAxis).applyQuaternion(this._dstRestQuat).applyQuaternion(dstParentWorldQuat); const a1 = decomposePosition(this.source.matrixWorld, _v3B$2) .sub(decomposePosition(this.destination.matrixWorld, _v3C$1)) .normalize(); // create a from-to quaternion, convert to destination local coord, then multiply rest quaternion const targetQuat = _quatC .setFromUnitVectors(a0, a1) .premultiply(invDstParentWorldQuat) .multiply(dstParentWorldQuat) .multiply(this._dstRestQuat); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$1(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } /** * Traverse ancestors of given object and call given callback from root side. * It will include the given object itself. * * @param object The object you want to traverse * @param callback The call back function that will be called for each ancestors */ function traverseAncestorsFromRoot$1(object, callback) { const ancestors = [object]; let head = object.parent; while (head !== null) { ancestors.unshift(head); head = head.parent; } ancestors.forEach((ancestor) => { callback(ancestor); }); } class VRMNodeConstraintManager { constructor() { this._constraints = new Set(); this._objectConstraintsMap = new Map(); } get constraints() { return this._constraints; } addConstraint(constraint) { this._constraints.add(constraint); let objectSet = this._objectConstraintsMap.get(constraint.destination); if (objectSet == null) { objectSet = new Set(); this._objectConstraintsMap.set(constraint.destination, objectSet); } objectSet.add(constraint); } deleteConstraint(constraint) { this._constraints.delete(constraint); const objectSet = this._objectConstraintsMap.get(constraint.destination); objectSet.delete(constraint); } setInitState() { const constraintsTried = new Set(); const constraintsDone = new Set(); for (const constraint of this._constraints) { this._processConstraint(constraint, constraintsTried, constraintsDone, (constraint) => constraint.setInitState()); } } update() { const constraintsTried = new Set(); const constraintsDone = new Set(); for (const constraint of this._constraints) { this._processConstraint(constraint, constraintsTried, constraintsDone, (constraint) => constraint.update()); } } /** * Update a constraint. * If there are other constraints that are dependant, it will try to update them recursively. * It might throw an error if there are circular dependencies. * * Intended to be used in {@link update} and {@link _processConstraint} itself recursively. * * @param constraint A constraint you want to update * @param constraintsTried Set of constraints that are already tried to be updated * @param constraintsDone Set of constraints that are already up to date */ _processConstraint(constraint, constraintsTried, constraintsDone, callback) { if (constraintsDone.has(constraint)) { return; } if (constraintsTried.has(constraint)) { throw new Error('VRMNodeConstraintManager: Circular dependency detected while updating constraints'); } constraintsTried.add(constraint); const depObjects = constraint.dependencies; for (const depObject of depObjects) { traverseAncestorsFromRoot$1(depObject, (depObjectAncestor) => { const objectSet = this._objectConstraintsMap.get(depObjectAncestor); if (objectSet) { for (const depConstraint of objectSet) { this._processConstraint(depConstraint, constraintsTried, constraintsDone, callback); } } }); } callback(constraint); constraintsDone.add(constraint); } } const _quatA$1 = new THREE.Quaternion(); const _quatB$1 = new THREE.Quaternion(); /** * A constraint that transfers a rotation around one axis of a source. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMRotationConstraint extends VRMNodeConstraint { get dependencies() { return new Set([this.source]); } constructor(destination, source) { super(destination, source); this._dstRestQuat = new THREE.Quaternion(); this._invSrcRestQuat = new THREE.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); quatInvertCompat(this._invSrcRestQuat.copy(this.source.quaternion)); } update() { // calculate the delta rotation from the rest about the source const srcDeltaQuat = _quatA$1.copy(this._invSrcRestQuat).multiply(this.source.quaternion); // multiply the delta to the rest of the destination const targetQuat = _quatB$1.copy(this._dstRestQuat).multiply(srcDeltaQuat); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } const _v3A$5 = new THREE.Vector3(); const _quatA$3 = new THREE.Quaternion(); const _quatB = new THREE.Quaternion(); /** * A constraint that transfers a rotation around one axis of a source. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMRollConstraint extends VRMNodeConstraint { /** * The roll axis of the constraint. */ get rollAxis() { return this._rollAxis; } /** * The roll axis of the constraint. */ set rollAxis(rollAxis) { this._rollAxis = rollAxis; this._v3RollAxis.set(rollAxis === 'X' ? 1.0 : 0.0, rollAxis === 'Y' ? 1.0 : 0.0, rollAxis === 'Z' ? 1.0 : 0.0); } get dependencies() { return new Set([this.source]); } constructor(destination, source) { super(destination, source); this._rollAxis = 'X'; this._v3RollAxis = new THREE.Vector3(1, 0, 0); this._dstRestQuat = new THREE.Quaternion(); this._invDstRestQuat = new THREE.Quaternion(); this._invSrcRestQuatMulDstRestQuat = new THREE.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); quatInvertCompat(this._invDstRestQuat.copy(this._dstRestQuat)); quatInvertCompat(this._invSrcRestQuatMulDstRestQuat.copy(this.source.quaternion)).multiply(this._dstRestQuat); } update() { // calculate the delta rotation from the rest about the source, then convert to the destination local coord /** * What the quatDelta is intended to be: * * ```ts * const quatSrcDelta = _quatA * .copy( this._invSrcRestQuat ) * .multiply( this.source.quaternion ); * const quatSrcDeltaInParent = _quatB * .copy( this._srcRestQuat ) * .multiply( quatSrcDelta ) * .multiply( this._invSrcRestQuat ); * const quatSrcDeltaInDst = _quatA * .copy( this._invDstRestQuat ) * .multiply( quatSrcDeltaInParent ) * .multiply( this._dstRestQuat ); * ``` */ const quatDelta = _quatA$3 .copy(this._invDstRestQuat) .multiply(this.source.quaternion) .multiply(this._invSrcRestQuatMulDstRestQuat); // create a from-to quaternion const n1 = _v3A$5.copy(this._v3RollAxis).applyQuaternion(quatDelta); /** * What the quatFromTo is intended to be: * * ```ts * const quatFromTo = _quatB.setFromUnitVectors( this._v3RollAxis, n1 ).inverse(); * ``` */ const quatFromTo = _quatB.setFromUnitVectors(n1, this._v3RollAxis); // quatFromTo * quatDelta == roll extracted from quatDelta const targetQuat = quatFromTo.premultiply(this._dstRestQuat).multiply(quatDelta); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$1 = new Set(['1.0', '1.0-beta']); class VRMNodeConstraintLoaderPlugin { get name() { return VRMNodeConstraintLoaderPlugin.EXTENSION_NAME; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; } afterRoot(gltf) { return __awaiter$1(this, void 0, void 0, function* () { gltf.userData.vrmNodeConstraintManager = yield this._import(gltf); }); } /** * Import constraints from a GLTF and returns a {@link VRMNodeConstraintManager}. * It might return `null` instead when it does not need to be created or something go wrong. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { var _a; return __awaiter$1(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use constraints const isConstraintsUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf(VRMNodeConstraintLoaderPlugin.EXTENSION_NAME)) !== -1; if (!isConstraintsUsed) { return null; } const manager = new VRMNodeConstraintManager(); const threeNodes = yield this.parser.getDependencies('node'); // import constraints for each nodes threeNodes.forEach((node, nodeIndex) => { var _a; const schemaNode = json.nodes[nodeIndex]; // check if the extension uses the extension const extension = (_a = schemaNode === null || schemaNode === void 0 ? void 0 : schemaNode.extensions) === null || _a === void 0 ? void 0 : _a[VRMNodeConstraintLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$1.has(specVersion)) { console.warn(`VRMNodeConstraintLoaderPlugin: Unknown ${VRMNodeConstraintLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return; } const constraintDef = extension.constraint; // import constraints if (constraintDef.roll != null) { const constraint = this._importRollConstraint(node, threeNodes, constraintDef.roll); manager.addConstraint(constraint); } else if (constraintDef.aim != null) { const constraint = this._importAimConstraint(node, threeNodes, constraintDef.aim); manager.addConstraint(constraint); } else if (constraintDef.rotation != null) { const constraint = this._importRotationConstraint(node, threeNodes, constraintDef.rotation); manager.addConstraint(constraint); } }); // init constraints gltf.scene.updateMatrixWorld(); manager.setInitState(); return manager; }); } _importRollConstraint(destination, nodes, rollConstraintDef) { const { source: sourceIndex, rollAxis, weight } = rollConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMRollConstraint(destination, source); if (rollAxis != null) { constraint.rollAxis = rollAxis; } if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } _importAimConstraint(destination, nodes, aimConstraintDef) { const { source: sourceIndex, aimAxis, weight } = aimConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMAimConstraint(destination, source); if (aimAxis != null) { constraint.aimAxis = aimAxis; } if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } _importRotationConstraint(destination, nodes, rotationConstraintDef) { const { source: sourceIndex, weight } = rotationConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMRotationConstraint(destination, source); if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } } VRMNodeConstraintLoaderPlugin.EXTENSION_NAME = 'VRMC_node_constraint'; /*! * @pixiv/three-vrm-springbone v2.0.6 * Spring bone module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-springbone is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /** * Represents a shape of a collider. */ class VRMSpringBoneColliderShape { } const _v3A$4 = new THREE.Vector3(); const _v3B$1 = new THREE.Vector3(); class VRMSpringBoneColliderShapeCapsule extends VRMSpringBoneColliderShape { get type() { return 'capsule'; } constructor(params) { var _a, _b, _c; super(); this.offset = (_a = params === null || params === void 0 ? void 0 : params.offset) !== null && _a !== void 0 ? _a : new THREE.Vector3(0.0, 0.0, 0.0); this.tail = (_b = params === null || params === void 0 ? void 0 : params.tail) !== null && _b !== void 0 ? _b : new THREE.Vector3(0.0, 0.0, 0.0); this.radius = (_c = params === null || params === void 0 ? void 0 : params.radius) !== null && _c !== void 0 ? _c : 0.0; } calculateCollision(colliderMatrix, objectPosition, objectRadius, target) { _v3A$4.copy(this.offset).applyMatrix4(colliderMatrix); // transformed head _v3B$1.copy(this.tail).applyMatrix4(colliderMatrix); // transformed tail _v3B$1.sub(_v3A$4); // from head to tail const lengthSqCapsule = _v3B$1.lengthSq(); target.copy(objectPosition).sub(_v3A$4); // from head to object const dot = _v3B$1.dot(target); // dot product of offsetToTail and offsetToObject if (dot <= 0.0) ; else if (lengthSqCapsule <= dot) { // if object is near from the tail target.sub(_v3B$1); // from tail to object } else { // if object is between two ends _v3B$1.multiplyScalar(dot / lengthSqCapsule); // from head to the nearest point of the shaft target.sub(_v3B$1); // from the shaft point to object } const radius = objectRadius + this.radius; const distance = target.length() - radius; target.normalize(); return distance; } } class VRMSpringBoneColliderShapeSphere extends VRMSpringBoneColliderShape { get type() { return 'sphere'; } constructor(params) { var _a, _b; super(); this.offset = (_a = params === null || params === void 0 ? void 0 : params.offset) !== null && _a !== void 0 ? _a : new THREE.Vector3(0.0, 0.0, 0.0); this.radius = (_b = params === null || params === void 0 ? void 0 : params.radius) !== null && _b !== void 0 ? _b : 0.0; } calculateCollision(colliderMatrix, objectPosition, objectRadius, target) { target.copy(this.offset).applyMatrix4(colliderMatrix); // transformed offset target.negate().add(objectPosition); // a vector from collider center to object position const radius = objectRadius + this.radius; const distance = target.length() - radius; target.normalize(); return distance; } } const _v3A$3 = new THREE.Vector3(); class ColliderShapeCapsuleBufferGeometry extends THREE.BufferGeometry { constructor(shape) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentOffset = new THREE.Vector3(); this._currentTail = new THREE.Vector3(); this._shape = shape; this._attrPos = new THREE.BufferAttribute(new Float32Array(396), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE.BufferAttribute(new Uint16Array(264), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._shape.radius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentOffset.equals(this._shape.offset)) { this._currentOffset.copy(this._shape.offset); shouldUpdateGeometry = true; } const tail = _v3A$3.copy(this._shape.tail).divideScalar(this.worldScale); if (this._currentTail.distanceToSquared(tail) > 1e-10) { this._currentTail.copy(tail); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { _v3A$3.copy(this._currentTail).sub(this._currentOffset); const l = _v3A$3.length() / this._currentRadius; for (let i = 0; i <= 16; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, -Math.sin(t), -Math.cos(t), 0.0); this._attrPos.setXYZ(17 + i, l + Math.sin(t), Math.cos(t), 0.0); this._attrPos.setXYZ(34 + i, -Math.sin(t), 0.0, -Math.cos(t)); this._attrPos.setXYZ(51 + i, l + Math.sin(t), 0.0, Math.cos(t)); } for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(68 + i, 0.0, Math.sin(t), Math.cos(t)); this._attrPos.setXYZ(100 + i, l, Math.sin(t), Math.cos(t)); } const theta = Math.atan2(_v3A$3.y, Math.sqrt(_v3A$3.x * _v3A$3.x + _v3A$3.z * _v3A$3.z)); const phi = -Math.atan2(_v3A$3.z, _v3A$3.x); this.rotateZ(theta); this.rotateY(phi); this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentOffset.x, this._currentOffset.y, this._currentOffset.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 34; i++) { const i1 = (i + 1) % 34; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(68 + i * 2, 34 + i, 34 + i1); } for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(136 + i * 2, 68 + i, 68 + i1); this._attrIndex.setXY(200 + i * 2, 100 + i, 100 + i1); } this._attrIndex.needsUpdate = true; } } class ColliderShapeSphereBufferGeometry extends THREE.BufferGeometry { constructor(shape) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentOffset = new THREE.Vector3(); this._shape = shape; this._attrPos = new THREE.BufferAttribute(new Float32Array(32 * 3 * 3), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE.BufferAttribute(new Uint16Array(64 * 3), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._shape.radius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentOffset.equals(this._shape.offset)) { this._currentOffset.copy(this._shape.offset); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentOffset.x, this._currentOffset.y, this._currentOffset.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.needsUpdate = true; } } const _v3A$2 = new THREE.Vector3(); class VRMSpringBoneColliderHelper extends THREE.Group { constructor(collider) { super(); this.matrixAutoUpdate = false; this.collider = collider; if (this.collider.shape instanceof VRMSpringBoneColliderShapeSphere) { this._geometry = new ColliderShapeSphereBufferGeometry(this.collider.shape); } else if (this.collider.shape instanceof VRMSpringBoneColliderShapeCapsule) { this._geometry = new ColliderShapeCapsuleBufferGeometry(this.collider.shape); } else { throw new Error('VRMSpringBoneColliderHelper: Unknown collider shape type detected'); } const material = new THREE.LineBasicMaterial({ color: 0xff00ff, depthTest: false, depthWrite: false, }); this._line = new THREE.LineSegments(this._geometry, material); this.add(this._line); } dispose() { this._geometry.dispose(); } updateMatrixWorld(force) { this.collider.updateWorldMatrix(true, false); this.matrix.copy(this.collider.matrixWorld); const matrixWorldElements = this.matrix.elements; this._geometry.worldScale = _v3A$2 .set(matrixWorldElements[0], matrixWorldElements[1], matrixWorldElements[2]) .length(); // calculate scale of x component this._geometry.update(); super.updateMatrixWorld(force); } } class SpringBoneBufferGeometry extends THREE.BufferGeometry { constructor(springBone) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentTail = new THREE.Vector3(); this._springBone = springBone; this._attrPos = new THREE.BufferAttribute(new Float32Array(294), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE.BufferAttribute(new Uint16Array(194), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._springBone.settings.hitRadius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentTail.equals(this._springBone.initialLocalChildPosition)) { this._currentTail.copy(this._springBone.initialLocalChildPosition); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.setXYZ(96, 0, 0, 0); this._attrPos.setXYZ(97, this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.setXY(192, 96, 97); this._attrIndex.needsUpdate = true; } } const _v3A$1 = new THREE.Vector3(); class VRMSpringBoneJointHelper extends THREE.Group { constructor(springBone) { super(); this.matrixAutoUpdate = false; this.springBone = springBone; this._geometry = new SpringBoneBufferGeometry(this.springBone); const material = new THREE.LineBasicMaterial({ color: 0xffff00, depthTest: false, depthWrite: false, }); this._line = new THREE.LineSegments(this._geometry, material); this.add(this._line); } dispose() { this._geometry.dispose(); } updateMatrixWorld(force) { this.springBone.bone.updateWorldMatrix(true, false); this.matrix.copy(this.springBone.bone.matrixWorld); const matrixWorldElements = this.matrix.elements; this._geometry.worldScale = _v3A$1 .set(matrixWorldElements[0], matrixWorldElements[1], matrixWorldElements[2]) .length(); // calculate scale of x component this._geometry.update(); super.updateMatrixWorld(force); } } /** * Represents a collider of a VRM. */ class VRMSpringBoneCollider extends THREE.Object3D { constructor(shape) { super(); this.shape = shape; } } const _matA$1 = new THREE.Matrix4(); /** * A compat function for `Matrix4.invert()` / `Matrix4.getInverse()`. * `Matrix4.invert()` is introduced in r123 and `Matrix4.getInverse()` emits a warning. * We are going to use this compat for a while. * @param target A target matrix */ function mat4InvertCompat(target) { if (target.invert) { target.invert(); } else { target.getInverse(_matA$1.copy(target)); } return target; } class Matrix4InverseCache { /** * Inverse of given matrix. * Note that it will return its internal private instance. * Make sure copying this before mutate this. */ get inverse() { if (this._shouldUpdateInverse) { this._inverseCache.copy(this.matrix); mat4InvertCompat(this._inverseCache); this._shouldUpdateInverse = false; } return this._inverseCache; } constructor(matrix) { /** * A cache of inverse of current matrix. */ this._inverseCache = new THREE.Matrix4(); /** * A flag that makes it want to recalculate its {@link _inverseCache}. * Will be set `true` when `elements` are mutated and be used in `getInverse`. */ this._shouldUpdateInverse = true; this.matrix = matrix; const handler = { set: (obj, prop, newVal) => { this._shouldUpdateInverse = true; obj[prop] = newVal; return true; }, }; this._originalElements = matrix.elements; matrix.elements = new Proxy(matrix.elements, handler); } revert() { this.matrix.elements = this._originalElements; } } // based on // http://rocketjump.skr.jp/unity3d/109/ // https://github.com/dwango/UniVRM/blob/master/Scripts/SpringBone/VRMSpringBone.cs const IDENTITY_MATRIX4 = new THREE.Matrix4(); // 計算中の一時保存用変数(一度インスタンスを作ったらあとは使い回す) const _v3A = new THREE.Vector3(); const _v3B = new THREE.Vector3(); const _v3C = new THREE.Vector3(); /** * A temporary variable which is used in `update` */ const _worldSpacePosition = new THREE.Vector3(); /** * A temporary variable which is used in `update` */ const _centerSpacePosition = new THREE.Vector3(); /** * A temporary variable which is used in `update` */ const _nextTail = new THREE.Vector3(); const _quatA = new THREE.Quaternion(); const _matA = new THREE.Matrix4(); const _matB = new THREE.Matrix4(); /** * A class represents a single joint of a spring bone. * It should be managed by a [[VRMSpringBoneManager]]. */ class VRMSpringBoneJoint { get center() { return this._center; } set center(center) { var _a; // uninstall inverse cache if ((_a = this._center) === null || _a === void 0 ? void 0 : _a.userData.inverseCacheProxy) { this._center.userData.inverseCacheProxy.revert(); delete this._center.userData.inverseCacheProxy; } // change the center this._center = center; // install inverse cache if (this._center) { if (!this._center.userData.inverseCacheProxy) { this._center.userData.inverseCacheProxy = new Matrix4InverseCache(this._center.matrixWorld); } } } get initialLocalChildPosition() { return this._initialLocalChildPosition; } /** * Returns the world matrix of its parent object. * Note that it returns a reference to the matrix. Don't mutate this directly! */ get _parentMatrixWorld() { return this.bone.parent ? this.bone.parent.matrixWorld : IDENTITY_MATRIX4; } /** * Create a new VRMSpringBone. * * @param bone An Object3D that will be attached to this bone * @param child An Object3D that will be used as a tail of this spring bone. It can be null when the spring bone is imported from VRM 0.0 * @param settings Several parameters related to behavior of the spring bone * @param colliderGroups Collider groups that will be collided with this spring bone */ constructor(bone, child, settings = {}, colliderGroups = []) { var _a, _b, _c, _d, _e, _f; /** * Current position of child tail, in center unit. Will be used for verlet integration. */ this._currentTail = new THREE.Vector3(); /** * Previous position of child tail, in center unit. Will be used for verlet integration. */ this._prevTail = new THREE.Vector3(); /** * Initial axis of the bone, in local unit. */ this._boneAxis = new THREE.Vector3(); /** * Length of the bone in world unit. * Will be used for normalization in update loop, will be updated by {@link _calcWorldSpaceBoneLength}. * * It's same as local unit length unless there are scale transformations in the world space. */ this._worldSpaceBoneLength = 0.0; /** * This springbone will be calculated based on the space relative from this object. * If this is `null`, springbone will be calculated in world space. */ this._center = null; /** * Initial state of the local matrix of the bone. */ this._initialLocalMatrix = new THREE.Matrix4(); /** * Initial state of the rotation of the bone. */ this._initialLocalRotation = new THREE.Quaternion(); /** * Initial state of the position of its child. */ this._initialLocalChildPosition = new THREE.Vector3(); this.bone = bone; // uniVRMでの parent this.bone.matrixAutoUpdate = false; // updateにより計算されるのでthree.js内での自動処理は不要 this.child = child; this.settings = { hitRadius: (_a = settings.hitRadius) !== null && _a !== void 0 ? _a : 0.0, stiffness: (_b = settings.stiffness) !== null && _b !== void 0 ? _b : 1.0, gravityPower: (_c = settings.gravityPower) !== null && _c !== void 0 ? _c : 0.0, gravityDir: (_e = (_d = settings.gravityDir) === null || _d === void 0 ? void 0 : _d.clone()) !== null && _e !== void 0 ? _e : new THREE.Vector3(0.0, -1.0, 0.0), dragForce: (_f = settings.dragForce) !== null && _f !== void 0 ? _f : 0.4, }; this.colliderGroups = colliderGroups; } /** * Set the initial state of this spring bone. * You might want to call {@link VRMSpringBoneManager.setInitState} instead. */ setInitState() { // remember initial position of itself this._initialLocalMatrix.copy(this.bone.matrix); this._initialLocalRotation.copy(this.bone.quaternion); // see initial position of its local child if (this.child) { this._initialLocalChildPosition.copy(this.child.position); } else { // vrm0 requires a 7cm fixed bone length for the final node in a chain // See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_springBone-1.0#about-spring-configuration this._initialLocalChildPosition.copy(this.bone.position).normalize().multiplyScalar(0.07); } // copy the child position to tails const matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(matrixWorldToCenter); this._prevTail.copy(this._currentTail); // set initial states that are related to local child position this._boneAxis.copy(this._initialLocalChildPosition).normalize(); } /** * Reset the state of this bone. * You might want to call [[VRMSpringBoneManager.reset]] instead. */ reset() { this.bone.quaternion.copy(this._initialLocalRotation); // We need to update its matrixWorld manually, since we tweaked the bone by our hand this.bone.updateMatrix(); this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld, this.bone.matrix); // Apply updated position to tail states const matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(matrixWorldToCenter); this._prevTail.copy(this._currentTail); } /** * Update the state of this bone. * You might want to call [[VRMSpringBoneManager.update]] instead. * * @param delta deltaTime */ update(delta) { if (delta <= 0) return; // Update the _worldSpaceBoneLength this._calcWorldSpaceBoneLength(); // Get bone position in center space _worldSpacePosition.setFromMatrixPosition(this.bone.matrixWorld); let matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); _centerSpacePosition.copy(_worldSpacePosition).applyMatrix4(matrixWorldToCenter); const quatWorldToCenter = _quatA.setFromRotationMatrix(matrixWorldToCenter); // Get parent matrix in center space const centerSpaceParentMatrix = _matB.copy(matrixWorldToCenter).multiply(this._parentMatrixWorld); // Get boneAxis in center space const centerSpaceBoneAxis = _v3B .copy(this._boneAxis) .applyMatrix4(this._initialLocalMatrix) .applyMatrix4(centerSpaceParentMatrix) .sub(_centerSpacePosition) .normalize(); // gravity in center space const centerSpaceGravity = _v3C.copy(this.settings.gravityDir).applyQuaternion(quatWorldToCenter).normalize(); const matrixCenterToWorld = this._getMatrixCenterToWorld(_matA); // verlet積分で次の位置を計算 _nextTail .copy(this._currentTail) .add(_v3A .copy(this._currentTail) .sub(this._prevTail) .multiplyScalar(1 - this.settings.dragForce)) // 前フレームの移動を継続する(減衰もあるよ) .add(_v3A.copy(centerSpaceBoneAxis).multiplyScalar(this.settings.stiffness * delta)) // 親の回転による子ボーンの移動目標 .add(_v3A.copy(centerSpaceGravity).multiplyScalar(this.settings.gravityPower * delta)) // 外力による移動量 .applyMatrix4(matrixCenterToWorld); // tailをworld spaceに戻す // normalize bone length _nextTail.sub(_worldSpacePosition).normalize().multiplyScalar(this._worldSpaceBoneLength).add(_worldSpacePosition); // Collisionで移動 this._collision(_nextTail); // update prevTail and currentTail matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this._prevTail.copy(this._currentTail); this._currentTail.copy(_v3A.copy(_nextTail).applyMatrix4(matrixWorldToCenter)); // Apply rotation, convert vector3 thing into actual quaternion // Original UniVRM is doing center unit calculus at here but we're gonna do this on local unit const worldSpaceInitialMatrixInv = mat4InvertCompat(_matA.copy(this._parentMatrixWorld).multiply(this._initialLocalMatrix)); const applyRotation = _quatA.setFromUnitVectors(this._boneAxis, _v3A.copy(_nextTail).applyMatrix4(worldSpaceInitialMatrixInv).normalize()); this.bone.quaternion.copy(this._initialLocalRotation).multiply(applyRotation); // We need to update its matrixWorld manually, since we tweaked the bone by our hand this.bone.updateMatrix(); this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld, this.bone.matrix); } /** * Do collision math against every colliders attached to this bone. * * @param tail The tail you want to process */ _collision(tail) { this.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { const dist = collider.shape.calculateCollision(collider.matrixWorld, tail, this.settings.hitRadius, _v3A); if (dist < 0.0) { // hit tail.add(_v3A.multiplyScalar(-dist)); // normalize bone length tail.sub(_worldSpacePosition).normalize().multiplyScalar(this._worldSpaceBoneLength).add(_worldSpacePosition); } }); }); } /** * Calculate the {@link _worldSpaceBoneLength}. * Intended to be used in {@link update}. */ _calcWorldSpaceBoneLength() { _v3A.setFromMatrixPosition(this.bone.matrixWorld); // get world position of this.bone if (this.child) { _v3B.setFromMatrixPosition(this.child.matrixWorld); // get world position of this.child } else { _v3B.copy(this._initialLocalChildPosition); _v3B.applyMatrix4(this.bone.matrixWorld); } this._worldSpaceBoneLength = _v3A.sub(_v3B).length(); } /** * Create a matrix that converts center space into world space. * @param target Target matrix */ _getMatrixCenterToWorld(target) { if (this._center) { target.copy(this._center.matrixWorld); } else { target.identity(); } return target; } /** * Create a matrix that converts world space into center space. * @param target Target matrix */ _getMatrixWorldToCenter(target) { if (this._center) { target.copy(this._center.userData.inverseCacheProxy.inverse); } else { target.identity(); } return target; } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function traverseAncestorsFromRoot(object, callback) { const ancestors = []; let head = object; while (head !== null) { ancestors.unshift(head); head = head.parent; } ancestors.forEach((ancestor) => { callback(ancestor); }); } /** * Traverse children of given object and execute given callback. * The given object itself wont be given to the callback. * If the return value of the callback is `true`, it will halt the traversal of its children. * @param object A root object * @param callback A callback function called for each children */ function traverseChildrenUntilConditionMet(object, callback) { object.children.forEach((child) => { const result = callback(child); if (!result) { traverseChildrenUntilConditionMet(child, callback); } }); } class VRMSpringBoneManager { constructor() { this._joints = new Set(); this._objectSpringBonesMap = new Map(); } get joints() { return this._joints; } /** * @deprecated Use {@link joints} instead. */ get springBones() { console.warn('VRMSpringBoneManager: springBones is deprecated. use joints instead.'); return this._joints; } get colliderGroups() { const set = new Set(); this._joints.forEach((springBone) => { springBone.colliderGroups.forEach((colliderGroup) => { set.add(colliderGroup); }); }); return Array.from(set); } get colliders() { const set = new Set(); this.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { set.add(collider); }); }); return Array.from(set); } addJoint(joint) { this._joints.add(joint); let objectSet = this._objectSpringBonesMap.get(joint.bone); if (objectSet == null) { objectSet = new Set(); this._objectSpringBonesMap.set(joint.bone, objectSet); } objectSet.add(joint); } /** * @deprecated Use {@link addJoint} instead. */ addSpringBone(joint) { console.warn('VRMSpringBoneManager: addSpringBone() is deprecated. use addJoint() instead.'); this.addJoint(joint); } deleteJoint(joint) { this._joints.delete(joint); const objectSet = this._objectSpringBonesMap.get(joint.bone); objectSet.delete(joint); } /** * @deprecated Use {@link deleteJoint} instead. */ deleteSpringBone(joint) { console.warn('VRMSpringBoneManager: deleteSpringBone() is deprecated. use deleteJoint() instead.'); this.deleteJoint(joint); } setInitState() { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.setInitState()); } } reset() { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.reset()); } } update(delta) { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { // update the springbone this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.update(delta)); // update children world matrices // it is required when the spring bone chain is sparse traverseChildrenUntilConditionMet(springBone.bone, (object) => { var _a, _b; // if the object has attached springbone, halt the traversal if (((_b = (_a = this._objectSpringBonesMap.get(object)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0) > 0) { return true; } // otherwise update its world matrix object.updateWorldMatrix(false, false); return false; }); } } /** * Update a spring bone. * If there are other spring bone that are dependant, it will try to update them recursively. * It updates matrixWorld of all ancestors and myself. * It might throw an error if there are circular dependencies. * * Intended to be used in {@link update} and {@link _processSpringBone} itself recursively. * * @param springBone A springBone you want to update * @param springBonesTried Set of springBones that are already tried to be updated * @param springBonesDone Set of springBones that are already up to date * @param objectUpdated Set of object3D whose matrixWorld is updated */ _processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, callback) { if (springBonesDone.has(springBone)) { return; } if (springBonesTried.has(springBone)) { throw new Error('VRMSpringBoneManager: Circular dependency detected while updating springbones'); } springBonesTried.add(springBone); const depObjects = this._getDependencies(springBone); for (const depObject of depObjects) { traverseAncestorsFromRoot(depObject, (depObjectAncestor) => { const objectSet = this._objectSpringBonesMap.get(depObjectAncestor); if (objectSet) { for (const depSpringBone of objectSet) { this._processSpringBone(depSpringBone, springBonesTried, springBonesDone, objectUpdated, callback); } } else if (!objectUpdated.has(depObjectAncestor)) { // update matrix of non-springbone depObjectAncestor.updateWorldMatrix(false, false); objectUpdated.add(depObjectAncestor); } }); } // update my matrix springBone.bone.updateMatrix(); springBone.bone.updateWorldMatrix(false, false); callback(springBone); objectUpdated.add(springBone.bone); springBonesDone.add(springBone); } /** * Return a set of objects that are dependant of given spring bone. * @param springBone A spring bone * @return A set of objects that are dependant of given spring bone */ _getDependencies(springBone) { const set = new Set(); const parent = springBone.bone.parent; if (parent) { set.add(parent); } springBone.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { set.add(collider); }); }); return set; } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS = new Set(['1.0', '1.0-beta']); class VRMSpringBoneLoaderPlugin { get name() { return VRMSpringBoneLoaderPlugin.EXTENSION_NAME; } constructor(parser, options) { this.parser = parser; this.jointHelperRoot = options === null || options === void 0 ? void 0 : options.jointHelperRoot; this.colliderHelperRoot = options === null || options === void 0 ? void 0 : options.colliderHelperRoot; } afterRoot(gltf) { return __awaiter(this, void 0, void 0, function* () { gltf.userData.vrmSpringBoneManager = yield this._import(gltf); }); } /** * Import spring bones from a GLTF and return a {@link VRMSpringBoneManager}. * It might return `null` instead when it does not need to be created or something go wrong. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result != null) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result != null) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b, _c, _d, _e; return __awaiter(this, void 0, void 0, function* () { const json = gltf.parser.json; // early abort if it doesn't use spring bones const isSpringBoneUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf(VRMSpringBoneLoaderPlugin.EXTENSION_NAME)) !== -1; if (!isSpringBoneUsed) { return null; } const manager = new VRMSpringBoneManager(); const threeNodes = yield gltf.parser.getDependencies('node'); const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b[VRMSpringBoneLoaderPlugin.EXTENSION_NAME]; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS.has(specVersion)) { console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${VRMSpringBoneLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return null; } const colliders = (_c = extension.colliders) === null || _c === void 0 ? void 0 : _c.map((schemaCollider, iCollider) => { var _a, _b, _c, _d, _e; const node = threeNodes[schemaCollider.node]; const schemaShape = schemaCollider.shape; if (schemaShape.sphere) { return this._importSphereCollider(node, { offset: new THREE.Vector3().fromArray((_a = schemaShape.sphere.offset) !== null && _a !== void 0 ? _a : [0.0, 0.0, 0.0]), radius: (_b = schemaShape.sphere.radius) !== null && _b !== void 0 ? _b : 0.0, }); } else if (schemaShape.capsule) { return this._importCapsuleCollider(node, { offset: new THREE.Vector3().fromArray((_c = schemaShape.capsule.offset) !== null && _c !== void 0 ? _c : [0.0, 0.0, 0.0]), radius: (_d = schemaShape.capsule.radius) !== null && _d !== void 0 ? _d : 0.0, tail: new THREE.Vector3().fromArray((_e = schemaShape.capsule.tail) !== null && _e !== void 0 ? _e : [0.0, 0.0, 0.0]), }); } throw new Error(`VRMSpringBoneLoaderPlugin: The collider #${iCollider} has no valid shape`); }); const colliderGroups = (_d = extension.colliderGroups) === null || _d === void 0 ? void 0 : _d.map((schemaColliderGroup, iColliderGroup) => { var _a; const cols = ((_a = schemaColliderGroup.colliders) !== null && _a !== void 0 ? _a : []).map((iCollider) => { const col = colliders === null || colliders === void 0 ? void 0 : colliders[iCollider]; if (col == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The colliderGroup #${iColliderGroup} attempted to use a collider #${iCollider} but not found`); } return col; }); return { colliders: cols, name: schemaColliderGroup.name, }; }); (_e = extension.springs) === null || _e === void 0 ? void 0 : _e.forEach((schemaSpring, iSpring) => { var _a; const schemaJoints = schemaSpring.joints; // prepare colliders const colliderGroupsForSpring = (_a = schemaSpring.colliderGroups) === null || _a === void 0 ? void 0 : _a.map((iColliderGroup) => { const group = colliderGroups === null || colliderGroups === void 0 ? void 0 : colliderGroups[iColliderGroup]; if (group == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The spring #${iSpring} attempted to use a colliderGroup ${iColliderGroup} but not found`); } return group; }); const center = schemaSpring.center != null ? threeNodes[schemaSpring.center] : undefined; let prevSchemaJoint; schemaJoints.forEach((schemaJoint) => { if (prevSchemaJoint) { // prepare node const nodeIndex = prevSchemaJoint.node; const node = threeNodes[nodeIndex]; const childIndex = schemaJoint.node; const child = threeNodes[childIndex]; // prepare setting const setting = { hitRadius: prevSchemaJoint.hitRadius, dragForce: prevSchemaJoint.dragForce, gravityPower: prevSchemaJoint.gravityPower, stiffness: prevSchemaJoint.stiffness, gravityDir: prevSchemaJoint.gravityDir != null ? new THREE.Vector3().fromArray(prevSchemaJoint.gravityDir) : undefined, }; // create spring bones const joint = this._importJoint(node, child, setting, colliderGroupsForSpring); if (center) { joint.center = center; } manager.addJoint(joint); } prevSchemaJoint = schemaJoint; }); }); // init spring bones manager.setInitState(); return manager; }); } _v0Import(gltf) { var _a, _b, _c; return __awaiter(this, void 0, void 0, function* () { const json = gltf.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRM')) !== -1; if (!isVRMUsed) { return null; } // early abort if it doesn't have bone groups const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRM']; const schemaSecondaryAnimation = extension === null || extension === void 0 ? void 0 : extension.secondaryAnimation; if (!schemaSecondaryAnimation) { return null; } const schemaBoneGroups = schemaSecondaryAnimation === null || schemaSecondaryAnimation === void 0 ? void 0 : schemaSecondaryAnimation.boneGroups; if (!schemaBoneGroups) { return null; } const manager = new VRMSpringBoneManager(); const threeNodes = yield gltf.parser.getDependencies('node'); const colliderGroups = (_c = schemaSecondaryAnimation.colliderGroups) === null || _c === void 0 ? void 0 : _c.map((schemaColliderGroup) => { var _a; const node = threeNodes[schemaColliderGroup.node]; const colliders = ((_a = schemaColliderGroup.colliders) !== null && _a !== void 0 ? _a : []).map((schemaCollider, iCollider) => { var _a, _b, _c; const offset = new THREE.Vector3(0.0, 0.0, 0.0); if (schemaCollider.offset) { offset.set((_a = schemaCollider.offset.x) !== null && _a !== void 0 ? _a : 0.0, (_b = schemaCollider.offset.y) !== null && _b !== void 0 ? _b : 0.0, schemaCollider.offset.z ? -schemaCollider.offset.z : 0.0); } return this._importSphereCollider(node, { offset, radius: (_c = schemaCollider.radius) !== null && _c !== void 0 ? _c : 0.0, }); }); return { colliders }; }); // import spring bones for each spring bone groups schemaBoneGroups === null || schemaBoneGroups === void 0 ? void 0 : schemaBoneGroups.forEach((schemaBoneGroup, iBoneGroup) => { const rootIndices = schemaBoneGroup.bones; if (!rootIndices) { return; } rootIndices.forEach((rootIndex) => { var _a, _b, _c, _d; const root = threeNodes[rootIndex]; // prepare setting const gravityDir = new THREE.Vector3(); if (schemaBoneGroup.gravityDir) { gravityDir.set((_a = schemaBoneGroup.gravityDir.x) !== null && _a !== void 0 ? _a : 0.0, (_b = schemaBoneGroup.gravityDir.y) !== null && _b !== void 0 ? _b : 0.0, (_c = schemaBoneGroup.gravityDir.z) !== null && _c !== void 0 ? _c : 0.0); } else { gravityDir.set(0.0, -1.0, 0.0); } const center = schemaBoneGroup.center != null ? threeNodes[schemaBoneGroup.center] : undefined; const setting = { hitRadius: schemaBoneGroup.hitRadius, dragForce: schemaBoneGroup.dragForce, gravityPower: schemaBoneGroup.gravityPower, stiffness: schemaBoneGroup.stiffiness, gravityDir, }; // prepare colliders const colliderGroupsForSpring = (_d = schemaBoneGroup.colliderGroups) === null || _d === void 0 ? void 0 : _d.map((iColliderGroup) => { const group = colliderGroups === null || colliderGroups === void 0 ? void 0 : colliderGroups[iColliderGroup]; if (group == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The spring #${iBoneGroup} attempted to use a colliderGroup ${iColliderGroup} but not found`); } return group; }); // create spring bones root.traverse((node) => { var _a; const child = (_a = node.children[0]) !== null && _a !== void 0 ? _a : null; const joint = this._importJoint(node, child, setting, colliderGroupsForSpring); if (center) { joint.center = center; } manager.addJoint(joint); }); }); }); // init spring bones gltf.scene.updateMatrixWorld(); manager.setInitState(); return manager; }); } _importJoint(node, child, setting, colliderGroupsForSpring) { const springBone = new VRMSpringBoneJoint(node, child, setting, colliderGroupsForSpring); if (this.jointHelperRoot) { const helper = new VRMSpringBoneJointHelper(springBone); this.jointHelperRoot.add(helper); helper.renderOrder = this.jointHelperRoot.renderOrder; } return springBone; } _importSphereCollider(destination, params) { const { offset, radius } = params; const shape = new VRMSpringBoneColliderShapeSphere({ offset, radius }); const collider = new VRMSpringBoneCollider(shape); destination.add(collider); if (this.colliderHelperRoot) { const helper = new VRMSpringBoneColliderHelper(collider); this.colliderHelperRoot.add(helper); helper.renderOrder = this.colliderHelperRoot.renderOrder; } return collider; } _importCapsuleCollider(destination, params) { const { offset, radius, tail } = params; const shape = new VRMSpringBoneColliderShapeCapsule({ offset, radius, tail }); const collider = new VRMSpringBoneCollider(shape); destination.add(collider); if (this.colliderHelperRoot) { const helper = new VRMSpringBoneColliderHelper(collider); this.colliderHelperRoot.add(helper); helper.renderOrder = this.colliderHelperRoot.renderOrder; } return collider; } } VRMSpringBoneLoaderPlugin.EXTENSION_NAME = 'VRMC_springBone'; class VRMLoaderPlugin { get name() { return 'VRMLoaderPlugin'; } constructor(parser, options) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; this.parser = parser; const helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; const autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; this.expressionPlugin = (_a = options === null || options === void 0 ? void 0 : options.expressionPlugin) !== null && _a !== void 0 ? _a : new VRMExpressionLoaderPlugin(parser); this.firstPersonPlugin = (_b = options === null || options === void 0 ? void 0 : options.firstPersonPlugin) !== null && _b !== void 0 ? _b : new VRMFirstPersonLoaderPlugin(parser); this.humanoidPlugin = (_c = options === null || options === void 0 ? void 0 : options.humanoidPlugin) !== null && _c !== void 0 ? _c : new VRMHumanoidLoaderPlugin(parser, { helperRoot, autoUpdateHumanBones, }); this.lookAtPlugin = (_d = options === null || options === void 0 ? void 0 : options.lookAtPlugin) !== null && _d !== void 0 ? _d : new VRMLookAtLoaderPlugin(parser, { helperRoot }); this.metaPlugin = (_e = options === null || options === void 0 ? void 0 : options.metaPlugin) !== null && _e !== void 0 ? _e : new VRMMetaLoaderPlugin(parser); this.mtoonMaterialPlugin = (_f = options === null || options === void 0 ? void 0 : options.mtoonMaterialPlugin) !== null && _f !== void 0 ? _f : new MToonMaterialLoaderPlugin(parser); this.materialsHDREmissiveMultiplierPlugin = (_g = options === null || options === void 0 ? void 0 : options.materialsHDREmissiveMultiplierPlugin) !== null && _g !== void 0 ? _g : new VRMMaterialsHDREmissiveMultiplierLoaderPlugin(parser); this.materialsV0CompatPlugin = (_h = options === null || options === void 0 ? void 0 : options.materialsV0CompatPlugin) !== null && _h !== void 0 ? _h : new VRMMaterialsV0CompatPlugin(parser); this.springBonePlugin = (_j = options === null || options === void 0 ? void 0 : options.springBonePlugin) !== null && _j !== void 0 ? _j : new VRMSpringBoneLoaderPlugin(parser, { colliderHelperRoot: helperRoot, jointHelperRoot: helperRoot, }); this.nodeConstraintPlugin = (_k = options === null || options === void 0 ? void 0 : options.nodeConstraintPlugin) !== null && _k !== void 0 ? _k : new VRMNodeConstraintLoaderPlugin(parser, { helperRoot }); } beforeRoot() { return __awaiter$5(this, void 0, void 0, function* () { yield this.materialsV0CompatPlugin.beforeRoot(); yield this.mtoonMaterialPlugin.beforeRoot(); }); } loadMesh(meshIndex) { return __awaiter$5(this, void 0, void 0, function* () { return yield this.mtoonMaterialPlugin.loadMesh(meshIndex); }); } getMaterialType(materialIndex) { const mtoonType = this.mtoonMaterialPlugin.getMaterialType(materialIndex); if (mtoonType != null) { return mtoonType; } return null; } extendMaterialParams(materialIndex, materialParams) { return __awaiter$5(this, void 0, void 0, function* () { yield this.materialsHDREmissiveMultiplierPlugin.extendMaterialParams(materialIndex, materialParams); yield this.mtoonMaterialPlugin.extendMaterialParams(materialIndex, materialParams); }); } afterRoot(gltf) { return __awaiter$5(this, void 0, void 0, function* () { yield this.metaPlugin.afterRoot(gltf); yield this.humanoidPlugin.afterRoot(gltf); yield this.expressionPlugin.afterRoot(gltf); yield this.lookAtPlugin.afterRoot(gltf); yield this.firstPersonPlugin.afterRoot(gltf); yield this.springBonePlugin.afterRoot(gltf); yield this.nodeConstraintPlugin.afterRoot(gltf); yield this.mtoonMaterialPlugin.afterRoot(gltf); const meta = gltf.userData.vrmMeta; const humanoid = gltf.userData.vrmHumanoid; // meta and humanoid are required to be a VRM. // Don't create VRM if they are null if (meta && humanoid) { const vrm = new VRM({ scene: gltf.scene, expressionManager: gltf.userData.vrmExpressionManager, firstPerson: gltf.userData.vrmFirstPerson, humanoid, lookAt: gltf.userData.vrmLookAt, meta, materials: gltf.userData.vrmMToonMaterials, springBoneManager: gltf.userData.vrmSpringBoneManager, nodeConstraintManager: gltf.userData.vrmNodeConstraintManager, }); gltf.userData.vrm = vrm; } }); } } // See: https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects function disposeMaterial(material) { Object.values(material).forEach((value) => { if (value === null || value === void 0 ? void 0 : value.isTexture) { const texture = value; texture.dispose(); } }); if (material.isShaderMaterial) { const uniforms = material.uniforms; if (uniforms) { Object.values(uniforms).forEach((uniform) => { const value = uniform.value; if (value === null || value === void 0 ? void 0 : value.isTexture) { const texture = value; texture.dispose(); } }); } } material.dispose(); } function dispose(object3D) { const geometry = object3D.geometry; if (geometry) { geometry.dispose(); } const skeleton = object3D.skeleton; if (skeleton) { skeleton.dispose(); } const material = object3D.material; if (material) { if (Array.isArray(material)) { material.forEach((material) => disposeMaterial(material)); } else if (material) { disposeMaterial(material); } } } function deepDispose(object3D) { object3D.traverse(dispose); } /** * Traverse given object and remove unnecessarily bound joints from every `THREE.SkinnedMesh`. * Some environments like mobile devices have a lower limit of bones and might be unable to perform mesh skinning, this function might resolve such an issue. * Also this function might greatly improve the performance of mesh skinning. * * @param root Root object that will be traversed */ function removeUnnecessaryJoints(root) { // some meshes might share a same skinIndex attribute and this map prevents to convert the attribute twice const skeletonList = new Map(); // Traverse an entire tree root.traverse((obj) => { if (obj.type !== 'SkinnedMesh') { return; } const mesh = obj; const geometry = mesh.geometry; const attribute = geometry.getAttribute('skinIndex'); // look for existing skeleton let skeleton = skeletonList.get(attribute); if (!skeleton) { // generate reduced bone list const bones = []; // new list of bone const boneInverses = []; // new list of boneInverse const boneIndexMap = {}; // map of old bone index vs. new bone index // create a new bone map const array = attribute.array; for (let i = 0; i < array.length; i++) { const index = array[i]; // new skinIndex buffer if (boneIndexMap[index] === undefined) { boneIndexMap[index] = bones.length; bones.push(mesh.skeleton.bones[index]); boneInverses.push(mesh.skeleton.boneInverses[index]); } array[i] = boneIndexMap[index]; } // replace with new indices attribute.copyArray(array); attribute.needsUpdate = true; // replace with new indices skeleton = new THREE.Skeleton(bones, boneInverses); skeletonList.set(attribute, skeleton); } mesh.bind(skeleton, new THREE.Matrix4()); // ^^^^^^^^^^^^^^^^^^^ transform of meshes should be ignored // See: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins }); } /** * Traverse given object and remove unnecessary vertices from every BufferGeometries. * This only processes buffer geometries with index buffer. * * Three.js creates morph textures for each geometries and it sometimes consumes unnecessary amount of VRAM for certain models. * This function will optimize geometries to reduce the size of morph texture. * See: https://github.com/mrdoob/three.js/issues/23095 * * @param root Root object that will be traversed */ function removeUnnecessaryVertices(root) { const geometryMap = new Map(); // Traverse an entire tree root.traverse((obj) => { var _a, _b, _c, _d; if (!obj.isMesh) { return; } const mesh = obj; const geometry = mesh.geometry; // if the geometry does not have an index buffer it does not need to process const origianlIndex = geometry.index; if (origianlIndex == null) { return; } // skip already processed geometry const newGeometryAlreadyExisted = geometryMap.get(geometry); if (newGeometryAlreadyExisted != null) { mesh.geometry = newGeometryAlreadyExisted; return; } const newGeometry = new THREE.BufferGeometry(); // copy various properties // Ref: https://github.com/mrdoob/three.js/blob/1a241ef10048770d56e06d6cd6a64c76cc720f95/src/core/BufferGeometry.js#L1011 newGeometry.name = geometry.name; newGeometry.morphTargetsRelative = geometry.morphTargetsRelative; geometry.groups.forEach((group) => { newGeometry.addGroup(group.start, group.count, group.materialIndex); }); newGeometry.boundingBox = (_b = (_a = geometry.boundingBox) === null || _a === void 0 ? void 0 : _a.clone()) !== null && _b !== void 0 ? _b : null; newGeometry.boundingSphere = (_d = (_c = geometry.boundingSphere) === null || _c === void 0 ? void 0 : _c.clone()) !== null && _d !== void 0 ? _d : null; newGeometry.setDrawRange(geometry.drawRange.start, geometry.drawRange.count); newGeometry.userData = geometry.userData; // set to geometryMap geometryMap.set(geometry, newGeometry); /** from original index to new index */ const originalIndexNewIndexMap = []; /** from new index to original index */ const newIndexOriginalIndexMap = []; // reorganize indices { const originalIndexArray = origianlIndex.array; const newIndexArray = new originalIndexArray.constructor(originalIndexArray.length); let indexHead = 0; for (let i = 0; i < originalIndexArray.length; i++) { const originalIndex = originalIndexArray[i]; let newIndex = originalIndexNewIndexMap[originalIndex]; if (newIndex == null) { originalIndexNewIndexMap[originalIndex] = indexHead; newIndexOriginalIndexMap[indexHead] = originalIndex; newIndex = indexHead; indexHead++; } newIndexArray[i] = newIndex; } newGeometry.setIndex(new BufferAttribute(newIndexArray, 1, false)); } // reorganize attributes Object.keys(geometry.attributes).forEach((attributeName) => { const originalAttribute = geometry.attributes[attributeName]; if (originalAttribute.isInterleavedBufferAttribute) { throw new Error('removeUnnecessaryVertices: InterleavedBufferAttribute is not supported'); } const originalAttributeArray = originalAttribute.array; const { itemSize, normalized } = originalAttribute; const newAttributeArray = new originalAttributeArray.constructor(newIndexOriginalIndexMap.length * itemSize); newIndexOriginalIndexMap.forEach((originalIndex, i) => { for (let j = 0; j < itemSize; j++) { newAttributeArray[i * itemSize + j] = originalAttributeArray[originalIndex * itemSize + j]; } }); newGeometry.setAttribute(attributeName, new BufferAttribute(newAttributeArray, itemSize, normalized)); }); // reorganize morph attributes /** True if all morphs are zero. */ let isNullMorph = true; Object.keys(geometry.morphAttributes).forEach((attributeName) => { newGeometry.morphAttributes[attributeName] = []; const morphs = geometry.morphAttributes[attributeName]; for (let iMorph = 0; iMorph < morphs.length; iMorph++) { const originalAttribute = morphs[iMorph]; if (originalAttribute.isInterleavedBufferAttribute) { throw new Error('removeUnnecessaryVertices: InterleavedBufferAttribute is not supported'); } const originalAttributeArray = originalAttribute.array; const { itemSize, normalized } = originalAttribute; const newAttributeArray = new originalAttributeArray.constructor(newIndexOriginalIndexMap.length * itemSize); newIndexOriginalIndexMap.forEach((originalIndex, i) => { for (let j = 0; j < itemSize; j++) { newAttributeArray[i * itemSize + j] = originalAttributeArray[originalIndex * itemSize + j]; } }); isNullMorph = isNullMorph && newAttributeArray.every((v) => v === 0); newGeometry.morphAttributes[attributeName][iMorph] = new BufferAttribute(newAttributeArray, itemSize, normalized); } }); // If all morphs are zero, just discard the morph attributes we've just made if (isNullMorph) { newGeometry.morphAttributes = {}; } mesh.geometry = newGeometry; }); Array.from(geometryMap.keys()).forEach((originalGeometry) => { originalGeometry.dispose(); }); } /** * If the given VRM is VRM0.0, rotate the `vrm.scene` by 180 degrees around the Y axis. * * @param vrm The target VRM */ function rotateVRM0(vrm) { var _a; if (((_a = vrm.meta) === null || _a === void 0 ? void 0 : _a.metaVersion) === '0') { vrm.scene.rotation.y = Math.PI; } } class VRMUtils { constructor() { // this class is not meant to be instantiated } } VRMUtils.deepDispose = deepDispose; VRMUtils.removeUnnecessaryJoints = removeUnnecessaryJoints; VRMUtils.removeUnnecessaryVertices = removeUnnecessaryVertices; VRMUtils.rotateVRM0 = rotateVRM0; export { MToonMaterial, MToonMaterialDebugMode, MToonMaterialLoaderPlugin, MToonMaterialOutlineWidthMode, VRM, VRMAimConstraint, VRMCore, VRMCoreLoaderPlugin, VRMExpression, VRMExpressionLoaderPlugin, VRMExpressionManager, VRMExpressionMaterialColorBind, VRMExpressionMaterialColorType, VRMExpressionMorphTargetBind, VRMExpressionOverrideType, VRMExpressionPresetName, VRMExpressionTextureTransformBind, VRMFirstPerson, VRMFirstPersonLoaderPlugin, VRMFirstPersonMeshAnnotationType, VRMHumanBoneList, VRMHumanBoneName, VRMHumanBoneParentMap, VRMHumanoid, VRMHumanoidHelper, VRMHumanoidLoaderPlugin, VRMLoaderPlugin, VRMLookAt, VRMLookAtBoneApplier, VRMLookAtExpressionApplier, VRMLookAtHelper, VRMLookAtLoaderPlugin, VRMLookAtRangeMap, VRMLookAtTypeName, VRMMetaLoaderPlugin, VRMNodeConstraint, VRMNodeConstraintHelper, VRMNodeConstraintLoaderPlugin, VRMNodeConstraintManager, VRMRequiredHumanBoneName, VRMRollConstraint, VRMRotationConstraint, VRMSpringBoneCollider, VRMSpringBoneColliderHelper, VRMSpringBoneColliderShape, VRMSpringBoneColliderShapeCapsule, VRMSpringBoneColliderShapeSphere, VRMSpringBoneJoint, VRMSpringBoneJointHelper, VRMSpringBoneLoaderPlugin, VRMSpringBoneManager, VRMUtils }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdnJtLm1vZHVsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vdGhyZWUtdnJtLWNvcmUvbGliL3RocmVlLXZybS1jb3JlLm1vZHVsZS5qcyIsIi4uL3NyYy9WUk0udHMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwiLi4vLi4vdGhyZWUtdnJtLW1hdGVyaWFscy1tdG9vbi9saWIvdGhyZWUtdnJtLW1hdGVyaWFscy1tdG9vbi5tb2R1bGUuanMiLCIuLi8uLi90aHJlZS12cm0tbWF0ZXJpYWxzLWhkci1lbWlzc2l2ZS1tdWx0aXBsaWVyL2xpYi90aHJlZS12cm0tbWF0ZXJpYWxzLWhkci1lbWlzc2l2ZS1tdWx0aXBsaWVyLm1vZHVsZS5qcyIsIi4uLy4uL3RocmVlLXZybS1tYXRlcmlhbHMtdjBjb21wYXQvbGliL3RocmVlLXZybS1tYXRlcmlhbHMtdjBjb21wYXQubW9kdWxlLmpzIiwiLi4vLi4vdGhyZWUtdnJtLW5vZGUtY29uc3RyYWludC9saWIvdGhyZWUtdnJtLW5vZGUtY29uc3RyYWludC5tb2R1bGUuanMiLCIuLi8uLi90aHJlZS12cm0tc3ByaW5nYm9uZS9saWIvdGhyZWUtdnJtLXNwcmluZ2JvbmUubW9kdWxlLmpzIiwiLi4vc3JjL1ZSTUxvYWRlclBsdWdpbi50cyIsIi4uL3NyYy9WUk1VdGlscy9kZWVwRGlzcG9zZS50cyIsIi4uL3NyYy9WUk1VdGlscy9yZW1vdmVVbm5lY2Vzc2FyeUpvaW50cy50cyIsIi4uL3NyYy9WUk1VdGlscy9yZW1vdmVVbm5lY2Vzc2FyeVZlcnRpY2VzLnRzIiwiLi4vc3JjL1ZSTVV0aWxzL3JvdGF0ZVZSTTAudHMiLCIuLi9zcmMvVlJNVXRpbHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAcGl4aXYvdGhyZWUtdnJtLWNvcmUgdjIuMC42XG4gKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY29yZSBmZWF0dXJlcyBvZiBWUk0sIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1jb3JlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGl4aXYvdGhyZWUtdnJtL2Jsb2IvcmVsZWFzZS9MSUNFTlNFXG4gKi9cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLy8gYW5pbWF0aW9uTWl4ZXIg44Gu55uj6KaW5a++6LGh44Gv44CBU2NlbmUg44Gu5Lit44Gr5YWl44Gj44Gm44GE44KL5b+F6KaB44GM44GC44KL44CCXG4vLyDjgZ3jga7jgZ/jgoHjgIHooajnpLrjgqrjg5bjgrjjgqfjgq/jg4jjgafjga/jgarjgYTjgZHjgozjganjgIFPYmplY3QzRCDjgpLntpnmib/jgZfjgaYgU2NlbmUg44Gr5oqV5YWl44Gn44GN44KL44KI44GG44Gr44GZ44KL44CCXG5jbGFzcyBWUk1FeHByZXNzaW9uIGV4dGVuZHMgVEhSRUUuT2JqZWN0M0Qge1xuICAgIC8qKlxuICAgICAqIEEgdmFsdWUgcmVwcmVzZW50cyBob3cgbXVjaCBpdCBzaG91bGQgb3ZlcnJpZGUgYmxpbmsgZXhwcmVzc2lvbnMuXG4gICAgICogYDAuMGAgPT0gbm8gb3ZlcnJpZGUgYXQgYWxsLCBgMS4wYCA9PSBjb21wbGV0ZWx5IGJsb2NrIHRoZSBleHByZXNzaW9ucy5cbiAgICAgKi9cbiAgICBnZXQgb3ZlcnJpZGVCbGlua0Ftb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcnJpZGVCbGluayA9PT0gJ2Jsb2NrJykge1xuICAgICAgICAgICAgcmV0dXJuIDAuMCA8IHRoaXMud2VpZ2h0ID8gMS4wIDogMC4wO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMub3ZlcnJpZGVCbGluayA9PT0gJ2JsZW5kJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2VpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIDAuMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIHZhbHVlIHJlcHJlc2VudHMgaG93IG11Y2ggaXQgc2hvdWxkIG92ZXJyaWRlIGxvb2tBdCBleHByZXNzaW9ucy5cbiAgICAgKiBgMC4wYCA9PSBubyBvdmVycmlkZSBhdCBhbGwsIGAxLjBgID09IGNvbXBsZXRlbHkgYmxvY2sgdGhlIGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIGdldCBvdmVycmlkZUxvb2tBdEFtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcnJpZGVMb29rQXQgPT09ICdibG9jaycpIHtcbiAgICAgICAgICAgIHJldHVybiAwLjAgPCB0aGlzLndlaWdodCA/IDEuMCA6IDAuMDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLm92ZXJyaWRlTG9va0F0ID09PSAnYmxlbmQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMC4wO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgdmFsdWUgcmVwcmVzZW50cyBob3cgbXVjaCBpdCBzaG91bGQgb3ZlcnJpZGUgbW91dGggZXhwcmVzc2lvbnMuXG4gICAgICogYDAuMGAgPT0gbm8gb3ZlcnJpZGUgYXQgYWxsLCBgMS4wYCA9PSBjb21wbGV0ZWx5IGJsb2NrIHRoZSBleHByZXNzaW9ucy5cbiAgICAgKi9cbiAgICBnZXQgb3ZlcnJpZGVNb3V0aEFtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcnJpZGVNb3V0aCA9PT0gJ2Jsb2NrJykge1xuICAgICAgICAgICAgcmV0dXJuIDAuMCA8IHRoaXMud2VpZ2h0ID8gMS4wIDogMC4wO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMub3ZlcnJpZGVNb3V0aCA9PT0gJ2JsZW5kJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2VpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIDAuMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihleHByZXNzaW9uTmFtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIGN1cnJlbnQgd2VpZ2h0IG9mIHRoZSBleHByZXNzaW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy53ZWlnaHQgPSAwLjA7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbnRlcnByZXQgdmFsdWVzIGdyZWF0ZXIgdGhhbiAwLjUgYXMgMS4wLCBvcnRoZXJ3aXNlIDAuMC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaXNCaW5hcnkgPSBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgaG93IHRoZSBleHByZXNzaW9uIG92ZXJyaWRlcyBibGluayBleHByZXNzaW9ucy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMub3ZlcnJpZGVCbGluayA9ICdub25lJztcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgaG93IHRoZSBleHByZXNzaW9uIG92ZXJyaWRlcyBsb29rQXQgZXhwcmVzc2lvbnMuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm92ZXJyaWRlTG9va0F0ID0gJ25vbmUnO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBob3cgdGhlIGV4cHJlc3Npb24gb3ZlcnJpZGVzIG1vdXRoIGV4cHJlc3Npb25zLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5vdmVycmlkZU1vdXRoID0gJ25vbmUnO1xuICAgICAgICB0aGlzLl9iaW5kcyA9IFtdO1xuICAgICAgICB0aGlzLm5hbWUgPSBgVlJNRXhwcmVzc2lvbl8ke2V4cHJlc3Npb25OYW1lfWA7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbk5hbWUgPSBleHByZXNzaW9uTmFtZTtcbiAgICAgICAgLy8gdHJhdmVyc2Ug5pmC44Gu5pWR5riI5omL5q6144Go44GX44GmIE9iamVjdDNEIOOBp+OBr+OBquOBhOOBk+OBqOOCkuaYjuekuuOBl+OBpuOBiuOBj1xuICAgICAgICB0aGlzLnR5cGUgPSAnVlJNRXhwcmVzc2lvbic7XG4gICAgICAgIC8vIOihqOekuuebrueahOOBruOCquODluOCuOOCp+OCr+ODiOOBp+OBr+OBquOBhOOBruOBp+OAgeiyoOiNt+i7vea4m+OBruOBn+OCgeOBqyB2aXNpYmxlIOOCkiBmYWxzZSDjgavjgZfjgabjgYrjgY/jgIJcbiAgICAgICAgLy8g44GT44KM44Gr44KI44KK44CB44GT44Gu44Kk44Oz44K544K/44Oz44K544Gr5a++44GZ44KL5q+O44OV44Os44O844Og44GuIG1hdHJpeCDoh6rli5XoqIjnrpfjgpLnnIHnlaXjgafjgY3jgovjgIJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIGFkZEJpbmQoYmluZCkge1xuICAgICAgICB0aGlzLl9iaW5kcy5wdXNoKGJpbmQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBcHBseSB3ZWlnaHQgdG8gZXZlcnkgYXNzaWduZWQgYmxlbmQgc2hhcGVzLlxuICAgICAqIFNob3VsZCBiZSBjYWxsZWQgZXZlcnkgZnJhbWUuXG4gICAgICovXG4gICAgYXBwbHlXZWlnaHQob3B0aW9ucykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGxldCBhY3R1YWxXZWlnaHQgPSB0aGlzLmlzQmluYXJ5ID8gKHRoaXMud2VpZ2h0IDw9IDAuNSA/IDAuMCA6IDEuMCkgOiB0aGlzLndlaWdodDtcbiAgICAgICAgYWN0dWFsV2VpZ2h0ICo9IChfYSA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5tdWx0aXBsaWVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAxLjA7XG4gICAgICAgIHRoaXMuX2JpbmRzLmZvckVhY2goKGJpbmQpID0+IGJpbmQuYXBwbHlXZWlnaHQoYWN0dWFsV2VpZ2h0KSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENsZWFyIHByZXZpb3VzbHkgYXNzaWduZWQgYmxlbmQgc2hhcGVzLlxuICAgICAqL1xuICAgIGNsZWFyQXBwbGllZFdlaWdodCgpIHtcbiAgICAgICAgdGhpcy5fYmluZHMuZm9yRWFjaCgoYmluZCkgPT4gYmluZC5jbGVhckFwcGxpZWRXZWlnaHQoKSk7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFByaW1pdGl2ZXNJbnRlcm5hbChnbHRmLCBub2RlSW5kZXgsIG5vZGUpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGpzb24gPSBnbHRmLnBhcnNlci5qc29uO1xuICAgIC8qKlxuICAgICAqIExldCdzIGxpc3QgdXAgZXZlcnkgcG9zc2libGUgcGF0dGVybnMgdGhhdCBwYXJzZWQgZ2x0ZiBub2RlcyB3aXRoIGEgbWVzaCBjYW4gaGF2ZSwsLFxuICAgICAqXG4gICAgICogXCIqXCIgaW5kaWNhdGVzIHRoYXQgdGhvc2UgbWVzaGVzIHNob3VsZCBiZSBsaXN0ZWQgdXAgdXNpbmcgdGhpcyBmdW5jdGlvblxuICAgICAqXG4gICAgICogIyMjIEEgbm9kZSB3aXRoIGEgKG1lc2gsIGEgc2lnbmxlIHByaW1pdGl2ZSlcbiAgICAgKlxuICAgICAqIC0gYFRIUkVFLk1lc2hgOiBUaGUgb25seSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKlxuICAgICAqXG4gICAgICogIyMjIEEgbm9kZSB3aXRoIGEgKG1lc2gsIG11bHRpcGxlIHByaW1pdGl2ZXMpXG4gICAgICpcbiAgICAgKiAtIGBUSFJFRS5Hcm91cGA6IFRoZSByb290IG9mIHRoZSBtZXNoXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKlxuICAgICAqICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoICgyKSAqXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcykgQU5EIChhIGNoaWxkIHdpdGggYSBtZXNoLCBhIHNpbmdsZSBwcmltaXRpdmUpXG4gICAgICpcbiAgICAgKiAtIGBUSFJFRS5Hcm91cGA6IFRoZSByb290IG9mIHRoZSBtZXNoXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKlxuICAgICAqICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoICgyKSAqXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgYSBNRVNIIE9GIFRIRSBDSElMRFxuICAgICAqXG4gICAgICogIyMjIEEgbm9kZSB3aXRoIGEgKG1lc2gsIG11bHRpcGxlIHByaW1pdGl2ZXMpIEFORCAoYSBjaGlsZCB3aXRoIGEgbWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcylcbiAgICAgKlxuICAgICAqIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgdGhlIG1lc2hcbiAgICAgKiAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAqXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKDIpICpcbiAgICAgKiAgIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgYSBNRVNIIE9GIFRIRSBDSElMRFxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggb2YgdGhlIGNoaWxkXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCBvZiB0aGUgY2hpbGQgKDIpXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcykgQlVUIHRoZSBub2RlIGlzIGEgYm9uZVxuICAgICAqXG4gICAgICogLSBgVEhSRUUuQm9uZWA6IFRoZSByb290IG9mIHRoZSBub2RlLCBhcyBhIGJvbmVcbiAgICAgKiAgIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgdGhlIG1lc2hcbiAgICAgKiAgICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoICpcbiAgICAgKiAgICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoICgyKSAqXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcykgQU5EIChhIGNoaWxkIHdpdGggYSBtZXNoLCBtdWx0aXBsZSBwcmltaXRpdmVzKSBCVVQgdGhlIG5vZGUgaXMgYSBib25lXG4gICAgICpcbiAgICAgKiAtIGBUSFJFRS5Cb25lYDogVGhlIHJvb3Qgb2YgdGhlIG5vZGUsIGFzIGEgYm9uZVxuICAgICAqICAgLSBgVEhSRUUuR3JvdXBgOiBUaGUgcm9vdCBvZiB0aGUgbWVzaFxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKlxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKDIpICpcbiAgICAgKiAgIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgYSBNRVNIIE9GIFRIRSBDSElMRFxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggb2YgdGhlIGNoaWxkXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCBvZiB0aGUgY2hpbGQgKDIpXG4gICAgICpcbiAgICAgKiAuLi5JIHdpbGwgdGFrZSBhIHN0cmF0ZWd5IHRoYXQgdHJhdmVyc2VzIHRoZSByb290IG9mIHRoZSBub2RlIGFuZCB0YWtlIGZpcnN0IChwcmltaXRpdmVDb3VudCkgbWVzaGVzLlxuICAgICAqL1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBub2RlIGhhcyBhIG1lc2hcbiAgICBjb25zdCBzY2hlbWFOb2RlID0gKF9hID0ganNvbi5ub2RlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW25vZGVJbmRleF07XG4gICAgaWYgKHNjaGVtYU5vZGUgPT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYGV4dHJhY3RQcmltaXRpdmVzSW50ZXJuYWw6IEF0dGVtcHQgdG8gdXNlIG5vZGVzWyR7bm9kZUluZGV4fV0gb2YgZ2xURiBidXQgdGhlIG5vZGUgZG9lc24ndCBleGlzdGApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWVzaEluZGV4ID0gc2NoZW1hTm9kZS5tZXNoO1xuICAgIGlmIChtZXNoSW5kZXggPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLy8gSG93IG1hbnkgcHJpbWl0aXZlcyB0aGUgbWVzaCBoYXM/XG4gICAgY29uc3Qgc2NoZW1hTWVzaCA9IChfYiA9IGpzb24ubWVzaGVzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbbWVzaEluZGV4XTtcbiAgICBpZiAoc2NoZW1hTWVzaCA9PSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgZXh0cmFjdFByaW1pdGl2ZXNJbnRlcm5hbDogQXR0ZW1wdCB0byB1c2UgbWVzaGVzWyR7bWVzaEluZGV4fV0gb2YgZ2xURiBidXQgdGhlIG1lc2ggZG9lc24ndCBleGlzdGApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgcHJpbWl0aXZlQ291bnQgPSBzY2hlbWFNZXNoLnByaW1pdGl2ZXMubGVuZ3RoO1xuICAgIC8vIFRyYXZlcnNlIHRoZSBub2RlIGFuZCB0YWtlIGZpcnN0IChwcmltaXRpdmVDb3VudCkgbWVzaGVzXG4gICAgY29uc3QgcHJpbWl0aXZlcyA9IFtdO1xuICAgIG5vZGUudHJhdmVyc2UoKG9iamVjdCkgPT4ge1xuICAgICAgICBpZiAocHJpbWl0aXZlcy5sZW5ndGggPCBwcmltaXRpdmVDb3VudCkge1xuICAgICAgICAgICAgaWYgKG9iamVjdC5pc01lc2gpIHtcbiAgICAgICAgICAgICAgICBwcmltaXRpdmVzLnB1c2gob2JqZWN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcmltaXRpdmVzO1xufVxuLyoqXG4gKiBFeHRyYWN0IHByaW1pdGl2ZXMgKCBgVEhSRUUuTWVzaFtdYCApIG9mIGEgbm9kZSBmcm9tIGEgbG9hZGVkIEdMVEYuXG4gKiBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gZGlzdGluZ3Vpc2ggcHJpbWl0aXZlcyBhbmQgY2hpbGRyZW4gZnJvbSBhIG5vZGUgdGhhdCBoYXMgYm90aCBtZXNoZXMgYW5kIGNoaWxkcmVuLlxuICpcbiAqIEl0IHV0aWxpemVzIHRoZSBiZWhhdmlvciB0aGF0IEdMVEZMb2FkZXIgYWRkcyBtZXNoIHByaW1pdGl2ZXMgdG8gdGhlIG5vZGUgb2JqZWN0ICggYFRIUkVFLkdyb3VwYCApIGZpcnN0IHRoZW4gYWRkcyBpdHMgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIGdsdGYgQSBHTFRGIG9iamVjdCB0YWtlbiBmcm9tIEdMVEZMb2FkZXJcbiAqIEBwYXJhbSBub2RlSW5kZXggVGhlIGluZGV4IG9mIHRoZSBub2RlXG4gKi9cbmZ1bmN0aW9uIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlKGdsdGYsIG5vZGVJbmRleCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB5aWVsZCBnbHRmLnBhcnNlci5nZXREZXBlbmRlbmN5KCdub2RlJywgbm9kZUluZGV4KTtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RQcmltaXRpdmVzSW50ZXJuYWwoZ2x0Ziwgbm9kZUluZGV4LCBub2RlKTtcbiAgICB9KTtcbn1cbi8qKlxuICogRXh0cmFjdCBwcmltaXRpdmVzICggYFRIUkVFLk1lc2hbXWAgKSBvZiBub2RlcyBmcm9tIGEgbG9hZGVkIEdMVEYuXG4gKiBTZWUge0BsaW5rIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlfSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIEl0IHJldHVybnMgYSBtYXAgZnJvbSBub2RlIGluZGV4IHRvIGV4dHJhY3Rpb24gcmVzdWx0LlxuICogSWYgYSBub2RlIGRvZXMgbm90IGhhdmUgYSBtZXNoLCB0aGUgZW50cnkgZm9yIHRoZSBub2RlIHdpbGwgbm90IGJlIHB1dCBpbiB0aGUgcmV0dXJuaW5nIG1hcC5cbiAqXG4gKiBAcGFyYW0gZ2x0ZiBBIEdMVEYgb2JqZWN0IHRha2VuIGZyb20gR0xURkxvYWRlclxuICovXG5mdW5jdGlvbiBnbHRmRXh0cmFjdFByaW1pdGl2ZXNGcm9tTm9kZXMoZ2x0Zikge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGVzID0geWllbGQgZ2x0Zi5wYXJzZXIuZ2V0RGVwZW5kZW5jaWVzKCdub2RlJyk7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgbm9kZXMuZm9yRWFjaCgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGV4dHJhY3RQcmltaXRpdmVzSW50ZXJuYWwoZ2x0ZiwgaW5kZXgsIG5vZGUpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbWFwLnNldChpbmRleCwgcmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSk7XG59XG5cbi8qKlxuICogR2V0IGEgbWF0ZXJpYWwgZGVmaW5pdGlvbiBpbmRleCBvZiBnbFRGIGZyb20gYXNzb2NpYXRlZCBtYXRlcmlhbC5cbiAqIEl0J3MgYmFzaWNhbGx5IGEgY29tYXQgY29kZSBiZXR3ZWVuIFRocmVlLmpzIHIxMzMgb3IgYWJvdmUgYW5kIHByZXZpb3VzIHZlcnNpb25zLlxuICogQHBhcmFtIHBhcnNlciBHTFRGUGFyc2VyXG4gKiBAcGFyYW0gbWF0ZXJpYWwgQSBtYXRlcmlhbCBvZiBnbHRmXG4gKiBAcmV0dXJucyBNYXRlcmlhbCBkZWZpbml0aW9uIGluZGV4IG9mIGdsVEZcbiAqL1xuZnVuY3Rpb24gZ2x0ZkdldEFzc29jaWF0ZWRNYXRlcmlhbEluZGV4KHBhcnNlciwgbWF0ZXJpYWwpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHRocmVlUmV2aXNpb24gPSBwYXJzZUludChUSFJFRS5SRVZJU0lPTiwgMTApO1xuICAgIGxldCBpbmRleCA9IG51bGw7XG4gICAgaWYgKHRocmVlUmV2aXNpb24gPj0gMTMzKSB7XG4gICAgICAgIGluZGV4ID0gKF9iID0gKF9hID0gcGFyc2VyLmFzc29jaWF0aW9ucy5nZXQobWF0ZXJpYWwpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubWF0ZXJpYWxzKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBudWxsO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgYXNzb2NpYXRpb25zID0gcGFyc2VyLmFzc29jaWF0aW9ucztcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gYXNzb2NpYXRpb25zLmdldChtYXRlcmlhbCk7XG4gICAgICAgIGlmICgocmVmZXJlbmNlID09PSBudWxsIHx8IHJlZmVyZW5jZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVmZXJlbmNlLnR5cGUpID09PSAnbWF0ZXJpYWxzJykge1xuICAgICAgICAgICAgaW5kZXggPSByZWZlcmVuY2UuaW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmNvbnN0IFZSTUV4cHJlc3Npb25QcmVzZXROYW1lID0ge1xuICAgIEFhOiAnYWEnLFxuICAgIEloOiAnaWgnLFxuICAgIE91OiAnb3UnLFxuICAgIEVlOiAnZWUnLFxuICAgIE9oOiAnb2gnLFxuICAgIEJsaW5rOiAnYmxpbmsnLFxuICAgIEhhcHB5OiAnaGFwcHknLFxuICAgIEFuZ3J5OiAnYW5ncnknLFxuICAgIFNhZDogJ3NhZCcsXG4gICAgUmVsYXhlZDogJ3JlbGF4ZWQnLFxuICAgIExvb2tVcDogJ2xvb2tVcCcsXG4gICAgU3VycHJpc2VkOiAnc3VycHJpc2VkJyxcbiAgICBMb29rRG93bjogJ2xvb2tEb3duJyxcbiAgICBMb29rTGVmdDogJ2xvb2tMZWZ0JyxcbiAgICBMb29rUmlnaHQ6ICdsb29rUmlnaHQnLFxuICAgIEJsaW5rTGVmdDogJ2JsaW5rTGVmdCcsXG4gICAgQmxpbmtSaWdodDogJ2JsaW5rUmlnaHQnLFxuICAgIE5ldXRyYWw6ICduZXV0cmFsJyxcbn07XG5cbi8qKlxuICogQ2xhbXAgdGhlIGlucHV0IHZhbHVlIHdpdGhpbiBbMC4wIC0gMS4wXS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGlucHV0IHZhbHVlXG4gKi9cbmZ1bmN0aW9uIHNhdHVyYXRlKHZhbHVlKSB7XG4gICAgcmV0dXJuIE1hdGgubWF4KE1hdGgubWluKHZhbHVlLCAxLjApLCAwLjApO1xufVxuXG5jbGFzcyBWUk1FeHByZXNzaW9uTWFuYWdlciB7XG4gICAgZ2V0IGV4cHJlc3Npb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwcmVzc2lvbnMuY29uY2F0KCk7XG4gICAgfVxuICAgIGdldCBleHByZXNzaW9uTWFwKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fZXhwcmVzc2lvbk1hcCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgbWFwIGZyb20gbmFtZSB0byBleHByZXNzaW9uLCBidXQgZXhjbHVkaW5nIGN1c3RvbSBleHByZXNzaW9ucy5cbiAgICAgKi9cbiAgICBnZXQgcHJlc2V0RXhwcmVzc2lvbk1hcCgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICAgIGNvbnN0IHByZXNldE5hbWVTZXQgPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoVlJNRXhwcmVzc2lvblByZXNldE5hbWUpKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5fZXhwcmVzc2lvbk1hcCkuZm9yRWFjaCgoW25hbWUsIGV4cHJlc3Npb25dKSA9PiB7XG4gICAgICAgICAgICBpZiAocHJlc2V0TmFtZVNldC5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbbmFtZV0gPSBleHByZXNzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSBtYXAgZnJvbSBuYW1lIHRvIGV4cHJlc3Npb24sIGJ1dCBleGNsdWRpbmcgcHJlc2V0IGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIGdldCBjdXN0b21FeHByZXNzaW9uTWFwKCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgY29uc3QgcHJlc2V0TmFtZVNldCA9IG5ldyBTZXQoT2JqZWN0LnZhbHVlcyhWUk1FeHByZXNzaW9uUHJlc2V0TmFtZSkpO1xuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLl9leHByZXNzaW9uTWFwKS5mb3JFYWNoKChbbmFtZSwgZXhwcmVzc2lvbl0pID0+IHtcbiAgICAgICAgICAgIGlmICghcHJlc2V0TmFtZVNldC5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbbmFtZV0gPSBleHByZXNzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn0uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIHNldCBvZiBuYW1lIG9yIHByZXNldCBuYW1lIG9mIGV4cHJlc3Npb25zIHRoYXQgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IHtAbGluayBWUk1FeHByZXNzaW9uLm92ZXJyaWRlQmxpbmt9LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ibGlua0V4cHJlc3Npb25OYW1lcyA9IFsnYmxpbmsnLCAnYmxpbmtMZWZ0JywgJ2JsaW5rUmlnaHQnXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgc2V0IG9mIG5hbWUgb3IgcHJlc2V0IG5hbWUgb2YgZXhwcmVzc2lvbnMgdGhhdCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkge0BsaW5rIFZSTUV4cHJlc3Npb24ub3ZlcnJpZGVMb29rQXR9LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5sb29rQXRFeHByZXNzaW9uTmFtZXMgPSBbJ2xvb2tMZWZ0JywgJ2xvb2tSaWdodCcsICdsb29rVXAnLCAnbG9va0Rvd24nXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgc2V0IG9mIG5hbWUgb3IgcHJlc2V0IG5hbWUgb2YgZXhwcmVzc2lvbnMgdGhhdCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkge0BsaW5rIFZSTUV4cHJlc3Npb24ub3ZlcnJpZGVNb3V0aH0uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm1vdXRoRXhwcmVzc2lvbk5hbWVzID0gWydhYScsICdlZScsICdpaCcsICdvaCcsICdvdSddO1xuICAgICAgICAvKipcbiAgICAgICAgICogQSBzZXQgb2Yge0BsaW5rIFZSTUV4cHJlc3Npb259LlxuICAgICAgICAgKiBXaGVuIHlvdSB3YW50IHRvIHJlZ2lzdGVyIGV4cHJlc3Npb25zLCB1c2Uge0BsaW5rIHJlZ2lzdGVyRXhwcmVzc2lvbn1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2V4cHJlc3Npb25zID0gW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIG1hcCBmcm9tIG5hbWUgdG8gZXhwcmVzc2lvbi5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2V4cHJlc3Npb25NYXAgPSB7fTtcbiAgICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb3B5IHRoZSBnaXZlbiB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9IGludG8gdGhpcyBvbmUuXG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUge0BsaW5rIFZSTUV4cHJlc3Npb25NYW5hZ2VyfSB5b3Ugd2FudCB0byBjb3B5XG4gICAgICogQHJldHVybnMgdGhpc1xuICAgICAqL1xuICAgIGNvcHkoc291cmNlKSB7XG4gICAgICAgIC8vIGZpcnN0IHVucmVnaXN0ZXIgYWxsIHRoZSBleHByZXNzaW9uIGl0IGhhc1xuICAgICAgICBjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuX2V4cHJlc3Npb25zLmNvbmNhdCgpO1xuICAgICAgICBleHByZXNzaW9ucy5mb3JFYWNoKChleHByZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVucmVnaXN0ZXJFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhlbiByZWdpc3RlciBhbGwgdGhlIGV4cHJlc3Npb24gb2YgdGhlIHNvdXJjZVxuICAgICAgICBzb3VyY2UuX2V4cHJlc3Npb25zLmZvckVhY2goKGV4cHJlc3Npb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJFeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gY29weSByZW1haW5pbmcgbWVtYmVyc1xuICAgICAgICB0aGlzLmJsaW5rRXhwcmVzc2lvbk5hbWVzID0gc291cmNlLmJsaW5rRXhwcmVzc2lvbk5hbWVzLmNvbmNhdCgpO1xuICAgICAgICB0aGlzLmxvb2tBdEV4cHJlc3Npb25OYW1lcyA9IHNvdXJjZS5sb29rQXRFeHByZXNzaW9uTmFtZXMuY29uY2F0KCk7XG4gICAgICAgIHRoaXMubW91dGhFeHByZXNzaW9uTmFtZXMgPSBzb3VyY2UubW91dGhFeHByZXNzaW9uTmFtZXMuY29uY2F0KCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgY2xvbmUgb2YgdGhpcyB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9LlxuICAgICAqIEByZXR1cm5zIENvcGllZCB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9XG4gICAgICovXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgVlJNRXhwcmVzc2lvbk1hbmFnZXIoKS5jb3B5KHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSByZWdpc3RlcmVkIGV4cHJlc3Npb24uXG4gICAgICogSWYgaXQgY2Fubm90IGZpbmQgYW4gZXhwcmVzc2lvbiwgaXQgd2lsbCByZXR1cm4gYG51bGxgIGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9yIHByZXNldCBuYW1lIG9mIHRoZSBleHByZXNzaW9uXG4gICAgICovXG4gICAgZ2V0RXhwcmVzc2lvbihuYW1lKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuX2V4cHJlc3Npb25NYXBbbmFtZV0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGFuIGV4cHJlc3Npb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbiB7QGxpbmsgVlJNRXhwcmVzc2lvbn0gdGhhdCBkZXNjcmliZXMgdGhlIGV4cHJlc3Npb25cbiAgICAgKi9cbiAgICByZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbikge1xuICAgICAgICB0aGlzLl9leHByZXNzaW9ucy5wdXNoKGV4cHJlc3Npb24pO1xuICAgICAgICB0aGlzLl9leHByZXNzaW9uTWFwW2V4cHJlc3Npb24uZXhwcmVzc2lvbk5hbWVdID0gZXhwcmVzc2lvbjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVW5yZWdpc3RlciBhbiBleHByZXNzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24geW91IHdhbnQgdG8gdW5yZWdpc3RlclxuICAgICAqL1xuICAgIHVucmVnaXN0ZXJFeHByZXNzaW9uKGV4cHJlc3Npb24pIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9leHByZXNzaW9ucy5pbmRleE9mKGV4cHJlc3Npb24pO1xuICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUV4cHJlc3Npb25NYW5hZ2VyOiBUaGUgc3BlY2lmaWVkIGV4cHJlc3Npb25zIGlzIG5vdCByZWdpc3RlcmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgZGVsZXRlIHRoaXMuX2V4cHJlc3Npb25NYXBbZXhwcmVzc2lvbi5leHByZXNzaW9uTmFtZV07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgY3VycmVudCB3ZWlnaHQgb2YgdGhlIHNwZWNpZmllZCBleHByZXNzaW9uLlxuICAgICAqIElmIGl0IGRvZXNuJ3QgaGF2ZSBhbiBleHByZXNzaW9uIG9mIGdpdmVuIG5hbWUsIGl0IHdpbGwgcmV0dXJuIGBudWxsYCBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgZXhwcmVzc2lvblxuICAgICAqL1xuICAgIGdldFZhbHVlKG5hbWUpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy5nZXRFeHByZXNzaW9uKG5hbWUpO1xuICAgICAgICByZXR1cm4gKF9hID0gZXhwcmVzc2lvbiA9PT0gbnVsbCB8fCBleHByZXNzaW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHByZXNzaW9uLndlaWdodCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IGEgd2VpZ2h0IHRvIHRoZSBzcGVjaWZpZWQgZXhwcmVzc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGV4cHJlc3Npb25cbiAgICAgKiBAcGFyYW0gd2VpZ2h0IFdlaWdodFxuICAgICAqL1xuICAgIHNldFZhbHVlKG5hbWUsIHdlaWdodCkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy5nZXRFeHByZXNzaW9uKG5hbWUpO1xuICAgICAgICBpZiAoZXhwcmVzc2lvbikge1xuICAgICAgICAgICAgZXhwcmVzc2lvbi53ZWlnaHQgPSBzYXR1cmF0ZSh3ZWlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIHRyYWNrIG5hbWUgb2Ygc3BlY2lmaWVkIGV4cHJlc3Npb24uXG4gICAgICogVGhpcyB0cmFjayBuYW1lIGlzIG5lZWRlZCB0byBtYW5pcHVsYXRlIGl0cyBleHByZXNzaW9uIHZpYSBrZXlmcmFtZSBhbmltYXRpb25zLlxuICAgICAqXG4gICAgICogQGV4YW1wbGUgTWFuaXB1bGF0ZSBhbiBleHByZXNzaW9uIHVzaW5nIGtleWZyYW1lIGFuaW1hdGlvblxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgdHJhY2tOYW1lID0gdnJtLmV4cHJlc3Npb25NYW5hZ2VyLmdldEV4cHJlc3Npb25UcmFja05hbWUoICdibGluaycgKTtcbiAgICAgKiBjb25zdCB0cmFjayA9IG5ldyBUSFJFRS5OdW1iZXJLZXlmcmFtZVRyYWNrKFxuICAgICAqICAgbmFtZSxcbiAgICAgKiAgIFsgMC4wLCAwLjUsIDEuMCBdLCAvLyB0aW1lc1xuICAgICAqICAgWyAwLjAsIDEuMCwgMC4wIF0gLy8gdmFsdWVzXG4gICAgICogKTtcbiAgICAgKlxuICAgICAqIGNvbnN0IGNsaXAgPSBuZXcgVEhSRUUuQW5pbWF0aW9uQ2xpcChcbiAgICAgKiAgICdibGluaycsIC8vIG5hbWVcbiAgICAgKiAgIDEuMCwgLy8gZHVyYXRpb25cbiAgICAgKiAgIFsgdHJhY2sgXSAvLyB0cmFja3NcbiAgICAgKiApO1xuICAgICAqXG4gICAgICogY29uc3QgbWl4ZXIgPSBuZXcgVEhSRUUuQW5pbWF0aW9uTWl4ZXIoIHZybS5zY2VuZSApO1xuICAgICAqIGNvbnN0IGFjdGlvbiA9IG1peGVyLmNsaXBBY3Rpb24oIGNsaXAgKTtcbiAgICAgKiBhY3Rpb24ucGxheSgpO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgZXhwcmVzc2lvblxuICAgICAqL1xuICAgIGdldEV4cHJlc3Npb25UcmFja05hbWUobmFtZSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy5nZXRFeHByZXNzaW9uKG5hbWUpO1xuICAgICAgICByZXR1cm4gZXhwcmVzc2lvbiA/IGAke2V4cHJlc3Npb24ubmFtZX0ud2VpZ2h0YCA6IG51bGw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBldmVyeSBleHByZXNzaW9ucy5cbiAgICAgKi9cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIC8vIHNlZSBob3cgbXVjaCB3ZSBzaG91bGQgb3ZlcnJpZGUgY2VydGFpbiBleHByZXNzaW9uc1xuICAgICAgICBjb25zdCB3ZWlnaHRNdWx0aXBsaWVycyA9IHRoaXMuX2NhbGN1bGF0ZVdlaWdodE11bHRpcGxpZXJzKCk7XG4gICAgICAgIC8vIHJlc2V0IGV4cHJlc3Npb24gYmluZHMgZmlyc3RcbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbnMuZm9yRWFjaCgoZXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgZXhwcmVzc2lvbi5jbGVhckFwcGxpZWRXZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoZW4gYXBwbHkgYmluZHNcbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbnMuZm9yRWFjaCgoZXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgbGV0IG11bHRpcGxpZXIgPSAxLjA7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZXhwcmVzc2lvbi5leHByZXNzaW9uTmFtZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmJsaW5rRXhwcmVzc2lvbk5hbWVzLmluZGV4T2YobmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbXVsdGlwbGllciAqPSB3ZWlnaHRNdWx0aXBsaWVycy5ibGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxvb2tBdEV4cHJlc3Npb25OYW1lcy5pbmRleE9mKG5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgKj0gd2VpZ2h0TXVsdGlwbGllcnMubG9va0F0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubW91dGhFeHByZXNzaW9uTmFtZXMuaW5kZXhPZihuYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBtdWx0aXBsaWVyICo9IHdlaWdodE11bHRpcGxpZXJzLm1vdXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXhwcmVzc2lvbi5hcHBseVdlaWdodCh7IG11bHRpcGxpZXIgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgc3VtIG9mIG92ZXJyaWRlIGFtb3VudHMgdG8gc2VlIGhvdyBtdWNoIHdlIHNob3VsZCBtdWx0aXBseSB3ZWlnaHRzIG9mIGNlcnRhaW4gZXhwcmVzc2lvbnMuXG4gICAgICovXG4gICAgX2NhbGN1bGF0ZVdlaWdodE11bHRpcGxpZXJzKCkge1xuICAgICAgICBsZXQgYmxpbmsgPSAxLjA7XG4gICAgICAgIGxldCBsb29rQXQgPSAxLjA7XG4gICAgICAgIGxldCBtb3V0aCA9IDEuMDtcbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbnMuZm9yRWFjaCgoZXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgYmxpbmsgLT0gZXhwcmVzc2lvbi5vdmVycmlkZUJsaW5rQW1vdW50O1xuICAgICAgICAgICAgbG9va0F0IC09IGV4cHJlc3Npb24ub3ZlcnJpZGVMb29rQXRBbW91bnQ7XG4gICAgICAgICAgICBtb3V0aCAtPSBleHByZXNzaW9uLm92ZXJyaWRlTW91dGhBbW91bnQ7XG4gICAgICAgIH0pO1xuICAgICAgICBibGluayA9IE1hdGgubWF4KDAuMCwgYmxpbmspO1xuICAgICAgICBsb29rQXQgPSBNYXRoLm1heCgwLjAsIGxvb2tBdCk7XG4gICAgICAgIG1vdXRoID0gTWF0aC5tYXgoMC4wLCBtb3V0aCk7XG4gICAgICAgIHJldHVybiB7IGJsaW5rLCBsb29rQXQsIG1vdXRoIH07XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmNvbnN0IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yVHlwZSA9IHtcbiAgICBDb2xvcjogJ2NvbG9yJyxcbiAgICBFbWlzc2lvbkNvbG9yOiAnZW1pc3Npb25Db2xvcicsXG4gICAgU2hhZGVDb2xvcjogJ3NoYWRlQ29sb3InLFxuICAgIE1hdGNhcENvbG9yOiAnbWF0Y2FwQ29sb3InLFxuICAgIFJpbUNvbG9yOiAncmltQ29sb3InLFxuICAgIE91dGxpbmVDb2xvcjogJ291dGxpbmVDb2xvcicsXG59O1xuY29uc3QgdjBFeHByZXNzaW9uTWF0ZXJpYWxDb2xvck1hcCA9IHtcbiAgICBfQ29sb3I6IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yVHlwZS5Db2xvcixcbiAgICBfRW1pc3Npb25Db2xvcjogVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLkVtaXNzaW9uQ29sb3IsXG4gICAgX1NoYWRlQ29sb3I6IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yVHlwZS5TaGFkZUNvbG9yLFxuICAgIF9SaW1Db2xvcjogVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLlJpbUNvbG9yLFxuICAgIF9PdXRsaW5lQ29sb3I6IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yVHlwZS5PdXRsaW5lQ29sb3IsXG59O1xuXG5jb25zdCBfY29sb3IgPSBuZXcgVEhSRUUuQ29sb3IoKTtcbi8qKlxuICogQSBiaW5kIG9mIGV4cHJlc3Npb24gaW5mbHVlbmNlcyB0byBhIG1hdGVyaWFsIGNvbG9yLlxuICovXG5jbGFzcyBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvckJpbmQge1xuICAgIGNvbnN0cnVjdG9yKHsgbWF0ZXJpYWwsIHR5cGUsIHRhcmdldFZhbHVlLCB9KSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICB0aGlzLm1hdGVyaWFsID0gbWF0ZXJpYWw7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMudGFyZ2V0VmFsdWUgPSB0YXJnZXRWYWx1ZTtcbiAgICAgICAgLy8gaW5pdCBwcm9wZXJ0eSBuYW1lXG4gICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZU1hcCA9IChfYSA9IE9iamVjdC5lbnRyaWVzKFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yQmluZC5fcHJvcGVydHlOYW1lTWFwTWFwKS5maW5kKChbZGlzdGluZ3Vpc2hlcl0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtYXRlcmlhbFtkaXN0aW5ndWlzaGVyXSA9PT0gdHJ1ZTtcbiAgICAgICAgfSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsxXTtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gKF9iID0gcHJvcGVydHlOYW1lTWFwID09PSBudWxsIHx8IHByb3BlcnR5TmFtZU1hcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcGVydHlOYW1lTWFwW3R5cGVdKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBudWxsO1xuICAgICAgICBpZiAocHJvcGVydHlOYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVHJpZWQgdG8gYWRkIGEgbWF0ZXJpYWwgY29sb3IgYmluZCB0byB0aGUgbWF0ZXJpYWwgJHsoX2MgPSBtYXRlcmlhbC5uYW1lKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAnKG5vIG5hbWUpJ30sIHRoZSB0eXBlICR7dHlwZX0gYnV0IHRoZSBtYXRlcmlhbCBvciB0aGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gbWF0ZXJpYWxbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IHRhcmdldC5jbG9uZSgpO1xuICAgICAgICAgICAgLy8g6LKg44Gu5YCk44KS5L+d5oyB44GZ44KL44Gf44KB44GrQ29sb3Iuc3Vi44KS5L2/44KP44Ga44Gr5beu5YiG44KS6KiI566X44GZ44KLXG4gICAgICAgICAgICBjb25zdCBkZWx0YVZhbHVlID0gbmV3IFRIUkVFLkNvbG9yKHRhcmdldFZhbHVlLnIgLSBpbml0aWFsVmFsdWUuciwgdGFyZ2V0VmFsdWUuZyAtIGluaXRpYWxWYWx1ZS5nLCB0YXJnZXRWYWx1ZS5iIC0gaW5pdGlhbFZhbHVlLmIpO1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgICAgICBkZWx0YVZhbHVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhcHBseVdlaWdodCh3ZWlnaHQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlID09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIHdhcm5pbmcgaXMgYWxyZWFkeSBlbWl0dGVkIGluIGNvbnN0cnVjdG9yXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBwcm9wZXJ0eU5hbWUsIGRlbHRhVmFsdWUgfSA9IHRoaXMuX3N0YXRlO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLm1hdGVyaWFsW3Byb3BlcnR5TmFtZV07XG4gICAgICAgIGlmICh0YXJnZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRPRE86IHdlIHNob3VsZCBraWNrIHRoaXMgYXQgYGFkZE1hdGVyaWFsVmFsdWVgXG4gICAgICAgIHRhcmdldC5hZGQoX2NvbG9yLmNvcHkoZGVsdGFWYWx1ZSkubXVsdGlwbHlTY2FsYXIod2VpZ2h0KSk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tYXRlcmlhbC5zaG91bGRBcHBseVVuaWZvcm1zID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMubWF0ZXJpYWwuc2hvdWxkQXBwbHlVbmlmb3JtcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2xlYXJBcHBsaWVkV2VpZ2h0KCkge1xuICAgICAgICBpZiAodGhpcy5fc3RhdGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gd2FybmluZyBpcyBhbHJlYWR5IGVtaXR0ZWQgaW4gY29uc3RydWN0b3JcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHByb3BlcnR5TmFtZSwgaW5pdGlhbFZhbHVlIH0gPSB0aGlzLl9zdGF0ZTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5tYXRlcmlhbFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgICBpZiAodGFyZ2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSAvLyBUT0RPOiB3ZSBzaG91bGQga2ljayB0aGlzIGF0IGBhZGRNYXRlcmlhbFZhbHVlYFxuICAgICAgICB0YXJnZXQuY29weShpbml0aWFsVmFsdWUpO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWF0ZXJpYWwuc2hvdWxkQXBwbHlVbmlmb3JtcyA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLm1hdGVyaWFsLnNob3VsZEFwcGx5VW5pZm9ybXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBNYXBwaW5nIG9mIHByb3BlcnR5IG5hbWVzIGZyb20gVlJNQy9tYXRlcmlhbENvbG9yQmluZHMudHlwZSB0byB0aHJlZS5qcy9NYXRlcmlhbC5cbiAqL1xuVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JCaW5kLl9wcm9wZXJ0eU5hbWVNYXBNYXAgPSB7XG4gICAgaXNNZXNoU3RhbmRhcmRNYXRlcmlhbDoge1xuICAgICAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICAgICAgZW1pc3Npb25Db2xvcjogJ2VtaXNzaXZlJyxcbiAgICB9LFxuICAgIGlzTWVzaEJhc2ljTWF0ZXJpYWw6IHtcbiAgICAgICAgY29sb3I6ICdjb2xvcicsXG4gICAgfSxcbiAgICBpc01Ub29uTWF0ZXJpYWw6IHtcbiAgICAgICAgY29sb3I6ICdjb2xvcicsXG4gICAgICAgIGVtaXNzaW9uQ29sb3I6ICdlbWlzc2l2ZScsXG4gICAgICAgIG91dGxpbmVDb2xvcjogJ291dGxpbmVDb2xvckZhY3RvcicsXG4gICAgICAgIG1hdGNhcENvbG9yOiAnbWF0Y2FwRmFjdG9yJyxcbiAgICAgICAgcmltQ29sb3I6ICdwYXJhbWV0cmljUmltQ29sb3JGYWN0b3InLFxuICAgICAgICBzaGFkZUNvbG9yOiAnc2hhZGVDb2xvckZhY3RvcicsXG4gICAgfSxcbn07XG5cbi8qKlxuICogQSBiaW5kIG9mIHtAbGluayBWUk1FeHByZXNzaW9ufSBpbmZsdWVuY2VzIHRvIG1vcnBoIHRhcmdldHMuXG4gKi9cbmNsYXNzIFZSTUV4cHJlc3Npb25Nb3JwaFRhcmdldEJpbmQge1xuICAgIGNvbnN0cnVjdG9yKHsgcHJpbWl0aXZlcywgaW5kZXgsIHdlaWdodCwgfSkge1xuICAgICAgICB0aGlzLnByaW1pdGl2ZXMgPSBwcmltaXRpdmVzO1xuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMud2VpZ2h0ID0gd2VpZ2h0O1xuICAgIH1cbiAgICBhcHBseVdlaWdodCh3ZWlnaHQpIHtcbiAgICAgICAgdGhpcy5wcmltaXRpdmVzLmZvckVhY2goKG1lc2gpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICgoKF9hID0gbWVzaC5tb3JwaFRhcmdldEluZmx1ZW5jZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVt0aGlzLmluZGV4XSkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG1lc2gubW9ycGhUYXJnZXRJbmZsdWVuY2VzW3RoaXMuaW5kZXhdICs9IHRoaXMud2VpZ2h0ICogd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY2xlYXJBcHBsaWVkV2VpZ2h0KCkge1xuICAgICAgICB0aGlzLnByaW1pdGl2ZXMuZm9yRWFjaCgobWVzaCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCgoX2EgPSBtZXNoLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW3RoaXMuaW5kZXhdKSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbWVzaC5tb3JwaFRhcmdldEluZmx1ZW5jZXNbdGhpcy5pbmRleF0gPSAwLjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuY29uc3QgX3YyID0gbmV3IFRIUkVFLlZlY3RvcjIoKTtcbi8qKlxuICogQSBiaW5kIG9mIGV4cHJlc3Npb24gaW5mbHVlbmNlcyB0byB0ZXh0dXJlIHRyYW5zZm9ybXMuXG4gKi9cbmNsYXNzIFZSTUV4cHJlc3Npb25UZXh0dXJlVHJhbnNmb3JtQmluZCB7XG4gICAgY29uc3RydWN0b3IoeyBtYXRlcmlhbCwgc2NhbGUsIG9mZnNldCwgfSkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICB0aGlzLm1hdGVyaWFsID0gbWF0ZXJpYWw7XG4gICAgICAgIHRoaXMuc2NhbGUgPSBzY2FsZTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZXMgPSAoX2EgPSBPYmplY3QuZW50cmllcyhWUk1FeHByZXNzaW9uVGV4dHVyZVRyYW5zZm9ybUJpbmQuX3Byb3BlcnR5TmFtZXNNYXApLmZpbmQoKFtkaXN0aW5ndWlzaGVyXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG1hdGVyaWFsW2Rpc3Rpbmd1aXNoZXJdID09PSB0cnVlO1xuICAgICAgICB9KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdO1xuICAgICAgICBpZiAocHJvcGVydHlOYW1lcyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFRyaWVkIHRvIGFkZCBhIHRleHR1cmUgdHJhbnNmb3JtIGJpbmQgdG8gdGhlIG1hdGVyaWFsICR7KF9iID0gbWF0ZXJpYWwubmFtZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJyhubyBuYW1lKSd9IGJ1dCB0aGUgbWF0ZXJpYWwgaXMgbm90IHN1cHBvcnRlZC5gKTtcbiAgICAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXMgPSBbXTtcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZXMuZm9yRWFjaCgocHJvcGVydHlOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHR1cmUgPSAoX2EgPSBtYXRlcmlhbFtwcm9wZXJ0eU5hbWVdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xvbmUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRleHR1cmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1hdGVyaWFsW3Byb3BlcnR5TmFtZV0gPSB0ZXh0dXJlOyAvLyBiZWNhdXNlIHRoZSB0ZXh0dXJlIGlzIGNsb25lZFxuICAgICAgICAgICAgICAgIGNvbnN0IGluaXRpYWxPZmZzZXQgPSB0ZXh0dXJlLm9mZnNldC5jbG9uZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluaXRpYWxTY2FsZSA9IHRleHR1cmUucmVwZWF0LmNsb25lKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsdGFPZmZzZXQgPSBvZmZzZXQuY2xvbmUoKS5zdWIoaW5pdGlhbE9mZnNldCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsdGFTY2FsZSA9IHNjYWxlLmNsb25lKCkuc3ViKGluaXRpYWxTY2FsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBkZWx0YU9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNjYWxlLFxuICAgICAgICAgICAgICAgICAgICBkZWx0YVNjYWxlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXBwbHlXZWlnaHQod2VpZ2h0KSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubWF0ZXJpYWxbcHJvcGVydHkubmFtZV07XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IC8vIFRPRE86IHdlIHNob3VsZCBraWNrIHRoaXMgYXQgYGFkZE1hdGVyaWFsVmFsdWVgXG4gICAgICAgICAgICB0YXJnZXQub2Zmc2V0LmFkZChfdjIuY29weShwcm9wZXJ0eS5kZWx0YU9mZnNldCkubXVsdGlwbHlTY2FsYXIod2VpZ2h0KSk7XG4gICAgICAgICAgICB0YXJnZXQucmVwZWF0LmFkZChfdjIuY29weShwcm9wZXJ0eS5kZWx0YVNjYWxlKS5tdWx0aXBseVNjYWxhcih3ZWlnaHQpKTtcbiAgICAgICAgICAgIHRhcmdldC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjbGVhckFwcGxpZWRXZWlnaHQoKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubWF0ZXJpYWxbcHJvcGVydHkubmFtZV07XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IC8vIFRPRE86IHdlIHNob3VsZCBraWNrIHRoaXMgYXQgYGFkZE1hdGVyaWFsVmFsdWVgXG4gICAgICAgICAgICB0YXJnZXQub2Zmc2V0LmNvcHkocHJvcGVydHkuaW5pdGlhbE9mZnNldCk7XG4gICAgICAgICAgICB0YXJnZXQucmVwZWF0LmNvcHkocHJvcGVydHkuaW5pdGlhbFNjYWxlKTtcbiAgICAgICAgICAgIHRhcmdldC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblZSTUV4cHJlc3Npb25UZXh0dXJlVHJhbnNmb3JtQmluZC5fcHJvcGVydHlOYW1lc01hcCA9IHtcbiAgICBpc01lc2hTdGFuZGFyZE1hdGVyaWFsOiBbXG4gICAgICAgICdtYXAnLFxuICAgICAgICAnZW1pc3NpdmVNYXAnLFxuICAgICAgICAnYnVtcE1hcCcsXG4gICAgICAgICdub3JtYWxNYXAnLFxuICAgICAgICAnZGlzcGxhY2VtZW50TWFwJyxcbiAgICAgICAgJ3JvdWdobmVzc01hcCcsXG4gICAgICAgICdtZXRhbG5lc3NNYXAnLFxuICAgICAgICAnYWxwaGFNYXAnLFxuICAgIF0sXG4gICAgaXNNZXNoQmFzaWNNYXRlcmlhbDogWydtYXAnLCAnc3BlY3VsYXJNYXAnLCAnYWxwaGFNYXAnXSxcbiAgICBpc01Ub29uTWF0ZXJpYWw6IFtcbiAgICAgICAgJ21hcCcsXG4gICAgICAgICdub3JtYWxNYXAnLFxuICAgICAgICAnZW1pc3NpdmVNYXAnLFxuICAgICAgICAnc2hhZGVNdWx0aXBseVRleHR1cmUnLFxuICAgICAgICAncmltTXVsdGlwbHlUZXh0dXJlJyxcbiAgICAgICAgJ291dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZScsXG4gICAgICAgICd1dkFuaW1hdGlvbk1hc2tUZXh0dXJlJyxcbiAgICBdLFxufTtcblxuLyoqXG4gKiBQb3NzaWJsZSBzcGVjIHZlcnNpb25zIGl0IHJlY29nbml6ZXMuXG4gKi9cbmNvbnN0IFBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkNCA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG4vKipcbiAqIEEgcGx1Z2luIG9mIEdMVEZMb2FkZXIgdGhhdCBpbXBvcnRzIGEge0BsaW5rIFZSTUV4cHJlc3Npb25NYW5hZ2VyfSBmcm9tIGEgVlJNIGV4dGVuc2lvbiBvZiBhIEdMVEYuXG4gKi9cbmNsYXNzIFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHRoZSBleHRlbnNpb24gbmFtZSBpbnN0ZWFkIGJ1dCB3ZSBoYXZlIG11bHRpcGxlIHBsdWdpbnMgZm9yIGFuIGV4dGVuc2lvbi4uLlxuICAgICAgICByZXR1cm4gJ1ZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW4nO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIpIHtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybUV4cHJlc3Npb25NYW5hZ2VyID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wb3J0IGEge0BsaW5rIFZSTUV4cHJlc3Npb25NYW5hZ2VyfSBmcm9tIGEgVlJNLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICovXG4gICAgX2ltcG9ydChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2MVJlc3VsdCA9IHlpZWxkIHRoaXMuX3YxSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYxUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYxUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjBSZXN1bHQgPSB5aWVsZCB0aGlzLl92MEltcG9ydChnbHRmKTtcbiAgICAgICAgICAgIGlmICh2MFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MFJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCBpc1ZSTVVzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoJ1ZSTUNfdnJtJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnVlJNQ192cm0nXTtcbiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQ0LmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46IFVua25vd24gVlJNQ192cm0gc3BlY1ZlcnNpb24gXCIke3NwZWNWZXJzaW9ufVwiYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY2hlbWFFeHByZXNzaW9ucyA9IGV4dGVuc2lvbi5leHByZXNzaW9ucztcbiAgICAgICAgICAgIGlmICghc2NoZW1hRXhwcmVzc2lvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGxpc3QgZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGNvbnN0IHByZXNldE5hbWVTZXQgPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoVlJNRXhwcmVzc2lvblByZXNldE5hbWUpKTtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVTY2hlbWFFeHByZXNzaW9uTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgaWYgKHNjaGVtYUV4cHJlc3Npb25zLnByZXNldCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoc2NoZW1hRXhwcmVzc2lvbnMucHJlc2V0KS5mb3JFYWNoKChbbmFtZSwgc2NoZW1hRXhwcmVzc2lvbl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjaGVtYUV4cHJlc3Npb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9IC8vIHR5cGVzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmVzZXROYW1lU2V0LmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luOiBVbmtub3duIHByZXNldCBuYW1lIFwiJHtuYW1lfVwiIGRldGVjdGVkLiBJZ25vcmluZyB0aGUgZXhwcmVzc2lvbmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWVTY2hlbWFFeHByZXNzaW9uTWFwLnNldChuYW1lLCBzY2hlbWFFeHByZXNzaW9uKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzY2hlbWFFeHByZXNzaW9ucy5jdXN0b20gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHNjaGVtYUV4cHJlc3Npb25zLmN1c3RvbSkuZm9yRWFjaCgoW25hbWUsIHNjaGVtYUV4cHJlc3Npb25dKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVzZXROYW1lU2V0LmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luOiBDdXN0b20gZXhwcmVzc2lvbiBjYW5ub3QgaGF2ZSBwcmVzZXQgbmFtZSBcIiR7bmFtZX1cIi4gSWdub3JpbmcgdGhlIGV4cHJlc3Npb25gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lU2NoZW1hRXhwcmVzc2lvbk1hcC5zZXQobmFtZSwgc2NoZW1hRXhwcmVzc2lvbik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBwcmVwYXJlIG1hbmFnZXJcbiAgICAgICAgICAgIGNvbnN0IG1hbmFnZXIgPSBuZXcgVlJNRXhwcmVzc2lvbk1hbmFnZXIoKTtcbiAgICAgICAgICAgIC8vIGxvYWQgZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHlpZWxkIFByb21pc2UuYWxsKEFycmF5LmZyb20obmFtZVNjaGVtYUV4cHJlc3Npb25NYXAuZW50cmllcygpKS5tYXAoKFtuYW1lLCBzY2hlbWFFeHByZXNzaW9uXSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgIHZhciBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfajtcbiAgICAgICAgICAgICAgICBjb25zdCBleHByZXNzaW9uID0gbmV3IFZSTUV4cHJlc3Npb24obmFtZSk7XG4gICAgICAgICAgICAgICAgZ2x0Zi5zY2VuZS5hZGQoZXhwcmVzc2lvbik7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5pc0JpbmFyeSA9IChfYyA9IHNjaGVtYUV4cHJlc3Npb24uaXNCaW5hcnkpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGV4cHJlc3Npb24ub3ZlcnJpZGVCbGluayA9IChfZCA9IHNjaGVtYUV4cHJlc3Npb24ub3ZlcnJpZGVCbGluaykgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogJ25vbmUnO1xuICAgICAgICAgICAgICAgIGV4cHJlc3Npb24ub3ZlcnJpZGVMb29rQXQgPSAoX2UgPSBzY2hlbWFFeHByZXNzaW9uLm92ZXJyaWRlTG9va0F0KSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiAnbm9uZSc7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5vdmVycmlkZU1vdXRoID0gKF9mID0gc2NoZW1hRXhwcmVzc2lvbi5vdmVycmlkZU1vdXRoKSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAnbm9uZSc7XG4gICAgICAgICAgICAgICAgKF9nID0gc2NoZW1hRXhwcmVzc2lvbi5tb3JwaFRhcmdldEJpbmRzKSA9PT0gbnVsbCB8fCBfZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2cuZm9yRWFjaCgoYmluZCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2s7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiaW5kLm5vZGUgPT09IHVuZGVmaW5lZCB8fCBiaW5kLmluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmltaXRpdmVzID0gKHlpZWxkIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlKGdsdGYsIGJpbmQubm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3JwaFRhcmdldEluZGV4ID0gYmluZC5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhlIG1lc2ggaGFzIHRoZSB0YXJnZXQgbW9ycGggdGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJpbWl0aXZlcy5ldmVyeSgocHJpbWl0aXZlKSA9PiBBcnJheS5pc0FycmF5KHByaW1pdGl2ZS5tb3JwaFRhcmdldEluZmx1ZW5jZXMpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBtb3JwaFRhcmdldEluZGV4IDwgcHJpbWl0aXZlLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5sZW5ndGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46ICR7c2NoZW1hRXhwcmVzc2lvbi5uYW1lfSBhdHRlbXB0cyB0byBpbmRleCBtb3JwaCAjJHttb3JwaFRhcmdldEluZGV4fSBidXQgbm90IGZvdW5kLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24uYWRkQmluZChuZXcgVlJNRXhwcmVzc2lvbk1vcnBoVGFyZ2V0QmluZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IG1vcnBoVGFyZ2V0SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IChfayA9IGJpbmQud2VpZ2h0KSAhPT0gbnVsbCAmJiBfayAhPT0gdm9pZCAwID8gX2sgOiAxLjAsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgaWYgKHNjaGVtYUV4cHJlc3Npb24ubWF0ZXJpYWxDb2xvckJpbmRzIHx8IHNjaGVtYUV4cHJlc3Npb24udGV4dHVyZVRyYW5zZm9ybUJpbmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGxpc3QgdXAgZXZlcnkgbWF0ZXJpYWwgaW4gYGdsdGYuc2NlbmVgXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsdGZNYXRlcmlhbHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZ2x0Zi5zY2VuZS50cmF2ZXJzZSgob2JqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG9iamVjdC5tYXRlcmlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsdGZNYXRlcmlhbHMucHVzaChtYXRlcmlhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAoX2ggPSBzY2hlbWFFeHByZXNzaW9uLm1hdGVyaWFsQ29sb3JCaW5kcykgPT09IG51bGwgfHwgX2ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9oLmZvckVhY2goKGJpbmQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFscyA9IGdsdGZNYXRlcmlhbHMuZmlsdGVyKChtYXRlcmlhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsSW5kZXggPSBnbHRmR2V0QXNzb2NpYXRlZE1hdGVyaWFsSW5kZXgodGhpcy5wYXJzZXIsIG1hdGVyaWFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmluZC5tYXRlcmlhbCA9PT0gbWF0ZXJpYWxJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxzLmZvckVhY2goKG1hdGVyaWFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5hZGRCaW5kKG5ldyBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvckJpbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYmluZC50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZTogbmV3IFRIUkVFLkNvbG9yKCkuZnJvbUFycmF5KGJpbmQudGFyZ2V0VmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIChfaiA9IHNjaGVtYUV4cHJlc3Npb24udGV4dHVyZVRyYW5zZm9ybUJpbmRzKSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2ouZm9yRWFjaCgoYmluZCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxzID0gZ2x0Zk1hdGVyaWFscy5maWx0ZXIoKG1hdGVyaWFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxJbmRleCA9IGdsdGZHZXRBc3NvY2lhdGVkTWF0ZXJpYWxJbmRleCh0aGlzLnBhcnNlciwgbWF0ZXJpYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiaW5kLm1hdGVyaWFsID09PSBtYXRlcmlhbEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbHMuZm9yRWFjaCgobWF0ZXJpYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24uYWRkQmluZChuZXcgVlJNRXhwcmVzc2lvblRleHR1cmVUcmFuc2Zvcm1CaW5kKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogbmV3IFRIUkVFLlZlY3RvcjIoKS5mcm9tQXJyYXkoKF9hID0gYmluZC5vZmZzZXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFswLjAsIDAuMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogbmV3IFRIUkVFLlZlY3RvcjIoKS5mcm9tQXJyYXkoKF9iID0gYmluZC5zY2FsZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogWzEuMCwgMS4wXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWFuYWdlci5yZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXI7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjBJbXBvcnQoZ2x0Zikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgdnJtRXh0ID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuVlJNO1xuICAgICAgICAgICAgaWYgKCF2cm1FeHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUJsZW5kU2hhcGUgPSB2cm1FeHQuYmxlbmRTaGFwZU1hc3RlcjtcbiAgICAgICAgICAgIGlmICghc2NoZW1hQmxlbmRTaGFwZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWFuYWdlciA9IG5ldyBWUk1FeHByZXNzaW9uTWFuYWdlcigpO1xuICAgICAgICAgICAgY29uc3Qgc2NoZW1hQmxlbmRTaGFwZUdyb3VwcyA9IHNjaGVtYUJsZW5kU2hhcGUuYmxlbmRTaGFwZUdyb3VwcztcbiAgICAgICAgICAgIGlmICghc2NoZW1hQmxlbmRTaGFwZUdyb3Vwcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYmxlbmRTaGFwZU5hbWVTZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB5aWVsZCBQcm9taXNlLmFsbChzY2hlbWFCbGVuZFNoYXBlR3JvdXBzLm1hcCgoc2NoZW1hR3JvdXApID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2I7XG4gICAgICAgICAgICAgICAgY29uc3QgdjBQcmVzZXROYW1lID0gc2NoZW1hR3JvdXAucHJlc2V0TmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCB2MVByZXNldE5hbWUgPSAodjBQcmVzZXROYW1lICE9IG51bGwgJiYgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbi52MHYxUHJlc2V0TmFtZU1hcFt2MFByZXNldE5hbWVdKSB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB2MVByZXNldE5hbWUgIT09IG51bGwgJiYgdjFQcmVzZXROYW1lICE9PSB2b2lkIDAgPyB2MVByZXNldE5hbWUgOiBzY2hlbWFHcm91cC5uYW1lO1xuICAgICAgICAgICAgICAgIGlmIChuYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luOiBPbmUgb2YgY3VzdG9tIGV4cHJlc3Npb25zIGhhcyBubyBuYW1lLiBJZ25vcmluZyB0aGUgZXhwcmVzc2lvbicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGR1cGxpY2F0aW9uIGNoZWNrXG4gICAgICAgICAgICAgICAgaWYgKGJsZW5kU2hhcGVOYW1lU2V0LmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46IEFuIGV4cHJlc3Npb24gcHJlc2V0ICR7djBQcmVzZXROYW1lfSBoYXMgZHVwbGljYXRlZCBlbnRyaWVzLiBJZ25vcmluZyB0aGUgZXhwcmVzc2lvbmApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJsZW5kU2hhcGVOYW1lU2V0LmFkZChuYW1lKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHByZXNzaW9uID0gbmV3IFZSTUV4cHJlc3Npb24obmFtZSk7XG4gICAgICAgICAgICAgICAgZ2x0Zi5zY2VuZS5hZGQoZXhwcmVzc2lvbik7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5pc0JpbmFyeSA9IChfYiA9IHNjaGVtYUdyb3VwLmlzQmluYXJ5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyB2MCBkb2Vzbid0IGhhdmUgaWdub3JlIHByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAvLyBCaW5kIG1vcnBoVGFyZ2V0XG4gICAgICAgICAgICAgICAgaWYgKHNjaGVtYUdyb3VwLmJpbmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjaGVtYUdyb3VwLmJpbmRzLmZvckVhY2goKGJpbmQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiaW5kLm1lc2ggPT09IHVuZGVmaW5lZCB8fCBiaW5kLmluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub2Rlc1VzaW5nTWVzaCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgKF9jID0ganNvbi5ub2RlcykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmZvckVhY2goKG5vZGUsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5tZXNoID09PSBiaW5kLm1lc2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXNVc2luZ01lc2gucHVzaChpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vcnBoVGFyZ2V0SW5kZXggPSBiaW5kLmluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgUHJvbWlzZS5hbGwobm9kZXNVc2luZ01lc2gubWFwKChub2RlSW5kZXgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJpbWl0aXZlcyA9ICh5aWVsZCBnbHRmRXh0cmFjdFByaW1pdGl2ZXNGcm9tTm9kZShnbHRmLCBub2RlSW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVzaCBoYXMgdGhlIHRhcmdldCBtb3JwaCB0YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByaW1pdGl2ZXMuZXZlcnkoKHByaW1pdGl2ZSkgPT4gQXJyYXkuaXNBcnJheShwcmltaXRpdmUubW9ycGhUYXJnZXRJbmZsdWVuY2VzKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JwaFRhcmdldEluZGV4IDwgcHJpbWl0aXZlLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5sZW5ndGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbjogJHtzY2hlbWFHcm91cC5uYW1lfSBhdHRlbXB0cyB0byBpbmRleCAke21vcnBoVGFyZ2V0SW5kZXh9dGggbW9ycGggYnV0IG5vdCBmb3VuZC5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uLmFkZEJpbmQobmV3IFZSTUV4cHJlc3Npb25Nb3JwaFRhcmdldEJpbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogbW9ycGhUYXJnZXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLjAxICogKChfZCA9IGJpbmQud2VpZ2h0KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAxMDApLCAvLyBuYXJyb3dpbmcgdGhlIHJhbmdlIGZyb20gWyAwLjAgLSAxMDAuMCBdIHRvIFsgMC4wIC0gMS4wIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEJpbmQgTWF0ZXJpYWxDb2xvciBhbmQgVGV4dHVyZVRyYW5zZm9ybVxuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsVmFsdWVzID0gc2NoZW1hR3JvdXAubWF0ZXJpYWxWYWx1ZXM7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsVmFsdWVzICYmIG1hdGVyaWFsVmFsdWVzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbFZhbHVlcy5mb3JFYWNoKChtYXRlcmlhbFZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxWYWx1ZS5tYXRlcmlhbE5hbWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsVmFsdWUucHJvcGVydHlOYW1lID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbFZhbHVlLnRhcmdldFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAqIOOCouODkOOCv+ODvOOBruOCquODluOCuOOCp+OCr+ODiOOBq+ioreWumuOBleOCjOOBpuOBhOOCi+ODnuODhuODquOCouODq+OBruWGheOBi+OCiVxuICAgICAgICAgICAgICAgICAgICAgICAgICogbWF0ZXJpYWxWYWx1ZeOBp+aMh+WumuOBleOCjOOBpuOBhOOCi+ODnuODhuODquOCouODq+OCkumbhuOCgeOCi+OAglxuICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAqIOeJueWumuOBq+OBr+WQjeWJjeOCkuS9v+eUqOOBmeOCi+OAglxuICAgICAgICAgICAgICAgICAgICAgICAgICog44Ki44Km44OI44Op44Kk44Oz5o+P55S755So44Gu44Oe44OG44Oq44Ki44Or44KC5ZCM5pmC44Gr6ZuG44KB44KL44CCXG4gICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFscyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2x0Zi5zY2VuZS50cmF2ZXJzZSgob2JqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9iamVjdC5tYXRlcmlhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG9iamVjdC5tYXRlcmlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWF0ZXJpYWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbHMucHVzaCguLi5tYXRlcmlhbC5maWx0ZXIoKG10bCkgPT4gKG10bC5uYW1lID09PSBtYXRlcmlhbFZhbHVlLm1hdGVyaWFsTmFtZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG10bC5uYW1lID09PSBtYXRlcmlhbFZhbHVlLm1hdGVyaWFsTmFtZSArICcgKE91dGxpbmUpJykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbHMuaW5kZXhPZihtdGwpID09PSAtMSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGVyaWFsLm5hbWUgPT09IG1hdGVyaWFsVmFsdWUubWF0ZXJpYWxOYW1lICYmIG1hdGVyaWFscy5pbmRleE9mKG1hdGVyaWFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFscy5wdXNoKG1hdGVyaWFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxQcm9wZXJ0eU5hbWUgPSBtYXRlcmlhbFZhbHVlLnByb3BlcnR5TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFscy5mb3JFYWNoKChtYXRlcmlhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRleHR1cmVUcmFuc2Zvcm1CaW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsUHJvcGVydHlOYW1lID09PSAnX01haW5UZXhfU1QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjIobWF0ZXJpYWxWYWx1ZS50YXJnZXRWYWx1ZVswXSwgbWF0ZXJpYWxWYWx1ZS50YXJnZXRWYWx1ZVsxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IG5ldyBUSFJFRS5WZWN0b3IyKG1hdGVyaWFsVmFsdWUudGFyZ2V0VmFsdWVbMl0sIG1hdGVyaWFsVmFsdWUudGFyZ2V0VmFsdWVbM10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQueSA9IDEuMCAtIG9mZnNldC55IC0gc2NhbGUueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5hZGRCaW5kKG5ldyBWUk1FeHByZXNzaW9uVGV4dHVyZVRyYW5zZm9ybUJpbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1hdGVyaWFsQ29sb3JCaW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxDb2xvclR5cGUgPSB2MEV4cHJlc3Npb25NYXRlcmlhbENvbG9yTWFwW21hdGVyaWFsUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxDb2xvclR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5hZGRCaW5kKG5ldyBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvckJpbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBtYXRlcmlhbENvbG9yVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoLi4ubWF0ZXJpYWxWYWx1ZS50YXJnZXRWYWx1ZS5zbGljZSgwLCAzKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4obWF0ZXJpYWxQcm9wZXJ0eU5hbWUgKyAnIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWFuYWdlci5yZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXI7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW4udjB2MVByZXNldE5hbWVNYXAgPSB7XG4gICAgYTogJ2FhJyxcbiAgICBlOiAnZWUnLFxuICAgIGk6ICdpaCcsXG4gICAgbzogJ29oJyxcbiAgICB1OiAnb3UnLFxuICAgIGJsaW5rOiAnYmxpbmsnLFxuICAgIGpveTogJ2hhcHB5JyxcbiAgICBhbmdyeTogJ2FuZ3J5JyxcbiAgICBzb3Jyb3c6ICdzYWQnLFxuICAgIGZ1bjogJ3JlbGF4ZWQnLFxuICAgIGxvb2t1cDogJ2xvb2tVcCcsXG4gICAgbG9va2Rvd246ICdsb29rRG93bicsXG4gICAgbG9va2xlZnQ6ICdsb29rTGVmdCcsXG4gICAgbG9va3JpZ2h0OiAnbG9va1JpZ2h0JyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgYmxpbmtfbDogJ2JsaW5rTGVmdCcsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGJsaW5rX3I6ICdibGlua1JpZ2h0JyxcbiAgICBuZXV0cmFsOiAnbmV1dHJhbCcsXG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmNvbnN0IFZSTUV4cHJlc3Npb25PdmVycmlkZVR5cGUgPSB7XG4gICAgTm9uZTogJ25vbmUnLFxuICAgIEJsb2NrOiAnYmxvY2snLFxuICAgIEJsZW5kOiAnYmxlbmQnLFxufTtcblxuY2xhc3MgVlJNRmlyc3RQZXJzb24ge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBWUk1GaXJzdFBlcnNvbiBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHVtYW5vaWQgQSB7QGxpbmsgVlJNSHVtYW5vaWR9XG4gICAgICogQHBhcmFtIG1lc2hBbm5vdGF0aW9ucyBBIHJlbmRlcmVyIHNldHRpbmdzLiBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIFtbUmVuZGVyZXJGaXJzdFBlcnNvbkZsYWdzXV0gZm9yIG1vcmUgaW5mb1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGh1bWFub2lkLCBtZXNoQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXIgPSBWUk1GaXJzdFBlcnNvbi5ERUZBVUxUX0ZJUlNUUEVSU09OX09OTFlfTEFZRVI7XG4gICAgICAgIHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyID0gVlJNRmlyc3RQZXJzb24uREVGQVVMVF9USElSRFBFUlNPTl9PTkxZX0xBWUVSO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZExheWVycyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmh1bWFub2lkID0gaHVtYW5vaWQ7XG4gICAgICAgIHRoaXMubWVzaEFubm90YXRpb25zID0gbWVzaEFubm90YXRpb25zO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb3B5IHRoZSBnaXZlbiB7QGxpbmsgVlJNRmlyc3RQZXJzb259IGludG8gdGhpcyBvbmUuXG4gICAgICoge0BsaW5rIGh1bWFub2lkfSBtdXN0IGJlIHNhbWUgYXMgdGhlIHNvdXJjZSBvbmUuXG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUge0BsaW5rIFZSTUZpcnN0UGVyc29ufSB5b3Ugd2FudCB0byBjb3B5XG4gICAgICogQHJldHVybnMgdGhpc1xuICAgICAqL1xuICAgIGNvcHkoc291cmNlKSB7XG4gICAgICAgIGlmICh0aGlzLmh1bWFub2lkICE9PSBzb3VyY2UuaHVtYW5vaWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNRmlyc3RQZXJzb246IGh1bWFub2lkIG11c3QgYmUgc2FtZSBpbiBvcmRlciB0byBjb3B5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZXNoQW5ub3RhdGlvbnMgPSBzb3VyY2UubWVzaEFubm90YXRpb25zLm1hcCgoYW5ub3RhdGlvbikgPT4gKHtcbiAgICAgICAgICAgIG1lc2hlczogYW5ub3RhdGlvbi5tZXNoZXMuY29uY2F0KCksXG4gICAgICAgICAgICB0eXBlOiBhbm5vdGF0aW9uLnR5cGUsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjbG9uZSBvZiB0aGlzIHtAbGluayBWUk1GaXJzdFBlcnNvbn0uXG4gICAgICogQHJldHVybnMgQ29waWVkIHtAbGluayBWUk1GaXJzdFBlcnNvbn1cbiAgICAgKi9cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBWUk1GaXJzdFBlcnNvbih0aGlzLmh1bWFub2lkLCB0aGlzLm1lc2hBbm5vdGF0aW9ucykuY29weSh0aGlzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSBjYW1lcmEgbGF5ZXIgcmVwcmVzZW50cyBgRmlyc3RQZXJzb25Pbmx5YCBsYXllci5cbiAgICAgKiBOb3RlIHRoYXQgKip5b3UgbXVzdCBjYWxsIHtAbGluayBzZXR1cH0gZmlyc3QgYmVmb3JlIHlvdSB1c2UgdGhlIGxheWVyIGZlYXR1cmUqKiBvciBpdCBkb2VzIG5vdCB3b3JrIHByb3Blcmx5LlxuICAgICAqXG4gICAgICogVGhlIHZhbHVlIGlzIHtAbGluayBERUZBVUxUX0ZJUlNUUEVSU09OX09OTFlfTEFZRVJ9IGJ5IGRlZmF1bHQgYnV0IHlvdSBjYW4gY2hhbmdlIHRoZSBsYXllciBieSBzcGVjaWZ5aW5nIHZpYSB7QGxpbmsgc2V0dXB9IGlmIHlvdSBwcmVmZXIuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdnJtLmRldi9lbi91bml2cm0vYXBpL3VuaXZybV91c2VfZmlyc3RwZXJzb24vXG4gICAgICogQHNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvI2FwaS9lbi9jb3JlL0xheWVyc1xuICAgICAqL1xuICAgIGdldCBmaXJzdFBlcnNvbk9ubHlMYXllcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpcnN0UGVyc29uT25seUxheWVyO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIGNhbWVyYSBsYXllciByZXByZXNlbnRzIGBUaGlyZFBlcnNvbk9ubHlgIGxheWVyLlxuICAgICAqIE5vdGUgdGhhdCAqKnlvdSBtdXN0IGNhbGwge0BsaW5rIHNldHVwfSBmaXJzdCBiZWZvcmUgeW91IHVzZSB0aGUgbGF5ZXIgZmVhdHVyZSoqIG9yIGl0IGRvZXMgbm90IHdvcmsgcHJvcGVybHkuXG4gICAgICpcbiAgICAgKiBUaGUgdmFsdWUgaXMge0BsaW5rIERFRkFVTFRfVEhJUkRQRVJTT05fT05MWV9MQVlFUn0gYnkgZGVmYXVsdCBidXQgeW91IGNhbiBjaGFuZ2UgdGhlIGxheWVyIGJ5IHNwZWNpZnlpbmcgdmlhIHtAbGluayBzZXR1cH0gaWYgeW91IHByZWZlci5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly92cm0uZGV2L2VuL3VuaXZybS9hcGkvdW5pdnJtX3VzZV9maXJzdHBlcnNvbi9cbiAgICAgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jYXBpL2VuL2NvcmUvTGF5ZXJzXG4gICAgICovXG4gICAgZ2V0IHRoaXJkUGVyc29uT25seUxheWVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluIHRoaXMgbWV0aG9kLCBpdCBhc3NpZ25zIGxheWVycyBmb3IgZXZlcnkgbWVzaGVzIGJhc2VkIG9uIG1lc2ggYW5ub3RhdGlvbnMuXG4gICAgICogWW91IG11c3QgY2FsbCB0aGlzIG1ldGhvZCBmaXJzdCBiZWZvcmUgeW91IHVzZSB0aGUgbGF5ZXIgZmVhdHVyZS5cbiAgICAgKlxuICAgICAqIFRoaXMgaXMgYW4gZXF1aXZhbGVudCBvZiBbVlJNRmlyc3RQZXJzb24uU2V0dXBdKGh0dHBzOi8vZ2l0aHViLmNvbS92cm0tYy9VbmlWUk0vYmxvYi83M2E1YmQ4ZmNkZGFhMmE3YTg3MzUwOTlhOTdlNjNjOWRiM2U1ZWEwL0Fzc2V0cy9WUk0vUnVudGltZS9GaXJzdFBlcnNvbi9WUk1GaXJzdFBlcnNvbi5jcyNMMjk1LUwyOTkpIG9mIHRoZSBVbmlWUk0uXG4gICAgICpcbiAgICAgKiBUaGUgYGNhbWVyYUxheWVyYCBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdoaWNoIGxheWVyIHdpbGwgYmUgYXNzaWduZWQgZm9yIGBGaXJzdFBlcnNvbk9ubHlgIC8gYFRoaXJkUGVyc29uT25seWAuXG4gICAgICogSW4gVW5pVlJNLCB3ZSBzcGVjaWZpZWQgdGhvc2UgYnkgbmFtaW5nIGVhY2ggZGVzaXJlZCBsYXllciBhcyBgRklSU1RQRVJTT05fT05MWV9MQVlFUmAgLyBgVEhJUkRQRVJTT05fT05MWV9MQVlFUmBcbiAgICAgKiBidXQgd2UgYXJlIGdvaW5nIHRvIHNwZWNpZnkgdGhlc2UgbGF5ZXJzIGF0IGhlcmUgc2luY2Ugd2UgYXJlIHVuYWJsZSB0byBuYW1lIGxheWVycyBpbiBUaHJlZS5qcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYW1lcmFMYXllciBTcGVjaWZ5IHdoaWNoIGxheWVyIHdpbGwgYmUgZm9yIGBGaXJzdFBlcnNvbk9ubHlgIC8gYFRoaXJkUGVyc29uT25seWAuXG4gICAgICovXG4gICAgc2V0dXAoeyBmaXJzdFBlcnNvbk9ubHlMYXllciA9IFZSTUZpcnN0UGVyc29uLkRFRkFVTFRfRklSU1RQRVJTT05fT05MWV9MQVlFUiwgdGhpcmRQZXJzb25Pbmx5TGF5ZXIgPSBWUk1GaXJzdFBlcnNvbi5ERUZBVUxUX1RISVJEUEVSU09OX09OTFlfTEFZRVIsIH0gPSB7fSkge1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWRMYXllcnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9maXJzdFBlcnNvbk9ubHlMYXllciA9IGZpcnN0UGVyc29uT25seUxheWVyO1xuICAgICAgICB0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllciA9IHRoaXJkUGVyc29uT25seUxheWVyO1xuICAgICAgICB0aGlzLm1lc2hBbm5vdGF0aW9ucy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLm1lc2hlcy5mb3JFYWNoKChtZXNoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2ZpcnN0UGVyc29uT25seScpIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzaC5sYXllcnMuc2V0KHRoaXMuX2ZpcnN0UGVyc29uT25seUxheWVyKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzaC50cmF2ZXJzZSgoY2hpbGQpID0+IGNoaWxkLmxheWVycy5zZXQodGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXRlbS50eXBlID09PSAndGhpcmRQZXJzb25Pbmx5Jykge1xuICAgICAgICAgICAgICAgICAgICBtZXNoLmxheWVycy5zZXQodGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNoLnRyYXZlcnNlKChjaGlsZCkgPT4gY2hpbGQubGF5ZXJzLnNldCh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdhdXRvJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVIZWFkbGVzc01vZGVsKG1lc2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWRMYXllcnMgPSB0cnVlO1xuICAgIH1cbiAgICBfZXhjbHVkZVRyaWFuZ2xlcyh0cmlhbmdsZXMsIGJ3cywgc2tpbkluZGV4LCBleGNsdWRlKSB7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGlmIChid3MgIT0gbnVsbCAmJiBid3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmlhbmdsZXMubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gdHJpYW5nbGVzW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IGIgPSB0cmlhbmdsZXNbaSArIDFdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGMgPSB0cmlhbmdsZXNbaSArIDJdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ3MCA9IGJ3c1thXTtcbiAgICAgICAgICAgICAgICBjb25zdCBza2luMCA9IHNraW5JbmRleFthXTtcbiAgICAgICAgICAgICAgICBpZiAoYncwWzBdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4wWzBdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MFsxXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMFsxXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzBbMl0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjBbMl0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncwWzNdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4wWzNdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgY29uc3QgYncxID0gYndzW2JdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNraW4xID0gc2tpbkluZGV4W2JdO1xuICAgICAgICAgICAgICAgIGlmIChidzFbMF0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjFbMF0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncxWzFdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4xWzFdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MVsyXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMVsyXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzFbM10gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjFbM10pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBidzIgPSBid3NbY107XG4gICAgICAgICAgICAgICAgY29uc3Qgc2tpbjIgPSBza2luSW5kZXhbY107XG4gICAgICAgICAgICAgICAgaWYgKGJ3MlswXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMlswXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzJbMV0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjJbMV0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncyWzJdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4yWzJdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MlszXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMlszXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHRyaWFuZ2xlc1tjb3VudCsrXSA9IGE7XG4gICAgICAgICAgICAgICAgdHJpYW5nbGVzW2NvdW50KytdID0gYjtcbiAgICAgICAgICAgICAgICB0cmlhbmdsZXNbY291bnQrK10gPSBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICB9XG4gICAgX2NyZWF0ZUVyYXNlZE1lc2goc3JjLCBlcmFzaW5nQm9uZXNJbmRleCkge1xuICAgICAgICBjb25zdCBkc3QgPSBuZXcgVEhSRUUuU2tpbm5lZE1lc2goc3JjLmdlb21ldHJ5LmNsb25lKCksIHNyYy5tYXRlcmlhbCk7XG4gICAgICAgIGRzdC5uYW1lID0gYCR7c3JjLm5hbWV9KGVyYXNlKWA7XG4gICAgICAgIGRzdC5mcnVzdHVtQ3VsbGVkID0gc3JjLmZydXN0dW1DdWxsZWQ7XG4gICAgICAgIGRzdC5sYXllcnMuc2V0KHRoaXMuX2ZpcnN0UGVyc29uT25seUxheWVyKTtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBkc3QuZ2VvbWV0cnk7XG4gICAgICAgIGNvbnN0IHNraW5JbmRleEF0dHIgPSBnZW9tZXRyeS5nZXRBdHRyaWJ1dGUoJ3NraW5JbmRleCcpO1xuICAgICAgICBjb25zdCBza2luSW5kZXhBdHRyQXJyYXkgPSBza2luSW5kZXhBdHRyIGluc3RhbmNlb2YgVEhSRUUuR0xCdWZmZXJBdHRyaWJ1dGUgPyBbXSA6IHNraW5JbmRleEF0dHIuYXJyYXk7XG4gICAgICAgIGNvbnN0IHNraW5JbmRleCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNraW5JbmRleEF0dHJBcnJheS5sZW5ndGg7IGkgKz0gNCkge1xuICAgICAgICAgICAgc2tpbkluZGV4LnB1c2goW1xuICAgICAgICAgICAgICAgIHNraW5JbmRleEF0dHJBcnJheVtpXSxcbiAgICAgICAgICAgICAgICBza2luSW5kZXhBdHRyQXJyYXlbaSArIDFdLFxuICAgICAgICAgICAgICAgIHNraW5JbmRleEF0dHJBcnJheVtpICsgMl0sXG4gICAgICAgICAgICAgICAgc2tpbkluZGV4QXR0ckFycmF5W2kgKyAzXSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNraW5XZWlnaHRBdHRyID0gZ2VvbWV0cnkuZ2V0QXR0cmlidXRlKCdza2luV2VpZ2h0Jyk7XG4gICAgICAgIGNvbnN0IHNraW5XZWlnaHRBdHRyQXJyYXkgPSBza2luV2VpZ2h0QXR0ciBpbnN0YW5jZW9mIFRIUkVFLkdMQnVmZmVyQXR0cmlidXRlID8gW10gOiBza2luV2VpZ2h0QXR0ci5hcnJheTtcbiAgICAgICAgY29uc3Qgc2tpbldlaWdodCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNraW5XZWlnaHRBdHRyQXJyYXkubGVuZ3RoOyBpICs9IDQpIHtcbiAgICAgICAgICAgIHNraW5XZWlnaHQucHVzaChbXG4gICAgICAgICAgICAgICAgc2tpbldlaWdodEF0dHJBcnJheVtpXSxcbiAgICAgICAgICAgICAgICBza2luV2VpZ2h0QXR0ckFycmF5W2kgKyAxXSxcbiAgICAgICAgICAgICAgICBza2luV2VpZ2h0QXR0ckFycmF5W2kgKyAyXSxcbiAgICAgICAgICAgICAgICBza2luV2VpZ2h0QXR0ckFycmF5W2kgKyAzXSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZ2VvbWV0cnkuZ2V0SW5kZXgoKTtcbiAgICAgICAgaWYgKCFpbmRleCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIGdlb21ldHJ5IGRvZXNuJ3QgaGF2ZSBhbiBpbmRleCBidWZmZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2xkVHJpYW5nbGVzID0gQXJyYXkuZnJvbShpbmRleC5hcnJheSk7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gdGhpcy5fZXhjbHVkZVRyaWFuZ2xlcyhvbGRUcmlhbmdsZXMsIHNraW5XZWlnaHQsIHNraW5JbmRleCwgZXJhc2luZ0JvbmVzSW5kZXgpO1xuICAgICAgICBjb25zdCBuZXdUcmlhbmdsZSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIG5ld1RyaWFuZ2xlW2ldID0gb2xkVHJpYW5nbGVzW2ldO1xuICAgICAgICB9XG4gICAgICAgIGdlb21ldHJ5LnNldEluZGV4KG5ld1RyaWFuZ2xlKTtcbiAgICAgICAgLy8gbXRvb24gbWF0ZXJpYWwgaW5jbHVkZXMgb25CZWZvcmVSZW5kZXIuIHRoaXMgaXMgdW5zdXBwb3J0ZWQgYXQgU2tpbm5lZE1lc2gjY2xvbmVcbiAgICAgICAgaWYgKHNyYy5vbkJlZm9yZVJlbmRlcikge1xuICAgICAgICAgICAgZHN0Lm9uQmVmb3JlUmVuZGVyID0gc3JjLm9uQmVmb3JlUmVuZGVyO1xuICAgICAgICB9XG4gICAgICAgIGRzdC5iaW5kKG5ldyBUSFJFRS5Ta2VsZXRvbihzcmMuc2tlbGV0b24uYm9uZXMsIHNyYy5za2VsZXRvbi5ib25lSW52ZXJzZXMpLCBuZXcgVEhSRUUuTWF0cml4NCgpKTtcbiAgICAgICAgcmV0dXJuIGRzdDtcbiAgICB9XG4gICAgX2NyZWF0ZUhlYWRsZXNzTW9kZWxGb3JTa2lubmVkTWVzaChwYXJlbnQsIG1lc2gpIHtcbiAgICAgICAgY29uc3QgZXJhc2VCb25lSW5kZXhlcyA9IFtdO1xuICAgICAgICBtZXNoLnNrZWxldG9uLmJvbmVzLmZvckVhY2goKGJvbmUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faXNFcmFzZVRhcmdldChib25lKSlcbiAgICAgICAgICAgICAgICBlcmFzZUJvbmVJbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gVW5saWtlIFVuaVZSTSB3ZSBkb24ndCBjb3B5IG1lc2ggaWYgbm8gaW52aXNpYmxlIGJvbmUgd2FzIGZvdW5kXG4gICAgICAgIGlmICghZXJhc2VCb25lSW5kZXhlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG1lc2gubGF5ZXJzLmVuYWJsZSh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICBtZXNoLmxheWVycy5lbmFibGUodGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG1lc2gubGF5ZXJzLnNldCh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgIGNvbnN0IG5ld01lc2ggPSB0aGlzLl9jcmVhdGVFcmFzZWRNZXNoKG1lc2gsIGVyYXNlQm9uZUluZGV4ZXMpO1xuICAgICAgICBwYXJlbnQuYWRkKG5ld01lc2gpO1xuICAgIH1cbiAgICBfY3JlYXRlSGVhZGxlc3NNb2RlbChub2RlKSB7XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdHcm91cCcpIHtcbiAgICAgICAgICAgIG5vZGUubGF5ZXJzLnNldCh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICBpZiAodGhpcy5faXNFcmFzZVRhcmdldChub2RlKSkge1xuICAgICAgICAgICAgICAgIG5vZGUudHJhdmVyc2UoKGNoaWxkKSA9PiBjaGlsZC5sYXllcnMuc2V0KHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBuZXcgVEhSRUUuR3JvdXAoKTtcbiAgICAgICAgICAgICAgICBwYXJlbnQubmFtZSA9IGBfaGVhZGxlc3NfJHtub2RlLm5hbWV9YDtcbiAgICAgICAgICAgICAgICBwYXJlbnQubGF5ZXJzLnNldCh0aGlzLl9maXJzdFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICAgICAgbm9kZS5wYXJlbnQuYWRkKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChjaGlsZCkgPT4gY2hpbGQudHlwZSA9PT0gJ1NraW5uZWRNZXNoJylcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNraW5uZWRNZXNoID0gY2hpbGQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUhlYWRsZXNzTW9kZWxGb3JTa2lubmVkTWVzaChwYXJlbnQsIHNraW5uZWRNZXNoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChub2RlLnR5cGUgPT09ICdTa2lubmVkTWVzaCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHNraW5uZWRNZXNoID0gbm9kZTtcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUhlYWRsZXNzTW9kZWxGb3JTa2lubmVkTWVzaChub2RlLnBhcmVudCwgc2tpbm5lZE1lc2gpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lzRXJhc2VUYXJnZXQobm9kZSkpIHtcbiAgICAgICAgICAgICAgICBub2RlLmxheWVycy5zZXQodGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXIpO1xuICAgICAgICAgICAgICAgIG5vZGUudHJhdmVyc2UoKGNoaWxkKSA9PiBjaGlsZC5sYXllcnMuc2V0KHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2lzRXJhc2VUYXJnZXQoYm9uZSkge1xuICAgICAgICBpZiAoYm9uZSA9PT0gdGhpcy5odW1hbm9pZC5nZXRSYXdCb25lTm9kZSgnaGVhZCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghYm9uZS5wYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pc0VyYXNlVGFyZ2V0KGJvbmUucGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogQSBkZWZhdWx0IGNhbWVyYSBsYXllciBmb3IgYEZpcnN0UGVyc29uT25seWAgbGF5ZXIuXG4gKlxuICogQHNlZSBbW2dldEZpcnN0UGVyc29uT25seUxheWVyXV1cbiAqL1xuVlJNRmlyc3RQZXJzb24uREVGQVVMVF9GSVJTVFBFUlNPTl9PTkxZX0xBWUVSID0gOTtcbi8qKlxuICogQSBkZWZhdWx0IGNhbWVyYSBsYXllciBmb3IgYFRoaXJkUGVyc29uT25seWAgbGF5ZXIuXG4gKlxuICogQHNlZSBbW2dldFRoaXJkUGVyc29uT25seUxheWVyXV1cbiAqL1xuVlJNRmlyc3RQZXJzb24uREVGQVVMVF9USElSRFBFUlNPTl9PTkxZX0xBWUVSID0gMTA7XG5cbi8qKlxuICogUG9zc2libGUgc3BlYyB2ZXJzaW9ucyBpdCByZWNvZ25pemVzLlxuICovXG5jb25zdCBQT1NTSUJMRV9TUEVDX1ZFUlNJT05TJDMgPSBuZXcgU2V0KFsnMS4wJywgJzEuMC1iZXRhJ10pO1xuLyoqXG4gKiBBIHBsdWdpbiBvZiBHTFRGTG9hZGVyIHRoYXQgaW1wb3J0cyBhIHtAbGluayBWUk1GaXJzdFBlcnNvbn0gZnJvbSBhIFZSTSBleHRlbnNpb24gb2YgYSBHTFRGLlxuICovXG5jbGFzcyBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIC8vIFdlIHNob3VsZCB1c2UgdGhlIGV4dGVuc2lvbiBuYW1lIGluc3RlYWQgYnV0IHdlIGhhdmUgbXVsdGlwbGUgcGx1Z2lucyBmb3IgYW4gZXh0ZW5zaW9uLi4uXG4gICAgICAgIHJldHVybiAnVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW4nO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIpIHtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2cm1IdW1hbm9pZCA9IGdsdGYudXNlckRhdGEudnJtSHVtYW5vaWQ7XG4gICAgICAgICAgICAvLyBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoIG51bGwgYW5kIHVuZGVmaW5lZFxuICAgICAgICAgICAgLy8gc2luY2UgdnJtSHVtYW5vaWQgbWlnaHQgYmUgbnVsbCBhcyBhIHJlc3VsdFxuICAgICAgICAgICAgaWYgKHZybUh1bWFub2lkID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodnJtSHVtYW5vaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW46IHZybUh1bWFub2lkIGlzIHVuZGVmaW5lZC4gVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW4gaGF2ZSB0byBiZSB1c2VkIGZpcnN0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybUZpcnN0UGVyc29uID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYsIHZybUh1bWFub2lkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEltcG9ydCBhIHtAbGluayBWUk1GaXJzdFBlcnNvbn0gZnJvbSBhIFZSTS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBnbHRmIEEgcGFyc2VkIHJlc3VsdCBvZiBHTFRGIHRha2VuIGZyb20gR0xURkxvYWRlclxuICAgICAqIEBwYXJhbSBodW1hbm9pZCBBIHtAbGluayBWUk1IdW1hbm9pZH0gaW5zdGFuY2UgdGhhdCByZXByZXNlbnRzIHRoZSBWUk1cbiAgICAgKi9cbiAgICBfaW1wb3J0KGdsdGYsIGh1bWFub2lkKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoaHVtYW5vaWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjFSZXN1bHQgPSB5aWVsZCB0aGlzLl92MUltcG9ydChnbHRmLCBodW1hbm9pZCk7XG4gICAgICAgICAgICBpZiAodjFSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjFSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2MFJlc3VsdCA9IHlpZWxkIHRoaXMuX3YwSW1wb3J0KGdsdGYsIGh1bWFub2lkKTtcbiAgICAgICAgICAgIGlmICh2MFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MFJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0KGdsdGYsIGh1bWFub2lkKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgaXNWUk1Vc2VkID0gKChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pbmRleE9mKCdWUk1DX3ZybScpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoIWlzVlJNVXNlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gKF9iID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbJ1ZSTUNfdnJtJ107XG4gICAgICAgICAgICBpZiAoIWV4dGVuc2lvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc3BlY1ZlcnNpb24gPSBleHRlbnNpb24uc3BlY1ZlcnNpb247XG4gICAgICAgICAgICBpZiAoIVBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkMy5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbjogVW5rbm93biBWUk1DX3ZybSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUZpcnN0UGVyc29uID0gZXh0ZW5zaW9uLmZpcnN0UGVyc29uO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFGaXJzdFBlcnNvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWVzaEFubm90YXRpb25zID0gW107XG4gICAgICAgICAgICBjb25zdCBub2RlUHJpbWl0aXZlc01hcCA9IHlpZWxkIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlcyhnbHRmKTtcbiAgICAgICAgICAgIEFycmF5LmZyb20obm9kZVByaW1pdGl2ZXNNYXAuZW50cmllcygpKS5mb3JFYWNoKChbbm9kZUluZGV4LCBwcmltaXRpdmVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCBhbm5vdGF0aW9uID0gc2NoZW1hRmlyc3RQZXJzb24ubWVzaEFubm90YXRpb25zXG4gICAgICAgICAgICAgICAgICAgID8gc2NoZW1hRmlyc3RQZXJzb24ubWVzaEFubm90YXRpb25zLmZpbmQoKGEpID0+IGEubm9kZSA9PT0gbm9kZUluZGV4KVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBtZXNoQW5ub3RhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG1lc2hlczogcHJpbWl0aXZlcyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogKF9hID0gYW5ub3RhdGlvbiA9PT0gbnVsbCB8fCBhbm5vdGF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhbm5vdGF0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdib3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBWUk1GaXJzdFBlcnNvbihodW1hbm9pZCwgbWVzaEFubm90YXRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MEltcG9ydChnbHRmLCBodW1hbm9pZCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIGNvbnN0IHZybUV4dCA9IChfYSA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLlZSTTtcbiAgICAgICAgICAgIGlmICghdnJtRXh0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY2hlbWFGaXJzdFBlcnNvbiA9IHZybUV4dC5maXJzdFBlcnNvbjtcbiAgICAgICAgICAgIGlmICghc2NoZW1hRmlyc3RQZXJzb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1lc2hBbm5vdGF0aW9ucyA9IFtdO1xuICAgICAgICAgICAgY29uc3Qgbm9kZVByaW1pdGl2ZXNNYXAgPSB5aWVsZCBnbHRmRXh0cmFjdFByaW1pdGl2ZXNGcm9tTm9kZXMoZ2x0Zik7XG4gICAgICAgICAgICBBcnJheS5mcm9tKG5vZGVQcmltaXRpdmVzTWFwLmVudHJpZXMoKSkuZm9yRWFjaCgoW25vZGVJbmRleCwgcHJpbWl0aXZlc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2hlbWFOb2RlID0ganNvbi5ub2Rlc1tub2RlSW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsYWcgPSBzY2hlbWFGaXJzdFBlcnNvbi5tZXNoQW5ub3RhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgPyBzY2hlbWFGaXJzdFBlcnNvbi5tZXNoQW5ub3RhdGlvbnMuZmluZCgoYSkgPT4gYS5tZXNoID09PSBzY2hlbWFOb2RlLm1lc2gpXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIG1lc2hBbm5vdGF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzaGVzOiBwcmltaXRpdmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLl9jb252ZXJ0VjBGbGFnVG9WMVR5cGUoZmxhZyA9PT0gbnVsbCB8fCBmbGFnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmbGFnLmZpcnN0UGVyc29uRmxhZyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVlJNRmlyc3RQZXJzb24oaHVtYW5vaWQsIG1lc2hBbm5vdGF0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfY29udmVydFYwRmxhZ1RvVjFUeXBlKGZsYWcpIHtcbiAgICAgICAgaWYgKGZsYWcgPT09ICdGaXJzdFBlcnNvbk9ubHknKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ZpcnN0UGVyc29uT25seSc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZmxhZyA9PT0gJ1RoaXJkUGVyc29uT25seScpIHtcbiAgICAgICAgICAgIHJldHVybiAndGhpcmRQZXJzb25Pbmx5JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmbGFnID09PSAnQXV0bycpIHtcbiAgICAgICAgICAgIHJldHVybiAnYXV0byc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2JvdGgnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmNvbnN0IFZSTUZpcnN0UGVyc29uTWVzaEFubm90YXRpb25UeXBlID0ge1xuICAgIEF1dG86ICdhdXRvJyxcbiAgICBCb3RoOiAnYm90aCcsXG4gICAgVGhpcmRQZXJzb25Pbmx5OiAndGhpcmRQZXJzb25Pbmx5JyxcbiAgICBGaXJzdFBlcnNvbk9ubHk6ICdmaXJzdFBlcnNvbk9ubHknLFxufTtcblxuY29uc3QgX3YzQSQ0ID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0IkMiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfcXVhdEEkNSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jbGFzcyBWUk1IdW1hbm9pZEhlbHBlciBleHRlbmRzIFRIUkVFLkdyb3VwIHtcbiAgICBjb25zdHJ1Y3RvcihodW1hbm9pZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnZybUh1bWFub2lkID0gaHVtYW5vaWQ7XG4gICAgICAgIHRoaXMuX2JvbmVBeGVzTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBPYmplY3QudmFsdWVzKGh1bWFub2lkLmh1bWFuQm9uZXMpLmZvckVhY2goKGJvbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlciA9IG5ldyBUSFJFRS5BeGVzSGVscGVyKDEuMCk7XG4gICAgICAgICAgICBoZWxwZXIubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgaGVscGVyLm1hdGVyaWFsLmRlcHRoVGVzdCA9IGZhbHNlO1xuICAgICAgICAgICAgaGVscGVyLm1hdGVyaWFsLmRlcHRoV3JpdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICB0aGlzLl9ib25lQXhlc01hcC5zZXQoYm9uZSwgaGVscGVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGRpc3Bvc2UoKSB7XG4gICAgICAgIEFycmF5LmZyb20odGhpcy5fYm9uZUF4ZXNNYXAudmFsdWVzKCkpLmZvckVhY2goKGF4ZXMpID0+IHtcbiAgICAgICAgICAgIGF4ZXMuZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgICAgICAgICAgYXhlcy5tYXRlcmlhbC5kaXNwb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB1cGRhdGVNYXRyaXhXb3JsZChmb3JjZSkge1xuICAgICAgICBBcnJheS5mcm9tKHRoaXMuX2JvbmVBeGVzTWFwLmVudHJpZXMoKSkuZm9yRWFjaCgoW2JvbmUsIGF4ZXNdKSA9PiB7XG4gICAgICAgICAgICBib25lLm5vZGUudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgYm9uZS5ub2RlLm1hdHJpeFdvcmxkLmRlY29tcG9zZShfdjNBJDQsIF9xdWF0QSQ1LCBfdjNCJDIpO1xuICAgICAgICAgICAgY29uc3Qgc2NhbGUgPSBfdjNBJDQuc2V0KDAuMSwgMC4xLCAwLjEpLmRpdmlkZShfdjNCJDIpO1xuICAgICAgICAgICAgYXhlcy5tYXRyaXguY29weShib25lLm5vZGUubWF0cml4V29ybGQpLnNjYWxlKHNjYWxlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqXG4gKiBUaGUgbGlzdCBvZiB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0uIERlcGVuZGVuY3kgYXdhcmUuXG4gKi9cbmNvbnN0IFZSTUh1bWFuQm9uZUxpc3QgPSBbXG4gICAgJ2hpcHMnLFxuICAgICdzcGluZScsXG4gICAgJ2NoZXN0JyxcbiAgICAndXBwZXJDaGVzdCcsXG4gICAgJ25lY2snLFxuICAgICdoZWFkJyxcbiAgICAnbGVmdEV5ZScsXG4gICAgJ3JpZ2h0RXllJyxcbiAgICAnamF3JyxcbiAgICAnbGVmdFVwcGVyTGVnJyxcbiAgICAnbGVmdExvd2VyTGVnJyxcbiAgICAnbGVmdEZvb3QnLFxuICAgICdsZWZ0VG9lcycsXG4gICAgJ3JpZ2h0VXBwZXJMZWcnLFxuICAgICdyaWdodExvd2VyTGVnJyxcbiAgICAncmlnaHRGb290JyxcbiAgICAncmlnaHRUb2VzJyxcbiAgICAnbGVmdFNob3VsZGVyJyxcbiAgICAnbGVmdFVwcGVyQXJtJyxcbiAgICAnbGVmdExvd2VyQXJtJyxcbiAgICAnbGVmdEhhbmQnLFxuICAgICdyaWdodFNob3VsZGVyJyxcbiAgICAncmlnaHRVcHBlckFybScsXG4gICAgJ3JpZ2h0TG93ZXJBcm0nLFxuICAgICdyaWdodEhhbmQnLFxuICAgICdsZWZ0VGh1bWJNZXRhY2FycGFsJyxcbiAgICAnbGVmdFRodW1iUHJveGltYWwnLFxuICAgICdsZWZ0VGh1bWJEaXN0YWwnLFxuICAgICdsZWZ0SW5kZXhQcm94aW1hbCcsXG4gICAgJ2xlZnRJbmRleEludGVybWVkaWF0ZScsXG4gICAgJ2xlZnRJbmRleERpc3RhbCcsXG4gICAgJ2xlZnRNaWRkbGVQcm94aW1hbCcsXG4gICAgJ2xlZnRNaWRkbGVJbnRlcm1lZGlhdGUnLFxuICAgICdsZWZ0TWlkZGxlRGlzdGFsJyxcbiAgICAnbGVmdFJpbmdQcm94aW1hbCcsXG4gICAgJ2xlZnRSaW5nSW50ZXJtZWRpYXRlJyxcbiAgICAnbGVmdFJpbmdEaXN0YWwnLFxuICAgICdsZWZ0TGl0dGxlUHJveGltYWwnLFxuICAgICdsZWZ0TGl0dGxlSW50ZXJtZWRpYXRlJyxcbiAgICAnbGVmdExpdHRsZURpc3RhbCcsXG4gICAgJ3JpZ2h0VGh1bWJNZXRhY2FycGFsJyxcbiAgICAncmlnaHRUaHVtYlByb3hpbWFsJyxcbiAgICAncmlnaHRUaHVtYkRpc3RhbCcsXG4gICAgJ3JpZ2h0SW5kZXhQcm94aW1hbCcsXG4gICAgJ3JpZ2h0SW5kZXhJbnRlcm1lZGlhdGUnLFxuICAgICdyaWdodEluZGV4RGlzdGFsJyxcbiAgICAncmlnaHRNaWRkbGVQcm94aW1hbCcsXG4gICAgJ3JpZ2h0TWlkZGxlSW50ZXJtZWRpYXRlJyxcbiAgICAncmlnaHRNaWRkbGVEaXN0YWwnLFxuICAgICdyaWdodFJpbmdQcm94aW1hbCcsXG4gICAgJ3JpZ2h0UmluZ0ludGVybWVkaWF0ZScsXG4gICAgJ3JpZ2h0UmluZ0Rpc3RhbCcsXG4gICAgJ3JpZ2h0TGl0dGxlUHJveGltYWwnLFxuICAgICdyaWdodExpdHRsZUludGVybWVkaWF0ZScsXG4gICAgJ3JpZ2h0TGl0dGxlRGlzdGFsJyxcbl07XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqXG4gKiBUaGUgbmFtZXMgb2Yge0BsaW5rIFZSTUh1bWFub2lkfSBib25lIG5hbWVzLlxuICpcbiAqIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL3ZybS1zcGVjaWZpY2F0aW9uL2Jsb2IvbWFzdGVyL3NwZWNpZmljYXRpb24vVlJNQ192cm0tMS4wL2h1bWFub2lkLm1kXG4gKi9cbmNvbnN0IFZSTUh1bWFuQm9uZU5hbWUgPSB7XG4gICAgSGlwczogJ2hpcHMnLFxuICAgIFNwaW5lOiAnc3BpbmUnLFxuICAgIENoZXN0OiAnY2hlc3QnLFxuICAgIFVwcGVyQ2hlc3Q6ICd1cHBlckNoZXN0JyxcbiAgICBOZWNrOiAnbmVjaycsXG4gICAgSGVhZDogJ2hlYWQnLFxuICAgIExlZnRFeWU6ICdsZWZ0RXllJyxcbiAgICBSaWdodEV5ZTogJ3JpZ2h0RXllJyxcbiAgICBKYXc6ICdqYXcnLFxuICAgIExlZnRVcHBlckxlZzogJ2xlZnRVcHBlckxlZycsXG4gICAgTGVmdExvd2VyTGVnOiAnbGVmdExvd2VyTGVnJyxcbiAgICBMZWZ0Rm9vdDogJ2xlZnRGb290JyxcbiAgICBMZWZ0VG9lczogJ2xlZnRUb2VzJyxcbiAgICBSaWdodFVwcGVyTGVnOiAncmlnaHRVcHBlckxlZycsXG4gICAgUmlnaHRMb3dlckxlZzogJ3JpZ2h0TG93ZXJMZWcnLFxuICAgIFJpZ2h0Rm9vdDogJ3JpZ2h0Rm9vdCcsXG4gICAgUmlnaHRUb2VzOiAncmlnaHRUb2VzJyxcbiAgICBMZWZ0U2hvdWxkZXI6ICdsZWZ0U2hvdWxkZXInLFxuICAgIExlZnRVcHBlckFybTogJ2xlZnRVcHBlckFybScsXG4gICAgTGVmdExvd2VyQXJtOiAnbGVmdExvd2VyQXJtJyxcbiAgICBMZWZ0SGFuZDogJ2xlZnRIYW5kJyxcbiAgICBSaWdodFNob3VsZGVyOiAncmlnaHRTaG91bGRlcicsXG4gICAgUmlnaHRVcHBlckFybTogJ3JpZ2h0VXBwZXJBcm0nLFxuICAgIFJpZ2h0TG93ZXJBcm06ICdyaWdodExvd2VyQXJtJyxcbiAgICBSaWdodEhhbmQ6ICdyaWdodEhhbmQnLFxuICAgIExlZnRUaHVtYk1ldGFjYXJwYWw6ICdsZWZ0VGh1bWJNZXRhY2FycGFsJyxcbiAgICBMZWZ0VGh1bWJQcm94aW1hbDogJ2xlZnRUaHVtYlByb3hpbWFsJyxcbiAgICBMZWZ0VGh1bWJEaXN0YWw6ICdsZWZ0VGh1bWJEaXN0YWwnLFxuICAgIExlZnRJbmRleFByb3hpbWFsOiAnbGVmdEluZGV4UHJveGltYWwnLFxuICAgIExlZnRJbmRleEludGVybWVkaWF0ZTogJ2xlZnRJbmRleEludGVybWVkaWF0ZScsXG4gICAgTGVmdEluZGV4RGlzdGFsOiAnbGVmdEluZGV4RGlzdGFsJyxcbiAgICBMZWZ0TWlkZGxlUHJveGltYWw6ICdsZWZ0TWlkZGxlUHJveGltYWwnLFxuICAgIExlZnRNaWRkbGVJbnRlcm1lZGlhdGU6ICdsZWZ0TWlkZGxlSW50ZXJtZWRpYXRlJyxcbiAgICBMZWZ0TWlkZGxlRGlzdGFsOiAnbGVmdE1pZGRsZURpc3RhbCcsXG4gICAgTGVmdFJpbmdQcm94aW1hbDogJ2xlZnRSaW5nUHJveGltYWwnLFxuICAgIExlZnRSaW5nSW50ZXJtZWRpYXRlOiAnbGVmdFJpbmdJbnRlcm1lZGlhdGUnLFxuICAgIExlZnRSaW5nRGlzdGFsOiAnbGVmdFJpbmdEaXN0YWwnLFxuICAgIExlZnRMaXR0bGVQcm94aW1hbDogJ2xlZnRMaXR0bGVQcm94aW1hbCcsXG4gICAgTGVmdExpdHRsZUludGVybWVkaWF0ZTogJ2xlZnRMaXR0bGVJbnRlcm1lZGlhdGUnLFxuICAgIExlZnRMaXR0bGVEaXN0YWw6ICdsZWZ0TGl0dGxlRGlzdGFsJyxcbiAgICBSaWdodFRodW1iTWV0YWNhcnBhbDogJ3JpZ2h0VGh1bWJNZXRhY2FycGFsJyxcbiAgICBSaWdodFRodW1iUHJveGltYWw6ICdyaWdodFRodW1iUHJveGltYWwnLFxuICAgIFJpZ2h0VGh1bWJEaXN0YWw6ICdyaWdodFRodW1iRGlzdGFsJyxcbiAgICBSaWdodEluZGV4UHJveGltYWw6ICdyaWdodEluZGV4UHJveGltYWwnLFxuICAgIFJpZ2h0SW5kZXhJbnRlcm1lZGlhdGU6ICdyaWdodEluZGV4SW50ZXJtZWRpYXRlJyxcbiAgICBSaWdodEluZGV4RGlzdGFsOiAncmlnaHRJbmRleERpc3RhbCcsXG4gICAgUmlnaHRNaWRkbGVQcm94aW1hbDogJ3JpZ2h0TWlkZGxlUHJveGltYWwnLFxuICAgIFJpZ2h0TWlkZGxlSW50ZXJtZWRpYXRlOiAncmlnaHRNaWRkbGVJbnRlcm1lZGlhdGUnLFxuICAgIFJpZ2h0TWlkZGxlRGlzdGFsOiAncmlnaHRNaWRkbGVEaXN0YWwnLFxuICAgIFJpZ2h0UmluZ1Byb3hpbWFsOiAncmlnaHRSaW5nUHJveGltYWwnLFxuICAgIFJpZ2h0UmluZ0ludGVybWVkaWF0ZTogJ3JpZ2h0UmluZ0ludGVybWVkaWF0ZScsXG4gICAgUmlnaHRSaW5nRGlzdGFsOiAncmlnaHRSaW5nRGlzdGFsJyxcbiAgICBSaWdodExpdHRsZVByb3hpbWFsOiAncmlnaHRMaXR0bGVQcm94aW1hbCcsXG4gICAgUmlnaHRMaXR0bGVJbnRlcm1lZGlhdGU6ICdyaWdodExpdHRsZUludGVybWVkaWF0ZScsXG4gICAgUmlnaHRMaXR0bGVEaXN0YWw6ICdyaWdodExpdHRsZURpc3RhbCcsXG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgbWFwcyBmcm9tIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfSB0byBpdHMgcGFyZW50IHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfS5cbiAqXG4gKiBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS92cm0tYy92cm0tc3BlY2lmaWNhdGlvbi9ibG9iL21hc3Rlci9zcGVjaWZpY2F0aW9uL1ZSTUNfdnJtLTEuMC9odW1hbm9pZC5tZFxuICovXG5jb25zdCBWUk1IdW1hbkJvbmVQYXJlbnRNYXAgPSB7XG4gICAgaGlwczogbnVsbCxcbiAgICBzcGluZTogJ2hpcHMnLFxuICAgIGNoZXN0OiAnc3BpbmUnLFxuICAgIHVwcGVyQ2hlc3Q6ICdjaGVzdCcsXG4gICAgbmVjazogJ3VwcGVyQ2hlc3QnLFxuICAgIGhlYWQ6ICduZWNrJyxcbiAgICBsZWZ0RXllOiAnaGVhZCcsXG4gICAgcmlnaHRFeWU6ICdoZWFkJyxcbiAgICBqYXc6ICdoZWFkJyxcbiAgICBsZWZ0VXBwZXJMZWc6ICdoaXBzJyxcbiAgICBsZWZ0TG93ZXJMZWc6ICdsZWZ0VXBwZXJMZWcnLFxuICAgIGxlZnRGb290OiAnbGVmdExvd2VyTGVnJyxcbiAgICBsZWZ0VG9lczogJ2xlZnRGb290JyxcbiAgICByaWdodFVwcGVyTGVnOiAnaGlwcycsXG4gICAgcmlnaHRMb3dlckxlZzogJ3JpZ2h0VXBwZXJMZWcnLFxuICAgIHJpZ2h0Rm9vdDogJ3JpZ2h0TG93ZXJMZWcnLFxuICAgIHJpZ2h0VG9lczogJ3JpZ2h0Rm9vdCcsXG4gICAgbGVmdFNob3VsZGVyOiAndXBwZXJDaGVzdCcsXG4gICAgbGVmdFVwcGVyQXJtOiAnbGVmdFNob3VsZGVyJyxcbiAgICBsZWZ0TG93ZXJBcm06ICdsZWZ0VXBwZXJBcm0nLFxuICAgIGxlZnRIYW5kOiAnbGVmdExvd2VyQXJtJyxcbiAgICByaWdodFNob3VsZGVyOiAndXBwZXJDaGVzdCcsXG4gICAgcmlnaHRVcHBlckFybTogJ3JpZ2h0U2hvdWxkZXInLFxuICAgIHJpZ2h0TG93ZXJBcm06ICdyaWdodFVwcGVyQXJtJyxcbiAgICByaWdodEhhbmQ6ICdyaWdodExvd2VyQXJtJyxcbiAgICBsZWZ0VGh1bWJNZXRhY2FycGFsOiAnbGVmdEhhbmQnLFxuICAgIGxlZnRUaHVtYlByb3hpbWFsOiAnbGVmdFRodW1iTWV0YWNhcnBhbCcsXG4gICAgbGVmdFRodW1iRGlzdGFsOiAnbGVmdFRodW1iUHJveGltYWwnLFxuICAgIGxlZnRJbmRleFByb3hpbWFsOiAnbGVmdEhhbmQnLFxuICAgIGxlZnRJbmRleEludGVybWVkaWF0ZTogJ2xlZnRJbmRleFByb3hpbWFsJyxcbiAgICBsZWZ0SW5kZXhEaXN0YWw6ICdsZWZ0SW5kZXhJbnRlcm1lZGlhdGUnLFxuICAgIGxlZnRNaWRkbGVQcm94aW1hbDogJ2xlZnRIYW5kJyxcbiAgICBsZWZ0TWlkZGxlSW50ZXJtZWRpYXRlOiAnbGVmdE1pZGRsZVByb3hpbWFsJyxcbiAgICBsZWZ0TWlkZGxlRGlzdGFsOiAnbGVmdE1pZGRsZUludGVybWVkaWF0ZScsXG4gICAgbGVmdFJpbmdQcm94aW1hbDogJ2xlZnRIYW5kJyxcbiAgICBsZWZ0UmluZ0ludGVybWVkaWF0ZTogJ2xlZnRSaW5nUHJveGltYWwnLFxuICAgIGxlZnRSaW5nRGlzdGFsOiAnbGVmdFJpbmdJbnRlcm1lZGlhdGUnLFxuICAgIGxlZnRMaXR0bGVQcm94aW1hbDogJ2xlZnRIYW5kJyxcbiAgICBsZWZ0TGl0dGxlSW50ZXJtZWRpYXRlOiAnbGVmdExpdHRsZVByb3hpbWFsJyxcbiAgICBsZWZ0TGl0dGxlRGlzdGFsOiAnbGVmdExpdHRsZUludGVybWVkaWF0ZScsXG4gICAgcmlnaHRUaHVtYk1ldGFjYXJwYWw6ICdyaWdodEhhbmQnLFxuICAgIHJpZ2h0VGh1bWJQcm94aW1hbDogJ3JpZ2h0VGh1bWJNZXRhY2FycGFsJyxcbiAgICByaWdodFRodW1iRGlzdGFsOiAncmlnaHRUaHVtYlByb3hpbWFsJyxcbiAgICByaWdodEluZGV4UHJveGltYWw6ICdyaWdodEhhbmQnLFxuICAgIHJpZ2h0SW5kZXhJbnRlcm1lZGlhdGU6ICdyaWdodEluZGV4UHJveGltYWwnLFxuICAgIHJpZ2h0SW5kZXhEaXN0YWw6ICdyaWdodEluZGV4SW50ZXJtZWRpYXRlJyxcbiAgICByaWdodE1pZGRsZVByb3hpbWFsOiAncmlnaHRIYW5kJyxcbiAgICByaWdodE1pZGRsZUludGVybWVkaWF0ZTogJ3JpZ2h0TWlkZGxlUHJveGltYWwnLFxuICAgIHJpZ2h0TWlkZGxlRGlzdGFsOiAncmlnaHRNaWRkbGVJbnRlcm1lZGlhdGUnLFxuICAgIHJpZ2h0UmluZ1Byb3hpbWFsOiAncmlnaHRIYW5kJyxcbiAgICByaWdodFJpbmdJbnRlcm1lZGlhdGU6ICdyaWdodFJpbmdQcm94aW1hbCcsXG4gICAgcmlnaHRSaW5nRGlzdGFsOiAncmlnaHRSaW5nSW50ZXJtZWRpYXRlJyxcbiAgICByaWdodExpdHRsZVByb3hpbWFsOiAncmlnaHRIYW5kJyxcbiAgICByaWdodExpdHRsZUludGVybWVkaWF0ZTogJ3JpZ2h0TGl0dGxlUHJveGltYWwnLFxuICAgIHJpZ2h0TGl0dGxlRGlzdGFsOiAncmlnaHRMaXR0bGVJbnRlcm1lZGlhdGUnLFxufTtcblxuLyoqXG4gKiBBIGNvbXBhdCBmdW5jdGlvbiBmb3IgYFF1YXRlcm5pb24uaW52ZXJ0KClgIC8gYFF1YXRlcm5pb24uaW52ZXJzZSgpYC5cbiAqIGBRdWF0ZXJuaW9uLmludmVydCgpYCBpcyBpbnRyb2R1Y2VkIGluIHIxMjMgYW5kIGBRdWF0ZXJuaW9uLmludmVyc2UoKWAgZW1pdHMgYSB3YXJuaW5nLlxuICogV2UgYXJlIGdvaW5nIHRvIHVzZSB0aGlzIGNvbXBhdCBmb3IgYSB3aGlsZS5cbiAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgcXVhdGVybmlvblxuICovXG5mdW5jdGlvbiBxdWF0SW52ZXJ0Q29tcGF0KHRhcmdldCkge1xuICAgIGlmICh0YXJnZXQuaW52ZXJ0KSB7XG4gICAgICAgIHRhcmdldC5pbnZlcnQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRhcmdldC5pbnZlcnNlKCk7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG59XG5cbmNvbnN0IF92M0EkMyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfcXVhdEEkNCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4vKipcbiAqIEEgY2xhc3MgcmVwcmVzZW50cyB0aGUgUmlnIG9mIGEgVlJNLlxuICovXG5jbGFzcyBWUk1SaWcge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNSHVtYW5vaWR9LlxuICAgICAqIEBwYXJhbSBodW1hbkJvbmVzIEEge0BsaW5rIFZSTUh1bWFuQm9uZXN9IGNvbnRhaW5zIGFsbCB0aGUgYm9uZXMgb2YgdGhlIG5ldyBodW1hbm9pZFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGh1bWFuQm9uZXMpIHtcbiAgICAgICAgdGhpcy5odW1hbkJvbmVzID0gaHVtYW5Cb25lcztcbiAgICAgICAgdGhpcy5yZXN0UG9zZSA9IHRoaXMuZ2V0QWJzb2x1dGVQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgY3VycmVudCBhYnNvbHV0ZSBwb3NlIG9mIHRoaXMgaHVtYW5vaWQgYXMgYSB7QGxpbmsgVlJNUG9zZX0uXG4gICAgICogTm90ZSB0aGF0IHRoZSBvdXRwdXQgcmVzdWx0IHdpbGwgY29udGFpbiBpbml0aWFsIHN0YXRlIG9mIHRoZSBWUk0gYW5kIG5vdCBjb21wYXRpYmxlIGJldHdlZW4gZGlmZmVyZW50IG1vZGVscy5cbiAgICAgKiBZb3UgbWlnaHQgd2FudCB0byB1c2Uge0BsaW5rIGdldFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0QWJzb2x1dGVQb3NlKCkge1xuICAgICAgICBjb25zdCBwb3NlID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaHVtYW5Cb25lcykuZm9yRWFjaCgodnJtQm9uZU5hbWVTdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZybUJvbmVOYW1lID0gdnJtQm9uZU5hbWVTdHJpbmc7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXRCb25lTm9kZSh2cm1Cb25lTmFtZSk7XG4gICAgICAgICAgICAvLyBJZ25vcmUgd2hlbiB0aGVyZSBhcmUgbm8gYm9uZSBvbiB0aGUgVlJNSHVtYW5vaWRcbiAgICAgICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gLyByb3RhdGlvbiBmcm9tIHRoZSBub2RlXG4gICAgICAgICAgICBfdjNBJDMuY29weShub2RlLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIF9xdWF0QSQ0LmNvcHkobm9kZS5xdWF0ZXJuaW9uKTtcbiAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gcmF3IGFycmF5c1xuICAgICAgICAgICAgcG9zZVt2cm1Cb25lTmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IF92M0EkMy50b0FycmF5KCksXG4gICAgICAgICAgICAgICAgcm90YXRpb246IF9xdWF0QSQ0LnRvQXJyYXkoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcG9zZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IHBvc2Ugb2YgdGhpcyBodW1hbm9pZCBhcyBhIHtAbGluayBWUk1Qb3NlfS5cbiAgICAgKlxuICAgICAqIEVhY2ggdHJhbnNmb3JtIGlzIGEgbG9jYWwgdHJhbnNmb3JtIHJlbGF0aXZlIGZyb20gcmVzdCBwb3NlIChULXBvc2UpLlxuICAgICAqL1xuICAgIGdldFBvc2UoKSB7XG4gICAgICAgIGNvbnN0IHBvc2UgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5odW1hbkJvbmVzKS5mb3JFYWNoKChib25lTmFtZVN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9uZU5hbWUgPSBib25lTmFtZVN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldEJvbmVOb2RlKGJvbmVOYW1lKTtcbiAgICAgICAgICAgIC8vIElnbm9yZSB3aGVuIHRoZXJlIGFyZSBubyBib25lIG9uIHRoZSBWUk1IdW1hbm9pZFxuICAgICAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGFrZSBhIGRpZmYgZnJvbSByZXN0UG9zZVxuICAgICAgICAgICAgX3YzQSQzLnNldCgwLCAwLCAwKTtcbiAgICAgICAgICAgIF9xdWF0QSQ0LmlkZW50aXR5KCk7XG4gICAgICAgICAgICBjb25zdCByZXN0U3RhdGUgPSB0aGlzLnJlc3RQb3NlW2JvbmVOYW1lXTtcbiAgICAgICAgICAgIGlmIChyZXN0U3RhdGUgPT09IG51bGwgfHwgcmVzdFN0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXN0U3RhdGUucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBfdjNBJDMuZnJvbUFycmF5KHJlc3RTdGF0ZS5wb3NpdGlvbikubmVnYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzdFN0YXRlID09PSBudWxsIHx8IHJlc3RTdGF0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzdFN0YXRlLnJvdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcXVhdEludmVydENvbXBhdChfcXVhdEEkNC5mcm9tQXJyYXkocmVzdFN0YXRlLnJvdGF0aW9uKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIC8gcm90YXRpb24gZnJvbSB0aGUgbm9kZVxuICAgICAgICAgICAgX3YzQSQzLmFkZChub2RlLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIF9xdWF0QSQ0LnByZW11bHRpcGx5KG5vZGUucXVhdGVybmlvbik7XG4gICAgICAgICAgICAvLyBDb252ZXJ0IHRvIHJhdyBhcnJheXNcbiAgICAgICAgICAgIHBvc2VbYm9uZU5hbWVdID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBfdjNBJDMudG9BcnJheSgpLFxuICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBfcXVhdEEkNC50b0FycmF5KCksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExldCB0aGUgaHVtYW5vaWQgZG8gYSBzcGVjaWZpZWQgcG9zZS5cbiAgICAgKlxuICAgICAqIEVhY2ggdHJhbnNmb3JtIGhhdmUgdG8gYmUgYSBsb2NhbCB0cmFuc2Zvcm0gcmVsYXRpdmUgZnJvbSByZXN0IHBvc2UgKFQtcG9zZSkuXG4gICAgICogWW91IGNhbiBwYXNzIHdoYXQgeW91IGdvdCBmcm9tIHtAbGluayBnZXRQb3NlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwb3NlT2JqZWN0IEEgW1tWUk1Qb3NlXV0gdGhhdCByZXByZXNlbnRzIGEgc2luZ2xlIHBvc2VcbiAgICAgKi9cbiAgICBzZXRQb3NlKHBvc2VPYmplY3QpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMocG9zZU9iamVjdCkuZm9yRWFjaCgoW2JvbmVOYW1lU3RyaW5nLCBzdGF0ZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJvbmVOYW1lID0gYm9uZU5hbWVTdHJpbmc7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICAvLyBJZ25vcmUgd2hlbiB0aGVyZSBhcmUgbm8gYm9uZSB0aGF0IGlzIGRlZmluZWQgaW4gdGhlIHBvc2Ugb24gdGhlIFZSTUh1bWFub2lkXG4gICAgICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXN0U3RhdGUgPSB0aGlzLnJlc3RQb3NlW2JvbmVOYW1lXTtcbiAgICAgICAgICAgIGlmICghcmVzdFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gSXQncyB2ZXJ5IHVubGlrZWx5LiBQb3NzaWJseSBhIGJ1Z1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFwcGx5IHRoZSBzdGF0ZSB0byB0aGUgYWN0dWFsIGJvbmVcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gbnVsbCB8fCBzdGF0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3RhdGUucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBub2RlLnBvc2l0aW9uLmZyb21BcnJheShzdGF0ZS5wb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3RTdGF0ZS5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBub2RlLnBvc2l0aW9uLmFkZChfdjNBJDMuZnJvbUFycmF5KHJlc3RTdGF0ZS5wb3NpdGlvbikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gbnVsbCB8fCBzdGF0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3RhdGUucm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICBub2RlLnF1YXRlcm5pb24uZnJvbUFycmF5KHN0YXRlLnJvdGF0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdFN0YXRlLnJvdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucXVhdGVybmlvbi5tdWx0aXBseShfcXVhdEEkNC5mcm9tQXJyYXkocmVzdFN0YXRlLnJvdGF0aW9uKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIGh1bWFub2lkIHRvIGl0cyByZXN0IHBvc2UuXG4gICAgICovXG4gICAgcmVzZXRQb3NlKCkge1xuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLnJlc3RQb3NlKS5mb3JFYWNoKChbYm9uZU5hbWUsIHJlc3RdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzdCA9PT0gbnVsbCB8fCByZXN0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXN0LnBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5wb3NpdGlvbi5mcm9tQXJyYXkocmVzdC5wb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzdCA9PT0gbnVsbCB8fCByZXN0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXN0LnJvdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5xdWF0ZXJuaW9uLmZyb21BcnJheShyZXN0LnJvdGF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIGJvbmUgYm91bmQgdG8gYSBzcGVjaWZpZWQge0BsaW5rIFZSTUh1bWFuQm9uZU5hbWV9LCBhcyBhIHtAbGluayBWUk1IdW1hbkJvbmV9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgYm9uZSB5b3Ugd2FudFxuICAgICAqL1xuICAgIGdldEJvbmUobmFtZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmh1bWFuQm9uZXNbbmFtZV0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgYm9uZSBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0sIGFzIGEgYFRIUkVFLk9iamVjdDNEYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGJvbmUgeW91IHdhbnRcbiAgICAgKi9cbiAgICBnZXRCb25lTm9kZShuYW1lKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLmh1bWFuQm9uZXNbbmFtZV0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ub2RlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBudWxsO1xuICAgIH1cbn1cblxuY29uc3QgX3YzQSQyID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF9xdWF0QSQzID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9ib25lV29ybGRQb3MgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuLyoqXG4gKiBBIGNsYXNzIHJlcHJlc2VudHMgdGhlIG5vcm1hbGl6ZWQgUmlnIG9mIGEgVlJNLlxuICovXG5jbGFzcyBWUk1IdW1hbm9pZFJpZyBleHRlbmRzIFZSTVJpZyB7XG4gICAgc3RhdGljIF9zZXR1cFRyYW5zZm9ybXMobW9kZWxSaWcpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgICAgICByb290Lm5hbWUgPSAnVlJNSHVtYW5vaWRSaWcnO1xuICAgICAgICAvLyBzdG9yZSBib25lV29ybGRQb3NpdGlvbnMgYW5kIGJvbmVXb3JsZFJvdGF0aW9uc1xuICAgICAgICBjb25zdCBib25lV29ybGRQb3NpdGlvbnMgPSB7fTtcbiAgICAgICAgY29uc3QgYm9uZVdvcmxkUm90YXRpb25zID0ge307XG4gICAgICAgIGNvbnN0IGJvbmVSb3RhdGlvbnMgPSB7fTtcbiAgICAgICAgVlJNSHVtYW5Cb25lTGlzdC5mb3JFYWNoKChib25lTmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9uZU5vZGUgPSBtb2RlbFJpZy5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICBpZiAoYm9uZU5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBib25lV29ybGRQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9uZVdvcmxkUm90YXRpb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgICAgICAgICAgICAgIGJvbmVOb2RlLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBib25lTm9kZS5tYXRyaXhXb3JsZC5kZWNvbXBvc2UoYm9uZVdvcmxkUG9zaXRpb24sIGJvbmVXb3JsZFJvdGF0aW9uLCBfdjNBJDIpO1xuICAgICAgICAgICAgICAgIGJvbmVXb3JsZFBvc2l0aW9uc1tib25lTmFtZV0gPSBib25lV29ybGRQb3NpdGlvbjtcbiAgICAgICAgICAgICAgICBib25lV29ybGRSb3RhdGlvbnNbYm9uZU5hbWVdID0gYm9uZVdvcmxkUm90YXRpb247XG4gICAgICAgICAgICAgICAgYm9uZVJvdGF0aW9uc1tib25lTmFtZV0gPSBib25lTm9kZS5xdWF0ZXJuaW9uLmNsb25lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBidWlsZCByaWcgaGllcmFyY2h5ICsgc3RvcmUgcGFyZW50V29ybGRSb3RhdGlvbnNcbiAgICAgICAgY29uc3QgcGFyZW50V29ybGRSb3RhdGlvbnMgPSB7fTtcbiAgICAgICAgY29uc3QgcmlnQm9uZXMgPSB7fTtcbiAgICAgICAgVlJNSHVtYW5Cb25lTGlzdC5mb3JFYWNoKChib25lTmFtZSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgYm9uZU5vZGUgPSBtb2RlbFJpZy5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICBpZiAoYm9uZU5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBib25lV29ybGRQb3NpdGlvbiA9IGJvbmVXb3JsZFBvc2l0aW9uc1tib25lTmFtZV07XG4gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSBuZWFyZXN0IHBhcmVudCBwb3NpdGlvblxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50Qm9uZU5hbWUgPSBib25lTmFtZTtcbiAgICAgICAgICAgICAgICBsZXQgcGFyZW50V29ybGRQb3NpdGlvbjtcbiAgICAgICAgICAgICAgICBsZXQgcGFyZW50V29ybGRSb3RhdGlvbjtcbiAgICAgICAgICAgICAgICB3aGlsZSAocGFyZW50V29ybGRQb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRCb25lTmFtZSA9IFZSTUh1bWFuQm9uZVBhcmVudE1hcFtjdXJyZW50Qm9uZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudEJvbmVOYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFdvcmxkUG9zaXRpb24gPSBib25lV29ybGRQb3NpdGlvbnNbY3VycmVudEJvbmVOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50V29ybGRSb3RhdGlvbiA9IGJvbmVXb3JsZFJvdGF0aW9uc1tjdXJyZW50Qm9uZU5hbWVdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBhZGQgdG8gaGllcmFyY2h5XG4gICAgICAgICAgICAgICAgY29uc3QgcmlnQm9uZU5vZGUgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICAgICAgICAgICAgICByaWdCb25lTm9kZS5uYW1lID0gJ05vcm1hbGl6ZWRfJyArIGJvbmVOb2RlLm5hbWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50UmlnQm9uZU5vZGUgPSAoY3VycmVudEJvbmVOYW1lID8gKF9hID0gcmlnQm9uZXNbY3VycmVudEJvbmVOYW1lXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGUgOiByb290KTtcbiAgICAgICAgICAgICAgICBwYXJlbnRSaWdCb25lTm9kZS5hZGQocmlnQm9uZU5vZGUpO1xuICAgICAgICAgICAgICAgIHJpZ0JvbmVOb2RlLnBvc2l0aW9uLmNvcHkoYm9uZVdvcmxkUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRXb3JsZFBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ0JvbmVOb2RlLnBvc2l0aW9uLnN1YihwYXJlbnRXb3JsZFBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmlnQm9uZXNbYm9uZU5hbWVdID0geyBub2RlOiByaWdCb25lTm9kZSB9O1xuICAgICAgICAgICAgICAgIC8vIHN0b3JlIHBhcmVudFdvcmxkUm90YXRpb25cbiAgICAgICAgICAgICAgICBwYXJlbnRXb3JsZFJvdGF0aW9uc1tib25lTmFtZV0gPSBwYXJlbnRXb3JsZFJvdGF0aW9uICE9PSBudWxsICYmIHBhcmVudFdvcmxkUm90YXRpb24gIT09IHZvaWQgMCA/IHBhcmVudFdvcmxkUm90YXRpb24gOiBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJpZ0JvbmVzOiByaWdCb25lcyxcbiAgICAgICAgICAgIHJvb3QsXG4gICAgICAgICAgICBwYXJlbnRXb3JsZFJvdGF0aW9ucyxcbiAgICAgICAgICAgIGJvbmVSb3RhdGlvbnMsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGh1bWFub2lkKSB7XG4gICAgICAgIGNvbnN0IHsgcmlnQm9uZXMsIHJvb3QsIHBhcmVudFdvcmxkUm90YXRpb25zLCBib25lUm90YXRpb25zIH0gPSBWUk1IdW1hbm9pZFJpZy5fc2V0dXBUcmFuc2Zvcm1zKGh1bWFub2lkKTtcbiAgICAgICAgc3VwZXIocmlnQm9uZXMpO1xuICAgICAgICB0aGlzLm9yaWdpbmFsID0gaHVtYW5vaWQ7XG4gICAgICAgIHRoaXMucm9vdCA9IHJvb3Q7XG4gICAgICAgIHRoaXMuX3BhcmVudFdvcmxkUm90YXRpb25zID0gcGFyZW50V29ybGRSb3RhdGlvbnM7XG4gICAgICAgIHRoaXMuX2JvbmVSb3RhdGlvbnMgPSBib25lUm90YXRpb25zO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhpcyBodW1hbm9pZCByaWcuXG4gICAgICovXG4gICAgdXBkYXRlKCkge1xuICAgICAgICBWUk1IdW1hbkJvbmVMaXN0LmZvckVhY2goKGJvbmVOYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBib25lTm9kZSA9IHRoaXMub3JpZ2luYWwuZ2V0Qm9uZU5vZGUoYm9uZU5hbWUpO1xuICAgICAgICAgICAgaWYgKGJvbmVOb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWdCb25lTm9kZSA9IHRoaXMuZ2V0Qm9uZU5vZGUoYm9uZU5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudFdvcmxkUm90YXRpb24gPSB0aGlzLl9wYXJlbnRXb3JsZFJvdGF0aW9uc1tib25lTmFtZV07XG4gICAgICAgICAgICAgICAgY29uc3QgaW52UGFyZW50V29ybGRSb3RhdGlvbiA9IF9xdWF0QSQzLmNvcHkocGFyZW50V29ybGRSb3RhdGlvbikuaW52ZXJ0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9uZVJvdGF0aW9uID0gdGhpcy5fYm9uZVJvdGF0aW9uc1tib25lTmFtZV07XG4gICAgICAgICAgICAgICAgYm9uZU5vZGUucXVhdGVybmlvblxuICAgICAgICAgICAgICAgICAgICAuY29weShyaWdCb25lTm9kZS5xdWF0ZXJuaW9uKVxuICAgICAgICAgICAgICAgICAgICAubXVsdGlwbHkocGFyZW50V29ybGRSb3RhdGlvbilcbiAgICAgICAgICAgICAgICAgICAgLnByZW11bHRpcGx5KGludlBhcmVudFdvcmxkUm90YXRpb24pXG4gICAgICAgICAgICAgICAgICAgIC5tdWx0aXBseShib25lUm90YXRpb24pO1xuICAgICAgICAgICAgICAgIC8vIE1vdmUgdGhlIG1hc3MgY2VudGVyIG9mIHRoZSBWUk1cbiAgICAgICAgICAgICAgICBpZiAoYm9uZU5hbWUgPT09ICdoaXBzJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBib25lV29ybGRQb3NpdGlvbiA9IHJpZ0JvbmVOb2RlLmdldFdvcmxkUG9zaXRpb24oX2JvbmVXb3JsZFBvcyk7XG4gICAgICAgICAgICAgICAgICAgIGJvbmVOb2RlLnBhcmVudC51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudFdvcmxkTWF0cml4ID0gYm9uZU5vZGUucGFyZW50Lm1hdHJpeFdvcmxkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2NhbFBvc2l0aW9uID0gYm9uZVdvcmxkUG9zaXRpb24uYXBwbHlNYXRyaXg0KHBhcmVudFdvcmxkTWF0cml4LmludmVydCgpKTtcbiAgICAgICAgICAgICAgICAgICAgYm9uZU5vZGUucG9zaXRpb24uY29weShsb2NhbFBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBIGNsYXNzIHJlcHJlc2VudHMgYSBodW1hbm9pZCBvZiBhIFZSTS5cbiAqL1xuY2xhc3MgVlJNSHVtYW5vaWQge1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIHJhd1Jlc3RQb3NlfSBvciB7QGxpbmsgbm9ybWFsaXplZFJlc3RQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGdldCByZXN0UG9zZSgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogcmVzdFBvc2UgaXMgZGVwcmVjYXRlZC4gVXNlIGVpdGhlciByYXdSZXN0UG9zZSBvciBub3JtYWxpemVkUmVzdFBvc2UgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3UmVzdFBvc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEge0BsaW5rIFZSTVBvc2V9IG9mIGl0cyByYXcgaHVtYW4gYm9uZXMgdGhhdCBpcyBpdHMgZGVmYXVsdCBzdGF0ZS5cbiAgICAgKiBOb3RlIHRoYXQgaXQncyBub3QgY29tcGF0aWJsZSB3aXRoIHtAbGluayBzZXRSYXdQb3NlfSBhbmQge0BsaW5rIGdldFJhd1Bvc2V9LCBzaW5jZSBpdCBjb250YWlucyBub24tcmVsYXRpdmUgdmFsdWVzIG9mIGVhY2ggbG9jYWwgdHJhbnNmb3Jtcy5cbiAgICAgKi9cbiAgICBnZXQgcmF3UmVzdFBvc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYXdIdW1hbkJvbmVzLnJlc3RQb3NlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIHtAbGluayBWUk1Qb3NlfSBvZiBpdHMgbm9ybWFsaXplZCBodW1hbiBib25lcyB0aGF0IGlzIGl0cyBkZWZhdWx0IHN0YXRlLlxuICAgICAqIE5vdGUgdGhhdCBpdCdzIG5vdCBjb21wYXRpYmxlIHdpdGgge0BsaW5rIHNldE5vcm1hbGl6ZWRQb3NlfSBhbmQge0BsaW5rIGdldE5vcm1hbGl6ZWRQb3NlfSwgc2luY2UgaXQgY29udGFpbnMgbm9uLXJlbGF0aXZlIHZhbHVlcyBvZiBlYWNoIGxvY2FsIHRyYW5zZm9ybXMuXG4gICAgICovXG4gICAgZ2V0IG5vcm1hbGl6ZWRSZXN0UG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLnJlc3RQb3NlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIG1hcCBmcm9tIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfSB0byByYXcge0BsaW5rIFZSTUh1bWFuQm9uZX1zLlxuICAgICAqL1xuICAgIGdldCBodW1hbkJvbmVzKCkge1xuICAgICAgICAvLyBhbiBhbGlhcyBvZiBgcmF3SHVtYW5Cb25lc2BcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMuaHVtYW5Cb25lcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSBtYXAgZnJvbSB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0gdG8gcmF3IHtAbGluayBWUk1IdW1hbkJvbmV9cy5cbiAgICAgKi9cbiAgICBnZXQgcmF3SHVtYW5Cb25lcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMuaHVtYW5Cb25lcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSBtYXAgZnJvbSB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0gdG8gbm9ybWFsaXplZCB7QGxpbmsgVlJNSHVtYW5Cb25lfXMuXG4gICAgICovXG4gICAgZ2V0IG5vcm1hbGl6ZWRIdW1hbkJvbmVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMuaHVtYW5Cb25lcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIHJvb3Qgb2Ygbm9ybWFsaXplZCB7QGxpbmsgVlJNSHVtYW5Cb25lfXMuXG4gICAgICovXG4gICAgZ2V0IG5vcm1hbGl6ZWRIdW1hbkJvbmVzUm9vdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLnJvb3Q7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNSHVtYW5vaWR9LlxuICAgICAqIEBwYXJhbSBodW1hbkJvbmVzIEEge0BsaW5rIFZSTUh1bWFuQm9uZXN9IGNvbnRhaW5zIGFsbCB0aGUgYm9uZXMgb2YgdGhlIG5ldyBodW1hbm9pZFxuICAgICAqIEBwYXJhbSBhdXRvVXBkYXRlSHVtYW5Cb25lcyBXaGV0aGVyIGl0IGNvcGllcyBwb3NlIGZyb20gbm9ybWFsaXplZEh1bWFuQm9uZXMgdG8gcmF3SHVtYW5Cb25lcyBvbiB7QGxpbmsgdXBkYXRlfS4gYHRydWVgIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoaHVtYW5Cb25lcywgb3B0aW9ucykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMgPSAoX2EgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWU7XG4gICAgICAgIHRoaXMuX3Jhd0h1bWFuQm9uZXMgPSBuZXcgVlJNUmlnKGh1bWFuQm9uZXMpO1xuICAgICAgICB0aGlzLl9ub3JtYWxpemVkSHVtYW5Cb25lcyA9IG5ldyBWUk1IdW1hbm9pZFJpZyh0aGlzLl9yYXdIdW1hbkJvbmVzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29weSB0aGUgZ2l2ZW4ge0BsaW5rIFZSTUh1bWFub2lkfSBpbnRvIHRoaXMgb25lLlxuICAgICAqIEBwYXJhbSBzb3VyY2UgVGhlIHtAbGluayBWUk1IdW1hbm9pZH0geW91IHdhbnQgdG8gY29weVxuICAgICAqIEByZXR1cm5zIHRoaXNcbiAgICAgKi9cbiAgICBjb3B5KHNvdXJjZSkge1xuICAgICAgICB0aGlzLmF1dG9VcGRhdGVIdW1hbkJvbmVzID0gc291cmNlLmF1dG9VcGRhdGVIdW1hbkJvbmVzO1xuICAgICAgICB0aGlzLl9yYXdIdW1hbkJvbmVzID0gbmV3IFZSTVJpZyhzb3VyY2UuaHVtYW5Cb25lcyk7XG4gICAgICAgIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzID0gbmV3IFZSTUh1bWFub2lkUmlnKHRoaXMuX3Jhd0h1bWFuQm9uZXMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGNsb25lIG9mIHRoaXMge0BsaW5rIFZSTUh1bWFub2lkfS5cbiAgICAgKiBAcmV0dXJucyBDb3BpZWQge0BsaW5rIFZSTUh1bWFub2lkfVxuICAgICAqL1xuICAgIGNsb25lKCkge1xuICAgICAgICByZXR1cm4gbmV3IFZSTUh1bWFub2lkKHRoaXMuaHVtYW5Cb25lcywgeyBhdXRvVXBkYXRlSHVtYW5Cb25lczogdGhpcy5hdXRvVXBkYXRlSHVtYW5Cb25lcyB9KS5jb3B5KHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkLiBVc2UgZWl0aGVyIHtAbGluayBnZXRSYXdBYnNvbHV0ZVBvc2V9IG9yIHtAbGluayBnZXROb3JtYWxpemVkQWJzb2x1dGVQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGdldEFic29sdXRlUG9zZSgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogZ2V0QWJzb2x1dGVQb3NlKCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVpdGhlciBnZXRSYXdBYnNvbHV0ZVBvc2UoKSBvciBnZXROb3JtYWxpemVkQWJzb2x1dGVQb3NlKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmF3QWJzb2x1dGVQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgY3VycmVudCBhYnNvbHV0ZSBwb3NlIG9mIHRoaXMgcmF3IGh1bWFuIGJvbmVzIGFzIGEge0BsaW5rIFZSTVBvc2V9LlxuICAgICAqIE5vdGUgdGhhdCB0aGUgb3V0cHV0IHJlc3VsdCB3aWxsIGNvbnRhaW4gaW5pdGlhbCBzdGF0ZSBvZiB0aGUgVlJNIGFuZCBub3QgY29tcGF0aWJsZSBiZXR3ZWVuIGRpZmZlcmVudCBtb2RlbHMuXG4gICAgICogWW91IG1pZ2h0IHdhbnQgdG8gdXNlIHtAbGluayBnZXRSYXdQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGdldFJhd0Fic29sdXRlUG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMuZ2V0QWJzb2x1dGVQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgY3VycmVudCBhYnNvbHV0ZSBwb3NlIG9mIHRoaXMgbm9ybWFsaXplZCBodW1hbiBib25lcyBhcyBhIHtAbGluayBWUk1Qb3NlfS5cbiAgICAgKiBOb3RlIHRoYXQgdGhlIG91dHB1dCByZXN1bHQgd2lsbCBjb250YWluIGluaXRpYWwgc3RhdGUgb2YgdGhlIFZSTSBhbmQgbm90IGNvbXBhdGlibGUgYmV0d2VlbiBkaWZmZXJlbnQgbW9kZWxzLlxuICAgICAqIFlvdSBtaWdodCB3YW50IHRvIHVzZSB7QGxpbmsgZ2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0Tm9ybWFsaXplZEFic29sdXRlUG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLmdldEFic29sdXRlUG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkLiBVc2UgZWl0aGVyIHtAbGluayBnZXRSYXdQb3NlfSBvciB7QGxpbmsgZ2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0UG9zZSgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogZ2V0UG9zZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSBlaXRoZXIgZ2V0UmF3UG9zZSgpIG9yIGdldE5vcm1hbGl6ZWRQb3NlKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmF3UG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgcG9zZSBvZiByYXcgaHVtYW4gYm9uZXMgYXMgYSB7QGxpbmsgVlJNUG9zZX0uXG4gICAgICpcbiAgICAgKiBFYWNoIHRyYW5zZm9ybSBpcyBhIGxvY2FsIHRyYW5zZm9ybSByZWxhdGl2ZSBmcm9tIHJlc3QgcG9zZSAoVC1wb3NlKS5cbiAgICAgKi9cbiAgICBnZXRSYXdQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5nZXRQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgY3VycmVudCBwb3NlIG9mIG5vcm1hbGl6ZWQgaHVtYW4gYm9uZXMgYXMgYSB7QGxpbmsgVlJNUG9zZX0uXG4gICAgICpcbiAgICAgKiBFYWNoIHRyYW5zZm9ybSBpcyBhIGxvY2FsIHRyYW5zZm9ybSByZWxhdGl2ZSBmcm9tIHJlc3QgcG9zZSAoVC1wb3NlKS5cbiAgICAgKi9cbiAgICBnZXROb3JtYWxpemVkUG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLmdldFBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZC4gVXNlIGVpdGhlciB7QGxpbmsgc2V0UmF3UG9zZX0gb3Ige0BsaW5rIHNldE5vcm1hbGl6ZWRQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHNldFBvc2UocG9zZU9iamVjdCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiBzZXRQb3NlKCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVpdGhlciBzZXRSYXdQb3NlKCkgb3Igc2V0Tm9ybWFsaXplZFBvc2UoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRSYXdQb3NlKHBvc2VPYmplY3QpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMZXQgdGhlIHJhdyBodW1hbiBib25lcyBkbyBhIHNwZWNpZmllZCBwb3NlLlxuICAgICAqXG4gICAgICogRWFjaCB0cmFuc2Zvcm0gaGF2ZSB0byBiZSBhIGxvY2FsIHRyYW5zZm9ybSByZWxhdGl2ZSBmcm9tIHJlc3QgcG9zZSAoVC1wb3NlKS5cbiAgICAgKiBZb3UgY2FuIHBhc3Mgd2hhdCB5b3UgZ290IGZyb20ge0BsaW5rIGdldFJhd1Bvc2V9LlxuICAgICAqXG4gICAgICogSWYgeW91IGFyZSB1c2luZyB7QGxpbmsgYXV0b1VwZGF0ZUh1bWFuQm9uZXN9LCB5b3UgbWlnaHQgd2FudCB0byB1c2Uge0BsaW5rIHNldE5vcm1hbGl6ZWRQb3NlfSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBvc2VPYmplY3QgQSB7QGxpbmsgVlJNUG9zZX0gdGhhdCByZXByZXNlbnRzIGEgc2luZ2xlIHBvc2VcbiAgICAgKi9cbiAgICBzZXRSYXdQb3NlKHBvc2VPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMuc2V0UG9zZShwb3NlT2JqZWN0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTGV0IHRoZSBub3JtYWxpemVkIGh1bWFuIGJvbmVzIGRvIGEgc3BlY2lmaWVkIHBvc2UuXG4gICAgICpcbiAgICAgKiBFYWNoIHRyYW5zZm9ybSBoYXZlIHRvIGJlIGEgbG9jYWwgdHJhbnNmb3JtIHJlbGF0aXZlIGZyb20gcmVzdCBwb3NlIChULXBvc2UpLlxuICAgICAqIFlvdSBjYW4gcGFzcyB3aGF0IHlvdSBnb3QgZnJvbSB7QGxpbmsgZ2V0Tm9ybWFsaXplZFBvc2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBvc2VPYmplY3QgQSB7QGxpbmsgVlJNUG9zZX0gdGhhdCByZXByZXNlbnRzIGEgc2luZ2xlIHBvc2VcbiAgICAgKi9cbiAgICBzZXROb3JtYWxpemVkUG9zZShwb3NlT2JqZWN0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3JtYWxpemVkSHVtYW5Cb25lcy5zZXRQb3NlKHBvc2VPYmplY3QpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkLiBVc2UgZWl0aGVyIHtAbGluayByZXNldFJhd1Bvc2V9IG9yIHtAbGluayByZXNldE5vcm1hbGl6ZWRQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJlc2V0UG9zZSgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogcmVzZXRQb3NlKCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVpdGhlciByZXNldFJhd1Bvc2UoKSBvciByZXNldE5vcm1hbGl6ZWRQb3NlKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRSYXdQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlc2V0IHRoZSByYXcgaHVtYW5vaWQgdG8gaXRzIHJlc3QgcG9zZS5cbiAgICAgKlxuICAgICAqIElmIHlvdSBhcmUgdXNpbmcge0BsaW5rIGF1dG9VcGRhdGVIdW1hbkJvbmVzfSwgeW91IG1pZ2h0IHdhbnQgdG8gdXNlIHtAbGluayByZXNldE5vcm1hbGl6ZWRQb3NlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJlc2V0UmF3UG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMucmVzZXRQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlc2V0IHRoZSBub3JtYWxpemVkIGh1bWFub2lkIHRvIGl0cyByZXN0IHBvc2UuXG4gICAgICovXG4gICAgcmVzZXROb3JtYWxpemVkUG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLnJlc2V0UG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkLiBVc2UgZWl0aGVyIHtAbGluayBnZXRSYXdCb25lfSBvciB7QGxpbmsgZ2V0Tm9ybWFsaXplZEJvbmV9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0Qm9uZShuYW1lKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignVlJNSHVtYW5vaWQ6IGdldEJvbmUoKSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIGdldFJhd0JvbmUoKSBvciBnZXROb3JtYWxpemVkQm9uZSgpIGluc3RlYWQuJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJhd0JvbmUobmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHJhdyB7QGxpbmsgVlJNSHVtYW5Cb25lfSBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBib25lIHlvdSB3YW50XG4gICAgICovXG4gICAgZ2V0UmF3Qm9uZShuYW1lKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYXdIdW1hbkJvbmVzLmdldEJvbmUobmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIG5vcm1hbGl6ZWQge0BsaW5rIFZSTUh1bWFuQm9uZX0gYm91bmQgdG8gYSBzcGVjaWZpZWQge0BsaW5rIFZSTUh1bWFuQm9uZU5hbWV9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgYm9uZSB5b3Ugd2FudFxuICAgICAqL1xuICAgIGdldE5vcm1hbGl6ZWRCb25lKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLmdldEJvbmUobmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIGdldFJhd0JvbmVOb2RlfSBvciB7QGxpbmsgZ2V0Tm9ybWFsaXplZEJvbmVOb2RlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGdldEJvbmVOb2RlKG5hbWUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogZ2V0Qm9uZU5vZGUoKSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIGdldFJhd0JvbmVOb2RlKCkgb3IgZ2V0Tm9ybWFsaXplZEJvbmVOb2RlKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmF3Qm9uZU5vZGUobmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHJhdyBib25lIGFzIGEgYFRIUkVFLk9iamVjdDNEYCBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBib25lIHlvdSB3YW50XG4gICAgICovXG4gICAgZ2V0UmF3Qm9uZU5vZGUobmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5nZXRCb25lTm9kZShuYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbm9ybWFsaXplZCBib25lIGFzIGEgYFRIUkVFLk9iamVjdDNEYCBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBib25lIHlvdSB3YW50XG4gICAgICovXG4gICAgZ2V0Tm9ybWFsaXplZEJvbmVOb2RlKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLmdldEJvbmVOb2RlKG5hbWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhlIGh1bWFub2lkIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIElmIHtAbGluayBhdXRvVXBkYXRlSHVtYW5Cb25lc30gaXMgYHRydWVgLCBpdCB0cmFuc2ZlcnMgdGhlIHBvc2Ugb2Ygbm9ybWFsaXplZCBodW1hbiBib25lcyB0byByYXcgaHVtYW4gYm9uZXMuXG4gICAgICovXG4gICAgdXBkYXRlKCkge1xuICAgICAgICBpZiAodGhpcy5hdXRvVXBkYXRlSHVtYW5Cb25lcykge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMudXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgVlJNUmVxdWlyZWRIdW1hbkJvbmVOYW1lID0ge1xuICAgIEhpcHM6ICdoaXBzJyxcbiAgICBTcGluZTogJ3NwaW5lJyxcbiAgICBIZWFkOiAnaGVhZCcsXG4gICAgTGVmdFVwcGVyTGVnOiAnbGVmdFVwcGVyTGVnJyxcbiAgICBMZWZ0TG93ZXJMZWc6ICdsZWZ0TG93ZXJMZWcnLFxuICAgIExlZnRGb290OiAnbGVmdEZvb3QnLFxuICAgIFJpZ2h0VXBwZXJMZWc6ICdyaWdodFVwcGVyTGVnJyxcbiAgICBSaWdodExvd2VyTGVnOiAncmlnaHRMb3dlckxlZycsXG4gICAgUmlnaHRGb290OiAncmlnaHRGb290JyxcbiAgICBMZWZ0VXBwZXJBcm06ICdsZWZ0VXBwZXJBcm0nLFxuICAgIExlZnRMb3dlckFybTogJ2xlZnRMb3dlckFybScsXG4gICAgTGVmdEhhbmQ6ICdsZWZ0SGFuZCcsXG4gICAgUmlnaHRVcHBlckFybTogJ3JpZ2h0VXBwZXJBcm0nLFxuICAgIFJpZ2h0TG93ZXJBcm06ICdyaWdodExvd2VyQXJtJyxcbiAgICBSaWdodEhhbmQ6ICdyaWdodEhhbmQnLFxufTtcblxuLyoqXG4gKiBQb3NzaWJsZSBzcGVjIHZlcnNpb25zIGl0IHJlY29nbml6ZXMuXG4gKi9cbmNvbnN0IFBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkMiA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG4vKipcbiAqIEEgbWFwIGZyb20gb2xkIHRodW1iIGJvbmUgbmFtZXMgdG8gbmV3IHRodW1iIGJvbmUgbmFtZXNcbiAqL1xuY29uc3QgdGh1bWJCb25lTmFtZU1hcCA9IHtcbiAgICBsZWZ0VGh1bWJQcm94aW1hbDogJ2xlZnRUaHVtYk1ldGFjYXJwYWwnLFxuICAgIGxlZnRUaHVtYkludGVybWVkaWF0ZTogJ2xlZnRUaHVtYlByb3hpbWFsJyxcbiAgICByaWdodFRodW1iUHJveGltYWw6ICdyaWdodFRodW1iTWV0YWNhcnBhbCcsXG4gICAgcmlnaHRUaHVtYkludGVybWVkaWF0ZTogJ3JpZ2h0VGh1bWJQcm94aW1hbCcsXG59O1xuLyoqXG4gKiBBIHBsdWdpbiBvZiBHTFRGTG9hZGVyIHRoYXQgaW1wb3J0cyBhIHtAbGluayBWUk1IdW1hbm9pZH0gZnJvbSBhIFZSTSBleHRlbnNpb24gb2YgYSBHTFRGLlxuICovXG5jbGFzcyBWUk1IdW1hbm9pZExvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIC8vIFdlIHNob3VsZCB1c2UgdGhlIGV4dGVuc2lvbiBuYW1lIGluc3RlYWQgYnV0IHdlIGhhdmUgbXVsdGlwbGUgcGx1Z2lucyBmb3IgYW4gZXh0ZW5zaW9uLi4uXG4gICAgICAgIHJldHVybiAnVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW4nO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgICAgIHRoaXMuaGVscGVyUm9vdCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5oZWxwZXJSb290O1xuICAgICAgICB0aGlzLmF1dG9VcGRhdGVIdW1hbkJvbmVzID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmF1dG9VcGRhdGVIdW1hbkJvbmVzO1xuICAgIH1cbiAgICBhZnRlclJvb3QoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgZ2x0Zi51c2VyRGF0YS52cm1IdW1hbm9pZCA9IHlpZWxkIHRoaXMuX2ltcG9ydChnbHRmKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEltcG9ydCBhIHtAbGluayBWUk1IdW1hbm9pZH0gZnJvbSBhIFZSTS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBnbHRmIEEgcGFyc2VkIHJlc3VsdCBvZiBHTFRGIHRha2VuIGZyb20gR0xURkxvYWRlclxuICAgICAqL1xuICAgIF9pbXBvcnQoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgdjFSZXN1bHQgPSB5aWVsZCB0aGlzLl92MUltcG9ydChnbHRmKTtcbiAgICAgICAgICAgIGlmICh2MVJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MVJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHYwUmVzdWx0ID0geWllbGQgdGhpcy5fdjBJbXBvcnQoZ2x0Zik7XG4gICAgICAgICAgICBpZiAodjBSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjBSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MUltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgaXNWUk1Vc2VkID0gKChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pbmRleE9mKCdWUk1DX3ZybScpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoIWlzVlJNVXNlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gKF9iID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbJ1ZSTUNfdnJtJ107XG4gICAgICAgICAgICBpZiAoIWV4dGVuc2lvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc3BlY1ZlcnNpb24gPSBleHRlbnNpb24uc3BlY1ZlcnNpb247XG4gICAgICAgICAgICBpZiAoIVBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkMi5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1IdW1hbm9pZExvYWRlclBsdWdpbjogVW5rbm93biBWUk1DX3ZybSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUh1bWFub2lkID0gZXh0ZW5zaW9uLmh1bWFub2lkO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFIdW1hbm9pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBjb21wYXQ6IDEuMC1iZXRhIHRodW1iIGJvbmUgbmFtZXNcbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBgdHJ1ZWAgaWYgYGxlZnRUaHVtYkludGVybWVkaWF0ZWAgb3IgYHJpZ2h0VGh1bWJJbnRlcm1lZGlhdGVgIGV4aXN0c1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBleGlzdHNQcmV2aW91c1RodW1iTmFtZSA9IHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMubGVmdFRodW1iSW50ZXJtZWRpYXRlICE9IG51bGwgfHxcbiAgICAgICAgICAgICAgICBzY2hlbWFIdW1hbm9pZC5odW1hbkJvbmVzLnJpZ2h0VGh1bWJJbnRlcm1lZGlhdGUgIT0gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGh1bWFuQm9uZXMgPSB7fTtcbiAgICAgICAgICAgIGlmIChzY2hlbWFIdW1hbm9pZC5odW1hbkJvbmVzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB5aWVsZCBQcm9taXNlLmFsbChPYmplY3QuZW50cmllcyhzY2hlbWFIdW1hbm9pZC5odW1hbkJvbmVzKS5tYXAoKFtib25lTmFtZVN0cmluZywgc2NoZW1hSHVtYW5Cb25lXSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYm9uZU5hbWUgPSBib25lTmFtZVN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBzY2hlbWFIdW1hbkJvbmUubm9kZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29tcGF0OiAxLjAtYmV0YSBwcmV2aW91cyB0aHVtYiBib25lIG5hbWVzXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGlzdHNQcmV2aW91c1RodW1iTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGh1bWJCb25lTmFtZSA9IHRodW1iQm9uZU5hbWVNYXBbYm9uZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRodW1iQm9uZU5hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvbmVOYW1lID0gdGh1bWJCb25lTmFtZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0geWllbGQgdGhpcy5wYXJzZXIuZ2V0RGVwZW5kZW5jeSgnbm9kZScsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHNwZWNpZmllZCBub2RlIGRvZXMgbm90IGV4aXN0LCBlbWl0IGEgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEEgZ2xURiBub2RlIGJvdW5kIHRvIHRoZSBodW1hbm9pZCBib25lICR7Ym9uZU5hbWV9IChpbmRleCA9ICR7aW5kZXh9KSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHNldCB0byB0aGUgYGh1bWFuQm9uZXNgXG4gICAgICAgICAgICAgICAgICAgIGh1bWFuQm9uZXNbYm9uZU5hbWVdID0geyBub2RlIH07XG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGh1bWFub2lkID0gbmV3IFZSTUh1bWFub2lkKHRoaXMuX2Vuc3VyZVJlcXVpcmVkQm9uZXNFeGlzdChodW1hbkJvbmVzKSwge1xuICAgICAgICAgICAgICAgIGF1dG9VcGRhdGVIdW1hbkJvbmVzOiB0aGlzLmF1dG9VcGRhdGVIdW1hbkJvbmVzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBnbHRmLnNjZW5lLmFkZChodW1hbm9pZC5ub3JtYWxpemVkSHVtYW5Cb25lc1Jvb3QpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaGVscGVyUm9vdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlbHBlciA9IG5ldyBWUk1IdW1hbm9pZEhlbHBlcihodW1hbm9pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICAgICAgICAgIGhlbHBlci5yZW5kZXJPcmRlciA9IHRoaXMuaGVscGVyUm9vdC5yZW5kZXJPcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBodW1hbm9pZDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MEltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgY29uc3QgdnJtRXh0ID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuVlJNO1xuICAgICAgICAgICAgaWYgKCF2cm1FeHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUh1bWFub2lkID0gdnJtRXh0Lmh1bWFub2lkO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFIdW1hbm9pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaHVtYW5Cb25lcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHlpZWxkIFByb21pc2UuYWxsKHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMubWFwKChib25lKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvbmVOYW1lID0gYm9uZS5ib25lO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGJvbmUubm9kZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJvbmVOYW1lID09IG51bGwgfHwgaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB5aWVsZCB0aGlzLnBhcnNlci5nZXREZXBlbmRlbmN5KCdub2RlJywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgc3BlY2lmaWVkIG5vZGUgZG9lcyBub3QgZXhpc3QsIGVtaXQgYSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgQSBnbFRGIG5vZGUgYm91bmQgdG8gdGhlIGh1bWFub2lkIGJvbmUgJHtib25lTmFtZX0gKGluZGV4ID0gJHtpbmRleH0pIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gbWFwIHRvIG5ldyBib25lIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGh1bWJCb25lTmFtZSA9IHRodW1iQm9uZU5hbWVNYXBbYm9uZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdCb25lTmFtZSA9ICh0aHVtYkJvbmVOYW1lICE9PSBudWxsICYmIHRodW1iQm9uZU5hbWUgIT09IHZvaWQgMCA/IHRodW1iQm9uZU5hbWUgOiBib25lTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHYwIFZSTXMgbWlnaHQgaGF2ZSBhIG11bHRpcGxlIG5vZGVzIGF0dGFjaGVkIHRvIGEgc2luZ2xlIGJvbmUuLi5cbiAgICAgICAgICAgICAgICAgICAgLy8gc28gaWYgdGhlcmUgYWxyZWFkeSBpcyBhbiBlbnRyeSBpbiB0aGUgYGh1bWFuQm9uZXNgLCBzaG93IGEgd2FybmluZyBhbmQgaWdub3JlIGl0XG4gICAgICAgICAgICAgICAgICAgIGlmIChodW1hbkJvbmVzW25ld0JvbmVOYW1lXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYE11bHRpcGxlIGJvbmUgZW50cmllcyBmb3IgJHtuZXdCb25lTmFtZX0gZGV0ZWN0ZWQgKGluZGV4ID0gJHtpbmRleH0pLCBpZ25vcmluZyBkdXBsaWNhdGVkIGVudHJpZXMuYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRvIHRoZSBgaHVtYW5Cb25lc2BcbiAgICAgICAgICAgICAgICAgICAgaHVtYW5Cb25lc1tuZXdCb25lTmFtZV0gPSB7IG5vZGUgfTtcbiAgICAgICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaHVtYW5vaWQgPSBuZXcgVlJNSHVtYW5vaWQodGhpcy5fZW5zdXJlUmVxdWlyZWRCb25lc0V4aXN0KGh1bWFuQm9uZXMpLCB7XG4gICAgICAgICAgICAgICAgYXV0b1VwZGF0ZUh1bWFuQm9uZXM6IHRoaXMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGdsdGYuc2NlbmUuYWRkKGh1bWFub2lkLm5vcm1hbGl6ZWRIdW1hbkJvbmVzUm9vdCk7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTUh1bWFub2lkSGVscGVyKGh1bWFub2lkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICAgICAgaGVscGVyLnJlbmRlck9yZGVyID0gdGhpcy5oZWxwZXJSb290LnJlbmRlck9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGh1bWFub2lkO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW5zdXJlIHJlcXVpcmVkIGJvbmVzIGV4aXN0IGluIGdpdmVuIGh1bWFuIGJvbmVzLlxuICAgICAqIEBwYXJhbSBodW1hbkJvbmVzIEh1bWFuIGJvbmVzXG4gICAgICogQHJldHVybnMgSHVtYW4gYm9uZXMsIG5vIGxvbmdlciBwYXJ0aWFsIVxuICAgICAqL1xuICAgIF9lbnN1cmVSZXF1aXJlZEJvbmVzRXhpc3QoaHVtYW5Cb25lcykge1xuICAgICAgICAvLyBlbnN1cmUgcmVxdWlyZWQgYm9uZXMgZXhpc3RcbiAgICAgICAgY29uc3QgbWlzc2luZ1JlcXVpcmVkQm9uZXMgPSBPYmplY3QudmFsdWVzKFZSTVJlcXVpcmVkSHVtYW5Cb25lTmFtZSkuZmlsdGVyKChyZXF1aXJlZEJvbmVOYW1lKSA9PiBodW1hbkJvbmVzW3JlcXVpcmVkQm9uZU5hbWVdID09IG51bGwpO1xuICAgICAgICAvLyB0aHJvdyBhbiBlcnJvciBpZiB0aGVyZSBhcmUgbWlzc2luZyBib25lc1xuICAgICAgICBpZiAobWlzc2luZ1JlcXVpcmVkQm9uZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWUk1IdW1hbm9pZExvYWRlclBsdWdpbjogVGhlc2UgaHVtYW5vaWQgYm9uZXMgYXJlIHJlcXVpcmVkIGJ1dCBub3QgZXhpc3Q6ICR7bWlzc2luZ1JlcXVpcmVkQm9uZXMuam9pbignLCAnKX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHVtYW5Cb25lcztcbiAgICB9XG59XG5cbmNsYXNzIEZhbkJ1ZmZlckdlb21ldHJ5IGV4dGVuZHMgVEhSRUUuQnVmZmVyR2VvbWV0cnkge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9jdXJyZW50VGhldGEgPSAwO1xuICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gMDtcbiAgICAgICAgdGhpcy50aGV0YSA9IDAuMDtcbiAgICAgICAgdGhpcy5yYWRpdXMgPSAwLjA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUaGV0YSA9IDAuMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IDAuMDtcbiAgICAgICAgdGhpcy5fYXR0clBvcyA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IEZsb2F0MzJBcnJheSg2NSAqIDMpLCAzKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgdGhpcy5fYXR0clBvcyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleCA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IFVpbnQxNkFycmF5KDMgKiA2MyksIDEpO1xuICAgICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2F0dHJJbmRleCk7XG4gICAgICAgIHRoaXMuX2J1aWxkSW5kZXgoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUaGV0YSAhPT0gdGhpcy50aGV0YSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRoZXRhID0gdGhpcy50aGV0YTtcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fY3VycmVudFJhZGl1cyAhPT0gdGhpcy5yYWRpdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSB0aGlzLnJhZGl1cztcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkVXBkYXRlR2VvbWV0cnkpIHtcbiAgICAgICAgICAgIHRoaXMuX2J1aWxkUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfYnVpbGRQb3NpdGlvbigpIHtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMCwgMC4wLCAwLjAsIDAuMCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdCA9IChpIC8gNjMuMCkgKiB0aGlzLl9jdXJyZW50VGhldGE7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWihpICsgMSwgdGhpcy5fY3VycmVudFJhZGl1cyAqIE1hdGguc2luKHQpLCAwLjAsIHRoaXMuX2N1cnJlbnRSYWRpdXMgKiBNYXRoLmNvcyh0KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXR0clBvcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIF9idWlsZEluZGV4KCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDYzOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWVooaSAqIDMsIDAsIGkgKyAxLCBpICsgMik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXR0ckluZGV4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG59XG5cbmNsYXNzIExpbmVBbmRTcGhlcmVCdWZmZXJHZW9tZXRyeSBleHRlbmRzIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5yYWRpdXMgPSAwLjA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSAwLjA7XG4gICAgICAgIHRoaXMudGFpbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWlsID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgdGhpcy5fYXR0clBvcyA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IEZsb2F0MzJBcnJheSgyOTQpLCAzKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgdGhpcy5fYXR0clBvcyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleCA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IFVpbnQxNkFycmF5KDE5NCksIDEpO1xuICAgICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2F0dHJJbmRleCk7XG4gICAgICAgIHRoaXMuX2J1aWxkSW5kZXgoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRSYWRpdXMgIT09IHRoaXMucmFkaXVzKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gdGhpcy5yYWRpdXM7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9jdXJyZW50VGFpbC5lcXVhbHModGhpcy50YWlsKSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhaWwuY29weSh0aGlzLnRhaWwpO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRVcGRhdGVHZW9tZXRyeSkge1xuICAgICAgICAgICAgdGhpcy5fYnVpbGRQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9idWlsZFBvc2l0aW9uKCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSAoaSAvIDE2LjApICogTWF0aC5QSTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKGksIE1hdGguY29zKHQpLCBNYXRoLnNpbih0KSwgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDMyICsgaSwgMC4wLCBNYXRoLmNvcyh0KSwgTWF0aC5zaW4odCkpO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooNjQgKyBpLCBNYXRoLnNpbih0KSwgMC4wLCBNYXRoLmNvcyh0KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY2FsZSh0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUodGhpcy5fY3VycmVudFRhaWwueCwgdGhpcy5fY3VycmVudFRhaWwueSwgdGhpcy5fY3VycmVudFRhaWwueik7XG4gICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDk2LCAwLCAwLCAwKTtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooOTcsIHRoaXMuX2N1cnJlbnRUYWlsLngsIHRoaXMuX2N1cnJlbnRUYWlsLnksIHRoaXMuX2N1cnJlbnRUYWlsLnopO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgX2J1aWxkSW5kZXgoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaTEgPSAoaSArIDEpICUgMzI7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoaSAqIDIsIGksIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSg2NCArIGkgKiAyLCAzMiArIGksIDMyICsgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDEyOCArIGkgKiAyLCA2NCArIGksIDY0ICsgaTEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSgxOTIsIDk2LCA5Nyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxufVxuXG5jb25zdCBfcXVhdEEkMiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEIkMiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfdjNBJDEgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQiQxID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IFNRUlRfMl9PVkVSXzIgPSBNYXRoLnNxcnQoMi4wKSAvIDIuMDtcbmNvbnN0IFFVQVRfWFlfQ1c5MCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsIDAsIC1TUVJUXzJfT1ZFUl8yLCBTUVJUXzJfT1ZFUl8yKTtcbmNvbnN0IFZFQzNfUE9TSVRJVkVfWSA9IG5ldyBUSFJFRS5WZWN0b3IzKDAuMCwgMS4wLCAwLjApO1xuY2xhc3MgVlJNTG9va0F0SGVscGVyIGV4dGVuZHMgVEhSRUUuR3JvdXAge1xuICAgIGNvbnN0cnVjdG9yKGxvb2tBdCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52cm1Mb29rQXQgPSBsb29rQXQ7XG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IEZhbkJ1ZmZlckdlb21ldHJ5KCk7XG4gICAgICAgICAgICBnZW9tZXRyeS5yYWRpdXMgPSAwLjU7XG4gICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6IDB4MDBmZjAwLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgICAgICAgICBzaWRlOiBUSFJFRS5Eb3VibGVTaWRlLFxuICAgICAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX21lc2hQaXRjaCA9IG5ldyBUSFJFRS5NZXNoKGdlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICAgICAgICB0aGlzLmFkZCh0aGlzLl9tZXNoUGl0Y2gpO1xuICAgICAgICB9XG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IEZhbkJ1ZmZlckdlb21ldHJ5KCk7XG4gICAgICAgICAgICBnZW9tZXRyeS5yYWRpdXMgPSAwLjU7XG4gICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6IDB4ZmYwMDAwLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgICAgICAgICBzaWRlOiBUSFJFRS5Eb3VibGVTaWRlLFxuICAgICAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX21lc2hZYXcgPSBuZXcgVEhSRUUuTWVzaChnZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgICAgICAgdGhpcy5hZGQodGhpcy5fbWVzaFlhdyk7XG4gICAgICAgIH1cbiAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgTGluZUFuZFNwaGVyZUJ1ZmZlckdlb21ldHJ5KCk7XG4gICAgICAgICAgICBnZW9tZXRyeS5yYWRpdXMgPSAwLjE7XG4gICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6IDB4ZmZmZmZmLFxuICAgICAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2xpbmVUYXJnZXQgPSBuZXcgVEhSRUUuTGluZVNlZ21lbnRzKGdlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICAgICAgICB0aGlzLl9saW5lVGFyZ2V0LmZydXN0dW1DdWxsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYWRkKHRoaXMuX2xpbmVUYXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpc3Bvc2UoKSB7XG4gICAgICAgIHRoaXMuX21lc2hZYXcuZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9tZXNoWWF3Lm1hdGVyaWFsLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLmdlb21ldHJ5LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLm1hdGVyaWFsLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fbGluZVRhcmdldC5nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuX2xpbmVUYXJnZXQubWF0ZXJpYWwuZGlzcG9zZSgpO1xuICAgIH1cbiAgICB1cGRhdGVNYXRyaXhXb3JsZChmb3JjZSkge1xuICAgICAgICAvLyB1cGRhdGUgZ2VvbWV0cmllc1xuICAgICAgICBjb25zdCB5YXcgPSBUSFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMudnJtTG9va0F0LnlhdztcbiAgICAgICAgdGhpcy5fbWVzaFlhdy5nZW9tZXRyeS50aGV0YSA9IHlhdztcbiAgICAgICAgdGhpcy5fbWVzaFlhdy5nZW9tZXRyeS51cGRhdGUoKTtcbiAgICAgICAgY29uc3QgcGl0Y2ggPSBUSFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMudnJtTG9va0F0LnBpdGNoO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2guZ2VvbWV0cnkudGhldGEgPSBwaXRjaDtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLmdlb21ldHJ5LnVwZGF0ZSgpO1xuICAgICAgICAvLyBnZXQgd29ybGQgcG9zaXRpb24gYW5kIHF1YXRlcm5pb25cbiAgICAgICAgdGhpcy52cm1Mb29rQXQuZ2V0TG9va0F0V29ybGRQb3NpdGlvbihfdjNBJDEpO1xuICAgICAgICB0aGlzLnZybUxvb2tBdC5nZXRMb29rQXRXb3JsZFF1YXRlcm5pb24oX3F1YXRBJDIpO1xuICAgICAgICAvLyBjYWxjdWxhdGUgcm90YXRpb24gdXNpbmcgZmFjZUZyb250XG4gICAgICAgIF9xdWF0QSQyLm11bHRpcGx5KHRoaXMudnJtTG9va0F0LmdldEZhY2VGcm9udFF1YXRlcm5pb24oX3F1YXRCJDIpKTtcbiAgICAgICAgLy8gc2V0IHRyYW5zZm9ybSB0byBtZXNoZXNcbiAgICAgICAgdGhpcy5fbWVzaFlhdy5wb3NpdGlvbi5jb3B5KF92M0EkMSk7XG4gICAgICAgIHRoaXMuX21lc2hZYXcucXVhdGVybmlvbi5jb3B5KF9xdWF0QSQyKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLnBvc2l0aW9uLmNvcHkoX3YzQSQxKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLnF1YXRlcm5pb24uY29weShfcXVhdEEkMik7XG4gICAgICAgIHRoaXMuX21lc2hQaXRjaC5xdWF0ZXJuaW9uLm11bHRpcGx5KF9xdWF0QiQyLnNldEZyb21BeGlzQW5nbGUoVkVDM19QT1NJVElWRV9ZLCB5YXcpKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLnF1YXRlcm5pb24ubXVsdGlwbHkoUVVBVF9YWV9DVzkwKTtcbiAgICAgICAgLy8gdXBkYXRlIHRhcmdldCBsaW5lIGFuZCBzcGhlcmVcbiAgICAgICAgY29uc3QgeyB0YXJnZXQsIGF1dG9VcGRhdGUgfSA9IHRoaXMudnJtTG9va0F0O1xuICAgICAgICBpZiAodGFyZ2V0ICE9IG51bGwgJiYgYXV0b1VwZGF0ZSkge1xuICAgICAgICAgICAgdGFyZ2V0LmdldFdvcmxkUG9zaXRpb24oX3YzQiQxKS5zdWIoX3YzQSQxKTtcbiAgICAgICAgICAgIHRoaXMuX2xpbmVUYXJnZXQuZ2VvbWV0cnkudGFpbC5jb3B5KF92M0IkMSk7XG4gICAgICAgICAgICB0aGlzLl9saW5lVGFyZ2V0Lmdlb21ldHJ5LnVwZGF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5fbGluZVRhcmdldC5wb3NpdGlvbi5jb3B5KF92M0EkMSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYXBwbHkgdHJhbnNmb3JtIHRvIG1lc2hlc1xuICAgICAgICBzdXBlci51cGRhdGVNYXRyaXhXb3JsZChmb3JjZSk7XG4gICAgfVxufVxuXG5jb25zdCBfcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3NjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbi8qKlxuICogQSByZXBsYWNlbWVudCBvZiBgT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uYC5cbiAqIEV4dHJhY3QgdGhlIHdvcmxkIHF1YXRlcm5pb24gb2YgYW4gb2JqZWN0IGZyb20gaXRzIHdvcmxkIHNwYWNlIG1hdHJpeCwgd2l0aG91dCBjYWxsaW5nIGBPYmplY3QzRC51cGRhdGVXb3JsZE1hdHJpeGAuXG4gKiBVc2UgdGhpcyB3aGVuIHlvdSdyZSBzdXJlIHRoYXQgdGhlIHdvcmxkIG1hdHJpeCBpcyB1cC10by1kYXRlLlxuICpcbiAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdFxuICogQHBhcmFtIG91dCBBIHRhcmdldCBxdWF0ZXJuaW9uXG4gKi9cbmZ1bmN0aW9uIGdldFdvcmxkUXVhdGVybmlvbkxpdGUob2JqZWN0LCBvdXQpIHtcbiAgICBvYmplY3QubWF0cml4V29ybGQuZGVjb21wb3NlKF9wb3NpdGlvbiwgb3V0LCBfc2NhbGUpO1xuICAgIHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIGF6aW11dGggLyBhbHRpdHVkZSBhbmdsZXMgZnJvbSBhIHZlY3Rvci5cbiAqXG4gKiBUaGlzIHJldHVybnMgYSBkaWZmZXJlbmNlIG9mIGFuZ2xlcyBmcm9tICgxLCAwLCAwKS5cbiAqIEF6aW11dGggcmVwcmVzZW50cyBhbiBhbmdsZSBhcm91bmQgWSBheGlzLlxuICogQWx0aXR1ZGUgcmVwcmVzZW50cyBhbiBhbmdsZSBhcm91bmQgWiBheGlzLlxuICogSXQgaXMgcm90YXRlZCBpbiBpbnRyaW5zaWMgWS1aIG9yZGVyLlxuICpcbiAqIEBwYXJhbSB2ZWN0b3IgVGhlIHZlY3RvclxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWlucyB0d28gYW5nbGVzLCBgWyBhemltdXRoLCBhbHRpdHVkZSBdYFxuICovXG5mdW5jdGlvbiBjYWxjQXppbXV0aEFsdGl0dWRlKHZlY3Rvcikge1xuICAgIHJldHVybiBbTWF0aC5hdGFuMigtdmVjdG9yLnosIHZlY3Rvci54KSwgTWF0aC5hdGFuMih2ZWN0b3IueSwgTWF0aC5zcXJ0KHZlY3Rvci54ICogdmVjdG9yLnggKyB2ZWN0b3IueiAqIHZlY3Rvci56KSldO1xufVxuXG4vKipcbiAqIE1ha2Ugc3VyZSB0aGUgYW5nbGUgaXMgd2l0aGluIC1QSSB0byBQSS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIHNhbml0aXplQW5nbGUoMS41ICogTWF0aC5QSSkgLy8gLTAuNSAqIFBJXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gYW5nbGUgQW4gaW5wdXQgYW5nbGVcbiAqL1xuZnVuY3Rpb24gc2FuaXRpemVBbmdsZShhbmdsZSkge1xuICAgIGNvbnN0IHJvdW5kVHVybiA9IE1hdGgucm91bmQoYW5nbGUgLyAyLjAgLyBNYXRoLlBJKTtcbiAgICByZXR1cm4gYW5nbGUgLSAyLjAgKiBNYXRoLlBJICogcm91bmRUdXJuO1xufVxuXG5jb25zdCBWRUMzX1BPU0lUSVZFX1okMSA9IG5ldyBUSFJFRS5WZWN0b3IzKDAuMCwgMC4wLCAxLjApO1xuY29uc3QgX3YzQSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfdjNCID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0MgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3F1YXRBJDEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX3F1YXRCJDEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX3F1YXRDID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0RCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfZXVsZXJBJDEgPSBuZXcgVEhSRUUuRXVsZXIoKTtcbi8qKlxuICogQSBjbGFzcyBjb250cm9scyBleWUgZ2F6ZSBtb3ZlbWVudHMgb2YgYSBWUk0uXG4gKi9cbmNsYXNzIFZSTUxvb2tBdCB7XG4gICAgLyoqXG4gICAgICogSXRzIGN1cnJlbnQgYW5nbGUgYXJvdW5kIFkgYXhpcywgaW4gZGVncmVlLlxuICAgICAqL1xuICAgIGdldCB5YXcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl95YXc7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEl0cyBjdXJyZW50IGFuZ2xlIGFyb3VuZCBZIGF4aXMsIGluIGRlZ3JlZS5cbiAgICAgKi9cbiAgICBzZXQgeWF3KHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3lhdyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEl0cyBjdXJyZW50IGFuZ2xlIGFyb3VuZCBYIGF4aXMsIGluIGRlZ3JlZS5cbiAgICAgKi9cbiAgICBnZXQgcGl0Y2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9waXRjaDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSXRzIGN1cnJlbnQgYW5nbGUgYXJvdW5kIFggYXhpcywgaW4gZGVncmVlLlxuICAgICAqL1xuICAgIHNldCBwaXRjaCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9waXRjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgZ2V0RXVsZXJ9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0IGV1bGVyKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUxvb2tBdDogZXVsZXIgaXMgZGVwcmVjYXRlZC4gdXNlIGdldEV1bGVyKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXVsZXIobmV3IFRIUkVFLkV1bGVyKCkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIFZSTUxvb2tBdH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHVtYW5vaWQgQSB7QGxpbmsgVlJNSHVtYW5vaWR9XG4gICAgICogQHBhcmFtIGFwcGxpZXIgQSB7QGxpbmsgVlJNTG9va0F0QXBwbGllcn1cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihodW1hbm9pZCwgYXBwbGllcikge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIG9yaWdpbiBvZiBMb29rQXQuIFBvc2l0aW9uIG9mZnNldCBmcm9tIHRoZSBoZWFkIGJvbmUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm9mZnNldEZyb21IZWFkQm9uZSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGlzIGlzIHRydWUsIHRoZSBMb29rQXQgd2lsbCBiZSB1cGRhdGVkIGF1dG9tYXRpY2FsbHkgYnkgY2FsbGluZyB7QGxpbmsgdXBkYXRlfSwgdG93YXJkaW5nIHRoZSBkaXJlY3Rpb24gdG8gdGhlIHtAbGluayB0YXJnZXR9LlxuICAgICAgICAgKiBgdHJ1ZWAgYnkgZGVmYXVsdC5cbiAgICAgICAgICpcbiAgICAgICAgICogU2VlIGFsc286IHtAbGluayB0YXJnZXR9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmF1dG9VcGRhdGUgPSB0cnVlO1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIGZyb250IGRpcmVjdGlvbiBvZiB0aGUgZmFjZS5cbiAgICAgICAgICogSW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgVlJNIDAuMCBjb21wYXQgKFZSTSAwLjAgbW9kZWxzIGFyZSBmYWNpbmcgWi0gaW5zdGVhZCBvZiBaKykuXG4gICAgICAgICAqIFlvdSB1c3VhbGx5IGRvbid0IHdhbnQgdG8gdG91Y2ggdGhpcy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZmFjZUZyb250ID0gbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDEuMCk7XG4gICAgICAgIHRoaXMuaHVtYW5vaWQgPSBodW1hbm9pZDtcbiAgICAgICAgdGhpcy5hcHBsaWVyID0gYXBwbGllcjtcbiAgICAgICAgdGhpcy5feWF3ID0gMC4wO1xuICAgICAgICB0aGlzLl9waXRjaCA9IDAuMDtcbiAgICAgICAgdGhpcy5fbmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9yZXN0SGVhZFdvcmxkUXVhdGVybmlvbiA9IHRoaXMuZ2V0TG9va0F0V29ybGRRdWF0ZXJuaW9uKG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgaXRzIHlhdy1waXRjaCBhbmdsZXMgYXMgYW4gYEV1bGVyYC5cbiAgICAgKiBEb2VzIE5PVCBjb25zaWRlciB7QGxpbmsgZmFjZUZyb250fTsgaXQgcmV0dXJucyBgRXVsZXIoMCwgMCwgMDsgXCJZWFpcIilgIGJ5IGRlZmF1bHQgcmVnYXJkbGVzcyBvZiB0aGUgZmFjZUZyb250IHZhbHVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCBUaGUgdGFyZ2V0IGV1bGVyXG4gICAgICovXG4gICAgZ2V0RXVsZXIodGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQuc2V0KFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5fcGl0Y2gsIFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5feWF3LCAwLjAsICdZWFonKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29weSB0aGUgZ2l2ZW4ge0BsaW5rIFZSTUxvb2tBdH0gaW50byB0aGlzIG9uZS5cbiAgICAgKiB7QGxpbmsgaHVtYW5vaWR9IG11c3QgYmUgc2FtZSBhcyB0aGUgc291cmNlIG9uZS5cbiAgICAgKiB7QGxpbmsgYXBwbGllcn0gd2lsbCByZWZlcmVuY2UgdGhlIHNhbWUgaW5zdGFuY2UgYXMgdGhlIHNvdXJjZSBvbmUuXG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUge0BsaW5rIFZSTUxvb2tBdH0geW91IHdhbnQgdG8gY29weVxuICAgICAqIEByZXR1cm5zIHRoaXNcbiAgICAgKi9cbiAgICBjb3B5KHNvdXJjZSkge1xuICAgICAgICBpZiAodGhpcy5odW1hbm9pZCAhPT0gc291cmNlLmh1bWFub2lkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZSTUxvb2tBdDogaHVtYW5vaWQgbXVzdCBiZSBzYW1lIGluIG9yZGVyIHRvIGNvcHknKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9mZnNldEZyb21IZWFkQm9uZS5jb3B5KHNvdXJjZS5vZmZzZXRGcm9tSGVhZEJvbmUpO1xuICAgICAgICB0aGlzLmFwcGxpZXIgPSBzb3VyY2UuYXBwbGllcjtcbiAgICAgICAgdGhpcy5hdXRvVXBkYXRlID0gc291cmNlLmF1dG9VcGRhdGU7XG4gICAgICAgIHRoaXMudGFyZ2V0ID0gc291cmNlLnRhcmdldDtcbiAgICAgICAgdGhpcy5mYWNlRnJvbnQuY29weShzb3VyY2UuZmFjZUZyb250KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjbG9uZSBvZiB0aGlzIHtAbGluayBWUk1Mb29rQXR9LlxuICAgICAqIE5vdGUgdGhhdCB7QGxpbmsgaHVtYW5vaWR9IGFuZCB7QGxpbmsgYXBwbGllcn0gd2lsbCByZWZlcmVuY2UgdGhlIHNhbWUgaW5zdGFuY2UgYXMgdGhpcyBvbmUuXG4gICAgICogQHJldHVybnMgQ29waWVkIHtAbGluayBWUk1Mb29rQXR9XG4gICAgICovXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgVlJNTG9va0F0KHRoaXMuaHVtYW5vaWQsIHRoaXMuYXBwbGllcikuY29weSh0aGlzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIGxvb2tBdCBkaXJlY3Rpb24gKHlhdyBhbmQgcGl0Y2gpIHRvIHRoZSBpbml0aWFsIGRpcmVjdGlvbi5cbiAgICAgKi9cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5feWF3ID0gMC4wO1xuICAgICAgICB0aGlzLl9waXRjaCA9IDAuMDtcbiAgICAgICAgdGhpcy5fbmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgaXRzIGxvb2tBdCBwb3NpdGlvbiBpbiB3b3JsZCBjb29yZGluYXRlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBgVEhSRUUuVmVjdG9yM2BcbiAgICAgKi9cbiAgICBnZXRMb29rQXRXb3JsZFBvc2l0aW9uKHRhcmdldCkge1xuICAgICAgICBjb25zdCBoZWFkID0gdGhpcy5odW1hbm9pZC5nZXRSYXdCb25lTm9kZSgnaGVhZCcpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmNvcHkodGhpcy5vZmZzZXRGcm9tSGVhZEJvbmUpLmFwcGx5TWF0cml4NChoZWFkLm1hdHJpeFdvcmxkKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGl0cyBsb29rQXQgcm90YXRpb24gaW4gd29ybGQgY29vcmRpbmF0ZS5cbiAgICAgKiBEb2VzIE5PVCBjb25zaWRlciB7QGxpbmsgZmFjZUZyb250fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgYFRIUkVFLlF1YXRlcm5pb25gXG4gICAgICovXG4gICAgZ2V0TG9va0F0V29ybGRRdWF0ZXJuaW9uKHRhcmdldCkge1xuICAgICAgICBjb25zdCBoZWFkID0gdGhpcy5odW1hbm9pZC5nZXRSYXdCb25lTm9kZSgnaGVhZCcpO1xuICAgICAgICByZXR1cm4gZ2V0V29ybGRRdWF0ZXJuaW9uTGl0ZShoZWFkLCB0YXJnZXQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgYSBxdWF0ZXJuaW9uIHRoYXQgcm90YXRlcyB0aGUgK1ogdW5pdCB2ZWN0b3Igb2YgdGhlIGh1bWFub2lkIEhlYWQgdG8gdGhlIHtAbGluayBmYWNlRnJvbnR9IGRpcmVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgYFRIUkVFLlF1YXRlcm5pb25gXG4gICAgICovXG4gICAgZ2V0RmFjZUZyb250UXVhdGVybmlvbih0YXJnZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmFjZUZyb250LmRpc3RhbmNlVG9TcXVhcmVkKFZFQzNfUE9TSVRJVkVfWiQxKSA8IDAuMDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQuY29weSh0aGlzLl9yZXN0SGVhZFdvcmxkUXVhdGVybmlvbikuaW52ZXJ0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW2ZhY2VGcm9udEF6aW11dGgsIGZhY2VGcm9udEFsdGl0dWRlXSA9IGNhbGNBemltdXRoQWx0aXR1ZGUodGhpcy5mYWNlRnJvbnQpO1xuICAgICAgICBfZXVsZXJBJDEuc2V0KDAuMCwgMC41ICogTWF0aC5QSSArIGZhY2VGcm9udEF6aW11dGgsIGZhY2VGcm9udEFsdGl0dWRlLCAnWVpYJyk7XG4gICAgICAgIHJldHVybiB0YXJnZXQuc2V0RnJvbUV1bGVyKF9ldWxlckEkMSkucHJlbXVsdGlwbHkoX3F1YXRELmNvcHkodGhpcy5fcmVzdEhlYWRXb3JsZFF1YXRlcm5pb24pLmludmVydCgpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGl0cyBMb29rQXQgZGlyZWN0aW9uIGluIHdvcmxkIGNvb3JkaW5hdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IEEgdGFyZ2V0IGBUSFJFRS5WZWN0b3IzYFxuICAgICAqL1xuICAgIGdldExvb2tBdFdvcmxkRGlyZWN0aW9uKHRhcmdldCkge1xuICAgICAgICB0aGlzLmdldExvb2tBdFdvcmxkUXVhdGVybmlvbihfcXVhdEIkMSk7XG4gICAgICAgIHRoaXMuZ2V0RmFjZUZyb250UXVhdGVybmlvbihfcXVhdEMpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0XG4gICAgICAgICAgICAuY29weShWRUMzX1BPU0lUSVZFX1okMSlcbiAgICAgICAgICAgIC5hcHBseVF1YXRlcm5pb24oX3F1YXRCJDEpXG4gICAgICAgICAgICAuYXBwbHlRdWF0ZXJuaW9uKF9xdWF0QylcbiAgICAgICAgICAgIC5hcHBseUV1bGVyKHRoaXMuZ2V0RXVsZXIoX2V1bGVyQSQxKSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCBpdHMgbG9va0F0IHRhcmdldCBwb3NpdGlvbi5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCBpdHMgcmVzdWx0IHdpbGwgYmUgaW5zdGFudGx5IG92ZXJ3cml0dGVuIGlmIHtAbGluayBWUk1Mb29rQXRIZWFkLmF1dG9VcGRhdGV9IGlzIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBJZiB5b3Ugd2FudCB0byB0cmFjayBhbiBvYmplY3QgY29udGludW91c2x5LCB5b3UgbWlnaHQgd2FudCB0byB1c2Uge0BsaW5rIHRhcmdldH0gaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwb3NpdGlvbiBBIHRhcmdldCBwb3NpdGlvbiwgaW4gd29ybGQgc3BhY2VcbiAgICAgKi9cbiAgICBsb29rQXQocG9zaXRpb24pIHtcbiAgICAgICAgLy8gTG9vayBhdCBkaXJlY3Rpb24gaW4gbG9jYWwgY29vcmRpbmF0ZVxuICAgICAgICBjb25zdCBoZWFkUm90RGlmZkludiA9IF9xdWF0QSQxXG4gICAgICAgICAgICAuY29weSh0aGlzLl9yZXN0SGVhZFdvcmxkUXVhdGVybmlvbilcbiAgICAgICAgICAgIC5tdWx0aXBseShxdWF0SW52ZXJ0Q29tcGF0KHRoaXMuZ2V0TG9va0F0V29ybGRRdWF0ZXJuaW9uKF9xdWF0QiQxKSkpO1xuICAgICAgICBjb25zdCBoZWFkUG9zID0gdGhpcy5nZXRMb29rQXRXb3JsZFBvc2l0aW9uKF92M0IpO1xuICAgICAgICBjb25zdCBsb29rQXREaXIgPSBfdjNDLmNvcHkocG9zaXRpb24pLnN1YihoZWFkUG9zKS5hcHBseVF1YXRlcm5pb24oaGVhZFJvdERpZmZJbnYpLm5vcm1hbGl6ZSgpO1xuICAgICAgICAvLyBjYWxjdWxhdGUgYW5nbGVzXG4gICAgICAgIGNvbnN0IFthemltdXRoRnJvbSwgYWx0aXR1ZGVGcm9tXSA9IGNhbGNBemltdXRoQWx0aXR1ZGUodGhpcy5mYWNlRnJvbnQpO1xuICAgICAgICBjb25zdCBbYXppbXV0aFRvLCBhbHRpdHVkZVRvXSA9IGNhbGNBemltdXRoQWx0aXR1ZGUobG9va0F0RGlyKTtcbiAgICAgICAgY29uc3QgeWF3ID0gc2FuaXRpemVBbmdsZShhemltdXRoVG8gLSBhemltdXRoRnJvbSk7XG4gICAgICAgIGNvbnN0IHBpdGNoID0gc2FuaXRpemVBbmdsZShhbHRpdHVkZUZyb20gLSBhbHRpdHVkZVRvKTsgLy8gc3Bpbm5pbmcgKDEsIDAsIDApIENDVyBhcm91bmQgWiBheGlzIG1ha2VzIHRoZSB2ZWN0b3IgbG9vayB1cCwgd2hpbGUgc3Bpbm5pbmcgKDAsIDAsIDEpIENDVyBhcm91bmQgWCBheGlzIG1ha2VzIHRoZSB2ZWN0b3IgbG9vayBkb3duXG4gICAgICAgIC8vIGFwcGx5IGFuZ2xlc1xuICAgICAgICB0aGlzLl95YXcgPSBUSFJFRS5NYXRoVXRpbHMuUkFEMkRFRyAqIHlhdztcbiAgICAgICAgdGhpcy5fcGl0Y2ggPSBUSFJFRS5NYXRoVXRpbHMuUkFEMkRFRyAqIHBpdGNoO1xuICAgICAgICB0aGlzLl9uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgVlJNTG9va0F0SGVhZC5cbiAgICAgKiBJZiB7QGxpbmsgYXV0b1VwZGF0ZX0gaXMgZW5hYmxlZCwgdGhpcyB3aWxsIG1ha2UgaXQgbG9vayBhdCB0aGUge0BsaW5rIHRhcmdldH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVsdGEgZGVsdGFUaW1lLCBpdCBpc24ndCB1c2VkIHRob3VnaC4gWW91IGNhbiB1c2UgdGhlIHBhcmFtZXRlciBpZiB5b3Ugd2FudCB0byB1c2UgdGhpcyBpbiB5b3VyIG93biBleHRlbmRlZCB7QGxpbmsgVlJNTG9va0F0fS5cbiAgICAgKi9cbiAgICB1cGRhdGUoZGVsdGEpIHtcbiAgICAgICAgaWYgKHRoaXMudGFyZ2V0ICE9IG51bGwgJiYgdGhpcy5hdXRvVXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmxvb2tBdCh0aGlzLnRhcmdldC5nZXRXb3JsZFBvc2l0aW9uKF92M0EpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbmVlZHNVcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX25lZWRzVXBkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmFwcGxpZXIuYXBwbHlZYXdQaXRjaCh0aGlzLl95YXcsIHRoaXMuX3BpdGNoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblZSTUxvb2tBdC5FVUxFUl9PUkRFUiA9ICdZWFonOyAvLyB5YXctcGl0Y2gtcm9sbFxuXG5jb25zdCBWRUMzX1BPU0lUSVZFX1ogPSBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMS4wKTtcbmNvbnN0IF9xdWF0QSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEIgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX2V1bGVyQSA9IG5ldyBUSFJFRS5FdWxlcigwLjAsIDAuMCwgMC4wLCAnWVhaJyk7XG4vKipcbiAqIEEgY2xhc3MgdGhhdCBhcHBsaWVzIGV5ZSBnYXplIGRpcmVjdGlvbnMgdG8gYSBWUk0uXG4gKiBJdCB3aWxsIGJlIHVzZWQgYnkge0BsaW5rIFZSTUxvb2tBdH0uXG4gKi9cbmNsYXNzIFZSTUxvb2tBdEJvbmVBcHBsaWVyIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIFZSTUxvb2tBdEJvbmVBcHBsaWVyfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodW1hbm9pZCBBIHtAbGluayBWUk1IdW1hbm9pZH1cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIGlubmVyIHRyYW5zdmVyc2UgZGlyZWN0aW9uXG4gICAgICogQHBhcmFtIHJhbmdlTWFwSG9yaXpvbnRhbE91dGVyIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciBvdXRlciB0cmFuc3ZlcnNlIGRpcmVjdGlvblxuICAgICAqIEBwYXJhbSByYW5nZU1hcFZlcnRpY2FsRG93biBBIHtAbGluayBWUk1Mb29rQXRSYW5nZU1hcH0gdXNlZCBmb3IgZG93biBkaXJlY3Rpb25cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBWZXJ0aWNhbFVwIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciB1cCBkaXJlY3Rpb25cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihodW1hbm9pZCwgcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIsIHJhbmdlTWFwSG9yaXpvbnRhbE91dGVyLCByYW5nZU1hcFZlcnRpY2FsRG93biwgcmFuZ2VNYXBWZXJ0aWNhbFVwKSB7XG4gICAgICAgIHRoaXMuaHVtYW5vaWQgPSBodW1hbm9pZDtcbiAgICAgICAgdGhpcy5yYW5nZU1hcEhvcml6b250YWxJbm5lciA9IHJhbmdlTWFwSG9yaXpvbnRhbElubmVyO1xuICAgICAgICB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbE91dGVyID0gcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXI7XG4gICAgICAgIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbERvd24gPSByYW5nZU1hcFZlcnRpY2FsRG93bjtcbiAgICAgICAgdGhpcy5yYW5nZU1hcFZlcnRpY2FsVXAgPSByYW5nZU1hcFZlcnRpY2FsVXA7XG4gICAgICAgIHRoaXMuZmFjZUZyb250ID0gbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDEuMCk7XG4gICAgICAgIC8vIHNldCByZXN0IHF1YXRlcm5pb25zXG4gICAgICAgIHRoaXMuX3Jlc3RRdWF0TGVmdEV5ZSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIHRoaXMuX3Jlc3RRdWF0UmlnaHRFeWUgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgICAgICB0aGlzLl9yZXN0TGVmdEV5ZVBhcmVudFdvcmxkUXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIHRoaXMuX3Jlc3RSaWdodEV5ZVBhcmVudFdvcmxkUXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIGNvbnN0IGxlZnRFeWUgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdsZWZ0RXllJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0RXllID0gdGhpcy5odW1hbm9pZC5nZXRSYXdCb25lTm9kZSgncmlnaHRFeWUnKTtcbiAgICAgICAgaWYgKGxlZnRFeWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3RRdWF0TGVmdEV5ZS5jb3B5KGxlZnRFeWUucXVhdGVybmlvbik7XG4gICAgICAgICAgICBnZXRXb3JsZFF1YXRlcm5pb25MaXRlKGxlZnRFeWUucGFyZW50LCB0aGlzLl9yZXN0TGVmdEV5ZVBhcmVudFdvcmxkUXVhdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJpZ2h0RXllKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXN0UXVhdFJpZ2h0RXllLmNvcHkocmlnaHRFeWUucXVhdGVybmlvbik7XG4gICAgICAgICAgICBnZXRXb3JsZFF1YXRlcm5pb25MaXRlKHJpZ2h0RXllLnBhcmVudCwgdGhpcy5fcmVzdFJpZ2h0RXllUGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBcHBseSB0aGUgaW5wdXQgYW5nbGUgdG8gaXRzIGFzc29jaWF0ZWQgVlJNIG1vZGVsLlxuICAgICAqXG4gICAgICogQHBhcmFtIHlhdyBSb3RhdGlvbiBhcm91bmQgWSBheGlzLCBpbiBkZWdyZWVcbiAgICAgKiBAcGFyYW0gcGl0Y2ggUm90YXRpb24gYXJvdW5kIFggYXhpcywgaW4gZGVncmVlXG4gICAgICovXG4gICAgYXBwbHlZYXdQaXRjaCh5YXcsIHBpdGNoKSB7XG4gICAgICAgIGNvbnN0IGxlZnRFeWUgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdsZWZ0RXllJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0RXllID0gdGhpcy5odW1hbm9pZC5nZXRSYXdCb25lTm9kZSgncmlnaHRFeWUnKTtcbiAgICAgICAgY29uc3QgbGVmdEV5ZU5vcm1hbGl6ZWQgPSB0aGlzLmh1bWFub2lkLmdldE5vcm1hbGl6ZWRCb25lTm9kZSgnbGVmdEV5ZScpO1xuICAgICAgICBjb25zdCByaWdodEV5ZU5vcm1hbGl6ZWQgPSB0aGlzLmh1bWFub2lkLmdldE5vcm1hbGl6ZWRCb25lTm9kZSgncmlnaHRFeWUnKTtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICBpZiAobGVmdEV5ZSkge1xuICAgICAgICAgICAgaWYgKHBpdGNoIDwgMC4wKSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS54ID0gLVRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5yYW5nZU1hcFZlcnRpY2FsRG93bi5tYXAoLXBpdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIF9ldWxlckEueCA9IFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5yYW5nZU1hcFZlcnRpY2FsVXAubWFwKHBpdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh5YXcgPCAwLjApIHtcbiAgICAgICAgICAgICAgICBfZXVsZXJBLnkgPSAtVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbElubmVyLm1hcCgteWF3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIF9ldWxlckEueSA9IFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5yYW5nZU1hcEhvcml6b250YWxPdXRlci5tYXAoeWF3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF9xdWF0QS5zZXRGcm9tRXVsZXIoX2V1bGVyQSk7XG4gICAgICAgICAgICB0aGlzLl9nZXRXb3JsZEZhY2VGcm9udFF1YXQoX3F1YXRCKTtcbiAgICAgICAgICAgIC8vIF9xdWF0QiAqIF9xdWF0QSAqIF9xdWF0Ql4tMVxuICAgICAgICAgICAgLy8gd2hlcmUgX3F1YXRBIGlzIExvb2tBdCByb3RhdGlvblxuICAgICAgICAgICAgLy8gYW5kIF9xdWF0QiBpcyB3b3JsZEZhY2VGcm9udFF1YXRcbiAgICAgICAgICAgIGxlZnRFeWVOb3JtYWxpemVkLnF1YXRlcm5pb24uY29weShfcXVhdEIpLm11bHRpcGx5KF9xdWF0QSkubXVsdGlwbHkoX3F1YXRCLmludmVydCgpKTtcbiAgICAgICAgICAgIF9xdWF0QS5jb3B5KHRoaXMuX3Jlc3RMZWZ0RXllUGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgICAgIC8vIF9xdWF0QV4tMSAqIGxlZnRFeWVOb3JtYWxpemVkLnF1YXRlcm5pb24gKiBfcXVhdEEgKiByZXN0UXVhdExlZnRFeWVcbiAgICAgICAgICAgIC8vIHdoZXJlIF9xdWF0QSBpcyByZXN0TGVmdEV5ZVBhcmVudFdvcmxkUXVhdFxuICAgICAgICAgICAgbGVmdEV5ZS5xdWF0ZXJuaW9uXG4gICAgICAgICAgICAgICAgLmNvcHkobGVmdEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbilcbiAgICAgICAgICAgICAgICAubXVsdGlwbHkoX3F1YXRBKVxuICAgICAgICAgICAgICAgIC5wcmVtdWx0aXBseShfcXVhdEEuaW52ZXJ0KCkpXG4gICAgICAgICAgICAgICAgLm11bHRpcGx5KHRoaXMuX3Jlc3RRdWF0TGVmdEV5ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgaWYgKHJpZ2h0RXllKSB7XG4gICAgICAgICAgICBpZiAocGl0Y2ggPCAwLjApIHtcbiAgICAgICAgICAgICAgICBfZXVsZXJBLnggPSAtVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwVmVydGljYWxEb3duLm1hcCgtcGl0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS54ID0gVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwVmVydGljYWxVcC5tYXAocGl0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHlhdyA8IDAuMCkge1xuICAgICAgICAgICAgICAgIF9ldWxlckEueSA9IC1USFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIubWFwKC15YXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS55ID0gVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbElubmVyLm1hcCh5YXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3F1YXRBLnNldEZyb21FdWxlcihfZXVsZXJBKTtcbiAgICAgICAgICAgIHRoaXMuX2dldFdvcmxkRmFjZUZyb250UXVhdChfcXVhdEIpO1xuICAgICAgICAgICAgLy8gX3F1YXRCICogX3F1YXRBICogX3F1YXRCXi0xXG4gICAgICAgICAgICAvLyB3aGVyZSBfcXVhdEEgaXMgTG9va0F0IHJvdGF0aW9uXG4gICAgICAgICAgICAvLyBhbmQgX3F1YXRCIGlzIHdvcmxkRmFjZUZyb250UXVhdFxuICAgICAgICAgICAgcmlnaHRFeWVOb3JtYWxpemVkLnF1YXRlcm5pb24uY29weShfcXVhdEIpLm11bHRpcGx5KF9xdWF0QSkubXVsdGlwbHkoX3F1YXRCLmludmVydCgpKTtcbiAgICAgICAgICAgIF9xdWF0QS5jb3B5KHRoaXMuX3Jlc3RSaWdodEV5ZVBhcmVudFdvcmxkUXVhdCk7XG4gICAgICAgICAgICAvLyBfcXVhdEFeLTEgKiByaWdodEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbiAqIF9xdWF0QSAqIHJlc3RRdWF0UmlnaHRFeWVcbiAgICAgICAgICAgIC8vIHdoZXJlIF9xdWF0QSBpcyByZXN0UmlnaHRFeWVQYXJlbnRXb3JsZFF1YXRcbiAgICAgICAgICAgIHJpZ2h0RXllLnF1YXRlcm5pb25cbiAgICAgICAgICAgICAgICAuY29weShyaWdodEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbilcbiAgICAgICAgICAgICAgICAubXVsdGlwbHkoX3F1YXRBKVxuICAgICAgICAgICAgICAgIC5wcmVtdWx0aXBseShfcXVhdEEuaW52ZXJ0KCkpXG4gICAgICAgICAgICAgICAgLm11bHRpcGx5KHRoaXMuX3Jlc3RRdWF0UmlnaHRFeWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgYXBwbHlZYXdQaXRjaH0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBsb29rQXQoZXVsZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1Mb29rQXRCb25lQXBwbGllcjogbG9va0F0KCkgaXMgZGVwcmVjYXRlZC4gdXNlIGFwcGx5KCkgaW5zdGVhZC4nKTtcbiAgICAgICAgY29uc3QgeWF3ID0gVEhSRUUuTWF0aFV0aWxzLlJBRDJERUcgKiBldWxlci55O1xuICAgICAgICBjb25zdCBwaXRjaCA9IFRIUkVFLk1hdGhVdGlscy5SQUQyREVHICogZXVsZXIueDtcbiAgICAgICAgdGhpcy5hcHBseVlhd1BpdGNoKHlhdywgcGl0Y2gpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgYSBxdWF0ZXJuaW9uIHRoYXQgcm90YXRlcyB0aGUgd29ybGQtc3BhY2UgK1ogdW5pdCB2ZWN0b3IgdG8gdGhlIHtAbGluayBmYWNlRnJvbnR9IGRpcmVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgYFRIUkVFLlF1YXRlcm5pb25gXG4gICAgICovXG4gICAgX2dldFdvcmxkRmFjZUZyb250UXVhdCh0YXJnZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmFjZUZyb250LmRpc3RhbmNlVG9TcXVhcmVkKFZFQzNfUE9TSVRJVkVfWikgPCAwLjAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmlkZW50aXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW2ZhY2VGcm9udEF6aW11dGgsIGZhY2VGcm9udEFsdGl0dWRlXSA9IGNhbGNBemltdXRoQWx0aXR1ZGUodGhpcy5mYWNlRnJvbnQpO1xuICAgICAgICBfZXVsZXJBLnNldCgwLjAsIDAuNSAqIE1hdGguUEkgKyBmYWNlRnJvbnRBemltdXRoLCBmYWNlRnJvbnRBbHRpdHVkZSwgJ1laWCcpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0LnNldEZyb21FdWxlcihfZXVsZXJBKTtcbiAgICB9XG59XG4vKipcbiAqIFJlcHJlc2VudCBpdHMgdHlwZSBvZiBhcHBsaWVyLlxuICovXG5WUk1Mb29rQXRCb25lQXBwbGllci50eXBlID0gJ2JvbmUnO1xuXG4vKipcbiAqIEEgY2xhc3MgdGhhdCBhcHBsaWVzIGV5ZSBnYXplIGRpcmVjdGlvbnMgdG8gYSBWUk0uXG4gKiBJdCB3aWxsIGJlIHVzZWQgYnkge0BsaW5rIFZSTUxvb2tBdH0uXG4gKi9cbmNsYXNzIFZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIFZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBleHByZXNzaW9ucyBBIHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn1cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIGlubmVyIHRyYW5zdmVyc2UgZGlyZWN0aW9uXG4gICAgICogQHBhcmFtIHJhbmdlTWFwSG9yaXpvbnRhbE91dGVyIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciBvdXRlciB0cmFuc3ZlcnNlIGRpcmVjdGlvblxuICAgICAqIEBwYXJhbSByYW5nZU1hcFZlcnRpY2FsRG93biBBIHtAbGluayBWUk1Mb29rQXRSYW5nZU1hcH0gdXNlZCBmb3IgZG93biBkaXJlY3Rpb25cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBWZXJ0aWNhbFVwIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciB1cCBkaXJlY3Rpb25cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihleHByZXNzaW9ucywgcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIsIHJhbmdlTWFwSG9yaXpvbnRhbE91dGVyLCByYW5nZU1hcFZlcnRpY2FsRG93biwgcmFuZ2VNYXBWZXJ0aWNhbFVwKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSBleHByZXNzaW9ucztcbiAgICAgICAgdGhpcy5yYW5nZU1hcEhvcml6b250YWxJbm5lciA9IHJhbmdlTWFwSG9yaXpvbnRhbElubmVyO1xuICAgICAgICB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbE91dGVyID0gcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXI7XG4gICAgICAgIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbERvd24gPSByYW5nZU1hcFZlcnRpY2FsRG93bjtcbiAgICAgICAgdGhpcy5yYW5nZU1hcFZlcnRpY2FsVXAgPSByYW5nZU1hcFZlcnRpY2FsVXA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFwcGx5IHRoZSBpbnB1dCBhbmdsZSB0byBpdHMgYXNzb2NpYXRlZCBWUk0gbW9kZWwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWF3IFJvdGF0aW9uIGFyb3VuZCBZIGF4aXMsIGluIGRlZ3JlZVxuICAgICAqIEBwYXJhbSBwaXRjaCBSb3RhdGlvbiBhcm91bmQgWCBheGlzLCBpbiBkZWdyZWVcbiAgICAgKi9cbiAgICBhcHBseVlhd1BpdGNoKHlhdywgcGl0Y2gpIHtcbiAgICAgICAgaWYgKHBpdGNoIDwgMC4wKSB7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLnNldFZhbHVlKCdsb29rRG93bicsIDAuMCk7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLnNldFZhbHVlKCdsb29rVXAnLCB0aGlzLnJhbmdlTWFwVmVydGljYWxVcC5tYXAoLXBpdGNoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLnNldFZhbHVlKCdsb29rVXAnLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucy5zZXRWYWx1ZSgnbG9va0Rvd24nLCB0aGlzLnJhbmdlTWFwVmVydGljYWxEb3duLm1hcChwaXRjaCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh5YXcgPCAwLjApIHtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tMZWZ0JywgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tSaWdodCcsIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIubWFwKC15YXcpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tSaWdodCcsIDAuMCk7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLnNldFZhbHVlKCdsb29rTGVmdCcsIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIubWFwKHlhdykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgYXBwbHlZYXdQaXRjaH0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBsb29rQXQoZXVsZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1Mb29rQXRCb25lQXBwbGllcjogbG9va0F0KCkgaXMgZGVwcmVjYXRlZC4gdXNlIGFwcGx5KCkgaW5zdGVhZC4nKTtcbiAgICAgICAgY29uc3QgeWF3ID0gVEhSRUUuTWF0aFV0aWxzLlJBRDJERUcgKiBldWxlci55O1xuICAgICAgICBjb25zdCBwaXRjaCA9IFRIUkVFLk1hdGhVdGlscy5SQUQyREVHICogZXVsZXIueDtcbiAgICAgICAgdGhpcy5hcHBseVlhd1BpdGNoKHlhdywgcGl0Y2gpO1xuICAgIH1cbn1cbi8qKlxuICogUmVwcmVzZW50IGl0cyB0eXBlIG9mIGFwcGxpZXIuXG4gKi9cblZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyLnR5cGUgPSAnZXhwcmVzc2lvbic7XG5cbmNsYXNzIFZSTUxvb2tBdFJhbmdlTWFwIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbnB1dE1heFZhbHVlIFRoZSB7QGxpbmsgaW5wdXRNYXhWYWx1ZX0gb2YgdGhlIG1hcFxuICAgICAqIEBwYXJhbSBvdXRwdXRTY2FsZSBUaGUge0BsaW5rIG91dHB1dFNjYWxlfSBvZiB0aGUgbWFwXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoaW5wdXRNYXhWYWx1ZSwgb3V0cHV0U2NhbGUpIHtcbiAgICAgICAgdGhpcy5pbnB1dE1heFZhbHVlID0gaW5wdXRNYXhWYWx1ZTtcbiAgICAgICAgdGhpcy5vdXRwdXRTY2FsZSA9IG91dHB1dFNjYWxlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFdmFsdWF0ZSBhbiBpbnB1dCB2YWx1ZSBhbmQgb3V0cHV0IGEgbWFwcGVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSBzcmMgVGhlIGlucHV0IHZhbHVlXG4gICAgICovXG4gICAgbWFwKHNyYykge1xuICAgICAgICByZXR1cm4gdGhpcy5vdXRwdXRTY2FsZSAqIHNhdHVyYXRlKHNyYyAvIHRoaXMuaW5wdXRNYXhWYWx1ZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQxID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbi8qKlxuICogVGhlIG1pbmltdW0gcGVybWl0dGVkIHZhbHVlIGZvciB7QGxpbmsgVjFWUk1TY2hlbWEuTG9va0F0UmFuZ2VNYXAuaW5wdXRNYXhWYWx1ZX0uXG4gKiBJZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgc21hbGxlciB0aGFuIHRoaXMsIHRoZSBsb2FkZXIgc2hvd3MgYSB3YXJuaW5nIGFuZCBjbGFtcHMgdXAgdGhlIHZhbHVlLlxuICovXG5jb25zdCBJTlBVVF9NQVhfVkFMVUVfTUlOSU1VTSA9IDAuMDE7XG4vKipcbiAqIEEgcGx1Z2luIG9mIEdMVEZMb2FkZXIgdGhhdCBpbXBvcnRzIGEge0BsaW5rIFZSTUxvb2tBdH0gZnJvbSBhIFZSTSBleHRlbnNpb24gb2YgYSBHTFRGLlxuICovXG5jbGFzcyBWUk1Mb29rQXRMb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHRoZSBleHRlbnNpb24gbmFtZSBpbnN0ZWFkIGJ1dCB3ZSBoYXZlIG11bHRpcGxlIHBsdWdpbnMgZm9yIGFuIGV4dGVuc2lvbi4uLlxuICAgICAgICByZXR1cm4gJ1ZSTUxvb2tBdExvYWRlclBsdWdpbic7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5oZWxwZXJSb290ID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmhlbHBlclJvb3Q7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2cm1IdW1hbm9pZCA9IGdsdGYudXNlckRhdGEudnJtSHVtYW5vaWQ7XG4gICAgICAgICAgICAvLyBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoIG51bGwgYW5kIHVuZGVmaW5lZFxuICAgICAgICAgICAgLy8gc2luY2UgdnJtSHVtYW5vaWQgbWlnaHQgYmUgbnVsbCBhcyBhIHJlc3VsdFxuICAgICAgICAgICAgaWYgKHZybUh1bWFub2lkID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodnJtSHVtYW5vaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNTG9va0F0TG9hZGVyUGx1Z2luOiB2cm1IdW1hbm9pZCBpcyB1bmRlZmluZWQuIFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luIGhhdmUgdG8gYmUgdXNlZCBmaXJzdCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdnJtRXhwcmVzc2lvbk1hbmFnZXIgPSBnbHRmLnVzZXJEYXRhLnZybUV4cHJlc3Npb25NYW5hZ2VyO1xuICAgICAgICAgICAgaWYgKHZybUV4cHJlc3Npb25NYW5hZ2VyID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodnJtRXhwcmVzc2lvbk1hbmFnZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNTG9va0F0TG9hZGVyUGx1Z2luOiB2cm1FeHByZXNzaW9uTWFuYWdlciBpcyB1bmRlZmluZWQuIFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW4gaGF2ZSB0byBiZSB1c2VkIGZpcnN0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybUxvb2tBdCA9IHlpZWxkIHRoaXMuX2ltcG9ydChnbHRmLCB2cm1IdW1hbm9pZCwgdnJtRXhwcmVzc2lvbk1hbmFnZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wb3J0IGEge0BsaW5rIFZSTUxvb2tBdH0gZnJvbSBhIFZSTS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBnbHRmIEEgcGFyc2VkIHJlc3VsdCBvZiBHTFRGIHRha2VuIGZyb20gR0xURkxvYWRlclxuICAgICAqIEBwYXJhbSBodW1hbm9pZCBBIHtAbGluayBWUk1IdW1hbm9pZH0gaW5zdGFuY2UgdGhhdCByZXByZXNlbnRzIHRoZSBWUk1cbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMgQSB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9IGluc3RhbmNlIHRoYXQgcmVwcmVzZW50cyB0aGUgVlJNXG4gICAgICovXG4gICAgX2ltcG9ydChnbHRmLCBodW1hbm9pZCwgZXhwcmVzc2lvbnMpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmIChodW1hbm9pZCA9PSBudWxsIHx8IGV4cHJlc3Npb25zID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHYxUmVzdWx0ID0geWllbGQgdGhpcy5fdjFJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQsIGV4cHJlc3Npb25zKTtcbiAgICAgICAgICAgIGlmICh2MVJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MVJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHYwUmVzdWx0ID0geWllbGQgdGhpcy5fdjBJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQsIGV4cHJlc3Npb25zKTtcbiAgICAgICAgICAgIGlmICh2MFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MFJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0KGdsdGYsIGh1bWFub2lkLCBleHByZXNzaW9ucykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCBpc1ZSTVVzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoJ1ZSTUNfdnJtJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnVlJNQ192cm0nXTtcbiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQxLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUxvb2tBdExvYWRlclBsdWdpbjogVW5rbm93biBWUk1DX3ZybSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUxvb2tBdCA9IGV4dGVuc2lvbi5sb29rQXQ7XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUxvb2tBdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdE91dHB1dFNjYWxlID0gc2NoZW1hTG9va0F0LnR5cGUgPT09ICdleHByZXNzaW9uJyA/IDEuMCA6IDEwLjA7XG4gICAgICAgICAgICBjb25zdCBtYXBISSA9IHRoaXMuX3YxSW1wb3J0UmFuZ2VNYXAoc2NoZW1hTG9va0F0LnJhbmdlTWFwSG9yaXpvbnRhbElubmVyLCBkZWZhdWx0T3V0cHV0U2NhbGUpO1xuICAgICAgICAgICAgY29uc3QgbWFwSE8gPSB0aGlzLl92MUltcG9ydFJhbmdlTWFwKHNjaGVtYUxvb2tBdC5yYW5nZU1hcEhvcml6b250YWxPdXRlciwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcFZEID0gdGhpcy5fdjFJbXBvcnRSYW5nZU1hcChzY2hlbWFMb29rQXQucmFuZ2VNYXBWZXJ0aWNhbERvd24sIGRlZmF1bHRPdXRwdXRTY2FsZSk7XG4gICAgICAgICAgICBjb25zdCBtYXBWVSA9IHRoaXMuX3YxSW1wb3J0UmFuZ2VNYXAoc2NoZW1hTG9va0F0LnJhbmdlTWFwVmVydGljYWxVcCwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGxldCBhcHBsaWVyO1xuICAgICAgICAgICAgaWYgKHNjaGVtYUxvb2tBdC50eXBlID09PSAnZXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgICAgICBhcHBsaWVyID0gbmV3IFZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyKGV4cHJlc3Npb25zLCBtYXBISSwgbWFwSE8sIG1hcFZELCBtYXBWVSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcHBsaWVyID0gbmV3IFZSTUxvb2tBdEJvbmVBcHBsaWVyKGh1bWFub2lkLCBtYXBISSwgbWFwSE8sIG1hcFZELCBtYXBWVSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsb29rQXQgPSB0aGlzLl9pbXBvcnRMb29rQXQoaHVtYW5vaWQsIGFwcGxpZXIpO1xuICAgICAgICAgICAgbG9va0F0Lm9mZnNldEZyb21IZWFkQm9uZS5mcm9tQXJyYXkoKF9jID0gc2NoZW1hTG9va0F0Lm9mZnNldEZyb21IZWFkQm9uZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogWzAuMCwgMC4wNiwgMC4wXSk7XG4gICAgICAgICAgICByZXR1cm4gbG9va0F0O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0UmFuZ2VNYXAoc2NoZW1hUmFuZ2VNYXAsIGRlZmF1bHRPdXRwdXRTY2FsZSkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBsZXQgaW5wdXRNYXhWYWx1ZSA9IChfYSA9IHNjaGVtYVJhbmdlTWFwID09PSBudWxsIHx8IHNjaGVtYVJhbmdlTWFwID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY2hlbWFSYW5nZU1hcC5pbnB1dE1heFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA5MC4wO1xuICAgICAgICBjb25zdCBvdXRwdXRTY2FsZSA9IChfYiA9IHNjaGVtYVJhbmdlTWFwID09PSBudWxsIHx8IHNjaGVtYVJhbmdlTWFwID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY2hlbWFSYW5nZU1hcC5vdXRwdXRTY2FsZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZGVmYXVsdE91dHB1dFNjYWxlO1xuICAgICAgICAvLyBJdCBtaWdodCBjYXVzZSBOYU4gd2hlbiBgaW5wdXRNYXhWYWx1ZWAgaXMgdG9vIHNtYWxsXG4gICAgICAgIC8vIHdoaWNoIG1ha2VzIHRoZSBtZXNoIG9mIHRoZSBoZWFkIGRpc2FwcGVhclxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vaXNzdWVzLzEyMDFcbiAgICAgICAgaWYgKGlucHV0TWF4VmFsdWUgPCBJTlBVVF9NQVhfVkFMVUVfTUlOSU1VTSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdWUk1Mb29rQXRMb2FkZXJQbHVnaW46IGlucHV0TWF4VmFsdWUgb2YgYSByYW5nZSBtYXAgaXMgdG9vIHNtYWxsLiBDb25zaWRlciByZXZpZXdpbmcgdGhlIHJhbmdlIG1hcCEnKTtcbiAgICAgICAgICAgIGlucHV0TWF4VmFsdWUgPSBJTlBVVF9NQVhfVkFMVUVfTUlOSU1VTTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFZSTUxvb2tBdFJhbmdlTWFwKGlucHV0TWF4VmFsdWUsIG91dHB1dFNjYWxlKTtcbiAgICB9XG4gICAgX3YwSW1wb3J0KGdsdGYsIGh1bWFub2lkLCBleHByZXNzaW9ucykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgdnJtRXh0ID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuVlJNO1xuICAgICAgICAgICAgaWYgKCF2cm1FeHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUZpcnN0UGVyc29uID0gdnJtRXh0LmZpcnN0UGVyc29uO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFGaXJzdFBlcnNvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdE91dHB1dFNjYWxlID0gc2NoZW1hRmlyc3RQZXJzb24ubG9va0F0VHlwZU5hbWUgPT09ICdCbGVuZFNoYXBlJyA/IDEuMCA6IDEwLjA7XG4gICAgICAgICAgICBjb25zdCBtYXBISSA9IHRoaXMuX3YwSW1wb3J0RGVncmVlTWFwKHNjaGVtYUZpcnN0UGVyc29uLmxvb2tBdEhvcml6b250YWxJbm5lciwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcEhPID0gdGhpcy5fdjBJbXBvcnREZWdyZWVNYXAoc2NoZW1hRmlyc3RQZXJzb24ubG9va0F0SG9yaXpvbnRhbE91dGVyLCBkZWZhdWx0T3V0cHV0U2NhbGUpO1xuICAgICAgICAgICAgY29uc3QgbWFwVkQgPSB0aGlzLl92MEltcG9ydERlZ3JlZU1hcChzY2hlbWFGaXJzdFBlcnNvbi5sb29rQXRWZXJ0aWNhbERvd24sIGRlZmF1bHRPdXRwdXRTY2FsZSk7XG4gICAgICAgICAgICBjb25zdCBtYXBWVSA9IHRoaXMuX3YwSW1wb3J0RGVncmVlTWFwKHNjaGVtYUZpcnN0UGVyc29uLmxvb2tBdFZlcnRpY2FsVXAsIGRlZmF1bHRPdXRwdXRTY2FsZSk7XG4gICAgICAgICAgICBsZXQgYXBwbGllcjtcbiAgICAgICAgICAgIGlmIChzY2hlbWFGaXJzdFBlcnNvbi5sb29rQXRUeXBlTmFtZSA9PT0gJ0JsZW5kU2hhcGUnKSB7XG4gICAgICAgICAgICAgICAgYXBwbGllciA9IG5ldyBWUk1Mb29rQXRFeHByZXNzaW9uQXBwbGllcihleHByZXNzaW9ucywgbWFwSEksIG1hcEhPLCBtYXBWRCwgbWFwVlUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYXBwbGllciA9IG5ldyBWUk1Mb29rQXRCb25lQXBwbGllcihodW1hbm9pZCwgbWFwSEksIG1hcEhPLCBtYXBWRCwgbWFwVlUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbG9va0F0ID0gdGhpcy5faW1wb3J0TG9va0F0KGh1bWFub2lkLCBhcHBsaWVyKTtcbiAgICAgICAgICAgIGlmIChzY2hlbWFGaXJzdFBlcnNvbi5maXJzdFBlcnNvbkJvbmVPZmZzZXQpIHtcbiAgICAgICAgICAgICAgICBsb29rQXQub2Zmc2V0RnJvbUhlYWRCb25lLnNldCgoX2IgPSBzY2hlbWFGaXJzdFBlcnNvbi5maXJzdFBlcnNvbkJvbmVPZmZzZXQueCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMC4wLCAoX2MgPSBzY2hlbWFGaXJzdFBlcnNvbi5maXJzdFBlcnNvbkJvbmVPZmZzZXQueSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMC4wNiwgLSgoX2QgPSBzY2hlbWFGaXJzdFBlcnNvbi5maXJzdFBlcnNvbkJvbmVPZmZzZXQueikgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMC4wKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsb29rQXQub2Zmc2V0RnJvbUhlYWRCb25lLnNldCgwLjAsIDAuMDYsIDAuMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBWUk0gMC4wIGFyZSBmYWNpbmcgWi0gaW5zdGVhZCBvZiBaK1xuICAgICAgICAgICAgbG9va0F0LmZhY2VGcm9udC5zZXQoMC4wLCAwLjAsIC0xLjApO1xuICAgICAgICAgICAgaWYgKGFwcGxpZXIgaW5zdGFuY2VvZiBWUk1Mb29rQXRCb25lQXBwbGllcikge1xuICAgICAgICAgICAgICAgIGFwcGxpZXIuZmFjZUZyb250LnNldCgwLjAsIDAuMCwgLTEuMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbG9va0F0O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YwSW1wb3J0RGVncmVlTWFwKHNjaGVtYURlZ3JlZU1hcCwgZGVmYXVsdE91dHB1dFNjYWxlKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IGN1cnZlID0gc2NoZW1hRGVncmVlTWFwID09PSBudWxsIHx8IHNjaGVtYURlZ3JlZU1hcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hRGVncmVlTWFwLmN1cnZlO1xuICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoY3VydmUpICE9PSAnWzAsMCwwLDEsMSwxLDEsMF0nKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0N1cnZlcyBvZiBMb29rQXREZWdyZWVNYXAgZGVmaW5lZCBpbiBWUk0gMC4wIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHhSYW5nZSA9IChfYSA9IHNjaGVtYURlZ3JlZU1hcCA9PT0gbnVsbCB8fCBzY2hlbWFEZWdyZWVNYXAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjaGVtYURlZ3JlZU1hcC54UmFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDkwLjA7XG4gICAgICAgIGNvbnN0IHlSYW5nZSA9IChfYiA9IHNjaGVtYURlZ3JlZU1hcCA9PT0gbnVsbCB8fCBzY2hlbWFEZWdyZWVNYXAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjaGVtYURlZ3JlZU1hcC55UmFuZ2UpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGRlZmF1bHRPdXRwdXRTY2FsZTtcbiAgICAgICAgLy8gSXQgbWlnaHQgY2F1c2UgTmFOIHdoZW4gYHhSYW5nZWAgaXMgdG9vIHNtYWxsXG4gICAgICAgIC8vIHdoaWNoIG1ha2VzIHRoZSBtZXNoIG9mIHRoZSBoZWFkIGRpc2FwcGVhclxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vaXNzdWVzLzEyMDFcbiAgICAgICAgaWYgKHhSYW5nZSA8IElOUFVUX01BWF9WQUxVRV9NSU5JTVVNKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUxvb2tBdExvYWRlclBsdWdpbjogeFJhbmdlIG9mIGEgZGVncmVlIG1hcCBpcyB0b28gc21hbGwuIENvbnNpZGVyIHJldmlld2luZyB0aGUgZGVncmVlIG1hcCEnKTtcbiAgICAgICAgICAgIHhSYW5nZSA9IElOUFVUX01BWF9WQUxVRV9NSU5JTVVNO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgVlJNTG9va0F0UmFuZ2VNYXAoeFJhbmdlLCB5UmFuZ2UpO1xuICAgIH1cbiAgICBfaW1wb3J0TG9va0F0KGh1bWFub2lkLCBhcHBsaWVyKSB7XG4gICAgICAgIGNvbnN0IGxvb2tBdCA9IG5ldyBWUk1Mb29rQXQoaHVtYW5vaWQsIGFwcGxpZXIpO1xuICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNTG9va0F0SGVscGVyKGxvb2tBdCk7XG4gICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICBoZWxwZXIucmVuZGVyT3JkZXIgPSB0aGlzLmhlbHBlclJvb3QucmVuZGVyT3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxvb2tBdDtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqXG4gKiBSZXByZXNlbnRzIGEgdHlwZSBvZiBhcHBsaWVyLlxuICovXG5jb25zdCBWUk1Mb29rQXRUeXBlTmFtZSA9IHtcbiAgICBCb25lOiAnYm9uZScsXG4gICAgRXhwcmVzc2lvbjogJ2V4cHJlc3Npb24nLFxufTtcblxuLyoqXG4gKiBZb2lua2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9ibG9iL21hc3Rlci9leGFtcGxlcy9qc20vbG9hZGVycy9HTFRGTG9hZGVyLmpzXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVVUkwodXJsLCBwYXRoKSB7XG4gICAgLy8gSW52YWxpZCBVUkxcbiAgICBpZiAodHlwZW9mIHVybCAhPT0gJ3N0cmluZycgfHwgdXJsID09PSAnJylcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIC8vIEhvc3QgUmVsYXRpdmUgVVJMXG4gICAgaWYgKC9eaHR0cHM/OlxcL1xcLy9pLnRlc3QocGF0aCkgJiYgL15cXC8vLnRlc3QodXJsKSkge1xuICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC8oXmh0dHBzPzpcXC9cXC9bXi9dKykuKi9pLCAnJDEnKTtcbiAgICB9XG4gICAgLy8gQWJzb2x1dGUgVVJMIGh0dHA6Ly8saHR0cHM6Ly8sLy9cbiAgICBpZiAoL14oaHR0cHM/Oik/XFwvXFwvL2kudGVzdCh1cmwpKVxuICAgICAgICByZXR1cm4gdXJsO1xuICAgIC8vIERhdGEgVVJJXG4gICAgaWYgKC9eZGF0YTouKiwuKiQvaS50ZXN0KHVybCkpXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgLy8gQmxvYiBVUkxcbiAgICBpZiAoL15ibG9iOi4qJC9pLnRlc3QodXJsKSlcbiAgICAgICAgcmV0dXJuIHVybDtcbiAgICAvLyBSZWxhdGl2ZSBVUkxcbiAgICByZXR1cm4gcGF0aCArIHVybDtcbn1cblxuLyoqXG4gKiBQb3NzaWJsZSBzcGVjIHZlcnNpb25zIGl0IHJlY29nbml6ZXMuXG4gKi9cbmNvbnN0IFBPU1NJQkxFX1NQRUNfVkVSU0lPTlMgPSBuZXcgU2V0KFsnMS4wJywgJzEuMC1iZXRhJ10pO1xuLyoqXG4gKiBBIHBsdWdpbiBvZiBHTFRGTG9hZGVyIHRoYXQgaW1wb3J0cyBhIHtAbGluayBWUk0xTWV0YX0gZnJvbSBhIFZSTSBleHRlbnNpb24gb2YgYSBHTFRGLlxuICovXG5jbGFzcyBWUk1NZXRhTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGUgZXh0ZW5zaW9uIG5hbWUgaW5zdGVhZCBidXQgd2UgaGF2ZSBtdWx0aXBsZSBwbHVnaW5zIGZvciBhbiBleHRlbnNpb24uLi5cbiAgICAgICAgcmV0dXJuICdWUk1NZXRhTG9hZGVyUGx1Z2luJztcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5uZWVkVGh1bWJuYWlsSW1hZ2UgPSAoX2EgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMubmVlZFRodW1ibmFpbEltYWdlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0cnVlO1xuICAgICAgICB0aGlzLmFjY2VwdExpY2Vuc2VVcmxzID0gKF9iID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmFjY2VwdExpY2Vuc2VVcmxzKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBbJ2h0dHBzOi8vdnJtLmRldi9saWNlbnNlcy8xLjAvJ107XG4gICAgICAgIHRoaXMuYWNjZXB0VjBNZXRhID0gKF9jID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmFjY2VwdFYwTWV0YSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogdHJ1ZTtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtTWV0YSA9IHlpZWxkIHRoaXMuX2ltcG9ydChnbHRmKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9pbXBvcnQoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgdjFSZXN1bHQgPSB5aWVsZCB0aGlzLl92MUltcG9ydChnbHRmKTtcbiAgICAgICAgICAgIGlmICh2MVJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYxUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjBSZXN1bHQgPSB5aWVsZCB0aGlzLl92MEltcG9ydChnbHRmKTtcbiAgICAgICAgICAgIGlmICh2MFJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYwUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjFJbXBvcnQoZ2x0Zikge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCBpc1ZSTVVzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoJ1ZSTUNfdnJtJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnVlJNQ192cm0nXTtcbiAgICAgICAgICAgIGlmIChleHRlbnNpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc3BlY1ZlcnNpb24gPSBleHRlbnNpb24uc3BlY1ZlcnNpb247XG4gICAgICAgICAgICBpZiAoIVBPU1NJQkxFX1NQRUNfVkVSU0lPTlMuaGFzKHNwZWNWZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWV0YUxvYWRlclBsdWdpbjogVW5rbm93biBWUk1DX3ZybSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYU1ldGEgPSBleHRlbnNpb24ubWV0YTtcbiAgICAgICAgICAgIGlmICghc2NoZW1hTWV0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdGhyb3cgYW4gZXJyb3IgaWYgYWNjZXB0VjBNZXRhIGlzIGZhbHNlXG4gICAgICAgICAgICBjb25zdCBsaWNlbnNlVXJsID0gc2NoZW1hTWV0YS5saWNlbnNlVXJsO1xuICAgICAgICAgICAgY29uc3QgYWNjZXB0TGljZW5zZVVybHNTZXQgPSBuZXcgU2V0KHRoaXMuYWNjZXB0TGljZW5zZVVybHMpO1xuICAgICAgICAgICAgaWYgKCFhY2NlcHRMaWNlbnNlVXJsc1NldC5oYXMobGljZW5zZVVybCkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZSTU1ldGFMb2FkZXJQbHVnaW46IFRoZSBsaWNlbnNlIHVybCBcIiR7bGljZW5zZVVybH1cIiBpcyBub3QgYWNjZXB0ZWRgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB0aHVtYm5haWxJbWFnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmICh0aGlzLm5lZWRUaHVtYm5haWxJbWFnZSAmJiBzY2hlbWFNZXRhLnRodW1ibmFpbEltYWdlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHVtYm5haWxJbWFnZSA9IChfYyA9ICh5aWVsZCB0aGlzLl9leHRyYWN0R0xURkltYWdlKHNjaGVtYU1ldGEudGh1bWJuYWlsSW1hZ2UpKSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtZXRhVmVyc2lvbjogJzEnLFxuICAgICAgICAgICAgICAgIG5hbWU6IHNjaGVtYU1ldGEubmFtZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiBzY2hlbWFNZXRhLnZlcnNpb24sXG4gICAgICAgICAgICAgICAgYXV0aG9yczogc2NoZW1hTWV0YS5hdXRob3JzLFxuICAgICAgICAgICAgICAgIGNvcHlyaWdodEluZm9ybWF0aW9uOiBzY2hlbWFNZXRhLmNvcHlyaWdodEluZm9ybWF0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRhY3RJbmZvcm1hdGlvbjogc2NoZW1hTWV0YS5jb250YWN0SW5mb3JtYXRpb24sXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogc2NoZW1hTWV0YS5yZWZlcmVuY2VzLFxuICAgICAgICAgICAgICAgIHRoaXJkUGFydHlMaWNlbnNlczogc2NoZW1hTWV0YS50aGlyZFBhcnR5TGljZW5zZXMsXG4gICAgICAgICAgICAgICAgdGh1bWJuYWlsSW1hZ2UsXG4gICAgICAgICAgICAgICAgbGljZW5zZVVybDogc2NoZW1hTWV0YS5saWNlbnNlVXJsLFxuICAgICAgICAgICAgICAgIGF2YXRhclBlcm1pc3Npb246IHNjaGVtYU1ldGEuYXZhdGFyUGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICBhbGxvd0V4Y2Vzc2l2ZWx5VmlvbGVudFVzYWdlOiBzY2hlbWFNZXRhLmFsbG93RXhjZXNzaXZlbHlWaW9sZW50VXNhZ2UsXG4gICAgICAgICAgICAgICAgYWxsb3dFeGNlc3NpdmVseVNleHVhbFVzYWdlOiBzY2hlbWFNZXRhLmFsbG93RXhjZXNzaXZlbHlTZXh1YWxVc2FnZSxcbiAgICAgICAgICAgICAgICBjb21tZXJjaWFsVXNhZ2U6IHNjaGVtYU1ldGEuY29tbWVyY2lhbFVzYWdlLFxuICAgICAgICAgICAgICAgIGFsbG93UG9saXRpY2FsT3JSZWxpZ2lvdXNVc2FnZTogc2NoZW1hTWV0YS5hbGxvd1BvbGl0aWNhbE9yUmVsaWdpb3VzVXNhZ2UsXG4gICAgICAgICAgICAgICAgYWxsb3dBbnRpc29jaWFsT3JIYXRlVXNhZ2U6IHNjaGVtYU1ldGEuYWxsb3dBbnRpc29jaWFsT3JIYXRlVXNhZ2UsXG4gICAgICAgICAgICAgICAgY3JlZGl0Tm90YXRpb246IHNjaGVtYU1ldGEuY3JlZGl0Tm90YXRpb24sXG4gICAgICAgICAgICAgICAgYWxsb3dSZWRpc3RyaWJ1dGlvbjogc2NoZW1hTWV0YS5hbGxvd1JlZGlzdHJpYnV0aW9uLFxuICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbjogc2NoZW1hTWV0YS5tb2RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgb3RoZXJMaWNlbnNlVXJsOiBzY2hlbWFNZXRhLm90aGVyTGljZW5zZVVybCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjBJbXBvcnQoZ2x0Zikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgdnJtRXh0ID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuVlJNO1xuICAgICAgICAgICAgaWYgKCF2cm1FeHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYU1ldGEgPSB2cm1FeHQubWV0YTtcbiAgICAgICAgICAgIGlmICghc2NoZW1hTWV0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdGhyb3cgYW4gZXJyb3IgaWYgYWNjZXB0VjBNZXRhIGlzIGZhbHNlXG4gICAgICAgICAgICBpZiAoIXRoaXMuYWNjZXB0VjBNZXRhKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1NZXRhTG9hZGVyUGx1Z2luOiBBdHRlbXB0ZWQgdG8gbG9hZCBWUk0wLjAgbWV0YSBidXQgYWNjZXB0VjBNZXRhIGlzIGZhbHNlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBsb2FkIHRodW1ibmFpbCB0ZXh0dXJlXG4gICAgICAgICAgICBsZXQgdGV4dHVyZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm5lZWRUaHVtYm5haWxJbWFnZSAmJiBzY2hlbWFNZXRhLnRleHR1cmUgIT0gbnVsbCAmJiBzY2hlbWFNZXRhLnRleHR1cmUgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGV4dHVyZSA9IHlpZWxkIHRoaXMucGFyc2VyLmdldERlcGVuZGVuY3koJ3RleHR1cmUnLCBzY2hlbWFNZXRhLnRleHR1cmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtZXRhVmVyc2lvbjogJzAnLFxuICAgICAgICAgICAgICAgIGFsbG93ZWRVc2VyTmFtZTogc2NoZW1hTWV0YS5hbGxvd2VkVXNlck5hbWUsXG4gICAgICAgICAgICAgICAgYXV0aG9yOiBzY2hlbWFNZXRhLmF1dGhvcixcbiAgICAgICAgICAgICAgICBjb21tZXJjaWFsVXNzYWdlTmFtZTogc2NoZW1hTWV0YS5jb21tZXJjaWFsVXNzYWdlTmFtZSxcbiAgICAgICAgICAgICAgICBjb250YWN0SW5mb3JtYXRpb246IHNjaGVtYU1ldGEuY29udGFjdEluZm9ybWF0aW9uLFxuICAgICAgICAgICAgICAgIGxpY2Vuc2VOYW1lOiBzY2hlbWFNZXRhLmxpY2Vuc2VOYW1lLFxuICAgICAgICAgICAgICAgIG90aGVyTGljZW5zZVVybDogc2NoZW1hTWV0YS5vdGhlckxpY2Vuc2VVcmwsXG4gICAgICAgICAgICAgICAgb3RoZXJQZXJtaXNzaW9uVXJsOiBzY2hlbWFNZXRhLm90aGVyUGVybWlzc2lvblVybCxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2U6IHNjaGVtYU1ldGEucmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIHNleHVhbFVzc2FnZU5hbWU6IHNjaGVtYU1ldGEuc2V4dWFsVXNzYWdlTmFtZSxcbiAgICAgICAgICAgICAgICB0ZXh0dXJlOiB0ZXh0dXJlICE9PSBudWxsICYmIHRleHR1cmUgIT09IHZvaWQgMCA/IHRleHR1cmUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IHNjaGVtYU1ldGEudGl0bGUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogc2NoZW1hTWV0YS52ZXJzaW9uLFxuICAgICAgICAgICAgICAgIHZpb2xlbnRVc3NhZ2VOYW1lOiBzY2hlbWFNZXRhLnZpb2xlbnRVc3NhZ2VOYW1lLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9leHRyYWN0R0xURkltYWdlKGluZGV4KSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gKF9hID0ganNvbi5pbWFnZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVtpbmRleF07XG4gICAgICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTU1ldGFMb2FkZXJQbHVnaW46IEF0dGVtcHQgdG8gdXNlIGltYWdlc1ske2luZGV4fV0gb2YgZ2xURiBhcyBhIHRodW1ibmFpbCBidXQgdGhlIGltYWdlIGRvZXNuJ3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9ibG9iL3IxMjQvZXhhbXBsZXMvanNtL2xvYWRlcnMvR0xURkxvYWRlci5qcyNMMjQ2N1xuICAgICAgICAgICAgLy8gYHNvdXJjZS51cmlgIG1pZ2h0IGJlIGEgcmVmZXJlbmNlIHRvIGEgZmlsZVxuICAgICAgICAgICAgbGV0IHNvdXJjZVVSSSA9IHNvdXJjZS51cmk7XG4gICAgICAgICAgICAvLyBMb2FkIHRoZSBiaW5hcnkgYXMgYSBibG9iXG4gICAgICAgICAgICBpZiAoc291cmNlLmJ1ZmZlclZpZXcgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1ZmZlclZpZXcgPSB5aWVsZCB0aGlzLnBhcnNlci5nZXREZXBlbmRlbmN5KCdidWZmZXJWaWV3Jywgc291cmNlLmJ1ZmZlclZpZXcpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyVmlld10sIHsgdHlwZTogc291cmNlLm1pbWVUeXBlIH0pO1xuICAgICAgICAgICAgICAgIHNvdXJjZVVSSSA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc291cmNlVVJJID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTU1ldGFMb2FkZXJQbHVnaW46IEF0dGVtcHQgdG8gdXNlIGltYWdlc1ske2luZGV4fV0gb2YgZ2xURiBhcyBhIHRodW1ibmFpbCBidXQgdGhlIGltYWdlIGNvdWxkbid0IGxvYWQgcHJvcGVybHlgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxvYWRlciA9IG5ldyBUSFJFRS5JbWFnZUxvYWRlcigpO1xuICAgICAgICAgICAgcmV0dXJuIHlpZWxkIGxvYWRlci5sb2FkQXN5bmMocmVzb2x2ZVVSTChzb3VyY2VVUkksIHRoaXMucGFyc2VyLm9wdGlvbnMucGF0aCkpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignVlJNTWV0YUxvYWRlclBsdWdpbjogRmFpbGVkIHRvIGxvYWQgYSB0aHVtYm5haWwgaW1hZ2UnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgVlJNIG1vZGVsLlxuICogVGhpcyBjbGFzcyBvbmx5IGluY2x1ZGVzIGNvcmUgc3BlYyBvZiB0aGUgVlJNIChgVlJNQ192cm1gKS5cbiAqL1xuY2xhc3MgVlJNQ29yZSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IFZSTSBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMgW1tWUk1QYXJhbWV0ZXJzXV0gdGhhdCByZXByZXNlbnRzIGNvbXBvbmVudHMgb2YgdGhlIFZSTVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHBhcmFtcykge1xuICAgICAgICB0aGlzLnNjZW5lID0gcGFyYW1zLnNjZW5lO1xuICAgICAgICB0aGlzLm1ldGEgPSBwYXJhbXMubWV0YTtcbiAgICAgICAgdGhpcy5odW1hbm9pZCA9IHBhcmFtcy5odW1hbm9pZDtcbiAgICAgICAgdGhpcy5leHByZXNzaW9uTWFuYWdlciA9IHBhcmFtcy5leHByZXNzaW9uTWFuYWdlcjtcbiAgICAgICAgdGhpcy5maXJzdFBlcnNvbiA9IHBhcmFtcy5maXJzdFBlcnNvbjtcbiAgICAgICAgdGhpcy5sb29rQXQgPSBwYXJhbXMubG9va0F0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiAqKllvdSBuZWVkIHRvIGNhbGwgdGhpcyBvbiB5b3VyIHVwZGF0ZSBsb29wLioqXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgZXZlcnkgVlJNIGNvbXBvbmVudHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVsdGEgZGVsdGFUaW1lXG4gICAgICovXG4gICAgdXBkYXRlKGRlbHRhKSB7XG4gICAgICAgIHRoaXMuaHVtYW5vaWQudXBkYXRlKCk7XG4gICAgICAgIGlmICh0aGlzLmxvb2tBdCkge1xuICAgICAgICAgICAgdGhpcy5sb29rQXQudXBkYXRlKGRlbHRhKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHByZXNzaW9uTWFuYWdlcikge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFuYWdlci51cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuY2xhc3MgVlJNQ29yZUxvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIC8vIFdlIHNob3VsZCB1c2UgdGhlIGV4dGVuc2lvbiBuYW1lIGluc3RlYWQgYnV0IHdlIGhhdmUgbXVsdGlwbGUgcGx1Z2lucyBmb3IgYW4gZXh0ZW5zaW9uLi4uXG4gICAgICAgIHJldHVybiAnVlJNQ192cm0nO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgICAgIGNvbnN0IGhlbHBlclJvb3QgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuaGVscGVyUm9vdDtcbiAgICAgICAgY29uc3QgYXV0b1VwZGF0ZUh1bWFuQm9uZXMgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYXV0b1VwZGF0ZUh1bWFuQm9uZXM7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvblBsdWdpbiA9IChfYSA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5leHByZXNzaW9uUGx1Z2luKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBuZXcgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbihwYXJzZXIpO1xuICAgICAgICB0aGlzLmZpcnN0UGVyc29uUGx1Z2luID0gKF9iID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmZpcnN0UGVyc29uUGx1Z2luKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBuZXcgVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW4ocGFyc2VyKTtcbiAgICAgICAgdGhpcy5odW1hbm9pZFBsdWdpbiA9XG4gICAgICAgICAgICAoX2MgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuaHVtYW5vaWRQbHVnaW4pICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IG5ldyBWUk1IdW1hbm9pZExvYWRlclBsdWdpbihwYXJzZXIsIHsgaGVscGVyUm9vdCwgYXV0b1VwZGF0ZUh1bWFuQm9uZXMgfSk7XG4gICAgICAgIHRoaXMubG9va0F0UGx1Z2luID0gKF9kID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmxvb2tBdFBsdWdpbikgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogbmV3IFZSTUxvb2tBdExvYWRlclBsdWdpbihwYXJzZXIsIHsgaGVscGVyUm9vdCB9KTtcbiAgICAgICAgdGhpcy5tZXRhUGx1Z2luID0gKF9lID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1ldGFQbHVnaW4pICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IG5ldyBWUk1NZXRhTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLm1ldGFQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgICAgICAgICAgeWllbGQgdGhpcy5odW1hbm9pZFBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmV4cHJlc3Npb25QbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgICAgICAgICAgeWllbGQgdGhpcy5sb29rQXRQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgICAgICAgICAgeWllbGQgdGhpcy5maXJzdFBlcnNvblBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgICAgICAgICBjb25zdCBtZXRhID0gZ2x0Zi51c2VyRGF0YS52cm1NZXRhO1xuICAgICAgICAgICAgY29uc3QgaHVtYW5vaWQgPSBnbHRmLnVzZXJEYXRhLnZybUh1bWFub2lkO1xuICAgICAgICAgICAgLy8gbWV0YSBhbmQgaHVtYW5vaWQgYXJlIHJlcXVpcmVkIHRvIGJlIGEgVlJNLlxuICAgICAgICAgICAgLy8gRG9uJ3QgY3JlYXRlIFZSTSBpZiB0aGV5IGFyZSBudWxsXG4gICAgICAgICAgICBpZiAobWV0YSAmJiBodW1hbm9pZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZybUNvcmUgPSBuZXcgVlJNQ29yZSh7XG4gICAgICAgICAgICAgICAgICAgIHNjZW5lOiBnbHRmLnNjZW5lLFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uTWFuYWdlcjogZ2x0Zi51c2VyRGF0YS52cm1FeHByZXNzaW9uTWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RQZXJzb246IGdsdGYudXNlckRhdGEudnJtRmlyc3RQZXJzb24sXG4gICAgICAgICAgICAgICAgICAgIGh1bWFub2lkLFxuICAgICAgICAgICAgICAgICAgICBsb29rQXQ6IGdsdGYudXNlckRhdGEudnJtTG9va0F0LFxuICAgICAgICAgICAgICAgICAgICBtZXRhLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtQ29yZSA9IHZybUNvcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgVlJNQ29yZSwgVlJNQ29yZUxvYWRlclBsdWdpbiwgVlJNRXhwcmVzc2lvbiwgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbiwgVlJNRXhwcmVzc2lvbk1hbmFnZXIsIFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yQmluZCwgVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLCBWUk1FeHByZXNzaW9uTW9ycGhUYXJnZXRCaW5kLCBWUk1FeHByZXNzaW9uT3ZlcnJpZGVUeXBlLCBWUk1FeHByZXNzaW9uUHJlc2V0TmFtZSwgVlJNRXhwcmVzc2lvblRleHR1cmVUcmFuc2Zvcm1CaW5kLCBWUk1GaXJzdFBlcnNvbiwgVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW4sIFZSTUZpcnN0UGVyc29uTWVzaEFubm90YXRpb25UeXBlLCBWUk1IdW1hbkJvbmVMaXN0LCBWUk1IdW1hbkJvbmVOYW1lLCBWUk1IdW1hbkJvbmVQYXJlbnRNYXAsIFZSTUh1bWFub2lkLCBWUk1IdW1hbm9pZEhlbHBlciwgVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW4sIFZSTUxvb2tBdCwgVlJNTG9va0F0Qm9uZUFwcGxpZXIsIFZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyLCBWUk1Mb29rQXRIZWxwZXIsIFZSTUxvb2tBdExvYWRlclBsdWdpbiwgVlJNTG9va0F0UmFuZ2VNYXAsIFZSTUxvb2tBdFR5cGVOYW1lLCBWUk1NZXRhTG9hZGVyUGx1Z2luLCBWUk1SZXF1aXJlZEh1bWFuQm9uZU5hbWUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFdOdmNtVXViVzlrZFd4bExtcHpJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12Wlhod2NtVnpjMmx2Ym5NdlZsSk5SWGh3Y21WemMybHZiaTUwY3lJc0lpNHVMeTR1THk0dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk1pTENJdUxpOXpjbU12ZFhScGJITXZaMngwWmtWNGRISmhZM1JRY21sdGFYUnBkbVZ6Um5KdmJVNXZaR1V1ZEhNaUxDSXVMaTl6Y21NdmRYUnBiSE12WjJ4MFprZGxkRUZ6YzI5amFXRjBaV1JOWVhSbGNtbGhiRWx1WkdWNExuUnpJaXdpTGk0dmMzSmpMMlY0Y0hKbGMzTnBiMjV6TDFaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxMblJ6SWl3aUxpNHZjM0pqTDNWMGFXeHpMM05oZEhWeVlYUmxMblJ6SWl3aUxpNHZjM0pqTDJWNGNISmxjM05wYjI1ekwxWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlMblJ6SWl3aUxpNHZjM0pqTDJWNGNISmxjM05wYjI1ekwxWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVZIbHdaUzUwY3lJc0lpNHVMM055WXk5bGVIQnlaWE56YVc5dWN5OVdVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNrSnBibVF1ZEhNaUxDSXVMaTl6Y21NdlpYaHdjbVZ6YzJsdmJuTXZWbEpOUlhod2NtVnpjMmx2YmsxdmNuQm9WR0Z5WjJWMFFtbHVaQzUwY3lJc0lpNHVMM055WXk5bGVIQnlaWE56YVc5dWN5OVdVazFGZUhCeVpYTnphVzl1VkdWNGRIVnlaVlJ5WVc1elptOXliVUpwYm1RdWRITWlMQ0l1TGk5emNtTXZaWGh3Y21WemMybHZibk12VmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiaTUwY3lJc0lpNHVMM055WXk5bGVIQnlaWE56YVc5dWN5OVdVazFGZUhCeVpYTnphVzl1VDNabGNuSnBaR1ZVZVhCbExuUnpJaXdpTGk0dmMzSmpMMlpwY25OMFVHVnljMjl1TDFaU1RVWnBjbk4wVUdWeWMyOXVMblJ6SWl3aUxpNHZjM0pqTDJacGNuTjBVR1Z5YzI5dUwxWlNUVVpwY25OMFVHVnljMjl1VEc5aFpHVnlVR3gxWjJsdUxuUnpJaXdpTGk0dmMzSmpMMlpwY25OMFVHVnljMjl1TDFaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1VWVYQmxMblJ6SWl3aUxpNHZjM0pqTDJoMWJXRnViMmxrTDJobGJIQmxjbk12VmxKTlNIVnRZVzV2YVdSSVpXeHdaWEl1ZEhNaUxDSXVMaTl6Y21NdmFIVnRZVzV2YVdRdlZsSk5TSFZ0WVc1Q2IyNWxUR2x6ZEM1MGN5SXNJaTR1TDNOeVl5OW9kVzFoYm05cFpDOVdVazFJZFcxaGJrSnZibVZPWVcxbExuUnpJaXdpTGk0dmMzSmpMMmgxYldGdWIybGtMMVpTVFVoMWJXRnVRbTl1WlZCaGNtVnVkRTFoY0M1MGN5SXNJaTR1TDNOeVl5OTFkR2xzY3k5eGRXRjBTVzUyWlhKMFEyOXRjR0YwTG5Seklpd2lMaTR2YzNKakwyaDFiV0Z1YjJsa0wxWlNUVkpwWnk1MGN5SXNJaTR1TDNOeVl5OW9kVzFoYm05cFpDOVdVazFJZFcxaGJtOXBaRkpwWnk1MGN5SXNJaTR1TDNOeVl5OW9kVzFoYm05cFpDOVdVazFJZFcxaGJtOXBaQzUwY3lJc0lpNHVMM055WXk5b2RXMWhibTlwWkM5V1VrMVNaWEYxYVhKbFpFaDFiV0Z1UW05dVpVNWhiV1V1ZEhNaUxDSXVMaTl6Y21NdmFIVnRZVzV2YVdRdlZsSk5TSFZ0WVc1dmFXUk1iMkZrWlhKUWJIVm5hVzR1ZEhNaUxDSXVMaTl6Y21NdmJHOXZhMEYwTDJobGJIQmxjbk12ZFhScGJITXZSbUZ1UW5WbVptVnlSMlZ2YldWMGNua3VkSE1pTENJdUxpOXpjbU12Ykc5dmEwRjBMMmhsYkhCbGNuTXZkWFJwYkhNdlRHbHVaVUZ1WkZOd2FHVnlaVUoxWm1abGNrZGxiMjFsZEhKNUxuUnpJaXdpTGk0dmMzSmpMMnh2YjJ0QmRDOW9aV3h3WlhKekwxWlNUVXh2YjJ0QmRFaGxiSEJsY2k1MGN5SXNJaTR1TDNOeVl5OTFkR2xzY3k5blpYUlhiM0pzWkZGMVlYUmxjbTVwYjI1TWFYUmxMblJ6SWl3aUxpNHZjM0pqTDJ4dmIydEJkQzkxZEdsc2N5OWpZV3hqUVhwcGJYVjBhRUZzZEdsMGRXUmxMblJ6SWl3aUxpNHZjM0pqTDJ4dmIydEJkQzkxZEdsc2N5OXpZVzVwZEdsNlpVRnVaMnhsTG5Seklpd2lMaTR2YzNKakwyeHZiMnRCZEM5V1VrMU1iMjlyUVhRdWRITWlMQ0l1TGk5emNtTXZiRzl2YTBGMEwxWlNUVXh2YjJ0QmRFSnZibVZCY0hCc2FXVnlMblJ6SWl3aUxpNHZjM0pqTDJ4dmIydEJkQzlXVWsxTWIyOXJRWFJGZUhCeVpYTnphVzl1UVhCd2JHbGxjaTUwY3lJc0lpNHVMM055WXk5c2IyOXJRWFF2VmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEF1ZEhNaUxDSXVMaTl6Y21NdmJHOXZhMEYwTDFaU1RVeHZiMnRCZEV4dllXUmxjbEJzZFdkcGJpNTBjeUlzSWk0dUwzTnlZeTlzYjI5clFYUXZWbEpOVEc5dmEwRjBWSGx3WlU1aGJXVXVkSE1pTENJdUxpOXpjbU12ZFhScGJITXZjbVZ6YjJ4MlpWVlNUQzUwY3lJc0lpNHVMM055WXk5dFpYUmhMMVpTVFUxbGRHRk1iMkZrWlhKUWJIVm5hVzR1ZEhNaUxDSXVMaTl6Y21NdlZsSk5RMjl5WlM1MGN5SXNJaTR1TDNOeVl5OVdVazFEYjNKbFRHOWhaR1Z5VUd4MVoybHVMblJ6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUZaU1RVVjRjSEpsYzNOcGIyNUNhVzVrSUgwZ1puSnZiU0FuTGk5V1VrMUZlSEJ5WlhOemFXOXVRbWx1WkNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVVjRjSEpsYzNOcGIyNVBkbVZ5Y21sa1pWUjVjR1VnZlNCbWNtOXRJQ2N1TDFaU1RVVjRjSEpsYzNOcGIyNVBkbVZ5Y21sa1pWUjVjR1VuTzF4dVhHNHZMeUJoYm1sdFlYUnBiMjVOYVhobGNpRGpnYTdubTZQb3BwYmxyNzdvc2FIamdhL2pnSUZUWTJWdVpTRGpnYTdrdUszamdhdmxoYVhqZ2FQamdhYmpnWVRqZ292bHY0WG9wb0hqZ1l6amdZTGpnb3ZqZ0lKY2JpOHZJT09CbmVPQnJ1T0JuK09DZ2VPQWdlaWhxT2VrdXVPQ3F1T0RsdU9DdU9PQ3ArT0NyK09EaU9PQnArT0JyK09CcXVPQmhPT0JrZU9Dak9PQnFlT0FnVTlpYW1WamRETkVJT09Da3VlMm1lYUp2K09CbCtPQnBpQlRZMlZ1WlNEamdhdm1pcFhsaGFYamdhZmpnWTNqZ292amdvampnWWJqZ2F2amdabmpnb3ZqZ0lKY2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxRmVIQnlaWE56YVc5dUlHVjRkR1Z1WkhNZ1ZFaFNSVVV1VDJKcVpXTjBNMFFnZTF4dUlDQXZLaXBjYmlBZ0lDb2dUbUZ0WlNCdlppQjBhR2x6SUdWNGNISmxjM05wYjI0dVhHNGdJQ0FxSUVScGMzUnBibWQxYVhOb1pXUWdkMmwwYUNCZ2JtRnRaV0FnYzJsdVkyVWdZRzVoYldWZ0lIZHBiR3dnWW1VZ1kyOXVabXhwWTNSbFpDQjNhWFJvSUU5aWFtVmpkRE5FTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdWNGNISmxjM05wYjI1T1lXMWxPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0JqZFhKeVpXNTBJSGRsYVdkb2RDQnZaaUIwYUdVZ1pYaHdjbVZ6YzJsdmJpNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QjNaV2xuYUhRZ1BTQXdMakE3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWx1ZEdWeWNISmxkQ0IyWVd4MVpYTWdaM0psWVhSbGNpQjBhR0Z1SURBdU5TQmhjeUF4TGpBc0lHOXlkR2hsY25kcGMyVWdNQzR3TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdselFtbHVZWEo1SUQwZ1ptRnNjMlU3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRk53WldOcFpua2dhRzkzSUhSb1pTQmxlSEJ5WlhOemFXOXVJRzkyWlhKeWFXUmxjeUJpYkdsdWF5QmxlSEJ5WlhOemFXOXVjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ2ZG1WeWNtbGtaVUpzYVc1ck9pQldVazFGZUhCeVpYTnphVzl1VDNabGNuSnBaR1ZVZVhCbElEMGdKMjV2Ym1Vbk8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVGNHVmphV1o1SUdodmR5QjBhR1VnWlhod2NtVnpjMmx2YmlCdmRtVnljbWxrWlhNZ2JHOXZhMEYwSUdWNGNISmxjM05wYjI1ekxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHOTJaWEp5YVdSbFRHOXZhMEYwT2lCV1VrMUZlSEJ5WlhOemFXOXVUM1psY25KcFpHVlVlWEJsSUQwZ0oyNXZibVVuTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJUY0dWamFXWjVJR2h2ZHlCMGFHVWdaWGh3Y21WemMybHZiaUJ2ZG1WeWNtbGtaWE1nYlc5MWRHZ2daWGh3Y21WemMybHZibk11WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYjNabGNuSnBaR1ZOYjNWMGFEb2dWbEpOUlhod2NtVnpjMmx2Yms5MlpYSnlhV1JsVkhsd1pTQTlJQ2R1YjI1bEp6dGNibHh1SUNCd2NtbDJZWFJsSUY5aWFXNWtjem9nVmxKTlJYaHdjbVZ6YzJsdmJrSnBibVJiWFNBOUlGdGRPMXh1WEc0Z0lHOTJaWEp5YVdSbElISmxZV1J2Ym14NUlIUjVjR1U2SUhOMGNtbHVaeUI4SUNkV1VrMUZlSEJ5WlhOemFXOXVKenRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0IyWVd4MVpTQnlaWEJ5WlhObGJuUnpJR2h2ZHlCdGRXTm9JR2wwSUhOb2IzVnNaQ0J2ZG1WeWNtbGtaU0JpYkdsdWF5QmxlSEJ5WlhOemFXOXVjeTVjYmlBZ0lDb2dZREF1TUdBZ1BUMGdibThnYjNabGNuSnBaR1VnWVhRZ1lXeHNMQ0JnTVM0d1lDQTlQU0JqYjIxd2JHVjBaV3g1SUdKc2IyTnJJSFJvWlNCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnYjNabGNuSnBaR1ZDYkdsdWEwRnRiM1Z1ZENncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG05MlpYSnlhV1JsUW14cGJtc2dQVDA5SUNkaWJHOWpheWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUF3TGpBZ1BDQjBhR2x6TG5kbGFXZG9kQ0EvSURFdU1DQTZJREF1TUR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViM1psY25KcFpHVkNiR2x1YXlBOVBUMGdKMkpzWlc1a0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZDJWcFoyaDBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTUM0d08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJSFpoYkhWbElISmxjSEpsYzJWdWRITWdhRzkzSUcxMVkyZ2dhWFFnYzJodmRXeGtJRzkyWlhKeWFXUmxJR3h2YjJ0QmRDQmxlSEJ5WlhOemFXOXVjeTVjYmlBZ0lDb2dZREF1TUdBZ1BUMGdibThnYjNabGNuSnBaR1VnWVhRZ1lXeHNMQ0JnTVM0d1lDQTlQU0JqYjIxd2JHVjBaV3g1SUdKc2IyTnJJSFJvWlNCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnYjNabGNuSnBaR1ZNYjI5clFYUkJiVzkxYm5Rb0tUb2diblZ0WW1WeUlIdGNiaUFnSUNCcFppQW9kR2hwY3k1dmRtVnljbWxrWlV4dmIydEJkQ0E5UFQwZ0oySnNiMk5ySnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURBdU1DQThJSFJvYVhNdWQyVnBaMmgwSUQ4Z01TNHdJRG9nTUM0d08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTV2ZG1WeWNtbGtaVXh2YjJ0QmRDQTlQVDBnSjJKc1pXNWtKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWQyVnBaMmgwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z01DNHdPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUhaaGJIVmxJSEpsY0hKbGMyVnVkSE1nYUc5M0lHMTFZMmdnYVhRZ2MyaHZkV3hrSUc5MlpYSnlhV1JsSUcxdmRYUm9JR1Y0Y0hKbGMzTnBiMjV6TGx4dUlDQWdLaUJnTUM0d1lDQTlQU0J1YnlCdmRtVnljbWxrWlNCaGRDQmhiR3dzSUdBeExqQmdJRDA5SUdOdmJYQnNaWFJsYkhrZ1lteHZZMnNnZEdobElHVjRjSEpsYzNOcGIyNXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZENCdmRtVnljbWxrWlUxdmRYUm9RVzF2ZFc1MEtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWIzWmxjbkpwWkdWTmIzVjBhQ0E5UFQwZ0oySnNiMk5ySnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURBdU1DQThJSFJvYVhNdWQyVnBaMmgwSUQ4Z01TNHdJRG9nTUM0d08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTV2ZG1WeWNtbGtaVTF2ZFhSb0lEMDlQU0FuWW14bGJtUW5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1M1pXbG5hSFE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBd0xqQTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdZMjl1YzNSeWRXTjBiM0lvWlhod2NtVnpjMmx2Yms1aGJXVTZJSE4wY21sdVp5a2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNWNiaUFnSUNCMGFHbHpMbTVoYldVZ1BTQmdWbEpOUlhod2NtVnpjMmx2Ymw4a2UyVjRjSEpsYzNOcGIyNU9ZVzFsZldBN1hHNGdJQ0FnZEdocGN5NWxlSEJ5WlhOemFXOXVUbUZ0WlNBOUlHVjRjSEpsYzNOcGIyNU9ZVzFsTzF4dVhHNGdJQ0FnTHk4Z2RISmhkbVZ5YzJVZzVwbUM0NEd1NXBXUjVyaUk1b21MNXE2MTQ0R280NEdYNDRHbUlFOWlhbVZqZERORUlPT0JwK09CcitPQnF1T0JoT09CaytPQnFPT0NrdWFZanVla3V1T0JsK09CcHVPQml1T0JqMXh1SUNBZ0lIUm9hWE11ZEhsd1pTQTlJQ2RXVWsxRmVIQnlaWE56YVc5dUp6dGNibHh1SUNBZ0lDOHZJT2locU9la3V1ZWJydWVhaE9PQnJ1T0NxdU9EbHVPQ3VPT0NwK09DcitPRGlPT0JwK09CcitPQnF1T0JoT09CcnVPQnArT0FnZWl5b09pTnQraTd2ZWE0bStPQnJ1T0JuK09DZ2VPQnF5QjJhWE5wWW14bElPT0NraUJtWVd4elpTRGpnYXZqZ1pmamdhYmpnWXJqZ1kvamdJSmNiaUFnSUNBdkx5RGpnWlBqZ296amdhdmpnb2pqZ29yamdJSGpnWlBqZ2E3amdxVGpnN1BqZ3JuamdyL2pnN1BqZ3JuamdhdmxyNzdqZ1puamdvdm1yNDdqZzVYamc2empnN3pqZzZEamdhNGdiV0YwY21sNElPaUhxdVdMbGVpb2lPZXVsK09Da3VlY2dlZVZwZU9CcCtPQmplT0NpK09BZ2x4dUlDQWdJSFJvYVhNdWRtbHphV0pzWlNBOUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdGa1pFSnBibVFvWW1sdVpEb2dWbEpOUlhod2NtVnpjMmx2YmtKcGJtUXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbDlpYVc1a2N5NXdkWE5vS0dKcGJtUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVGd2NHeDVJSGRsYVdkb2RDQjBieUJsZG1WeWVTQmhjM05wWjI1bFpDQmliR1Z1WkNCemFHRndaWE11WEc0Z0lDQXFJRk5vYjNWc1pDQmlaU0JqWVd4c1pXUWdaWFpsY25rZ1puSmhiV1V1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWVhCd2JIbFhaV2xuYUhRb2IzQjBhVzl1Y3o4NklIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQk5kV3gwYVhCc2FXVnpJR0VnZG1Gc2RXVWdkRzhnYVhSeklIZGxhV2RvZENCMGJ5QmhjSEJzZVM1Y2JpQWdJQ0FnS2lCSmJuUmxibVJsWkNCMGJ5QmlaU0IxYzJWa0lHWnZjaUJ2ZG1WeWNtbGthVzVuSUdGdUlHVjRjSEpsYzNOcGIyNGdkMlZwWjJoMElHSjVJR0Z1YjNSb1pYSWdaWGh3Y21WemMybHZiaTVjYmlBZ0lDQWdLaUJUWldVZ1lXeHpiem9nZTBCc2FXNXJJRzkyWlhKeWFXUmxRbXhwYm10OUxDQjdRR3hwYm1zZ2IzWmxjbkpwWkdWTWIyOXJRWFI5TENCN1FHeHBibXNnYjNabGNuSnBaR1ZOYjNWMGFIMWNiaUFnSUNBZ0tpOWNiaUFnSUNCdGRXeDBhWEJzYVdWeVB6b2diblZ0WW1WeU8xeHVJQ0I5S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdiR1YwSUdGamRIVmhiRmRsYVdkb2RDQTlJSFJvYVhNdWFYTkNhVzVoY25rZ1B5QW9kR2hwY3k1M1pXbG5hSFFnUEQwZ01DNDFJRDhnTUM0d0lEb2dNUzR3S1NBNklIUm9hWE11ZDJWcFoyaDBPMXh1SUNBZ0lHRmpkSFZoYkZkbGFXZG9kQ0FxUFNCdmNIUnBiMjV6UHk1dGRXeDBhWEJzYVdWeUlEOC9JREV1TUR0Y2JseHVJQ0FnSUhSb2FYTXVYMkpwYm1SekxtWnZja1ZoWTJnb0tHSnBibVFwSUQwK0lHSnBibVF1WVhCd2JIbFhaV2xuYUhRb1lXTjBkV0ZzVjJWcFoyaDBLU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyeGxZWElnY0hKbGRtbHZkWE5zZVNCaGMzTnBaMjVsWkNCaWJHVnVaQ0J6YUdGd1pYTXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZMnhsWVhKQmNIQnNhV1ZrVjJWcFoyaDBLQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WDJKcGJtUnpMbVp2Y2tWaFkyZ29LR0pwYm1RcElEMCtJR0pwYm1RdVkyeGxZWEpCY0hCc2FXVmtWMlZwWjJoMEtDa3BPMXh1SUNCOVhHNTlYRzRpTENJdktpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xWEhKY2JrTnZjSGx5YVdkb2RDQW9ZeWtnVFdsamNtOXpiMlowSUVOdmNuQnZjbUYwYVc5dUxseHlYRzVjY2x4dVVHVnliV2x6YzJsdmJpQjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnWVc1a0wyOXlJR1JwYzNSeWFXSjFkR1VnZEdocGN5QnpiMlowZDJGeVpTQm1iM0lnWVc1NVhISmNibkIxY25CdmMyVWdkMmwwYUNCdmNpQjNhWFJvYjNWMElHWmxaU0JwY3lCb1pYSmxZbmtnWjNKaGJuUmxaQzVjY2x4dVhISmNibFJJUlNCVFQwWlVWMEZTUlNCSlV5QlFVazlXU1VSRlJDQmNJa0ZUSUVsVFhDSWdRVTVFSUZSSVJTQkJWVlJJVDFJZ1JFbFRRMHhCU1UxVElFRk1UQ0JYUVZKU1FVNVVTVVZUSUZkSlZFaGNjbHh1VWtWSFFWSkVJRlJQSUZSSVNWTWdVMDlHVkZkQlVrVWdTVTVEVEZWRVNVNUhJRUZNVENCSlRWQk1TVVZFSUZkQlVsSkJUbFJKUlZNZ1QwWWdUVVZTUTBoQlRsUkJRa2xNU1ZSWlhISmNia0ZPUkNCR1NWUk9SVk5UTGlCSlRpQk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U0lFSkZJRXhKUVVKTVJTQkdUMUlnUVU1WklGTlFSVU5KUVV3c0lFUkpVa1ZEVkN4Y2NseHVTVTVFU1ZKRlExUXNJRTlTSUVOUFRsTkZVVlZGVGxSSlFVd2dSRUZOUVVkRlV5QlBVaUJCVGxrZ1JFRk5RVWRGVXlCWFNFRlVVMDlGVmtWU0lGSkZVMVZNVkVsT1J5QkdVazlOWEhKY2JreFBVMU1nVDBZZ1ZWTkZMQ0JFUVZSQklFOVNJRkJTVDBaSlZGTXNJRmRJUlZSSVJWSWdTVTRnUVU0Z1FVTlVTVTlPSUU5R0lFTlBUbFJTUVVOVUxDQk9SVWRNU1VkRlRrTkZJRTlTWEhKY2JrOVVTRVZTSUZSUFVsUkpUMVZUSUVGRFZFbFBUaXdnUVZKSlUwbE9SeUJQVlZRZ1QwWWdUMUlnU1U0Z1EwOU9Ua1ZEVkVsUFRpQlhTVlJJSUZSSVJTQlZVMFVnVDFKY2NseHVVRVZTUms5U1RVRk9RMFVnVDBZZ1ZFaEpVeUJUVDBaVVYwRlNSUzVjY2x4dUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9nS2k5Y2NseHVMeW9nWjJ4dlltRnNJRkpsWm14bFkzUXNJRkJ5YjIxcGMyVWdLaTljY2x4dVhISmNiblpoY2lCbGVIUmxibVJUZEdGMGFXTnpJRDBnWm5WdVkzUnBiMjRvWkN3Z1lpa2dlMXh5WEc0Z0lDQWdaWGgwWlc1a1UzUmhkR2xqY3lBOUlFOWlhbVZqZEM1elpYUlFjbTkwYjNSNWNHVlBaaUI4ZkZ4eVhHNGdJQ0FnSUNBZ0lDaDdJRjlmY0hKdmRHOWZYem9nVzEwZ2ZTQnBibk4wWVc1alpXOW1JRUZ5Y21GNUlDWW1JR1oxYm1OMGFXOXVJQ2hrTENCaUtTQjdJR1F1WDE5d2NtOTBiMTlmSUQwZ1lqc2dmU2tnZkh4Y2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQW9aQ3dnWWlrZ2V5Qm1iM0lnS0haaGNpQndJR2x1SUdJcElHbG1JQ2hQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvWWl3Z2NDa3BJR1JiY0YwZ1BTQmlXM0JkT3lCOU8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdWNGRHVnVaRk4wWVhScFkzTW9aQ3dnWWlrN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlsZUhSbGJtUnpLR1FzSUdJcElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZaUFoUFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUdJZ0lUMDlJRzUxYkd3cFhISmNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOc1lYTnpJR1Y0ZEdWdVpITWdkbUZzZFdVZ1hDSWdLeUJUZEhKcGJtY29ZaWtnS3lCY0lpQnBjeUJ1YjNRZ1lTQmpiMjV6ZEhKMVkzUnZjaUJ2Y2lCdWRXeHNYQ0lwTzF4eVhHNGdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUY5ZktDa2dleUIwYUdsekxtTnZibk4wY25WamRHOXlJRDBnWkRzZ2ZWeHlYRzRnSUNBZ1pDNXdjbTkwYjNSNWNHVWdQU0JpSUQwOVBTQnVkV3hzSUQ4Z1QySnFaV04wTG1OeVpXRjBaU2hpS1NBNklDaGZYeTV3Y205MGIzUjVjR1VnUFNCaUxuQnliM1J2ZEhsd1pTd2dibVYzSUY5ZktDa3BPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnZG1GeUlGOWZZWE56YVdkdUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdJQ0JmWDJGemMybG5iaUE5SUU5aWFtVmpkQzVoYzNOcFoyNGdmSHdnWm5WdVkzUnBiMjRnWDE5aGMzTnBaMjRvZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSE1zSUdrZ1BTQXhMQ0J1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJRzQ3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpJRDBnWVhKbmRXMWxiblJ6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJSE1wSUdsbUlDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29jeXdnY0NrcElIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2REdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCZlgyRnpjMmxuYmk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpYTjBLSE1zSUdVcElIdGNjbHh1SUNBZ0lIWmhjaUIwSUQwZ2UzMDdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUhNcElHbG1JQ2hQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvY3l3Z2NDa2dKaVlnWlM1cGJtUmxlRTltS0hBcElEd2dNQ2xjY2x4dUlDQWdJQ0FnSUNCMFczQmRJRDBnYzF0d1hUdGNjbHh1SUNBZ0lHbG1JQ2h6SUNFOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2NDQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vY3lrN0lHa2dQQ0J3TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsTG1sdVpHVjRUMllvY0Z0cFhTa2dQQ0F3SUNZbUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWNISnZjR1Z5ZEhsSmMwVnVkVzFsY21GaWJHVXVZMkZzYkNoekxDQndXMmxkS1NsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmJjRnRwWFYwZ1BTQnpXM0JiYVYxZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQjBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5a1pXTnZjbUYwWlNoa1pXTnZjbUYwYjNKekxDQjBZWEpuWlhRc0lHdGxlU3dnWkdWell5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdNZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQnlJRDBnWXlBOElETWdQeUIwWVhKblpYUWdPaUJrWlhOaklEMDlQU0J1ZFd4c0lEOGdaR1Z6WXlBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvZEdGeVoyVjBMQ0JyWlhrcElEb2daR1Z6WXl3Z1pEdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdVbVZtYkdWamRDQTlQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ1VtVm1iR1ZqZEM1a1pXTnZjbUYwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCeUlEMGdVbVZtYkdWamRDNWtaV052Y21GMFpTaGtaV052Y21GMGIzSnpMQ0IwWVhKblpYUXNJR3RsZVN3Z1pHVnpZeWs3WEhKY2JpQWdJQ0JsYkhObElHWnZjaUFvZG1GeUlHa2dQU0JrWldOdmNtRjBiM0p6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0JwWmlBb1pDQTlJR1JsWTI5eVlYUnZjbk5iYVYwcElISWdQU0FvWXlBOElETWdQeUJrS0hJcElEb2dZeUErSURNZ1B5QmtLSFJoY21kbGRDd2dhMlY1TENCeUtTQTZJR1FvZEdGeVoyVjBMQ0JyWlhrcEtTQjhmQ0J5TzF4eVhHNGdJQ0FnY21WMGRYSnVJR01nUGlBeklDWW1JSElnSmlZZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJoY21kbGRDd2dhMlY1TENCeUtTd2djanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNHRnlZVzBvY0dGeVlXMUpibVJsZUN3Z1pHVmpiM0poZEc5eUtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tIUmhjbWRsZEN3Z2EyVjVLU0I3SUdSbFkyOXlZWFJ2Y2loMFlYSm5aWFFzSUd0bGVTd2djR0Z5WVcxSmJtUmxlQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWE5FWldOdmNtRjBaU2hqZEc5eUxDQmtaWE5qY21sd2RHOXlTVzRzSUdSbFkyOXlZWFJ2Y25Nc0lHTnZiblJsZUhSSmJpd2dhVzVwZEdsaGJHbDZaWEp6TENCbGVIUnlZVWx1YVhScFlXeHBlbVZ5Y3lrZ2UxeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1lXTmpaWEIwS0dZcElIc2dhV1lnS0dZZ0lUMDlJSFp2YVdRZ01DQW1KaUIwZVhCbGIyWWdaaUFoUFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVJuVnVZM1JwYjI0Z1pYaHdaV04wWldSY0lpazdJSEpsZEhWeWJpQm1PeUI5WEhKY2JpQWdJQ0IyWVhJZ2EybHVaQ0E5SUdOdmJuUmxlSFJKYmk1cmFXNWtMQ0JyWlhrZ1BTQnJhVzVrSUQwOVBTQmNJbWRsZEhSbGNsd2lJRDhnWENKblpYUmNJaUE2SUd0cGJtUWdQVDA5SUZ3aWMyVjBkR1Z5WENJZ1B5QmNJbk5sZEZ3aUlEb2dYQ0oyWVd4MVpWd2lPMXh5WEc0Z0lDQWdkbUZ5SUhSaGNtZGxkQ0E5SUNGa1pYTmpjbWx3ZEc5eVNXNGdKaVlnWTNSdmNpQS9JR052Ym5SbGVIUkpibHRjSW5OMFlYUnBZMXdpWFNBL0lHTjBiM0lnT2lCamRHOXlMbkJ5YjNSdmRIbHdaU0E2SUc1MWJHdzdYSEpjYmlBZ0lDQjJZWElnWkdWelkzSnBjSFJ2Y2lBOUlHUmxjMk55YVhCMGIzSkpiaUI4ZkNBb2RHRnlaMlYwSUQ4Z1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgwWVhKblpYUXNJR052Ym5SbGVIUkpiaTV1WVcxbEtTQTZJSHQ5S1R0Y2NseHVJQ0FnSUhaaGNpQmZMQ0JrYjI1bElEMGdabUZzYzJVN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdaR1ZqYjNKaGRHOXljeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmpiMjUwWlhoMElEMGdlMzA3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJqYjI1MFpYaDBTVzRwSUdOdmJuUmxlSFJiY0YwZ1BTQndJRDA5UFNCY0ltRmpZMlZ6YzF3aUlEOGdlMzBnT2lCamIyNTBaWGgwU1c1YmNGMDdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQmpiMjUwWlhoMFNXNHVZV05qWlhOektTQmpiMjUwWlhoMExtRmpZMlZ6YzF0d1hTQTlJR052Ym5SbGVIUkpiaTVoWTJObGMzTmJjRjA3WEhKY2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEM1aFpHUkpibWwwYVdGc2FYcGxjaUE5SUdaMWJtTjBhVzl1SUNobUtTQjdJR2xtSUNoa2IyNWxLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyRnVibTkwSUdGa1pDQnBibWwwYVdGc2FYcGxjbk1nWVdaMFpYSWdaR1ZqYjNKaGRHbHZiaUJvWVhNZ1kyOXRjR3hsZEdWa1hDSXBPeUJsZUhSeVlVbHVhWFJwWVd4cGVtVnljeTV3ZFhOb0tHRmpZMlZ3ZENobUlIeDhJRzUxYkd3cEtUc2dmVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbVZ6ZFd4MElEMGdLREFzSUdSbFkyOXlZWFJ2Y25OYmFWMHBLR3RwYm1RZ1BUMDlJRndpWVdOalpYTnpiM0pjSWlBL0lIc2daMlYwT2lCa1pYTmpjbWx3ZEc5eUxtZGxkQ3dnYzJWME9pQmtaWE5qY21sd2RHOXlMbk5sZENCOUlEb2daR1Z6WTNKcGNIUnZjbHRyWlhsZExDQmpiMjUwWlhoMEtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSmhZMk5sYzNOdmNsd2lLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFFnUFQwOUlIWnZhV1FnTUNrZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhRZ1BUMDlJRzUxYkd3Z2ZId2dkSGx3Wlc5bUlISmxjM1ZzZENBaFBUMGdYQ0p2WW1wbFkzUmNJaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrOWlhbVZqZENCbGVIQmxZM1JsWkZ3aUtUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRjhnUFNCaFkyTmxjSFFvY21WemRXeDBMbWRsZENrcElHUmxjMk55YVhCMGIzSXVaMlYwSUQwZ1h6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRjhnUFNCaFkyTmxjSFFvY21WemRXeDBMbk5sZENrcElHUmxjMk55YVhCMGIzSXVjMlYwSUQwZ1h6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRjhnUFNCaFkyTmxjSFFvY21WemRXeDBMbWx1YVhRcEtTQnBibWwwYVdGc2FYcGxjbk11Y0hWemFDaGZLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltWnBaV3hrWENJcElHbHVhWFJwWVd4cGVtVnljeTV3ZFhOb0tGOHBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdSbGMyTnlhWEIwYjNKYmEyVjVYU0E5SUY4N1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdhV1lnS0hSaGNtZGxkQ2tnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1kyOXVkR1Y0ZEVsdUxtNWhiV1VzSUdSbGMyTnlhWEIwYjNJcE8xeHlYRzRnSUNBZ1pHOXVaU0E5SUhSeWRXVTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eWRXNUpibWwwYVdGc2FYcGxjbk1vZEdocGMwRnlaeXdnYVc1cGRHbGhiR2w2WlhKekxDQjJZV3gxWlNrZ2UxeHlYRzRnSUNBZ2RtRnlJSFZ6WlZaaGJIVmxJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErSURJN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHbHVhWFJwWVd4cGVtVnljeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoYkhWbElEMGdkWE5sVm1Gc2RXVWdQeUJwYm1sMGFXRnNhWHBsY25OYmFWMHVZMkZzYkNoMGFHbHpRWEpuTENCMllXeDFaU2tnT2lCcGJtbDBhV0ZzYVhwbGNuTmJhVjB1WTJGc2JDaDBhR2x6UVhKbktUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCMWMyVldZV3gxWlNBL0lIWmhiSFZsSURvZ2RtOXBaQ0F3TzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjSEp2Y0V0bGVTaDRLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIZ2dQVDA5SUZ3aWMzbHRZbTlzWENJZ1B5QjRJRG9nWENKY0lpNWpiMjVqWVhRb2VDazdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5elpYUkdkVzVqZEdsdmJrNWhiV1VvWml3Z2JtRnRaU3dnY0hKbFptbDRLU0I3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1aGJXVWdQVDA5SUZ3aWMzbHRZbTlzWENJcElHNWhiV1VnUFNCdVlXMWxMbVJsYzJOeWFYQjBhVzl1SUQ4Z1hDSmJYQ0l1WTI5dVkyRjBLRzVoYldVdVpHVnpZM0pwY0hScGIyNHNJRndpWFZ3aUtTQTZJRndpWENJN1hISmNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHWXNJRndpYm1GdFpWd2lMQ0I3SUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN3Z2RtRnNkV1U2SUhCeVpXWnBlQ0EvSUZ3aVhDSXVZMjl1WTJGMEtIQnlaV1pwZUN3Z1hDSWdYQ0lzSUc1aGJXVXBJRG9nYm1GdFpTQjlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyMWxkR0ZrWVhSaEtHMWxkR0ZrWVhSaFMyVjVMQ0J0WlhSaFpHRjBZVlpoYkhWbEtTQjdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRkpsWm14bFkzUWdQVDA5SUZ3aWIySnFaV04wWENJZ0ppWWdkSGx3Wlc5bUlGSmxabXhsWTNRdWJXVjBZV1JoZEdFZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlrZ2NtVjBkWEp1SUZKbFpteGxZM1F1YldWMFlXUmhkR0VvYldWMFlXUmhkR0ZMWlhrc0lHMWxkR0ZrWVhSaFZtRnNkV1VwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhkMkZwZEdWeUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITXNJRkFzSUdkbGJtVnlZWFJ2Y2lrZ2UxeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1lXUnZjSFFvZG1Gc2RXVXBJSHNnY21WMGRYSnVJSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdVQ0EvSUhaaGJIVmxJRG9nYm1WM0lGQW9ablZ1WTNScGIyNGdLSEpsYzI5c2RtVXBJSHNnY21WemIyeDJaU2gyWVd4MVpTazdJSDBwT3lCOVhISmNiaUFnSUNCeVpYUjFjbTRnYm1WM0lDaFFJSHg4SUNoUUlEMGdVSEp2YldselpTa3BLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCbWRXeG1hV3hzWldRb2RtRnNkV1VwSUhzZ2RISjVJSHNnYzNSbGNDaG5aVzVsY21GMGIzSXVibVY0ZENoMllXeDFaU2twT3lCOUlHTmhkR05vSUNobEtTQjdJSEpsYW1WamRDaGxLVHNnZlNCOVhISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdjbVZxWldOMFpXUW9kbUZzZFdVcElIc2dkSEo1SUhzZ2MzUmxjQ2huWlc1bGNtRjBiM0piWENKMGFISnZkMXdpWFNoMllXeDFaU2twT3lCOUlHTmhkR05vSUNobEtTQjdJSEpsYW1WamRDaGxLVHNnZlNCOVhISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdjM1JsY0NoeVpYTjFiSFFwSUhzZ2NtVnpkV3gwTG1SdmJtVWdQeUJ5WlhOdmJIWmxLSEpsYzNWc2RDNTJZV3gxWlNrZ09pQmhaRzl3ZENoeVpYTjFiSFF1ZG1Gc2RXVXBMblJvWlc0b1puVnNabWxzYkdWa0xDQnlaV3BsWTNSbFpDazdJSDFjY2x4dUlDQWdJQ0FnSUNCemRHVndLQ2huWlc1bGNtRjBiM0lnUFNCblpXNWxjbUYwYjNJdVlYQndiSGtvZEdocGMwRnlaeXdnWDJGeVozVnRaVzUwY3lCOGZDQmJYU2twTG01bGVIUW9LU2s3WEhKY2JpQWdJQ0I5S1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaMlZ1WlhKaGRHOXlLSFJvYVhOQmNtY3NJR0p2WkhrcElIdGNjbHh1SUNBZ0lIWmhjaUJmSUQwZ2V5QnNZV0psYkRvZ01Dd2djMlZ1ZERvZ1puVnVZM1JwYjI0b0tTQjdJR2xtSUNoMFd6QmRJQ1lnTVNrZ2RHaHliM2NnZEZzeFhUc2djbVYwZFhKdUlIUmJNVjA3SUgwc0lIUnllWE02SUZ0ZExDQnZjSE02SUZ0ZElIMHNJR1lzSUhrc0lIUXNJR2M3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaeUE5SUhzZ2JtVjRkRG9nZG1WeVlpZ3dLU3dnWENKMGFISnZkMXdpT2lCMlpYSmlLREVwTENCY0luSmxkSFZ5Ymx3aU9pQjJaWEppS0RJcElIMHNJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQW9aMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5S1N3Z1p6dGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIWmxjbUlvYmlrZ2V5QnlaWFIxY200Z1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJSE4wWlhBb1cyNHNJSFpkS1RzZ2ZUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjM1JsY0NodmNDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaG1LU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVIyVnVaWEpoZEc5eUlHbHpJR0ZzY21WaFpIa2daWGhsWTNWMGFXNW5MbHdpS1R0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb1p5QW1KaUFvWnlBOUlEQXNJRzl3V3pCZElDWW1JQ2hmSUQwZ01Da3BMQ0JmS1NCMGNua2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWmlBOUlERXNJSGtnSmlZZ0tIUWdQU0J2Y0Zzd1hTQW1JRElnUHlCNVcxd2ljbVYwZFhKdVhDSmRJRG9nYjNCYk1GMGdQeUI1VzF3aWRHaHliM2RjSWwwZ2ZId2dLQ2gwSUQwZ2VWdGNJbkpsZEhWeWJsd2lYU2tnSmlZZ2RDNWpZV3hzS0hrcExDQXdLU0E2SUhrdWJtVjRkQ2tnSmlZZ0lTaDBJRDBnZEM1allXeHNLSGtzSUc5d1d6RmRLU2t1Wkc5dVpTa2djbVYwZFhKdUlIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2g1SUQwZ01Dd2dkQ2tnYjNBZ1BTQmJiM0JiTUYwZ0ppQXlMQ0IwTG5aaGJIVmxYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaHZjRnN3WFNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBd09pQmpZWE5sSURFNklIUWdQU0J2Y0RzZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRFE2SUY4dWJHRmlaV3dyS3pzZ2NtVjBkWEp1SUhzZ2RtRnNkV1U2SUc5d1d6RmRMQ0JrYjI1bE9pQm1ZV3h6WlNCOU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBMU9pQmZMbXhoWW1Wc0t5czdJSGtnUFNCdmNGc3hYVHNnYjNBZ1BTQmJNRjA3SUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0EzT2lCdmNDQTlJRjh1YjNCekxuQnZjQ2dwT3lCZkxuUnllWE11Y0c5d0tDazdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVNoMElEMGdYeTUwY25sekxDQjBJRDBnZEM1c1pXNW5kR2dnUGlBd0lDWW1JSFJiZEM1c1pXNW5kR2dnTFNBeFhTa2dKaVlnS0c5d1d6QmRJRDA5UFNBMklIeDhJRzl3V3pCZElEMDlQU0F5S1NrZ2V5QmZJRDBnTURzZ1kyOXVkR2x1ZFdVN0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iM0JiTUYwZ1BUMDlJRE1nSmlZZ0tDRjBJSHg4SUNodmNGc3hYU0ErSUhSYk1GMGdKaVlnYjNCYk1WMGdQQ0IwV3pOZEtTa3BJSHNnWHk1c1lXSmxiQ0E5SUc5d1d6RmRPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h2Y0Zzd1hTQTlQVDBnTmlBbUppQmZMbXhoWW1Wc0lEd2dkRnN4WFNrZ2V5QmZMbXhoWW1Wc0lEMGdkRnN4WFRzZ2RDQTlJRzl3T3lCaWNtVmhhenNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMElDWW1JRjh1YkdGaVpXd2dQQ0IwV3pKZEtTQjdJRjh1YkdGaVpXd2dQU0IwV3pKZE95QmZMbTl3Y3k1d2RYTm9LRzl3S1RzZ1luSmxZV3M3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RGc3lYU2tnWHk1dmNITXVjRzl3S0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWHk1MGNubHpMbkJ2Y0NncE95QmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCdmNDQTlJR0p2WkhrdVkyRnNiQ2gwYUdselFYSm5MQ0JmS1R0Y2NseHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3SUc5d0lEMGdXellzSUdWZE95QjVJRDBnTURzZ2ZTQm1hVzVoYkd4NUlIc2daaUE5SUhRZ1BTQXdPeUI5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLRzl3V3pCZElDWWdOU2tnZEdoeWIzY2diM0JiTVYwN0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCdmNGc3dYU0EvSUc5d1d6RmRJRG9nZG05cFpDQXdMQ0JrYjI1bE9pQjBjblZsSUgwN1hISmNiaUFnSUNCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQjJZWElnWDE5amNtVmhkR1ZDYVc1a2FXNW5JRDBnVDJKcVpXTjBMbU55WldGMFpTQS9JQ2htZFc1amRHbHZiaWh2TENCdExDQnJMQ0JyTWlrZ2UxeHlYRzRnSUNBZ2FXWWdLR3N5SUQwOVBTQjFibVJsWm1sdVpXUXBJR3N5SUQwZ2F6dGNjbHh1SUNBZ0lIWmhjaUJrWlhOaklEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lodExDQnJLVHRjY2x4dUlDQWdJR2xtSUNnaFpHVnpZeUI4ZkNBb1hDSm5aWFJjSWlCcGJpQmtaWE5qSUQ4Z0lXMHVYMTlsYzAxdlpIVnNaU0E2SUdSbGMyTXVkM0pwZEdGaWJHVWdmSHdnWkdWell5NWpiMjVtYVdkMWNtRmliR1VwS1NCN1hISmNiaUFnSUNBZ0lDQWdaR1Z6WXlBOUlIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2daMlYwT2lCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlHMWJhMTA3SUgwZ2ZUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2TENCck1pd2daR1Z6WXlrN1hISmNibjBwSURvZ0tHWjFibU4wYVc5dUtHOHNJRzBzSUdzc0lHc3lLU0I3WEhKY2JpQWdJQ0JwWmlBb2F6SWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2F6SWdQU0JyTzF4eVhHNGdJQ0FnYjF0ck1sMGdQU0J0VzJ0ZE8xeHlYRzU5S1R0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJWNGNHOXlkRk4wWVhJb2JTd2dieWtnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnRLU0JwWmlBb2NDQWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdJVTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h2TENCd0tTa2dYMTlqY21WaGRHVkNhVzVrYVc1bktHOHNJRzBzSUhBcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTkyWVd4MVpYTW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlITWdQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdVM2x0WW05c0xtbDBaWEpoZEc5eUxDQnRJRDBnY3lBbUppQnZXM05kTENCcElEMGdNRHRjY2x4dUlDQWdJR2xtSUNodEtTQnlaWFIxY200Z2JTNWpZV3hzS0c4cE8xeHlYRzRnSUNBZ2FXWWdLRzhnSmlZZ2RIbHdaVzltSUc4dWJHVnVaM1JvSUQwOVBTQmNJbTUxYldKbGNsd2lLU0J5WlhSMWNtNGdlMXh5WEc0Z0lDQWdJQ0FnSUc1bGVIUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOGdKaVlnYVNBK1BTQnZMbXhsYm1kMGFDa2dieUE5SUhadmFXUWdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2dkbUZzZFdVNklHOGdKaVlnYjF0cEt5dGRMQ0JrYjI1bE9pQWhieUI5TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLSE1nUHlCY0lrOWlhbVZqZENCcGN5QnViM1FnYVhSbGNtRmliR1V1WENJZ09pQmNJbE41YldKdmJDNXBkR1Z5WVhSdmNpQnBjeUJ1YjNRZ1pHVm1hVzVsWkM1Y0lpazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNKbFlXUW9ieXdnYmlrZ2UxeHlYRzRnSUNBZ2RtRnlJRzBnUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnYjF0VGVXMWliMnd1YVhSbGNtRjBiM0pkTzF4eVhHNGdJQ0FnYVdZZ0tDRnRLU0J5WlhSMWNtNGdienRjY2x4dUlDQWdJSFpoY2lCcElEMGdiUzVqWVd4c0tHOHBMQ0J5TENCaGNpQTlJRnRkTENCbE8xeHlYRzRnSUNBZ2RISjVJSHRjY2x4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvS0c0Z1BUMDlJSFp2YVdRZ01DQjhmQ0J1TFMwZ1BpQXdLU0FtSmlBaEtISWdQU0JwTG01bGVIUW9LU2t1Wkc5dVpTa2dZWEl1Y0hWemFDaHlMblpoYkhWbEtUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHTmhkR05vSUNobGNuSnZjaWtnZXlCbElEMGdleUJsY25KdmNqb2daWEp5YjNJZ2ZUc2dmVnh5WEc0Z0lDQWdabWx1WVd4c2VTQjdYSEpjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSElnSmlZZ0lYSXVaRzl1WlNBbUppQW9iU0E5SUdsYlhDSnlaWFIxY201Y0lsMHBLU0J0TG1OaGJHd29hU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1pwYm1Gc2JIa2dleUJwWmlBb1pTa2dkR2h5YjNjZ1pTNWxjbkp2Y2pzZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUdGeU8xeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1FHUmxjSEpsWTJGMFpXUWdLaTljY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMzQnlaV0ZrS0NrZ2UxeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ1lYSWdQU0JiWFN3Z2FTQTlJREE3SUdrZ1BDQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBLeXNwWEhKY2JpQWdJQ0FnSUNBZ1lYSWdQU0JoY2k1amIyNWpZWFFvWDE5eVpXRmtLR0Z5WjNWdFpXNTBjMXRwWFNrcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdGeU8xeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1FHUmxjSEpsWTJGMFpXUWdLaTljY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMzQnlaV0ZrUVhKeVlYbHpLQ2tnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY3lBOUlEQXNJR2tnUFNBd0xDQnBiQ0E5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrZ1BDQnBiRHNnYVNzcktTQnpJQ3M5SUdGeVozVnRaVzUwYzF0cFhTNXNaVzVuZEdnN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCeUlEMGdRWEp5WVhrb2N5a3NJR3NnUFNBd0xDQnBJRDBnTURzZ2FTQThJR2xzT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnWVNBOUlHRnlaM1Z0Wlc1MGMxdHBYU3dnYWlBOUlEQXNJR3BzSUQwZ1lTNXNaVzVuZEdnN0lHb2dQQ0JxYkRzZ2Fpc3JMQ0JyS3lzcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKYmExMGdQU0JoVzJwZE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM053Y21WaFpFRnljbUY1S0hSdkxDQm1jbTl0TENCd1lXTnJLU0I3WEhKY2JpQWdJQ0JwWmlBb2NHRmpheUI4ZkNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQwOVBTQXlLU0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diQ0E5SUdaeWIyMHViR1Z1WjNSb0xDQmhjanNnYVNBOElHdzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoaGNpQjhmQ0FoS0drZ2FXNGdabkp2YlNrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZoY2lrZ1lYSWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2htY205dExDQXdMQ0JwS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWVhKYmFWMGdQU0JtY205dFcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUIwYnk1amIyNWpZWFFvWVhJZ2ZId2dRWEp5WVhrdWNISnZkRzkwZVhCbExuTnNhV05sTG1OaGJHd29abkp2YlNrcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloZDJGcGRDaDJLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3lCcGJuTjBZVzVqWlc5bUlGOWZZWGRoYVhRZ1B5QW9kR2hwY3k1MklEMGdkaXdnZEdocGN5a2dPaUJ1WlhjZ1gxOWhkMkZwZENoMktUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTkhaVzVsY21GMGIzSW9kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeXdnWjJWdVpYSmhkRzl5S1NCN1hISmNiaUFnSUNCcFppQW9JVk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5S1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lnYVhNZ2JtOTBJR1JsWm1sdVpXUXVYQ0lwTzF4eVhHNGdJQ0FnZG1GeUlHY2dQU0JuWlc1bGNtRjBiM0l1WVhCd2JIa29kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeUI4ZkNCYlhTa3NJR2tzSUhFZ1BTQmJYVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnBJRDBnZTMwc0lIWmxjbUlvWENKdVpYaDBYQ0lwTENCMlpYSmlLRndpZEdoeWIzZGNJaWtzSUhabGNtSW9YQ0p5WlhSMWNtNWNJaWtzSUdsYlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlN3Z2FUdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIWmxjbUlvYmlrZ2V5QnBaaUFvWjF0dVhTa2dhVnR1WFNBOUlHWjFibU4wYVc5dUlDaDJLU0I3SUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNobWRXNWpkR2x2YmlBb1lTd2dZaWtnZXlCeExuQjFjMmdvVzI0c0lIWXNJR0VzSUdKZEtTQStJREVnZkh3Z2NtVnpkVzFsS0c0c0lIWXBPeUI5S1RzZ2ZUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjbVZ6ZFcxbEtHNHNJSFlwSUhzZ2RISjVJSHNnYzNSbGNDaG5XMjVkS0hZcEtUc2dmU0JqWVhSamFDQW9aU2tnZXlCelpYUjBiR1VvY1Zzd1hWc3pYU3dnWlNrN0lIMGdmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjM1JsY0NoeUtTQjdJSEl1ZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJmWDJGM1lXbDBJRDhnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSEl1ZG1Gc2RXVXVkaWt1ZEdobGJpaG1kV3htYVd4c0xDQnlaV3BsWTNRcElEb2djMlYwZEd4bEtIRmJNRjFiTWwwc0lISXBPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJtZFd4bWFXeHNLSFpoYkhWbEtTQjdJSEpsYzNWdFpTaGNJbTVsZUhSY0lpd2dkbUZzZFdVcE95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnlaV3BsWTNRb2RtRnNkV1VwSUhzZ2NtVnpkVzFsS0Z3aWRHaHliM2RjSWl3Z2RtRnNkV1VwT3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCelpYUjBiR1VvWml3Z2Rpa2dleUJwWmlBb1ppaDJLU3dnY1M1emFHbG1kQ2dwTENCeExteGxibWQwYUNrZ2NtVnpkVzFsS0hGYk1GMWJNRjBzSUhGYk1GMWJNVjBwT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alJHVnNaV2RoZEc5eUtHOHBJSHRjY2x4dUlDQWdJSFpoY2lCcExDQndPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHa2dQU0I3ZlN3Z2RtVnlZaWhjSW01bGVIUmNJaWtzSUhabGNtSW9YQ0owYUhKdmQxd2lMQ0JtZFc1amRHbHZiaUFvWlNrZ2V5QjBhSEp2ZHlCbE95QjlLU3dnZG1WeVlpaGNJbkpsZEhWeWJsd2lLU3dnYVZ0VGVXMWliMnd1YVhSbGNtRjBiM0pkSUQwZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3pzZ2ZTd2dhVHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsY21Jb2Jpd2daaWtnZXlCcFcyNWRJRDBnYjF0dVhTQS9JR1oxYm1OMGFXOXVJQ2gyS1NCN0lISmxkSFZ5YmlBb2NDQTlJQ0Z3S1NBL0lIc2dkbUZzZFdVNklGOWZZWGRoYVhRb2IxdHVYU2gyS1Nrc0lHUnZibVU2SUdaaGJITmxJSDBnT2lCbUlEOGdaaWgyS1NBNklIWTdJSDBnT2lCbU95QjlYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGemVXNWpWbUZzZFdWektHOHBJSHRjY2x4dUlDQWdJR2xtSUNnaFUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpQnBjeUJ1YjNRZ1pHVm1hVzVsWkM1Y0lpazdYSEpjYmlBZ0lDQjJZWElnYlNBOUlHOWJVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0pkTENCcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUcwZ1B5QnRMbU5oYkd3b2J5a2dPaUFvYnlBOUlIUjVjR1Z2WmlCZlgzWmhiSFZsY3lBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z1gxOTJZV3gxWlhNb2J5a2dPaUJ2VzFONWJXSnZiQzVwZEdWeVlYUnZjbDBvS1N3Z2FTQTlJSHQ5TENCMlpYSmlLRndpYm1WNGRGd2lLU3dnZG1WeVlpaGNJblJvY205M1hDSXBMQ0IyWlhKaUtGd2ljbVYwZFhKdVhDSXBMQ0JwVzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1S1NCN0lHbGJibDBnUFNCdlcyNWRJQ1ltSUdaMWJtTjBhVzl1SUNoMktTQjdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2htZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3SUhZZ1BTQnZXMjVkS0hZcExDQnpaWFIwYkdVb2NtVnpiMngyWlN3Z2NtVnFaV04wTENCMkxtUnZibVVzSUhZdWRtRnNkV1VwT3lCOUtUc2dmVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnYzJWMGRHeGxLSEpsYzI5c2RtVXNJSEpsYW1WamRDd2daQ3dnZGlrZ2V5QlFjbTl0YVhObExuSmxjMjlzZG1Vb2Rpa3VkR2hsYmlobWRXNWpkR2x2YmloMktTQjdJSEpsYzI5c2RtVW9leUIyWVd4MVpUb2dkaXdnWkc5dVpUb2daQ0I5S1RzZ2ZTd2djbVZxWldOMEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5dFlXdGxWR1Z0Y0d4aGRHVlBZbXBsWTNRb1kyOXZhMlZrTENCeVlYY3BJSHRjY2x4dUlDQWdJR2xtSUNoUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa3BJSHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHTnZiMnRsWkN3Z1hDSnlZWGRjSWl3Z2V5QjJZV3gxWlRvZ2NtRjNJSDBwT3lCOUlHVnNjMlVnZXlCamIyOXJaV1F1Y21GM0lEMGdjbUYzT3lCOVhISmNiaUFnSUNCeVpYUjFjbTRnWTI5dmEyVmtPMXh5WEc1OU8xeHlYRzVjY2x4dWRtRnlJRjlmYzJWMFRXOWtkV3hsUkdWbVlYVnNkQ0E5SUU5aWFtVmpkQzVqY21WaGRHVWdQeUFvWm5WdVkzUnBiMjRvYnl3Z2Rpa2dlMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0c4c0lGd2laR1ZtWVhWc2RGd2lMQ0I3SUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUhaaGJIVmxPaUIySUgwcE8xeHlYRzU5S1NBNklHWjFibU4wYVc5dUtHOHNJSFlwSUh0Y2NseHVJQ0FnSUc5YlhDSmtaV1poZFd4MFhDSmRJRDBnZGp0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMmx0Y0c5eWRGTjBZWElvYlc5a0tTQjdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQnlaWFIxY200Z2JXOWtPMXh5WEc0Z0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUh0OU8xeHlYRzRnSUNBZ2FXWWdLRzF2WkNBaFBTQnVkV3hzS1NCbWIzSWdLSFpoY2lCcklHbHVJRzF2WkNrZ2FXWWdLR3NnSVQwOUlGd2laR1ZtWVhWc2RGd2lJQ1ltSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNodGIyUXNJR3NwS1NCZlgyTnlaV0YwWlVKcGJtUnBibWNvY21WemRXeDBMQ0J0YjJRc0lHc3BPMXh5WEc0Z0lDQWdYMTl6WlhSTmIyUjFiR1ZFWldaaGRXeDBLSEpsYzNWc2RDd2diVzlrS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJsdGNHOXlkRVJsWm1GMWJIUW9iVzlrS1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnS0cxdlpDQW1KaUJ0YjJRdVgxOWxjMDF2WkhWc1pTa2dQeUJ0YjJRZ09pQjdJR1JsWm1GMWJIUTZJRzF2WkNCOU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlqYkdGemMxQnlhWFpoZEdWR2FXVnNaRWRsZENoeVpXTmxhWFpsY2l3Z2MzUmhkR1VzSUd0cGJtUXNJR1lwSUh0Y2NseHVJQ0FnSUdsbUlDaHJhVzVrSUQwOVBTQmNJbUZjSWlBbUppQWhaaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsQnlhWFpoZEdVZ1lXTmpaWE56YjNJZ2QyRnpJR1JsWm1sdVpXUWdkMmwwYUc5MWRDQmhJR2RsZEhSbGNsd2lLVHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnYzNSaGRHVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JSEpsWTJWcGRtVnlJQ0U5UFNCemRHRjBaU0I4ZkNBaFppQTZJQ0Z6ZEdGMFpTNW9ZWE1vY21WalpXbDJaWElwS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMkZ1Ym05MElISmxZV1FnY0hKcGRtRjBaU0J0WlcxaVpYSWdabkp2YlNCaGJpQnZZbXBsWTNRZ2QyaHZjMlVnWTJ4aGMzTWdaR2xrSUc1dmRDQmtaV05zWVhKbElHbDBYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJR3RwYm1RZ1BUMDlJRndpYlZ3aUlEOGdaaUE2SUd0cGJtUWdQVDA5SUZ3aVlWd2lJRDhnWmk1allXeHNLSEpsWTJWcGRtVnlLU0E2SUdZZ1B5Qm1MblpoYkhWbElEb2djM1JoZEdVdVoyVjBLSEpsWTJWcGRtVnlLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlkyeGhjM05RY21sMllYUmxSbWxsYkdSVFpYUW9jbVZqWldsMlpYSXNJSE4wWVhSbExDQjJZV3gxWlN3Z2EybHVaQ3dnWmlrZ2UxeHlYRzRnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpYlZ3aUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVUhKcGRtRjBaU0J0WlhSb2IyUWdhWE1nYm05MElIZHlhWFJoWW14bFhDSXBPMXh5WEc0Z0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJQ1ltSUNGbUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVUhKcGRtRjBaU0JoWTJObGMzTnZjaUIzWVhNZ1pHVm1hVzVsWkNCM2FYUm9iM1YwSUdFZ2MyVjBkR1Z5WENJcE8xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkR0YwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z2NtVmpaV2wyWlhJZ0lUMDlJSE4wWVhSbElIeDhJQ0ZtSURvZ0lYTjBZWFJsTG1oaGN5aHlaV05sYVhabGNpa3BJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnZDNKcGRHVWdjSEpwZG1GMFpTQnRaVzFpWlhJZ2RHOGdZVzRnYjJKcVpXTjBJSGRvYjNObElHTnNZWE56SUdScFpDQnViM1FnWkdWamJHRnlaU0JwZEZ3aUtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlBb2EybHVaQ0E5UFQwZ1hDSmhYQ0lnUHlCbUxtTmhiR3dvY21WalpXbDJaWElzSUhaaGJIVmxLU0E2SUdZZ1B5Qm1MblpoYkhWbElEMGdkbUZzZFdVZ09pQnpkR0YwWlM1elpYUW9jbVZqWldsMlpYSXNJSFpoYkhWbEtTa3NJSFpoYkhWbE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlqYkdGemMxQnlhWFpoZEdWR2FXVnNaRWx1S0hOMFlYUmxMQ0J5WldObGFYWmxjaWtnZTF4eVhHNGdJQ0FnYVdZZ0tISmxZMlZwZG1WeUlEMDlQU0J1ZFd4c0lIeDhJQ2gwZVhCbGIyWWdjbVZqWldsMlpYSWdJVDA5SUZ3aWIySnFaV04wWENJZ0ppWWdkSGx3Wlc5bUlISmxZMlZwZG1WeUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJcEtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJGdWJtOTBJSFZ6WlNBbmFXNG5JRzl3WlhKaGRHOXlJRzl1SUc1dmJpMXZZbXBsWTNSY0lpazdYSEpjYmlBZ0lDQnlaWFIxY200Z2RIbHdaVzltSUhOMFlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ5WldObGFYWmxjaUE5UFQwZ2MzUmhkR1VnT2lCemRHRjBaUzVvWVhNb2NtVmpaV2wyWlhJcE8xeHlYRzU5WEhKY2JpSXNJbWx0Y0c5eWRDQjBlWEJsSUhzZ1IweFVSaUI5SUdaeWIyMGdKM1JvY21WbEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dSMHhVUmlCaGN5QkhURlJHVTJOb1pXMWhJSDBnWm5KdmJTQW5RR2RzZEdZdGRISmhibk5tYjNKdEwyTnZjbVVuTzF4dVhHNW1kVzVqZEdsdmJpQmxlSFJ5WVdOMFVISnBiV2wwYVhabGMwbHVkR1Z5Ym1Gc0tHZHNkR1k2SUVkTVZFWXNJRzV2WkdWSmJtUmxlRG9nYm5WdFltVnlMQ0J1YjJSbE9pQlVTRkpGUlM1UFltcGxZM1F6UkNrNklGUklVa1ZGTGsxbGMyaGJYU0I4SUc1MWJHd2dlMXh1SUNCamIyNXpkQ0JxYzI5dUlEMGdaMngwWmk1d1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQk1aWFFuY3lCc2FYTjBJSFZ3SUdWMlpYSjVJSEJ2YzNOcFlteGxJSEJoZEhSbGNtNXpJSFJvWVhRZ2NHRnljMlZrSUdkc2RHWWdibTlrWlhNZ2QybDBhQ0JoSUcxbGMyZ2dZMkZ1SUdoaGRtVXNMQ3hjYmlBZ0lDcGNiaUFnSUNvZ1hDSXFYQ0lnYVc1a2FXTmhkR1Z6SUhSb1lYUWdkR2h2YzJVZ2JXVnphR1Z6SUhOb2IzVnNaQ0JpWlNCc2FYTjBaV1FnZFhBZ2RYTnBibWNnZEdocGN5Qm1kVzVqZEdsdmJseHVJQ0FnS2x4dUlDQWdLaUFqSXlNZ1FTQnViMlJsSUhkcGRHZ2dZU0FvYldWemFDd2dZU0J6YVdkdWJHVWdjSEpwYldsMGFYWmxLVnh1SUNBZ0tseHVJQ0FnS2lBdElHQlVTRkpGUlM1TlpYTm9ZRG9nVkdobElHOXViSGtnY0hKcGJXbDBhWFpsSUc5bUlIUm9aU0J0WlhOb0lDcGNiaUFnSUNwY2JpQWdJQ29nSXlNaklFRWdibTlrWlNCM2FYUm9JR0VnS0cxbGMyZ3NJRzExYkhScGNHeGxJSEJ5YVcxcGRHbDJaWE1wWEc0Z0lDQXFYRzRnSUNBcUlDMGdZRlJJVWtWRkxrZHliM1Z3WURvZ1ZHaGxJSEp2YjNRZ2IyWWdkR2hsSUcxbGMyaGNiaUFnSUNvZ0lDQXRJR0JVU0ZKRlJTNU5aWE5vWURvZ1FTQndjbWx0YVhScGRtVWdiMllnZEdobElHMWxjMmdnS2x4dUlDQWdLaUFnSUMwZ1lGUklVa1ZGTGsxbGMyaGdPaUJCSUhCeWFXMXBkR2wyWlNCdlppQjBhR1VnYldWemFDQW9NaWtnS2x4dUlDQWdLbHh1SUNBZ0tpQWpJeU1nUVNCdWIyUmxJSGRwZEdnZ1lTQW9iV1Z6YUN3Z2JYVnNkR2x3YkdVZ2NISnBiV2wwYVhabGN5a2dRVTVFSUNoaElHTm9hV3hrSUhkcGRHZ2dZU0J0WlhOb0xDQmhJSE5wYm1kc1pTQndjbWx0YVhScGRtVXBYRzRnSUNBcVhHNGdJQ0FxSUMwZ1lGUklVa1ZGTGtkeWIzVndZRG9nVkdobElISnZiM1FnYjJZZ2RHaGxJRzFsYzJoY2JpQWdJQ29nSUNBdElHQlVTRkpGUlM1TlpYTm9ZRG9nUVNCd2NtbHRhWFJwZG1VZ2IyWWdkR2hsSUcxbGMyZ2dLbHh1SUNBZ0tpQWdJQzBnWUZSSVVrVkZMazFsYzJoZ09pQkJJSEJ5YVcxcGRHbDJaU0J2WmlCMGFHVWdiV1Z6YUNBb01pa2dLbHh1SUNBZ0tpQWdJQzBnWUZSSVVrVkZMazFsYzJoZ09pQkJJSEJ5YVcxcGRHbDJaU0J2WmlCaElFMUZVMGdnVDBZZ1ZFaEZJRU5JU1V4RVhHNGdJQ0FxWEc0Z0lDQXFJQ01qSXlCQklHNXZaR1VnZDJsMGFDQmhJQ2h0WlhOb0xDQnRkV3gwYVhCc1pTQndjbWx0YVhScGRtVnpLU0JCVGtRZ0tHRWdZMmhwYkdRZ2QybDBhQ0JoSUcxbGMyZ3NJRzExYkhScGNHeGxJSEJ5YVcxcGRHbDJaWE1wWEc0Z0lDQXFYRzRnSUNBcUlDMGdZRlJJVWtWRkxrZHliM1Z3WURvZ1ZHaGxJSEp2YjNRZ2IyWWdkR2hsSUcxbGMyaGNiaUFnSUNvZ0lDQXRJR0JVU0ZKRlJTNU5aWE5vWURvZ1FTQndjbWx0YVhScGRtVWdiMllnZEdobElHMWxjMmdnS2x4dUlDQWdLaUFnSUMwZ1lGUklVa1ZGTGsxbGMyaGdPaUJCSUhCeWFXMXBkR2wyWlNCdlppQjBhR1VnYldWemFDQW9NaWtnS2x4dUlDQWdLaUFnSUMwZ1lGUklVa1ZGTGtkeWIzVndZRG9nVkdobElISnZiM1FnYjJZZ1lTQk5SVk5JSUU5R0lGUklSU0JEU0VsTVJGeHVJQ0FnS2lBZ0lDQWdMU0JnVkVoU1JVVXVUV1Z6YUdBNklFRWdjSEpwYldsMGFYWmxJRzltSUhSb1pTQnRaWE5vSUc5bUlIUm9aU0JqYUdsc1pGeHVJQ0FnS2lBZ0lDQWdMU0JnVkVoU1JVVXVUV1Z6YUdBNklFRWdjSEpwYldsMGFYWmxJRzltSUhSb1pTQnRaWE5vSUc5bUlIUm9aU0JqYUdsc1pDQW9NaWxjYmlBZ0lDcGNiaUFnSUNvZ0l5TWpJRUVnYm05a1pTQjNhWFJvSUdFZ0tHMWxjMmdzSUcxMWJIUnBjR3hsSUhCeWFXMXBkR2wyWlhNcElFSlZWQ0IwYUdVZ2JtOWtaU0JwY3lCaElHSnZibVZjYmlBZ0lDcGNiaUFnSUNvZ0xTQmdWRWhTUlVVdVFtOXVaV0E2SUZSb1pTQnliMjkwSUc5bUlIUm9aU0J1YjJSbExDQmhjeUJoSUdKdmJtVmNiaUFnSUNvZ0lDQXRJR0JVU0ZKRlJTNUhjbTkxY0dBNklGUm9aU0J5YjI5MElHOW1JSFJvWlNCdFpYTm9YRzRnSUNBcUlDQWdJQ0F0SUdCVVNGSkZSUzVOWlhOb1lEb2dRU0J3Y21sdGFYUnBkbVVnYjJZZ2RHaGxJRzFsYzJnZ0tseHVJQ0FnS2lBZ0lDQWdMU0JnVkVoU1JVVXVUV1Z6YUdBNklFRWdjSEpwYldsMGFYWmxJRzltSUhSb1pTQnRaWE5vSUNneUtTQXFYRzRnSUNBcVhHNGdJQ0FxSUNNakl5QkJJRzV2WkdVZ2QybDBhQ0JoSUNodFpYTm9MQ0J0ZFd4MGFYQnNaU0J3Y21sdGFYUnBkbVZ6S1NCQlRrUWdLR0VnWTJocGJHUWdkMmwwYUNCaElHMWxjMmdzSUcxMWJIUnBjR3hsSUhCeWFXMXBkR2wyWlhNcElFSlZWQ0IwYUdVZ2JtOWtaU0JwY3lCaElHSnZibVZjYmlBZ0lDcGNiaUFnSUNvZ0xTQmdWRWhTUlVVdVFtOXVaV0E2SUZSb1pTQnliMjkwSUc5bUlIUm9aU0J1YjJSbExDQmhjeUJoSUdKdmJtVmNiaUFnSUNvZ0lDQXRJR0JVU0ZKRlJTNUhjbTkxY0dBNklGUm9aU0J5YjI5MElHOW1JSFJvWlNCdFpYTm9YRzRnSUNBcUlDQWdJQ0F0SUdCVVNGSkZSUzVOWlhOb1lEb2dRU0J3Y21sdGFYUnBkbVVnYjJZZ2RHaGxJRzFsYzJnZ0tseHVJQ0FnS2lBZ0lDQWdMU0JnVkVoU1JVVXVUV1Z6YUdBNklFRWdjSEpwYldsMGFYWmxJRzltSUhSb1pTQnRaWE5vSUNneUtTQXFYRzRnSUNBcUlDQWdMU0JnVkVoU1JVVXVSM0p2ZFhCZ09pQlVhR1VnY205dmRDQnZaaUJoSUUxRlUwZ2dUMFlnVkVoRklFTklTVXhFWEc0Z0lDQXFJQ0FnSUNBdElHQlVTRkpGUlM1TlpYTm9ZRG9nUVNCd2NtbHRhWFJwZG1VZ2IyWWdkR2hsSUcxbGMyZ2diMllnZEdobElHTm9hV3hrWEc0Z0lDQXFJQ0FnSUNBdElHQlVTRkpGUlM1TlpYTm9ZRG9nUVNCd2NtbHRhWFJwZG1VZ2IyWWdkR2hsSUcxbGMyZ2diMllnZEdobElHTm9hV3hrSUNneUtWeHVJQ0FnS2x4dUlDQWdLaUF1TGk1SklIZHBiR3dnZEdGclpTQmhJSE4wY21GMFpXZDVJSFJvWVhRZ2RISmhkbVZ5YzJWeklIUm9aU0J5YjI5MElHOW1JSFJvWlNCdWIyUmxJR0Z1WkNCMFlXdGxJR1pwY25OMElDaHdjbWx0YVhScGRtVkRiM1Z1ZENrZ2JXVnphR1Z6TGx4dUlDQWdLaTljYmx4dUlDQXZMeUJOWVd0bElITjFjbVVnZEdoaGRDQjBhR1VnYm05a1pTQm9ZWE1nWVNCdFpYTm9YRzRnSUdOdmJuTjBJSE5qYUdWdFlVNXZaR1VnUFNCcWMyOXVMbTV2WkdWelB5NWJibTlrWlVsdVpHVjRYVHRjYmlBZ2FXWWdLSE5qYUdWdFlVNXZaR1VnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR052Ym5OdmJHVXVkMkZ5YmloZ1pYaDBjbUZqZEZCeWFXMXBkR2wyWlhOSmJuUmxjbTVoYkRvZ1FYUjBaVzF3ZENCMGJ5QjFjMlVnYm05a1pYTmJKSHR1YjJSbFNXNWtaWGg5WFNCdlppQm5iRlJHSUdKMWRDQjBhR1VnYm05a1pTQmtiMlZ6YmlkMElHVjRhWE4wWUNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCdFpYTm9TVzVrWlhnZ1BTQnpZMmhsYldGT2IyUmxMbTFsYzJnN1hHNGdJR2xtSUNodFpYTm9TVzVrWlhnZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeThnU0c5M0lHMWhibmtnY0hKcGJXbDBhWFpsY3lCMGFHVWdiV1Z6YUNCb1lYTS9YRzRnSUdOdmJuTjBJSE5qYUdWdFlVMWxjMmdnUFNCcWMyOXVMbTFsYzJobGN6OHVXMjFsYzJoSmJtUmxlRjA3WEc0Z0lHbG1JQ2h6WTJobGJXRk5aWE5vSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JqYjI1emIyeGxMbmRoY200b1lHVjRkSEpoWTNSUWNtbHRhWFJwZG1WelNXNTBaWEp1WVd3NklFRjBkR1Z0Y0hRZ2RHOGdkWE5sSUcxbGMyaGxjMXNrZTIxbGMyaEpibVJsZUgxZElHOW1JR2RzVkVZZ1luVjBJSFJvWlNCdFpYTm9JR1J2WlhOdUozUWdaWGhwYzNSZ0tUdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElIQnlhVzFwZEdsMlpVTnZkVzUwSUQwZ2MyTm9aVzFoVFdWemFDNXdjbWx0YVhScGRtVnpMbXhsYm1kMGFEdGNibHh1SUNBdkx5QlVjbUYyWlhKelpTQjBhR1VnYm05a1pTQmhibVFnZEdGclpTQm1hWEp6ZENBb2NISnBiV2wwYVhabFEyOTFiblFwSUcxbGMyaGxjMXh1SUNCamIyNXpkQ0J3Y21sdGFYUnBkbVZ6T2lCVVNGSkZSUzVOWlhOb1cxMGdQU0JiWFR0Y2JpQWdibTlrWlM1MGNtRjJaWEp6WlNnb2IySnFaV04wS1NBOVBpQjdYRzRnSUNBZ2FXWWdLSEJ5YVcxcGRHbDJaWE11YkdWdVozUm9JRHdnY0hKcGJXbDBhWFpsUTI5MWJuUXBJSHRjYmlBZ0lDQWdJR2xtSUNnb2IySnFaV04wSUdGeklHRnVlU2t1YVhOTlpYTm9LU0I3WEc0Z0lDQWdJQ0FnSUhCeWFXMXBkR2wyWlhNdWNIVnphQ2h2WW1wbFkzUWdZWE1nVkVoU1JVVXVUV1Z6YUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2NISnBiV2wwYVhabGN6dGNibjFjYmx4dUx5b3FYRzRnS2lCRmVIUnlZV04wSUhCeWFXMXBkR2wyWlhNZ0tDQmdWRWhTUlVVdVRXVnphRnRkWUNBcElHOW1JR0VnYm05a1pTQm1jbTl0SUdFZ2JHOWhaR1ZrSUVkTVZFWXVYRzRnS2lCVWFHVWdiV0ZwYmlCd2RYSndiM05sSUc5bUlIUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ2RHOGdaR2x6ZEdsdVozVnBjMmdnY0hKcGJXbDBhWFpsY3lCaGJtUWdZMmhwYkdSeVpXNGdabkp2YlNCaElHNXZaR1VnZEdoaGRDQm9ZWE1nWW05MGFDQnRaWE5vWlhNZ1lXNWtJR05vYVd4a2NtVnVMbHh1SUNwY2JpQXFJRWwwSUhWMGFXeHBlbVZ6SUhSb1pTQmlaV2hoZG1sdmNpQjBhR0YwSUVkTVZFWk1iMkZrWlhJZ1lXUmtjeUJ0WlhOb0lIQnlhVzFwZEdsMlpYTWdkRzhnZEdobElHNXZaR1VnYjJKcVpXTjBJQ2dnWUZSSVVrVkZMa2R5YjNWd1lDQXBJR1pwY25OMElIUm9aVzRnWVdSa2N5QnBkSE1nWTJocGJHUnlaVzR1WEc0Z0tseHVJQ29nUUhCaGNtRnRJR2RzZEdZZ1FTQkhURlJHSUc5aWFtVmpkQ0IwWVd0bGJpQm1jbTl0SUVkTVZFWk1iMkZrWlhKY2JpQXFJRUJ3WVhKaGJTQnViMlJsU1c1a1pYZ2dWR2hsSUdsdVpHVjRJRzltSUhSb1pTQnViMlJsWEc0Z0tpOWNibVY0Y0c5eWRDQmhjM2x1WXlCbWRXNWpkR2x2YmlCbmJIUm1SWGgwY21GamRGQnlhVzFwZEdsMlpYTkdjbTl0VG05a1pTaG5iSFJtT2lCSFRGUkdMQ0J1YjJSbFNXNWtaWGc2SUc1MWJXSmxjaWs2SUZCeWIyMXBjMlU4VkVoU1JVVXVUV1Z6YUZ0ZElId2diblZzYkQ0Z2UxeHVJQ0JqYjI1emRDQnViMlJsT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ0E5SUdGM1lXbDBJR2RzZEdZdWNHRnljMlZ5TG1kbGRFUmxjR1Z1WkdWdVkza29KMjV2WkdVbkxDQnViMlJsU1c1a1pYZ3BPMXh1SUNCeVpYUjFjbTRnWlhoMGNtRmpkRkJ5YVcxcGRHbDJaWE5KYm5SbGNtNWhiQ2huYkhSbUxDQnViMlJsU1c1a1pYZ3NJRzV2WkdVcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVWNGRISmhZM1FnY0hKcGJXbDBhWFpsY3lBb0lHQlVTRkpGUlM1TlpYTm9XMTFnSUNrZ2IyWWdibTlrWlhNZ1puSnZiU0JoSUd4dllXUmxaQ0JIVEZSR0xseHVJQ29nVTJWbElIdEFiR2x1YXlCbmJIUm1SWGgwY21GamRGQnlhVzFwZEdsMlpYTkdjbTl0VG05a1pYMGdabTl5SUcxdmNtVWdaR1YwWVdsc2N5NWNiaUFxWEc0Z0tpQkpkQ0J5WlhSMWNtNXpJR0VnYldGd0lHWnliMjBnYm05a1pTQnBibVJsZUNCMGJ5QmxlSFJ5WVdOMGFXOXVJSEpsYzNWc2RDNWNiaUFxSUVsbUlHRWdibTlrWlNCa2IyVnpJRzV2ZENCb1lYWmxJR0VnYldWemFDd2dkR2hsSUdWdWRISjVJR1p2Y2lCMGFHVWdibTlrWlNCM2FXeHNJRzV2ZENCaVpTQndkWFFnYVc0Z2RHaGxJSEpsZEhWeWJtbHVaeUJ0WVhBdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUdkc2RHWWdRU0JIVEZSR0lHOWlhbVZqZENCMFlXdGxiaUJtY205dElFZE1WRVpNYjJGa1pYSmNiaUFxTDF4dVpYaHdiM0owSUdGemVXNWpJR1oxYm1OMGFXOXVJR2RzZEdaRmVIUnlZV04wVUhKcGJXbDBhWFpsYzBaeWIyMU9iMlJsY3lobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeE5ZWEE4Ym5WdFltVnlMQ0JVU0ZKRlJTNU5aWE5vVzEwK1BpQjdYRzRnSUdOdmJuTjBJRzV2WkdWek9pQlVTRkpGUlM1UFltcGxZM1F6UkZ0ZElEMGdZWGRoYVhRZ1oyeDBaaTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqYVdWektDZHViMlJsSnlrN1hHNGdJR052Ym5OMElHMWhjQ0E5SUc1bGR5Qk5ZWEE4Ym5WdFltVnlMQ0JVU0ZKRlJTNU5aWE5vVzEwK0tDazdYRzVjYmlBZ2JtOWtaWE11Wm05eVJXRmphQ2dvYm05a1pTd2dhVzVrWlhncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCbGVIUnlZV04wVUhKcGJXbDBhWFpsYzBsdWRHVnlibUZzS0dkc2RHWXNJR2x1WkdWNExDQnViMlJsS1R0Y2JpQWdJQ0JwWmlBb2NtVnpkV3gwSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUcxaGNDNXpaWFFvYVc1a1pYZ3NJSEpsYzNWc2RDazdYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JseHVJQ0J5WlhSMWNtNGdiV0Z3TzF4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVhVzF3YjNKMElIc2dSMHhVUmxCaGNuTmxjaUI5SUdaeWIyMGdKM1JvY21WbEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5Nbk8xeHVYRzR2S2lwY2JpQXFJRWRsZENCaElHMWhkR1Z5YVdGc0lHUmxabWx1YVhScGIyNGdhVzVrWlhnZ2IyWWdaMnhVUmlCbWNtOXRJR0Z6YzI5amFXRjBaV1FnYldGMFpYSnBZV3d1WEc0Z0tpQkpkQ2R6SUdKaGMybGpZV3hzZVNCaElHTnZiV0YwSUdOdlpHVWdZbVYwZDJWbGJpQlVhSEpsWlM1cWN5QnlNVE16SUc5eUlHRmliM1psSUdGdVpDQndjbVYyYVc5MWN5QjJaWEp6YVc5dWN5NWNiaUFxSUVCd1lYSmhiU0J3WVhKelpYSWdSMHhVUmxCaGNuTmxjbHh1SUNvZ1FIQmhjbUZ0SUcxaGRHVnlhV0ZzSUVFZ2JXRjBaWEpwWVd3Z2IyWWdaMngwWmx4dUlDb2dRSEpsZEhWeWJuTWdUV0YwWlhKcFlXd2daR1ZtYVc1cGRHbHZiaUJwYm1SbGVDQnZaaUJuYkZSR1hHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuYkhSbVIyVjBRWE56YjJOcFlYUmxaRTFoZEdWeWFXRnNTVzVrWlhnb2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeUxDQnRZWFJsY21saGJEb2dWRWhTUlVVdVRXRjBaWEpwWVd3cE9pQnVkVzFpWlhJZ2ZDQnVkV3hzSUh0Y2JpQWdZMjl1YzNRZ2RHaHlaV1ZTWlhacGMybHZiaUE5SUhCaGNuTmxTVzUwS0ZSSVVrVkZMbEpGVmtsVFNVOU9MQ0F4TUNrN1hHNWNiaUFnYkdWMElHbHVaR1Y0T2lCdWRXMWlaWElnZkNCdWRXeHNJRDBnYm5Wc2JEdGNibHh1SUNCcFppQW9kR2h5WldWU1pYWnBjMmx2YmlBK1BTQXhNek1wSUh0Y2JpQWdJQ0JwYm1SbGVDQTlJSEJoY25ObGNpNWhjM052WTJsaGRHbHZibk11WjJWMEtHMWhkR1Z5YVdGc0tUOHViV0YwWlhKcFlXeHpJRDgvSUc1MWJHdzdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnUTA5TlVFRlVPaUJ6ZEhKMVkzUjFjbVVnYjJZZ1lIQmhjbk5sY2k1aGMzTnZZMmxoZEdsdmJuTmdJR2hoY3lCaVpXVnVJR05vWVc1blpXUWdRQ0J5TVRNelhHNGdJQ0FnTHk4Z1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YlhKa2IyOWlMM1JvY21WbExtcHpMM0IxYkd3dk1qRTNNemRjYmlBZ0lDQXZMeUJTWldZNklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOTBhSEpsWlMxMGVYQmxjeTkwYUhKbFpTMTBjeTEwZVhCbGN5OWpiMjF0YVhRdk5USTBOalkzTm1VME56bGlOakZoT1dabU1tUmlOekZrWmpReE1UbG1ObVl4TkRZeU5UZ3daRnh1SUNBZ0lIUjVjR1VnUjB4VVJsSmxabVZ5Wlc1alpWQnlaVEV6TXlBOUlIdGNiaUFnSUNBZ0lIUjVjR1U2SUNkdFlYUmxjbWxoYkhNbklId2dKMjV2WkdWekp5QjhJQ2QwWlhoMGRYSmxjeWNnZkNBbmJXVnphR1Z6Snp0Y2JpQWdJQ0FnSUdsdVpHVjRPaUJ1ZFcxaVpYSTdYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lIUjVjR1VnUjB4VVJrRnpjMjlqYVdGMGFXOXVjMUJ5WlRFek15QTlJRTFoY0R4VVNGSkZSUzVQWW1wbFkzUXpSQ0I4SUZSSVVrVkZMazFoZEdWeWFXRnNJSHdnVkVoU1JVVXVWR1Y0ZEhWeVpTd2dSMHhVUmxKbFptVnlaVzVqWlZCeVpURXpNejQ3WEc1Y2JpQWdJQ0JqYjI1emRDQmhjM052WTJsaGRHbHZibk1nUFNCd1lYSnpaWEl1WVhOemIyTnBZWFJwYjI1eklHRnpJRWRNVkVaQmMzTnZZMmxoZEdsdmJuTlFjbVV4TXpNN1hHNWNiaUFnSUNCamIyNXpkQ0J5WldabGNtVnVZMlVnUFNCaGMzTnZZMmxoZEdsdmJuTXVaMlYwS0cxaGRHVnlhV0ZzS1R0Y2JseHVJQ0FnSUdsbUlDaHlaV1psY21WdVkyVS9MblI1Y0dVZ1BUMDlJQ2R0WVhSbGNtbGhiSE1uS1NCN1hHNGdJQ0FnSUNCcGJtUmxlQ0E5SUhKbFptVnlaVzVqWlM1cGJtUmxlRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdhVzVrWlhnN1hHNTlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1Wlhod2IzSjBJR052Ym5OMElGWlNUVVY0Y0hKbGMzTnBiMjVRY21WelpYUk9ZVzFsSUQwZ2UxeHVJQ0JCWVRvZ0oyRmhKeXhjYmlBZ1NXZzZJQ2RwYUNjc1hHNGdJRTkxT2lBbmIzVW5MRnh1SUNCRlpUb2dKMlZsSnl4Y2JpQWdUMmc2SUNkdmFDY3NYRzRnSUVKc2FXNXJPaUFuWW14cGJtc25MRnh1SUNCSVlYQndlVG9nSjJoaGNIQjVKeXhjYmlBZ1FXNW5jbms2SUNkaGJtZHllU2NzWEc0Z0lGTmhaRG9nSjNOaFpDY3NYRzRnSUZKbGJHRjRaV1E2SUNkeVpXeGhlR1ZrSnl4Y2JpQWdURzl2YTFWd09pQW5iRzl2YTFWd0p5eGNiaUFnVTNWeWNISnBjMlZrT2lBbmMzVnljSEpwYzJWa0p5eGNiaUFnVEc5dmEwUnZkMjQ2SUNkc2IyOXJSRzkzYmljc1hHNGdJRXh2YjJ0TVpXWjBPaUFuYkc5dmEweGxablFuTEZ4dUlDQk1iMjlyVW1sbmFIUTZJQ2RzYjI5clVtbG5hSFFuTEZ4dUlDQkNiR2x1YTB4bFpuUTZJQ2RpYkdsdWEweGxablFuTEZ4dUlDQkNiR2x1YTFKcFoyaDBPaUFuWW14cGJtdFNhV2RvZENjc1hHNGdJRTVsZFhSeVlXdzZJQ2R1WlhWMGNtRnNKeXhjYm4wZ1lYTWdZMjl1YzNRN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJRDBnZEhsd1pXOW1JRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbFcydGxlVzltSUhSNWNHVnZaaUJXVWsxRmVIQnlaWE56YVc5dVVISmxjMlYwVG1GdFpWMDdYRzRpTENJdktpcGNiaUFxSUVOc1lXMXdJSFJvWlNCcGJuQjFkQ0IyWVd4MVpTQjNhWFJvYVc0Z1d6QXVNQ0F0SURFdU1GMHVYRzRnS2x4dUlDb2dRSEJoY21GdElIWmhiSFZsSUZSb1pTQnBibkIxZENCMllXeDFaVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyRjBkWEpoZEdVb2RtRnNkV1U2SUc1MWJXSmxjaWs2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCTllYUm9MbTFoZUNoTllYUm9MbTFwYmloMllXeDFaU3dnTVM0d0tTd2dNQzR3S1R0Y2JuMWNiaUlzSW1sdGNHOXlkQ0I3SUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVVISmxjMlYwVG1GdFpTYzdYRzVwYlhCdmNuUWdleUJ6WVhSMWNtRjBaU0I5SUdaeWIyMGdKeTR1TDNWMGFXeHpMM05oZEhWeVlYUmxKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOUlhod2NtVnpjMmx2YmlCOUlHWnliMjBnSnk0dlZsSk5SWGh3Y21WemMybHZiaWM3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2lCN1hHNGdJQzhxS2x4dUlDQWdLaUJCSUhObGRDQnZaaUJ1WVcxbElHOXlJSEJ5WlhObGRDQnVZVzFsSUc5bUlHVjRjSEpsYzNOcGIyNXpJSFJvWVhRZ2QybHNiQ0JpWlNCdmRtVnljbWxrWkdWdUlHSjVJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1TG05MlpYSnlhV1JsUW14cGJtdDlMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0pzYVc1clJYaHdjbVZ6YzJsdmJrNWhiV1Z6SUQwZ1d5ZGliR2x1YXljc0lDZGliR2x1YTB4bFpuUW5MQ0FuWW14cGJtdFNhV2RvZENkZE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCQklITmxkQ0J2WmlCdVlXMWxJRzl5SUhCeVpYTmxkQ0J1WVcxbElHOW1JR1Y0Y0hKbGMzTnBiMjV6SUhSb1lYUWdkMmxzYkNCaVpTQnZkbVZ5Y21sa1pHVnVJR0o1SUh0QWJHbHVheUJXVWsxRmVIQnlaWE56YVc5dUxtOTJaWEp5YVdSbFRHOXZhMEYwZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCc2IyOXJRWFJGZUhCeVpYTnphVzl1VG1GdFpYTWdQU0JiSjJ4dmIydE1aV1owSnl3Z0oyeHZiMnRTYVdkb2RDY3NJQ2RzYjI5clZYQW5MQ0FuYkc5dmEwUnZkMjRuWFR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCelpYUWdiMllnYm1GdFpTQnZjaUJ3Y21WelpYUWdibUZ0WlNCdlppQmxlSEJ5WlhOemFXOXVjeUIwYUdGMElIZHBiR3dnWW1VZ2IzWmxjbkpwWkdSbGJpQmllU0I3UUd4cGJtc2dWbEpOUlhod2NtVnpjMmx2Ymk1dmRtVnljbWxrWlUxdmRYUm9mUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ0YjNWMGFFVjRjSEpsYzNOcGIyNU9ZVzFsY3lBOUlGc25ZV0VuTENBblpXVW5MQ0FuYVdnbkxDQW5iMmduTENBbmIzVW5YVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0J6WlhRZ2IyWWdlMEJzYVc1cklGWlNUVVY0Y0hKbGMzTnBiMjU5TGx4dUlDQWdLaUJYYUdWdUlIbHZkU0IzWVc1MElIUnZJSEpsWjJsemRHVnlJR1Y0Y0hKbGMzTnBiMjV6TENCMWMyVWdlMEJzYVc1cklISmxaMmx6ZEdWeVJYaHdjbVZ6YzJsdmJuMWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMlY0Y0hKbGMzTnBiMjV6T2lCV1VrMUZlSEJ5WlhOemFXOXVXMTBnUFNCYlhUdGNiaUFnY0hWaWJHbGpJR2RsZENCbGVIQnlaWE56YVc5dWN5Z3BPaUJXVWsxRmVIQnlaWE56YVc5dVcxMGdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlsZUhCeVpYTnphVzl1Y3k1amIyNWpZWFFvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJRzFoY0NCbWNtOXRJRzVoYldVZ2RHOGdaWGh3Y21WemMybHZiaTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJWNGNISmxjM05wYjI1TllYQTZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJRlpTVFVWNGNISmxjM05wYjI0Z2ZTQTlJSHQ5TzF4dUlDQndkV0pzYVdNZ1oyVjBJR1Y0Y0hKbGMzTnBiMjVOWVhBb0tUb2dleUJiYm1GdFpUb2djM1J5YVc1blhUb2dWbEpOUlhod2NtVnpjMmx2YmlCOUlIdGNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbUZ6YzJsbmJpaDdmU3dnZEdocGN5NWZaWGh3Y21WemMybHZiazFoY0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0J0WVhBZ1puSnZiU0J1WVcxbElIUnZJR1Y0Y0hKbGMzTnBiMjRzSUdKMWRDQmxlR05zZFdScGJtY2dZM1Z6ZEc5dElHVjRjSEpsYzNOcGIyNXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZENCd2NtVnpaWFJGZUhCeVpYTnphVzl1VFdGd0tDazZJSHNnVzI1aGJXVWdhVzRnVmxKTlJYaHdjbVZ6YzJsdmJsQnlaWE5sZEU1aGJXVmRQem9nVmxKTlJYaHdjbVZ6YzJsdmJpQjlJSHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFE2SUhzZ1cyNWhiV1VnYVc0Z1ZsSk5SWGh3Y21WemMybHZibEJ5WlhObGRFNWhiV1ZkUHpvZ1ZsSk5SWGh3Y21WemMybHZiaUI5SUQwZ2UzMDdYRzVjYmlBZ0lDQmpiMjV6ZENCd2NtVnpaWFJPWVcxbFUyVjBJRDBnYm1WM0lGTmxkRHh6ZEhKcGJtYytLRTlpYW1WamRDNTJZV3gxWlhNb1ZsSk5SWGh3Y21WemMybHZibEJ5WlhObGRFNWhiV1VwS1R0Y2JseHVJQ0FnSUU5aWFtVmpkQzVsYm5SeWFXVnpLSFJvYVhNdVgyVjRjSEpsYzNOcGIyNU5ZWEFwTG1admNrVmhZMmdvS0Z0dVlXMWxMQ0JsZUhCeVpYTnphVzl1WFNrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0hCeVpYTmxkRTVoYldWVFpYUXVhR0Z6S0c1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMzVnNkRnR1WVcxbElHRnpJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbFhTQTlJR1Y0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnYldGd0lHWnliMjBnYm1GdFpTQjBieUJsZUhCeVpYTnphVzl1TENCaWRYUWdaWGhqYkhWa2FXNW5JSEJ5WlhObGRDQmxlSEJ5WlhOemFXOXVjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ1kzVnpkRzl0Ulhod2NtVnpjMmx2YmsxaGNDZ3BPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUJXVWsxRmVIQnlaWE56YVc5dUlIMGdlMXh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkRG9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nVmxKTlJYaHdjbVZ6YzJsdmJpQjlJRDBnZTMwN1hHNWNiaUFnSUNCamIyNXpkQ0J3Y21WelpYUk9ZVzFsVTJWMElEMGdibVYzSUZObGREeHpkSEpwYm1jK0tFOWlhbVZqZEM1MllXeDFaWE1vVmxKTlJYaHdjbVZ6YzJsdmJsQnlaWE5sZEU1aGJXVXBLVHRjYmx4dUlDQWdJRTlpYW1WamRDNWxiblJ5YVdWektIUm9hWE11WDJWNGNISmxjM05wYjI1TllYQXBMbVp2Y2tWaFkyZ29LRnR1WVcxbExDQmxlSEJ5WlhOemFXOXVYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z3Y21WelpYUk9ZVzFsVTJWMExtaGhjeWh1WVcxbEtTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhOMWJIUmJibUZ0WlYwZ1BTQmxlSEJ5WlhOemFXOXVPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQnVaWGNnZTBCc2FXNXJJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5ZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpZ3BJSHRjYmlBZ0lDQXZMeUJrYnlCdWIzUm9hVzVuWEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXdlU0IwYUdVZ1oybDJaVzRnZTBCc2FXNXJJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5ZlNCcGJuUnZJSFJvYVhNZ2IyNWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2MyOTFjbU5sSUZSb1pTQjdRR3hwYm1zZ1ZsSk5SWGh3Y21WemMybHZiazFoYm1GblpYSjlJSGx2ZFNCM1lXNTBJSFJ2SUdOdmNIbGNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2RHaHBjMXh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR052Y0hrb2MyOTFjbU5sT2lCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpazZJSFJvYVhNZ2UxeHVJQ0FnSUM4dklHWnBjbk4wSUhWdWNtVm5hWE4wWlhJZ1lXeHNJSFJvWlNCbGVIQnlaWE56YVc5dUlHbDBJR2hoYzF4dUlDQWdJR052Ym5OMElHVjRjSEpsYzNOcGIyNXpJRDBnZEdocGN5NWZaWGh3Y21WemMybHZibk11WTI5dVkyRjBLQ2s3WEc0Z0lDQWdaWGh3Y21WemMybHZibk11Wm05eVJXRmphQ2dvWlhod2NtVnpjMmx2YmlrZ1BUNGdlMXh1SUNBZ0lDQWdkR2hwY3k1MWJuSmxaMmx6ZEdWeVJYaHdjbVZ6YzJsdmJpaGxlSEJ5WlhOemFXOXVLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJQzh2SUhSb1pXNGdjbVZuYVhOMFpYSWdZV3hzSUhSb1pTQmxlSEJ5WlhOemFXOXVJRzltSUhSb1pTQnpiM1Z5WTJWY2JpQWdJQ0J6YjNWeVkyVXVYMlY0Y0hKbGMzTnBiMjV6TG1admNrVmhZMmdvS0dWNGNISmxjM05wYjI0cElEMCtJSHRjYmlBZ0lDQWdJSFJvYVhNdWNtVm5hWE4wWlhKRmVIQnlaWE56YVc5dUtHVjRjSEpsYzNOcGIyNHBPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnWTI5d2VTQnlaVzFoYVc1cGJtY2diV1Z0WW1WeWMxeHVJQ0FnSUhSb2FYTXVZbXhwYm10RmVIQnlaWE56YVc5dVRtRnRaWE1nUFNCemIzVnlZMlV1WW14cGJtdEZlSEJ5WlhOemFXOXVUbUZ0WlhNdVkyOXVZMkYwS0NrN1hHNGdJQ0FnZEdocGN5NXNiMjlyUVhSRmVIQnlaWE56YVc5dVRtRnRaWE1nUFNCemIzVnlZMlV1Ykc5dmEwRjBSWGh3Y21WemMybHZiazVoYldWekxtTnZibU5oZENncE8xeHVJQ0FnSUhSb2FYTXViVzkxZEdoRmVIQnlaWE56YVc5dVRtRnRaWE1nUFNCemIzVnlZMlV1Ylc5MWRHaEZlSEJ5WlhOemFXOXVUbUZ0WlhNdVkyOXVZMkYwS0NrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnWTJ4dmJtVWdiMllnZEdocGN5QjdRR3hwYm1zZ1ZsSk5SWGh3Y21WemMybHZiazFoYm1GblpYSjlMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QkRiM0JwWldRZ2UwQnNhVzVySUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeWZWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnNiMjVsS0NrNklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5S0NrdVkyOXdlU2gwYUdsektUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdZU0J5WldkcGMzUmxjbVZrSUdWNGNISmxjM05wYjI0dVhHNGdJQ0FxSUVsbUlHbDBJR05oYm01dmRDQm1hVzVrSUdGdUlHVjRjSEpsYzNOcGIyNHNJR2wwSUhkcGJHd2djbVYwZFhKdUlHQnVkV3hzWUNCcGJuTjBaV0ZrTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2JtRnRaU0JPWVcxbElHOXlJSEJ5WlhObGRDQnVZVzFsSUc5bUlIUm9aU0JsZUhCeVpYTnphVzl1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMFJYaHdjbVZ6YzJsdmJpaHVZVzFsT2lCV1VrMUZlSEJ5WlhOemFXOXVVSEpsYzJWMFRtRnRaU0I4SUhOMGNtbHVaeWs2SUZaU1RVVjRjSEpsYzNOcGIyNGdmQ0J1ZFd4c0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaWGh3Y21WemMybHZiazFoY0Z0dVlXMWxYU0EvUHlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbFoybHpkR1Z5SUdGdUlHVjRjSEpsYzNOcGIyNHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JsZUhCeVpYTnphVzl1SUh0QWJHbHVheUJXVWsxRmVIQnlaWE56YVc5dWZTQjBhR0YwSUdSbGMyTnlhV0psY3lCMGFHVWdaWGh3Y21WemMybHZibHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWjJsemRHVnlSWGh3Y21WemMybHZiaWhsZUhCeVpYTnphVzl1T2lCV1VrMUZlSEJ5WlhOemFXOXVLVG9nZG05cFpDQjdYRzRnSUNBZ2RHaHBjeTVmWlhod2NtVnpjMmx2Ym5NdWNIVnphQ2hsZUhCeVpYTnphVzl1S1R0Y2JpQWdJQ0IwYUdsekxsOWxlSEJ5WlhOemFXOXVUV0Z3VzJWNGNISmxjM05wYjI0dVpYaHdjbVZ6YzJsdmJrNWhiV1ZkSUQwZ1pYaHdjbVZ6YzJsdmJqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJWYm5KbFoybHpkR1Z5SUdGdUlHVjRjSEpsYzNOcGIyNHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JsZUhCeVpYTnphVzl1SUZSb1pTQmxlSEJ5WlhOemFXOXVJSGx2ZFNCM1lXNTBJSFJ2SUhWdWNtVm5hWE4wWlhKY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCMWJuSmxaMmx6ZEdWeVJYaHdjbVZ6YzJsdmJpaGxlSEJ5WlhOemFXOXVPaUJXVWsxRmVIQnlaWE56YVc5dUtUb2dkbTlwWkNCN1hHNGdJQ0FnWTI5dWMzUWdhVzVrWlhnZ1BTQjBhR2x6TGw5bGVIQnlaWE56YVc5dWN5NXBibVJsZUU5bUtHVjRjSEpsYzNOcGIyNHBPMXh1SUNBZ0lHbG1JQ2hwYm1SbGVDQTlQVDBnTFRFcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWduVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJNklGUm9aU0J6Y0dWamFXWnBaV1FnWlhod2NtVnpjMmx2Ym5NZ2FYTWdibTkwSUhKbFoybHpkR1Z5WldRbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbDlsZUhCeVpYTnphVzl1Y3k1emNHeHBZMlVvYVc1a1pYZ3NJREVwTzF4dUlDQWdJR1JsYkdWMFpTQjBhR2x6TGw5bGVIQnlaWE56YVc5dVRXRndXMlY0Y0hKbGMzTnBiMjR1Wlhod2NtVnpjMmx2Yms1aGJXVmRPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnWTNWeWNtVnVkQ0IzWldsbmFIUWdiMllnZEdobElITndaV05wWm1sbFpDQmxlSEJ5WlhOemFXOXVMbHh1SUNBZ0tpQkpaaUJwZENCa2IyVnpiaWQwSUdoaGRtVWdZVzRnWlhod2NtVnpjMmx2YmlCdlppQm5hWFpsYmlCdVlXMWxMQ0JwZENCM2FXeHNJSEpsZEhWeWJpQmdiblZzYkdBZ2FXNXpkR1ZoWkM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHNWhiV1VnVG1GdFpTQnZaaUIwYUdVZ1pYaHdjbVZ6YzJsdmJseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRlpoYkhWbEtHNWhiV1U2SUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJSHdnYzNSeWFXNW5LVG9nYm5WdFltVnlJSHdnYm5Wc2JDQjdYRzRnSUNBZ1kyOXVjM1FnWlhod2NtVnpjMmx2YmlBOUlIUm9hWE11WjJWMFJYaHdjbVZ6YzJsdmJpaHVZVzFsS1R0Y2JpQWdJQ0J5WlhSMWNtNGdaWGh3Y21WemMybHZiajh1ZDJWcFoyaDBJRDgvSUc1MWJHdzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVTJWMElHRWdkMlZwWjJoMElIUnZJSFJvWlNCemNHVmphV1pwWldRZ1pYaHdjbVZ6YzJsdmJpNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJRzVoYldVZ1RtRnRaU0J2WmlCMGFHVWdaWGh3Y21WemMybHZibHh1SUNBZ0tpQkFjR0Z5WVcwZ2QyVnBaMmgwSUZkbGFXZG9kRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE5sZEZaaGJIVmxLRzVoYldVNklGWlNUVVY0Y0hKbGMzTnBiMjVRY21WelpYUk9ZVzFsSUh3Z2MzUnlhVzVuTENCM1pXbG5hSFE2SUc1MWJXSmxjaWs2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUdWNGNISmxjM05wYjI0Z1BTQjBhR2x6TG1kbGRFVjRjSEpsYzNOcGIyNG9ibUZ0WlNrN1hHNGdJQ0FnYVdZZ0tHVjRjSEpsYzNOcGIyNHBJSHRjYmlBZ0lDQWdJR1Y0Y0hKbGMzTnBiMjR1ZDJWcFoyaDBJRDBnYzJGMGRYSmhkR1VvZDJWcFoyaDBLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElHRWdkSEpoWTJzZ2JtRnRaU0J2WmlCemNHVmphV1pwWldRZ1pYaHdjbVZ6YzJsdmJpNWNiaUFnSUNvZ1ZHaHBjeUIwY21GamF5QnVZVzFsSUdseklHNWxaV1JsWkNCMGJ5QnRZVzVwY0hWc1lYUmxJR2wwY3lCbGVIQnlaWE56YVc5dUlIWnBZU0JyWlhsbWNtRnRaU0JoYm1sdFlYUnBiMjV6TGx4dUlDQWdLbHh1SUNBZ0tpQkFaWGhoYlhCc1pTQk5ZVzVwY0hWc1lYUmxJR0Z1SUdWNGNISmxjM05wYjI0Z2RYTnBibWNnYTJWNVpuSmhiV1VnWVc1cGJXRjBhVzl1WEc0Z0lDQXFJR0JnWUdwelhHNGdJQ0FxSUdOdmJuTjBJSFJ5WVdOclRtRnRaU0E5SUhaeWJTNWxlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpNW5aWFJGZUhCeVpYTnphVzl1VkhKaFkydE9ZVzFsS0NBbllteHBibXNuSUNrN1hHNGdJQ0FxSUdOdmJuTjBJSFJ5WVdOcklEMGdibVYzSUZSSVVrVkZMazUxYldKbGNrdGxlV1p5WVcxbFZISmhZMnNvWEc0Z0lDQXFJQ0FnYm1GdFpTeGNiaUFnSUNvZ0lDQmJJREF1TUN3Z01DNDFMQ0F4TGpBZ1hTd2dMeThnZEdsdFpYTmNiaUFnSUNvZ0lDQmJJREF1TUN3Z01TNHdMQ0F3TGpBZ1hTQXZMeUIyWVd4MVpYTmNiaUFnSUNvZ0tUdGNiaUFnSUNwY2JpQWdJQ29nWTI5dWMzUWdZMnhwY0NBOUlHNWxkeUJVU0ZKRlJTNUJibWx0WVhScGIyNURiR2x3S0Z4dUlDQWdLaUFnSUNkaWJHbHVheWNzSUM4dklHNWhiV1ZjYmlBZ0lDb2dJQ0F4TGpBc0lDOHZJR1IxY21GMGFXOXVYRzRnSUNBcUlDQWdXeUIwY21GamF5QmRJQzh2SUhSeVlXTnJjMXh1SUNBZ0tpQXBPMXh1SUNBZ0tseHVJQ0FnS2lCamIyNXpkQ0J0YVhobGNpQTlJRzVsZHlCVVNGSkZSUzVCYm1sdFlYUnBiMjVOYVhobGNpZ2dkbkp0TG5OalpXNWxJQ2s3WEc0Z0lDQXFJR052Ym5OMElHRmpkR2x2YmlBOUlHMXBlR1Z5TG1Oc2FYQkJZM1JwYjI0b0lHTnNhWEFnS1R0Y2JpQWdJQ29nWVdOMGFXOXVMbkJzWVhrb0tUdGNiaUFnSUNvZ1lHQmdYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0J1WVcxbElFNWhiV1VnYjJZZ2RHaGxJR1Y0Y0hKbGMzTnBiMjVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhSRmVIQnlaWE56YVc5dVZISmhZMnRPWVcxbEtHNWhiV1U2SUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJSHdnYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHdnYm5Wc2JDQjdYRzRnSUNBZ1kyOXVjM1FnWlhod2NtVnpjMmx2YmlBOUlIUm9hWE11WjJWMFJYaHdjbVZ6YzJsdmJpaHVZVzFsS1R0Y2JpQWdJQ0J5WlhSMWNtNGdaWGh3Y21WemMybHZiaUEvSUdBa2UyVjRjSEpsYzNOcGIyNHVibUZ0WlgwdWQyVnBaMmgwWUNBNklHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1ZYQmtZWFJsSUdWMlpYSjVJR1Y0Y0hKbGMzTnBiMjV6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhWd1pHRjBaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQXZMeUJ6WldVZ2FHOTNJRzExWTJnZ2QyVWdjMmh2ZFd4a0lHOTJaWEp5YVdSbElHTmxjblJoYVc0Z1pYaHdjbVZ6YzJsdmJuTmNiaUFnSUNCamIyNXpkQ0IzWldsbmFIUk5kV3gwYVhCc2FXVnljeUE5SUhSb2FYTXVYMk5oYkdOMWJHRjBaVmRsYVdkb2RFMTFiSFJwY0d4cFpYSnpLQ2s3WEc1Y2JpQWdJQ0F2THlCeVpYTmxkQ0JsZUhCeVpYTnphVzl1SUdKcGJtUnpJR1pwY25OMFhHNGdJQ0FnZEdocGN5NWZaWGh3Y21WemMybHZibk11Wm05eVJXRmphQ2dvWlhod2NtVnpjMmx2YmlrZ1BUNGdlMXh1SUNBZ0lDQWdaWGh3Y21WemMybHZiaTVqYkdWaGNrRndjR3hwWldSWFpXbG5hSFFvS1R0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUM4dklIUm9aVzRnWVhCd2JIa2dZbWx1WkhOY2JpQWdJQ0IwYUdsekxsOWxlSEJ5WlhOemFXOXVjeTVtYjNKRllXTm9LQ2hsZUhCeVpYTnphVzl1S1NBOVBpQjdYRzRnSUNBZ0lDQnNaWFFnYlhWc2RHbHdiR2xsY2lBOUlERXVNRHRjYmlBZ0lDQWdJR052Ym5OMElHNWhiV1VnUFNCbGVIQnlaWE56YVc5dUxtVjRjSEpsYzNOcGIyNU9ZVzFsTzF4dVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1aWJHbHVhMFY0Y0hKbGMzTnBiMjVPWVcxbGN5NXBibVJsZUU5bUtHNWhiV1VwSUNFOVBTQXRNU2tnZTF4dUlDQWdJQ0FnSUNCdGRXeDBhWEJzYVdWeUlDbzlJSGRsYVdkb2RFMTFiSFJwY0d4cFpYSnpMbUpzYVc1ck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXNiMjlyUVhSRmVIQnlaWE56YVc5dVRtRnRaWE11YVc1a1pYaFBaaWh1WVcxbEtTQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lDQWdiWFZzZEdsd2JHbGxjaUFxUFNCM1pXbG5hSFJOZFd4MGFYQnNhV1Z5Y3k1c2IyOXJRWFE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG0xdmRYUm9SWGh3Y21WemMybHZiazVoYldWekxtbHVaR1Y0VDJZb2JtRnRaU2tnSVQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUcxMWJIUnBjR3hwWlhJZ0tqMGdkMlZwWjJoMFRYVnNkR2x3YkdsbGNuTXViVzkxZEdnN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHVjRjSEpsYzNOcGIyNHVZWEJ3YkhsWFpXbG5hSFFvZXlCdGRXeDBhWEJzYVdWeUlIMHBPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOaGJHTjFiR0YwWlNCemRXMGdiMllnYjNabGNuSnBaR1VnWVcxdmRXNTBjeUIwYnlCelpXVWdhRzkzSUcxMVkyZ2dkMlVnYzJodmRXeGtJRzExYkhScGNHeDVJSGRsYVdkb2RITWdiMllnWTJWeWRHRnBiaUJsZUhCeVpYTnphVzl1Y3k1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gyTmhiR04xYkdGMFpWZGxhV2RvZEUxMWJIUnBjR3hwWlhKektDazZJSHRjYmlBZ0lDQmliR2x1YXpvZ2JuVnRZbVZ5TzF4dUlDQWdJR3h2YjJ0QmREb2diblZ0WW1WeU8xeHVJQ0FnSUcxdmRYUm9PaUJ1ZFcxaVpYSTdYRzRnSUgwZ2UxeHVJQ0FnSUd4bGRDQmliR2x1YXlBOUlERXVNRHRjYmlBZ0lDQnNaWFFnYkc5dmEwRjBJRDBnTVM0d08xeHVJQ0FnSUd4bGRDQnRiM1YwYUNBOUlERXVNRHRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjSEpsYzNOcGIyNXpMbVp2Y2tWaFkyZ29LR1Y0Y0hKbGMzTnBiMjRwSUQwK0lIdGNiaUFnSUNBZ0lHSnNhVzVySUMwOUlHVjRjSEpsYzNOcGIyNHViM1psY25KcFpHVkNiR2x1YTBGdGIzVnVkRHRjYmlBZ0lDQWdJR3h2YjJ0QmRDQXRQU0JsZUhCeVpYTnphVzl1TG05MlpYSnlhV1JsVEc5dmEwRjBRVzF2ZFc1ME8xeHVJQ0FnSUNBZ2JXOTFkR2dnTFQwZ1pYaHdjbVZ6YzJsdmJpNXZkbVZ5Y21sa1pVMXZkWFJvUVcxdmRXNTBPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdZbXhwYm1zZ1BTQk5ZWFJvTG0xaGVDZ3dMakFzSUdKc2FXNXJLVHRjYmlBZ0lDQnNiMjlyUVhRZ1BTQk5ZWFJvTG0xaGVDZ3dMakFzSUd4dmIydEJkQ2s3WEc0Z0lDQWdiVzkxZEdnZ1BTQk5ZWFJvTG0xaGVDZ3dMakFzSUcxdmRYUm9LVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjdJR0pzYVc1ckxDQnNiMjlyUVhRc0lHMXZkWFJvSUgwN1hHNGdJSDFjYm4xY2JpSXNJaThxSUdWemJHbHVkQzFrYVhOaFlteGxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1WVcxcGJtY3RZMjl1ZG1WdWRHbHZiaUFxTDF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVmxKTlJYaHdjbVZ6YzJsdmJrMWhkR1Z5YVdGc1EyOXNiM0pVZVhCbElEMGdlMXh1SUNCRGIyeHZjam9nSjJOdmJHOXlKeXhjYmlBZ1JXMXBjM05wYjI1RGIyeHZjam9nSjJWdGFYTnphVzl1UTI5c2IzSW5MRnh1SUNCVGFHRmtaVU52Ykc5eU9pQW5jMmhoWkdWRGIyeHZjaWNzWEc0Z0lFMWhkR05oY0VOdmJHOXlPaUFuYldGMFkyRndRMjlzYjNJbkxGeHVJQ0JTYVcxRGIyeHZjam9nSjNKcGJVTnZiRzl5Snl4Y2JpQWdUM1YwYkdsdVpVTnZiRzl5T2lBbmIzVjBiR2x1WlVOdmJHOXlKeXhjYm4wZ1lYTWdZMjl1YzNRN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTQTlYRzRnSUhSNWNHVnZaaUJXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZjbFI1Y0dWYmEyVjViMllnZEhsd1pXOW1JRlpTVFVWNGNISmxjM05wYjI1TllYUmxjbWxoYkVOdmJHOXlWSGx3WlYwN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCMk1FVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5VFdGd09pQjdJRnRyWlhrNklITjBjbWx1WjEwNklGWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVZIbHdaU0I4SUhWdVpHVm1hVzVsWkNCOUlEMGdlMXh1SUNCZlEyOXNiM0k2SUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTNURiMnh2Y2l4Y2JpQWdYMFZ0YVhOemFXOXVRMjlzYjNJNklGWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVZIbHdaUzVGYldsemMybHZia052Ykc5eUxGeHVJQ0JmVTJoaFpHVkRiMnh2Y2pvZ1ZsSk5SWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKVWVYQmxMbE5vWVdSbFEyOXNiM0lzWEc0Z0lGOVNhVzFEYjJ4dmNqb2dWbEpOUlhod2NtVnpjMmx2YmsxaGRHVnlhV0ZzUTI5c2IzSlVlWEJsTGxKcGJVTnZiRzl5TEZ4dUlDQmZUM1YwYkdsdVpVTnZiRzl5T2lCV1VrMUZlSEJ5WlhOemFXOXVUV0YwWlhKcFlXeERiMnh2Y2xSNWNHVXVUM1YwYkdsdVpVTnZiRzl5TEZ4dWZUdGNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5SWGh3Y21WemMybHZia0pwYm1RZ2ZTQm1jbTl0SUNjdUwxWlNUVVY0Y0hKbGMzTnBiMjVDYVc1a0p6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5SWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKVWVYQmxJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZjbFI1Y0dVbk8xeHVYRzVqYjI1emRDQmZZMjlzYjNJZ1BTQnVaWGNnVkVoU1JVVXVRMjlzYjNJb0tUdGNibHh1THlvcVhHNGdLaUJCSUdKcGJtUWdiMllnWlhod2NtVnpjMmx2YmlCcGJtWnNkV1Z1WTJWeklIUnZJR0VnYldGMFpYSnBZV3dnWTI5c2IzSXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZja0pwYm1RZ2FXMXdiR1Z0Wlc1MGN5QldVazFGZUhCeVpYTnphVzl1UW1sdVpDQjdYRzRnSUM4cUtseHVJQ0FnS2lCTllYQndhVzVuSUc5bUlIQnliM0JsY25SNUlHNWhiV1Z6SUdaeWIyMGdWbEpOUXk5dFlYUmxjbWxoYkVOdmJHOXlRbWx1WkhNdWRIbHdaU0IwYnlCMGFISmxaUzVxY3k5TllYUmxjbWxoYkM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUY5d2NtOXdaWEowZVU1aGJXVk5ZWEJOWVhBNklIdGNiaUFnSUNCYlpHbHpkR2x1WjNWcGMyaGxjam9nYzNSeWFXNW5YVG9nZXlCYmRIbHdaU0JwYmlCV1VrMUZlSEJ5WlhOemFXOXVUV0YwWlhKcFlXeERiMnh2Y2xSNWNHVmRQem9nYzNSeWFXNW5JSDA3WEc0Z0lIMGdQU0I3WEc0Z0lDQWdhWE5OWlhOb1UzUmhibVJoY21STllYUmxjbWxoYkRvZ2UxeHVJQ0FnSUNBZ1kyOXNiM0k2SUNkamIyeHZjaWNzWEc0Z0lDQWdJQ0JsYldsemMybHZia052Ykc5eU9pQW5aVzFwYzNOcGRtVW5MRnh1SUNBZ0lIMHNYRzRnSUNBZ2FYTk5aWE5vUW1GemFXTk5ZWFJsY21saGJEb2dlMXh1SUNBZ0lDQWdZMjlzYjNJNklDZGpiMnh2Y2ljc1hHNGdJQ0FnZlN4Y2JpQWdJQ0JwYzAxVWIyOXVUV0YwWlhKcFlXdzZJSHRjYmlBZ0lDQWdJR052Ykc5eU9pQW5ZMjlzYjNJbkxGeHVJQ0FnSUNBZ1pXMXBjM05wYjI1RGIyeHZjam9nSjJWdGFYTnphWFpsSnl4Y2JpQWdJQ0FnSUc5MWRHeHBibVZEYjJ4dmNqb2dKMjkxZEd4cGJtVkRiMnh2Y2taaFkzUnZjaWNzWEc0Z0lDQWdJQ0J0WVhSallYQkRiMnh2Y2pvZ0oyMWhkR05oY0VaaFkzUnZjaWNzWEc0Z0lDQWdJQ0J5YVcxRGIyeHZjam9nSjNCaGNtRnRaWFJ5YVdOU2FXMURiMnh2Y2taaFkzUnZjaWNzWEc0Z0lDQWdJQ0J6YUdGa1pVTnZiRzl5T2lBbmMyaGhaR1ZEYjJ4dmNrWmhZM1J2Y2ljc1hHNGdJQ0FnZlN4Y2JpQWdmVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhSaGNtZGxkQ0J0WVhSbGNtbGhiQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J0WVhSbGNtbGhiRG9nVkVoU1JVVXVUV0YwWlhKcFlXdzdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0IwZVhCbElHOW1JSFJvWlNCMFlYSm5aWFFnY0hKdmNHVnlkSGtnYjJZZ2RHaGxJRzFoZEdWeWFXRnNMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJSFI1Y0dVNklGWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVZIbHdaVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhSaGNtZGxkQ0JqYjJ4dmNpNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQjBZWEpuWlhSV1lXeDFaVG9nVkVoU1JVVXVRMjlzYjNJN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsMGN5QnpkR0YwWlM1Y2JpQWdJQ29nU1dZZ2FYUWdZMkZ1Ym05MElHWnBibVFnZEdobElIUmhjbWRsZENCd2NtOXdaWEowZVNCcGJpQmpiMjV6ZEhKMVkzUnZjaXdnYVhRZ2QybHNiQ0JpWlNCdWRXeHNJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjl6ZEdGMFpUb2dlMXh1SUNBZ0lIQnliM0JsY25SNVRtRnRaVG9nYzNSeWFXNW5PMXh1SUNBZ0lHbHVhWFJwWVd4V1lXeDFaVG9nVkVoU1JVVXVRMjlzYjNJN1hHNGdJQ0FnWkdWc2RHRldZV3gxWlRvZ1ZFaFNSVVV1UTI5c2IzSTdYRzRnSUgwZ2ZDQnVkV3hzTzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWg3WEc0Z0lDQWdiV0YwWlhKcFlXd3NYRzRnSUNBZ2RIbHdaU3hjYmlBZ0lDQjBZWEpuWlhSV1lXeDFaU3hjYmlBZ2ZUb2dlMXh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRlJvWlNCMFlYSm5aWFFnYldGMFpYSnBZV3d1WEc0Z0lDQWdJQ292WEc0Z0lDQWdiV0YwWlhKcFlXdzZJRlJJVWtWRkxrMWhkR1Z5YVdGc08xeHVYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dWR2hsSUhSNWNHVWdiMllnZEdobElIUmhjbWRsZENCd2NtOXdaWEowZVNCdlppQjBhR1VnYldGMFpYSnBZV3d1WEc0Z0lDQWdJQ292WEc0Z0lDQWdkSGx3WlRvZ1ZsSk5SWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKVWVYQmxPMXh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nVkdobElIUmhjbWRsZENCamIyeHZjaTVjYmlBZ0lDQWdLaTljYmlBZ0lDQjBZWEpuWlhSV1lXeDFaVG9nVkVoU1JVVXVRMjlzYjNJN1hHNGdJSDBwSUh0Y2JpQWdJQ0IwYUdsekxtMWhkR1Z5YVdGc0lEMGdiV0YwWlhKcFlXdzdYRzRnSUNBZ2RHaHBjeTUwZVhCbElEMGdkSGx3WlR0Y2JpQWdJQ0IwYUdsekxuUmhjbWRsZEZaaGJIVmxJRDBnZEdGeVoyVjBWbUZzZFdVN1hHNWNiaUFnSUNBdkx5QnBibWwwSUhCeWIzQmxjblI1SUc1aGJXVmNiaUFnSUNCamIyNXpkQ0J3Y205d1pYSjBlVTVoYldWTllYQWdQU0JQWW1wbFkzUXVaVzUwY21sbGN5aFdVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNrSnBibVF1WDNCeWIzQmxjblI1VG1GdFpVMWhjRTFoY0NrdVptbHVaQ2hjYmlBZ0lDQWdJQ2hiWkdsemRHbHVaM1ZwYzJobGNsMHBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNodFlYUmxjbWxoYkNCaGN5QmhibmtwVzJScGMzUnBibWQxYVhOb1pYSmRJRDA5UFNCMGNuVmxPMXh1SUNBZ0lDQWdmU3hjYmlBZ0lDQXBQeTViTVYwN1hHNGdJQ0FnWTI5dWMzUWdjSEp2Y0dWeWRIbE9ZVzFsSUQwZ2NISnZjR1Z5ZEhsT1lXMWxUV0Z3UHk1YmRIbHdaVjBnUHo4Z2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNod2NtOXdaWEowZVU1aGJXVWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0Z4dUlDQWdJQ0FnSUNCZ1ZISnBaV1FnZEc4Z1lXUmtJR0VnYldGMFpYSnBZV3dnWTI5c2IzSWdZbWx1WkNCMGJ5QjBhR1VnYldGMFpYSnBZV3dnSkh0Y2JpQWdJQ0FnSUNBZ0lDQnRZWFJsY21saGJDNXVZVzFsSUQ4L0lDY29ibThnYm1GdFpTa25YRzRnSUNBZ0lDQWdJSDBzSUhSb1pTQjBlWEJsSUNSN2RIbHdaWDBnWW5WMElIUm9aU0J0WVhSbGNtbGhiQ0J2Y2lCMGFHVWdkSGx3WlNCcGN5QnViM1FnYzNWd2NHOXlkR1ZrTG1Bc1hHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5emRHRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFJoY21kbGRDQTlJQ2h0WVhSbGNtbGhiQ0JoY3lCaGJua3BXM0J5YjNCbGNuUjVUbUZ0WlYwZ1lYTWdWRWhTUlVVdVEyOXNiM0k3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJR2x1YVhScFlXeFdZV3gxWlNBOUlIUmhjbWRsZEM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnSUNBdkx5RG9zcURqZ2E3bGdLVGpncExrdjUzbWpJSGpnWm5qZ292amdaL2pnb0hqZ2F0RGIyeHZjaTV6ZFdMamdwTGt2Yi9qZ28vamdacmpnYXZsdDY3bGlJYmpncExvcUlqbnJwZmpnWm5qZ290Y2JpQWdJQ0FnSUdOdmJuTjBJR1JsYkhSaFZtRnNkV1VnUFNCdVpYY2dWRWhTUlVVdVEyOXNiM0lvWEc0Z0lDQWdJQ0FnSUhSaGNtZGxkRlpoYkhWbExuSWdMU0JwYm1sMGFXRnNWbUZzZFdVdWNpeGNiaUFnSUNBZ0lDQWdkR0Z5WjJWMFZtRnNkV1V1WnlBdElHbHVhWFJwWVd4V1lXeDFaUzVuTEZ4dUlDQWdJQ0FnSUNCMFlYSm5aWFJXWVd4MVpTNWlJQzBnYVc1cGRHbGhiRlpoYkhWbExtSXNYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOXpkR0YwWlNBOUlIdGNiaUFnSUNBZ0lDQWdjSEp2Y0dWeWRIbE9ZVzFsTEZ4dUlDQWdJQ0FnSUNCcGJtbDBhV0ZzVm1Gc2RXVXNYRzRnSUNBZ0lDQWdJR1JsYkhSaFZtRnNkV1VzWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJoY0hCc2VWZGxhV2RvZENoM1pXbG5hSFE2SUc1MWJXSmxjaWs2SUhadmFXUWdlMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOXpkR0YwWlNBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBdkx5QjNZWEp1YVc1bklHbHpJR0ZzY21WaFpIa2daVzFwZEhSbFpDQnBiaUJqYjI1emRISjFZM1J2Y2x4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhzZ2NISnZjR1Z5ZEhsT1lXMWxMQ0JrWld4MFlWWmhiSFZsSUgwZ1BTQjBhR2x6TGw5emRHRjBaVHRjYmx4dUlDQWdJR052Ym5OMElIUmhjbWRsZENBOUlDaDBhR2x6TG0xaGRHVnlhV0ZzSUdGeklHRnVlU2xiY0hKdmNHVnlkSGxPWVcxbFhTQmhjeUJVU0ZKRlJTNURiMnh2Y2p0Y2JpQWdJQ0JwWmlBb2RHRnlaMlYwSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOUlDOHZJRlJQUkU4NklIZGxJSE5vYjNWc1pDQnJhV05ySUhSb2FYTWdZWFFnWUdGa1pFMWhkR1Z5YVdGc1ZtRnNkV1ZnWEc1Y2JpQWdJQ0IwWVhKblpYUXVZV1JrS0Y5amIyeHZjaTVqYjNCNUtHUmxiSFJoVm1Gc2RXVXBMbTExYkhScGNHeDVVMk5oYkdGeUtIZGxhV2RvZENrcE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQW9kR2hwY3k1dFlYUmxjbWxoYkNCaGN5QmhibmtwTG5Ob2IzVnNaRUZ3Y0d4NVZXNXBabTl5YlhNZ1BUMDlJQ2RpYjI5c1pXRnVKeWtnZTF4dUlDQWdJQ0FnS0hSb2FYTXViV0YwWlhKcFlXd2dZWE1nWVc1NUtTNXphRzkxYkdSQmNIQnNlVlZ1YVdadmNtMXpJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyeGxZWEpCY0hCc2FXVmtWMlZwWjJoMEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5emRHRjBaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCM1lYSnVhVzVuSUdseklHRnNjbVZoWkhrZ1pXMXBkSFJsWkNCcGJpQmpiMjV6ZEhKMVkzUnZjbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSHNnY0hKdmNHVnlkSGxPWVcxbExDQnBibWwwYVdGc1ZtRnNkV1VnZlNBOUlIUm9hWE11WDNOMFlYUmxPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwSUQwZ0tIUm9hWE11YldGMFpYSnBZV3dnWVhNZ1lXNTVLVnR3Y205d1pYSjBlVTVoYldWZElHRnpJRlJJVWtWRkxrTnZiRzl5TzF4dUlDQWdJR2xtSUNoMFlYSm5aWFFnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdWRTlFVHpvZ2QyVWdjMmh2ZFd4a0lHdHBZMnNnZEdocGN5QmhkQ0JnWVdSa1RXRjBaWEpwWVd4V1lXeDFaV0JjYmx4dUlDQWdJSFJoY21kbGRDNWpiM0I1S0dsdWFYUnBZV3hXWVd4MVpTazdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JQ2gwYUdsekxtMWhkR1Z5YVdGc0lHRnpJR0Z1ZVNrdWMyaHZkV3hrUVhCd2JIbFZibWxtYjNKdGN5QTlQVDBnSjJKdmIyeGxZVzRuS1NCN1hHNGdJQ0FnSUNBb2RHaHBjeTV0WVhSbGNtbGhiQ0JoY3lCaGJua3BMbk5vYjNWc1pFRndjR3g1Vlc1cFptOXliWE1nUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJSFI1Y0dVZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVWNGNISmxjM05wYjI1Q2FXNWtJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVFtbHVaQ2M3WEc1Y2JpOHFLbHh1SUNvZ1FTQmlhVzVrSUc5bUlIdEFiR2x1YXlCV1VrMUZlSEJ5WlhOemFXOXVmU0JwYm1ac2RXVnVZMlZ6SUhSdklHMXZjbkJvSUhSaGNtZGxkSE11WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMUZlSEJ5WlhOemFXOXVUVzl5Y0doVVlYSm5aWFJDYVc1a0lHbHRjR3hsYldWdWRITWdWbEpOUlhod2NtVnpjMmx2YmtKcGJtUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJRzFsYzJnZ2NISnBiV2wwYVhabGN5QjBhR0YwSUdGMGRHRmphR1ZrSUhSdklIUmhjbWRsZENCdFpYTm9MbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJSEJ5YVcxcGRHbDJaWE02SUZSSVVrVkZMazFsYzJoYlhUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR2x1WkdWNElHOW1JSFJvWlNCdGIzSndhQ0IwWVhKblpYUWdhVzRnZEdobElHMWxjMmd1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnYVc1a1pYZzZJRzUxYldKbGNqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSGRsYVdkb2RDQjJZV3gxWlNCdlppQjBZWEpuWlhRZ2JXOXljR2dnZEdGeVoyVjBMaUJTWVc1bmFXNW5JR2x1SUZzd0xqQWdMU0F4TGpCZExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlIZGxhV2RvZERvZ2JuVnRZbVZ5TzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWg3WEc0Z0lDQWdjSEpwYldsMGFYWmxjeXhjYmlBZ0lDQnBibVJsZUN4Y2JpQWdJQ0IzWldsbmFIUXNYRzRnSUgwNklIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlVhR1VnYldWemFDQndjbWx0YVhScGRtVnpJSFJvWVhRZ1lYUjBZV05vWldRZ2RHOGdkR0Z5WjJWMElHMWxjMmd1WEc0Z0lDQWdJQ292WEc0Z0lDQWdjSEpwYldsMGFYWmxjem9nVkVoU1JVVXVUV1Z6YUZ0ZE8xeHVYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dWR2hsSUdsdVpHVjRJRzltSUhSb1pTQnRiM0p3YUNCMFlYSm5aWFFnYVc0Z2RHaGxJRzFsYzJndVhHNGdJQ0FnSUNvdlhHNGdJQ0FnYVc1a1pYZzZJRzUxYldKbGNqdGNibHh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRlJvWlNCM1pXbG5hSFFnZG1Gc2RXVWdiMllnZEdGeVoyVjBJRzF2Y25Cb0lIUmhjbWRsZEM0Z1VtRnVaMmx1WnlCcGJpQmJNQzR3SUMwZ01TNHdYUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQjNaV2xuYUhRNklHNTFiV0psY2p0Y2JpQWdmU2tnZTF4dUlDQWdJSFJvYVhNdWNISnBiV2wwYVhabGN5QTlJSEJ5YVcxcGRHbDJaWE03WEc0Z0lDQWdkR2hwY3k1cGJtUmxlQ0E5SUdsdVpHVjRPMXh1SUNBZ0lIUm9hWE11ZDJWcFoyaDBJRDBnZDJWcFoyaDBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z3Y0d4NVYyVnBaMmgwS0hkbGFXZG9kRG9nYm5WdFltVnlLVG9nZG05cFpDQjdYRzRnSUNBZ2RHaHBjeTV3Y21sdGFYUnBkbVZ6TG1admNrVmhZMmdvS0cxbGMyZ3BJRDArSUh0Y2JpQWdJQ0FnSUdsbUlDaHRaWE5vTG0xdmNuQm9WR0Z5WjJWMFNXNW1iSFZsYm1ObGN6OHVXM1JvYVhNdWFXNWtaWGhkSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ2JXVnphQzV0YjNKd2FGUmhjbWRsZEVsdVpteDFaVzVqWlhOYmRHaHBjeTVwYm1SbGVGMGdLejBnZEdocGN5NTNaV2xuYUhRZ0tpQjNaV2xuYUhRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyeGxZWEpCY0hCc2FXVmtWMlZwWjJoMEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVjSEpwYldsMGFYWmxjeTVtYjNKRllXTm9LQ2h0WlhOb0tTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb2JXVnphQzV0YjNKd2FGUmhjbWRsZEVsdVpteDFaVzVqWlhNL0xsdDBhR2x6TG1sdVpHVjRYU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUcxbGMyZ3ViVzl5Y0doVVlYSm5aWFJKYm1ac2RXVnVZMlZ6VzNSb2FYTXVhVzVrWlhoZElEMGdNQzR3TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVWNGNISmxjM05wYjI1Q2FXNWtJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVFtbHVaQ2M3WEc1Y2JtTnZibk4wSUY5Mk1pQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXlLQ2s3WEc1Y2JpOHFLbHh1SUNvZ1FTQmlhVzVrSUc5bUlHVjRjSEpsYzNOcGIyNGdhVzVtYkhWbGJtTmxjeUIwYnlCMFpYaDBkWEpsSUhSeVlXNXpabTl5YlhNdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFGZUhCeVpYTnphVzl1VkdWNGRIVnlaVlJ5WVc1elptOXliVUpwYm1RZ2FXMXdiR1Z0Wlc1MGN5QldVazFGZUhCeVpYTnphVzl1UW1sdVpDQjdYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJRjl3Y205d1pYSjBlVTVoYldWelRXRndPaUI3SUZ0a2FYTjBhVzVuZFdsemFHVnlPaUJ6ZEhKcGJtZGRPaUJ6ZEhKcGJtZGJYU0I5SUQwZ2UxeHVJQ0FnSUdselRXVnphRk4wWVc1a1lYSmtUV0YwWlhKcFlXdzZJRnRjYmlBZ0lDQWdJQ2R0WVhBbkxGeHVJQ0FnSUNBZ0oyVnRhWE56YVhabFRXRndKeXhjYmlBZ0lDQWdJQ2RpZFcxd1RXRndKeXhjYmlBZ0lDQWdJQ2R1YjNKdFlXeE5ZWEFuTEZ4dUlDQWdJQ0FnSjJScGMzQnNZV05sYldWdWRFMWhjQ2NzWEc0Z0lDQWdJQ0FuY205MVoyaHVaWE56VFdGd0p5eGNiaUFnSUNBZ0lDZHRaWFJoYkc1bGMzTk5ZWEFuTEZ4dUlDQWdJQ0FnSjJGc2NHaGhUV0Z3Snl4Y2JpQWdJQ0JkTEZ4dUlDQWdJR2x6VFdWemFFSmhjMmxqVFdGMFpYSnBZV3c2SUZzbmJXRndKeXdnSjNOd1pXTjFiR0Z5VFdGd0p5d2dKMkZzY0doaFRXRndKMTBzWEc0Z0lDQWdhWE5OVkc5dmJrMWhkR1Z5YVdGc09pQmJYRzRnSUNBZ0lDQW5iV0Z3Snl4Y2JpQWdJQ0FnSUNkdWIzSnRZV3hOWVhBbkxGeHVJQ0FnSUNBZ0oyVnRhWE56YVhabFRXRndKeXhjYmlBZ0lDQWdJQ2R6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlNjc1hHNGdJQ0FnSUNBbmNtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbEp5eGNiaUFnSUNBZ0lDZHZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVW5MRnh1SUNBZ0lDQWdKM1YyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21VbkxGeHVJQ0FnSUYwc1hHNGdJSDA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCMFlYSm5aWFFnYldGMFpYSnBZV3d1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnYldGMFpYSnBZV3c2SUZSSVVrVkZMazFoZEdWeWFXRnNPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnZFhZZ2MyTmhiR1VnYjJZZ2RHaGxJSFJsZUhSMWNtVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2djMk5oYkdVNklGUklVa1ZGTGxabFkzUnZjakk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCMWRpQnZabVp6WlhRZ2IyWWdkR2hsSUhSbGVIUjFjbVV1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnYjJabWMyVjBPaUJVU0ZKRlJTNVdaV04wYjNJeU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdiR2x6ZENCdlppQjBaWGgwZFhKbElHNWhiV1Z6SUdGdVpDQnBkSE1nYzNSaGRHVWdkR2hoZENCemFHOTFiR1FnWW1VZ2RISmhibk5tYjNKdFpXUWdZbmtnZEdocGN5QmlhVzVrTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmNISnZjR1Z5ZEdsbGN6b2dlMXh1SUNBZ0lHNWhiV1U2SUhOMGNtbHVaenRjYmlBZ0lDQnBibWwwYVdGc1QyWm1jMlYwT2lCVVNGSkZSUzVXWldOMGIzSXlPMXh1SUNBZ0lHbHVhWFJwWVd4VFkyRnNaVG9nVkVoU1JVVXVWbVZqZEc5eU1qdGNiaUFnSUNCa1pXeDBZVTltWm5ObGREb2dWRWhTUlVVdVZtVmpkRzl5TWp0Y2JpQWdJQ0JrWld4MFlWTmpZV3hsT2lCVVNGSkZSUzVXWldOMGIzSXlPMXh1SUNCOVcxMDdYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtIdGNiaUFnSUNCdFlYUmxjbWxoYkN4Y2JpQWdJQ0J6WTJGc1pTeGNiaUFnSUNCdlptWnpaWFFzWEc0Z0lIMDZJSHRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJVYUdVZ2RHRnlaMlYwSUcxaGRHVnlhV0ZzTGx4dUlDQWdJQ0FxTDF4dUlDQWdJRzFoZEdWeWFXRnNPaUJVU0ZKRlJTNU5ZWFJsY21saGJEdGNibHh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRlJvWlNCMWRpQnpZMkZzWlNCdlppQjBhR1VnZEdWNGRIVnlaUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQnpZMkZzWlRvZ1ZFaFNSVVV1Vm1WamRHOXlNanRjYmx4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUZSb1pTQjFkaUJ2Wm1aelpYUWdiMllnZEdobElIUmxlSFIxY21VdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnYjJabWMyVjBPaUJVU0ZKRlJTNVdaV04wYjNJeU8xeHVJQ0I5S1NCN1hHNGdJQ0FnZEdocGN5NXRZWFJsY21saGJDQTlJRzFoZEdWeWFXRnNPMXh1SUNBZ0lIUm9hWE11YzJOaGJHVWdQU0J6WTJGc1pUdGNiaUFnSUNCMGFHbHpMbTltWm5ObGRDQTlJRzltWm5ObGREdGNibHh1SUNBZ0lHTnZibk4wSUhCeWIzQmxjblI1VG1GdFpYTWdQU0JQWW1wbFkzUXVaVzUwY21sbGN5aFdVazFGZUhCeVpYTnphVzl1VkdWNGRIVnlaVlJ5WVc1elptOXliVUpwYm1RdVgzQnliM0JsY25SNVRtRnRaWE5OWVhBcExtWnBibVFvWEc0Z0lDQWdJQ0FvVzJScGMzUnBibWQxYVhOb1pYSmRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb2JXRjBaWEpwWVd3Z1lYTWdZVzU1S1Z0a2FYTjBhVzVuZFdsemFHVnlYU0E5UFQwZ2RISjFaVHRjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdLVDh1V3pGZE8xeHVYRzRnSUNBZ2FXWWdLSEJ5YjNCbGNuUjVUbUZ0WlhNZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0JnVkhKcFpXUWdkRzhnWVdSa0lHRWdkR1Y0ZEhWeVpTQjBjbUZ1YzJadmNtMGdZbWx1WkNCMGJ5QjBhR1VnYldGMFpYSnBZV3dnSkh0Y2JpQWdJQ0FnSUNBZ0lDQnRZWFJsY21saGJDNXVZVzFsSUQ4L0lDY29ibThnYm1GdFpTa25YRzRnSUNBZ0lDQWdJSDBnWW5WMElIUm9aU0J0WVhSbGNtbGhiQ0JwY3lCdWIzUWdjM1Z3Y0c5eWRHVmtMbUFzWEc0Z0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDl3Y205d1pYSjBhV1Z6SUQwZ1cxMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0J5YjNCbGNuUnBaWE1nUFNCYlhUdGNibHh1SUNBZ0lDQWdjSEp2Y0dWeWRIbE9ZVzFsY3k1bWIzSkZZV05vS0Nod2NtOXdaWEowZVU1aGJXVXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEdWNGRIVnlaU0E5SUNnb2JXRjBaWEpwWVd3Z1lYTWdZVzU1S1Z0d2NtOXdaWEowZVU1aGJXVmRJR0Z6SUZSSVVrVkZMbFJsZUhSMWNtVWdmQ0IxYm1SbFptbHVaV1FwUHk1amJHOXVaU2dwTzF4dUlDQWdJQ0FnSUNCcFppQW9JWFJsZUhSMWNtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNodFlYUmxjbWxoYkNCaGN5QmhibmtwVzNCeWIzQmxjblI1VG1GdFpWMGdQU0IwWlhoMGRYSmxPeUF2THlCaVpXTmhkWE5sSUhSb1pTQjBaWGgwZFhKbElHbHpJR05zYjI1bFpGeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElHbHVhWFJwWVd4UFptWnpaWFFnUFNCMFpYaDBkWEpsTG05bVpuTmxkQzVqYkc5dVpTZ3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnBibWwwYVdGc1UyTmhiR1VnUFNCMFpYaDBkWEpsTG5KbGNHVmhkQzVqYkc5dVpTZ3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmtaV3gwWVU5bVpuTmxkQ0E5SUc5bVpuTmxkQzVqYkc5dVpTZ3BMbk4xWWlocGJtbDBhV0ZzVDJabWMyVjBLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR1ZzZEdGVFkyRnNaU0E5SUhOallXeGxMbU5zYjI1bEtDa3VjM1ZpS0dsdWFYUnBZV3hUWTJGc1pTazdYRzVjYmlBZ0lDQWdJQ0FnZEdocGN5NWZjSEp2Y0dWeWRHbGxjeTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0J1WVcxbE9pQndjbTl3WlhKMGVVNWhiV1VzWEc0Z0lDQWdJQ0FnSUNBZ2FXNXBkR2xoYkU5bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNCa1pXeDBZVTltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0JwYm1sMGFXRnNVMk5oYkdVc1hHNGdJQ0FnSUNBZ0lDQWdaR1ZzZEdGVFkyRnNaU3hjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1lYQndiSGxYWldsbmFIUW9kMlZwWjJoME9pQnVkVzFpWlhJcE9pQjJiMmxrSUh0Y2JpQWdJQ0IwYUdsekxsOXdjbTl3WlhKMGFXVnpMbVp2Y2tWaFkyZ29LSEJ5YjNCbGNuUjVLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0IwWVhKblpYUWdQU0FvZEdocGN5NXRZWFJsY21saGJDQmhjeUJoYm5rcFczQnliM0JsY25SNUxtNWhiV1ZkSUdGeklGUklVa1ZGTGxSbGVIUjFjbVU3WEc0Z0lDQWdJQ0JwWmlBb2RHRnlaMlYwSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmU0F2THlCVVQwUlBPaUIzWlNCemFHOTFiR1FnYTJsamF5QjBhR2x6SUdGMElHQmhaR1JOWVhSbGNtbGhiRlpoYkhWbFlGeHVYRzRnSUNBZ0lDQjBZWEpuWlhRdWIyWm1jMlYwTG1Ga1pDaGZkakl1WTI5d2VTaHdjbTl3WlhKMGVTNWtaV3gwWVU5bVpuTmxkQ2t1YlhWc2RHbHdiSGxUWTJGc1lYSW9kMlZwWjJoMEtTazdYRzRnSUNBZ0lDQjBZWEpuWlhRdWNtVndaV0YwTG1Ga1pDaGZkakl1WTI5d2VTaHdjbTl3WlhKMGVTNWtaV3gwWVZOallXeGxLUzV0ZFd4MGFYQnNlVk5qWVd4aGNpaDNaV2xuYUhRcEtUdGNibHh1SUNBZ0lDQWdkR0Z5WjJWMExtNWxaV1J6VlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpiR1ZoY2tGd2NHeHBaV1JYWldsbmFIUW9LVG9nZG05cFpDQjdYRzRnSUNBZ2RHaHBjeTVmY0hKdmNHVnlkR2xsY3k1bWIzSkZZV05vS0Nod2NtOXdaWEowZVNrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RHRnlaMlYwSUQwZ0tIUm9hWE11YldGMFpYSnBZV3dnWVhNZ1lXNTVLVnR3Y205d1pYSjBlUzV1WVcxbFhTQmhjeUJVU0ZKRlJTNVVaWGgwZFhKbE8xeHVJQ0FnSUNBZ2FXWWdLSFJoY21kbGRDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgwZ0x5OGdWRTlFVHpvZ2QyVWdjMmh2ZFd4a0lHdHBZMnNnZEdocGN5QmhkQ0JnWVdSa1RXRjBaWEpwWVd4V1lXeDFaV0JjYmx4dUlDQWdJQ0FnZEdGeVoyVjBMbTltWm5ObGRDNWpiM0I1S0hCeWIzQmxjblI1TG1sdWFYUnBZV3hQWm1aelpYUXBPMXh1SUNBZ0lDQWdkR0Z5WjJWMExuSmxjR1ZoZEM1amIzQjVLSEJ5YjNCbGNuUjVMbWx1YVhScFlXeFRZMkZzWlNrN1hHNWNiaUFnSUNBZ0lIUmhjbWRsZEM1dVpXVmtjMVZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQjBlWEJsSUNvZ1lYTWdWakJXVWswZ1puSnZiU0FuUUhCcGVHbDJMM1I1Y0dWekxYWnliUzB3TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnS2lCaGN5QldNVlpTVFZOamFHVnRZU0JtY205dElDZEFjR2w0YVhZdmRIbHdaWE10ZG5KdFl5MTJjbTB0TVM0d0p6dGNibWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lFZE1WRVlzSUVkTVZFWk1iMkZrWlhKUWJIVm5hVzRzSUVkTVZFWlFZWEp6WlhJZ2ZTQm1jbTl0SUNkMGFISmxaUzlsZUdGdGNHeGxjeTlxYzIwdmJHOWhaR1Z5Y3k5SFRGUkdURzloWkdWeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUdkc2RHWkZlSFJ5WVdOMFVISnBiV2wwYVhabGMwWnliMjFPYjJSbElIMGdabkp2YlNBbkxpNHZkWFJwYkhNdloyeDBaa1Y0ZEhKaFkzUlFjbWx0YVhScGRtVnpSbkp2YlU1dlpHVW5PMXh1YVcxd2IzSjBJSHNnWjJ4MFprZGxkRUZ6YzI5amFXRjBaV1JOWVhSbGNtbGhiRWx1WkdWNElIMGdabkp2YlNBbkxpNHZkWFJwYkhNdloyeDBaa2RsZEVGemMyOWphV0YwWldSTllYUmxjbWxoYkVsdVpHVjRKenRjYm1sdGNHOXlkQ0I3SUZaU1RVVjRjSEpsYzNOcGIyNGdmU0JtY205dElDY3VMMVpTVFVWNGNISmxjM05wYjI0bk8xeHVhVzF3YjNKMElIc2dWbEpOUlhod2NtVnpjMmx2YmsxaGJtRm5aWElnZlNCbWNtOXRJQ2N1TDFaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUp6dGNibWx0Y0c5eWRDQjdJSFl3Ulhod2NtVnpjMmx2YmsxaGRHVnlhV0ZzUTI5c2IzSk5ZWEFnZlNCbWNtOXRJQ2N1TDFaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTYzdYRzVwYlhCdmNuUWdleUJXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZja0pwYm1RZ2ZTQm1jbTl0SUNjdUwxWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVFtbHVaQ2M3WEc1cGJYQnZjblFnZXlCV1VrMUZlSEJ5WlhOemFXOXVUVzl5Y0doVVlYSm5aWFJDYVc1a0lIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1VFc5eWNHaFVZWEpuWlhSQ2FXNWtKenRjYm1sdGNHOXlkQ0I3SUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVVISmxjMlYwVG1GdFpTYzdYRzVwYlhCdmNuUWdleUJXVWsxRmVIQnlaWE56YVc5dVZHVjRkSFZ5WlZSeVlXNXpabTl5YlVKcGJtUWdmU0JtY205dElDY3VMMVpTVFVWNGNISmxjM05wYjI1VVpYaDBkWEpsVkhKaGJuTm1iM0p0UW1sdVpDYzdYRzVwYlhCdmNuUWdleUJIVEZSR0lHRnpJRWRNVkVaVFkyaGxiV0VnZlNCbWNtOXRJQ2RBWjJ4MFppMTBjbUZ1YzJadmNtMHZZMjl5WlNjN1hHNWNiaThxS2x4dUlDb2dVRzl6YzJsaWJHVWdjM0JsWXlCMlpYSnphVzl1Y3lCcGRDQnlaV052WjI1cGVtVnpMbHh1SUNvdlhHNWpiMjV6ZENCUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRJRDBnYm1WM0lGTmxkQ2hiSnpFdU1DY3NJQ2N4TGpBdFltVjBZU2RkS1R0Y2JseHVMeW9xWEc0Z0tpQkJJSEJzZFdkcGJpQnZaaUJIVEZSR1RHOWhaR1Z5SUhSb1lYUWdhVzF3YjNKMGN5QmhJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjbjBnWm5KdmJTQmhJRlpTVFNCbGVIUmxibk5wYjI0Z2IyWWdZU0JIVEZSR0xseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJpQnBiWEJzWlcxbGJuUnpJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNGdlMXh1SUNCd2RXSnNhV01nYzNSaGRHbGpJSEpsWVdSdmJteDVJSFl3ZGpGUWNtVnpaWFJPWVcxbFRXRndPaUI3SUZ0Mk1FNWhiV1VnYVc0Z1ZqQldVazB1UW14bGJtUlRhR0Z3WlZCeVpYTmxkRTVoYldWZFB6b2dWbEpOUlhod2NtVnpjMmx2YmxCeVpYTmxkRTVoYldVZ2ZTQTlJSHRjYmlBZ0lDQmhPaUFuWVdFbkxGeHVJQ0FnSUdVNklDZGxaU2NzWEc0Z0lDQWdhVG9nSjJsb0p5eGNiaUFnSUNCdk9pQW5iMmduTEZ4dUlDQWdJSFU2SUNkdmRTY3NYRzRnSUNBZ1lteHBibXM2SUNkaWJHbHVheWNzWEc0Z0lDQWdhbTk1T2lBbmFHRndjSGtuTEZ4dUlDQWdJR0Z1WjNKNU9pQW5ZVzVuY25rbkxGeHVJQ0FnSUhOdmNuSnZkem9nSjNOaFpDY3NYRzRnSUNBZ1puVnVPaUFuY21Wc1lYaGxaQ2NzWEc0Z0lDQWdiRzl2YTNWd09pQW5iRzl2YTFWd0p5eGNiaUFnSUNCc2IyOXJaRzkzYmpvZ0oyeHZiMnRFYjNkdUp5eGNiaUFnSUNCc2IyOXJiR1ZtZERvZ0oyeHZiMnRNWldaMEp5eGNiaUFnSUNCc2IyOXJjbWxuYUhRNklDZHNiMjlyVW1sbmFIUW5MRnh1SUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNWNiaUFnSUNCaWJHbHVhMTlzT2lBbllteHBibXRNWldaMEp5eGNiaUFnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNWhiV2x1WnkxamIyNTJaVzUwYVc5dVhHNGdJQ0FnWW14cGJtdGZjam9nSjJKc2FXNXJVbWxuYUhRbkxGeHVJQ0FnSUc1bGRYUnlZV3c2SUNkdVpYVjBjbUZzSnl4Y2JpQWdmVHRjYmx4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeU8xeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2JtRnRaU2dwT2lCemRISnBibWNnZTF4dUlDQWdJQzh2SUZkbElITm9iM1ZzWkNCMWMyVWdkR2hsSUdWNGRHVnVjMmx2YmlCdVlXMWxJR2x1YzNSbFlXUWdZblYwSUhkbElHaGhkbVVnYlhWc2RHbHdiR1VnY0d4MVoybHVjeUJtYjNJZ1lXNGdaWGgwWlc1emFXOXVMaTR1WEc0Z0lDQWdjbVYwZFhKdUlDZFdVazFGZUhCeVpYTnphVzl1VEc5aFpHVnlVR3gxWjJsdUp6dGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWh3WVhKelpYSTZJRWRNVkVaUVlYSnpaWElwSUh0Y2JpQWdJQ0IwYUdsekxuQmhjbk5sY2lBOUlIQmhjbk5sY2p0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUJoWm5SbGNsSnZiM1FvWjJ4MFpqb2dSMHhVUmlrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR2RzZEdZdWRYTmxja1JoZEdFdWRuSnRSWGh3Y21WemMybHZiazFoYm1GblpYSWdQU0JoZDJGcGRDQjBhR2x6TGw5cGJYQnZjblFvWjJ4MFppazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nU1cxd2IzSjBJR0VnZTBCc2FXNXJJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5ZlNCbWNtOXRJR0VnVmxKTkxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdaMngwWmlCQklIQmhjbk5sWkNCeVpYTjFiSFFnYjJZZ1IweFVSaUIwWVd0bGJpQm1jbTl0SUVkTVZFWk1iMkZrWlhKY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDJsdGNHOXlkQ2huYkhSbU9pQkhURlJHS1RvZ1VISnZiV2x6WlR4V1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0IyTVZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVgzWXhTVzF3YjNKMEtHZHNkR1lwTzF4dUlDQWdJR2xtSUNoMk1WSmxjM1ZzZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhZeFVtVnpkV3gwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIWXdVbVZ6ZFd4MElEMGdZWGRoYVhRZ2RHaHBjeTVmZGpCSmJYQnZjblFvWjJ4MFppazdYRzRnSUNBZ2FXWWdLSFl3VW1WemRXeDBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkakJTWlhOMWJIUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOTJNVWx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2lCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQnFjMjl1SUQwZ2RHaHBjeTV3WVhKelpYSXVhbk52YmlCaGN5QkhURlJHVTJOb1pXMWhMa2xIVEZSR08xeHVYRzRnSUNBZ0x5OGdaV0Z5YkhrZ1lXSnZjblFnYVdZZ2FYUWdaRzlsYzI0bmRDQjFjMlVnZG5KdFhHNGdJQ0FnWTI5dWMzUWdhWE5XVWsxVmMyVmtJRDBnYW5OdmJpNWxlSFJsYm5OcGIyNXpWWE5sWkQ4dWFXNWtaWGhQWmlnblZsSk5RMTkyY20wbktTQWhQVDBnTFRFN1hHNGdJQ0FnYVdZZ0tDRnBjMVpTVFZWelpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHVjRkR1Z1YzJsdmJpQTlJR3B6YjI0dVpYaDBaVzV6YVc5dWN6OHVXeWRXVWsxRFgzWnliU2RkSUdGeklGWXhWbEpOVTJOb1pXMWhMbFpTVFVOV1VrMGdmQ0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdhV1lnS0NGbGVIUmxibk5wYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhOd1pXTldaWEp6YVc5dUlEMGdaWGgwWlc1emFXOXVMbk53WldOV1pYSnphVzl1TzF4dUlDQWdJR2xtSUNnaFVFOVRVMGxDVEVWZlUxQkZRMTlXUlZKVFNVOU9VeTVvWVhNb2MzQmxZMVpsY25OcGIyNHBLU0I3WEc0Z0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1lGWlNUVVY0Y0hKbGMzTnBiMjVNYjJGa1pYSlFiSFZuYVc0NklGVnVhMjV2ZDI0Z1ZsSk5RMTkyY20wZ2MzQmxZMVpsY25OcGIyNGdYQ0lrZTNOd1pXTldaWEp6YVc5dWZWd2lZQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpZMmhsYldGRmVIQnlaWE56YVc5dWN5QTlJR1Y0ZEdWdWMybHZiaTVsZUhCeVpYTnphVzl1Y3p0Y2JpQWdJQ0JwWmlBb0lYTmphR1Z0WVVWNGNISmxjM05wYjI1ektTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJzYVhOMElHVjRjSEpsYzNOcGIyNXpYRzRnSUNBZ1kyOXVjM1FnY0hKbGMyVjBUbUZ0WlZObGRDQTlJRzVsZHlCVFpYUThjM1J5YVc1blBpaFBZbXBsWTNRdWRtRnNkV1Z6S0ZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxLU2s3WEc0Z0lDQWdZMjl1YzNRZ2JtRnRaVk5qYUdWdFlVVjRjSEpsYzNOcGIyNU5ZWEFnUFNCdVpYY2dUV0Z3UEhOMGNtbHVaeXdnVmpGV1VrMVRZMmhsYldFdVJYaHdjbVZ6YzJsdmJqNG9LVHRjYmx4dUlDQWdJR2xtSUNoelkyaGxiV0ZGZUhCeVpYTnphVzl1Y3k1d2NtVnpaWFFnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9jMk5vWlcxaFJYaHdjbVZ6YzJsdmJuTXVjSEpsYzJWMEtTNW1iM0pGWVdOb0tDaGJibUZ0WlN3Z2MyTm9aVzFoUlhod2NtVnpjMmx2YmwwcElEMCtJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITmphR1Z0WVVWNGNISmxjM05wYjI0Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmU0F2THlCMGVYQmxjMk55YVhCMFhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGd2NtVnpaWFJPWVcxbFUyVjBMbWhoY3lodVlXMWxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhnVmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiam9nVlc1cmJtOTNiaUJ3Y21WelpYUWdibUZ0WlNCY0lpUjdibUZ0WlgxY0lpQmtaWFJsWTNSbFpDNGdTV2R1YjNKcGJtY2dkR2hsSUdWNGNISmxjM05wYjI1Z0tUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCdVlXMWxVMk5vWlcxaFJYaHdjbVZ6YzJsdmJrMWhjQzV6WlhRb2JtRnRaU3dnYzJOb1pXMWhSWGh3Y21WemMybHZiaWs3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2MyTm9aVzFoUlhod2NtVnpjMmx2Ym5NdVkzVnpkRzl0SUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUU5aWFtVmpkQzVsYm5SeWFXVnpLSE5qYUdWdFlVVjRjSEpsYzNOcGIyNXpMbU4xYzNSdmJTa3VabTl5UldGamFDZ29XMjVoYldVc0lITmphR1Z0WVVWNGNISmxjM05wYjI1ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdjbVZ6WlhST1lXMWxVMlYwTG1oaGN5aHVZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNBZ0lDQWdJR0JXVWsxRmVIQnlaWE56YVc5dVRHOWhaR1Z5VUd4MVoybHVPaUJEZFhOMGIyMGdaWGh3Y21WemMybHZiaUJqWVc1dWIzUWdhR0YyWlNCd2NtVnpaWFFnYm1GdFpTQmNJaVI3Ym1GdFpYMWNJaTRnU1dkdWIzSnBibWNnZEdobElHVjRjSEpsYzNOcGIyNWdMRnh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYm1GdFpWTmphR1Z0WVVWNGNISmxjM05wYjI1TllYQXVjMlYwS0c1aGJXVXNJSE5qYUdWdFlVVjRjSEpsYzNOcGIyNHBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnY0hKbGNHRnlaU0J0WVc1aFoyVnlYRzRnSUNBZ1kyOXVjM1FnYldGdVlXZGxjaUE5SUc1bGR5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaWdwTzF4dVhHNGdJQ0FnTHk4Z2JHOWhaQ0JsZUhCeVpYTnphVzl1YzF4dUlDQWdJR0YzWVdsMElGQnliMjFwYzJVdVlXeHNLRnh1SUNBZ0lDQWdRWEp5WVhrdVpuSnZiU2h1WVcxbFUyTm9aVzFoUlhod2NtVnpjMmx2YmsxaGNDNWxiblJ5YVdWektDa3BMbTFoY0NoaGMzbHVZeUFvVzI1aGJXVXNJSE5qYUdWdFlVVjRjSEpsYzNOcGIyNWRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdWNGNISmxjM05wYjI0Z1BTQnVaWGNnVmxKTlJYaHdjbVZ6YzJsdmJpaHVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ1oyeDBaaTV6WTJWdVpTNWhaR1FvWlhod2NtVnpjMmx2YmlrN1hHNWNiaUFnSUNBZ0lDQWdaWGh3Y21WemMybHZiaTVwYzBKcGJtRnllU0E5SUhOamFHVnRZVVY0Y0hKbGMzTnBiMjR1YVhOQ2FXNWhjbmtnUHo4Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUdWNGNISmxjM05wYjI0dWIzWmxjbkpwWkdWQ2JHbHVheUE5SUhOamFHVnRZVVY0Y0hKbGMzTnBiMjR1YjNabGNuSnBaR1ZDYkdsdWF5QS9QeUFuYm05dVpTYzdYRzRnSUNBZ0lDQWdJR1Y0Y0hKbGMzTnBiMjR1YjNabGNuSnBaR1ZNYjI5clFYUWdQU0J6WTJobGJXRkZlSEJ5WlhOemFXOXVMbTkyWlhKeWFXUmxURzl2YTBGMElEOC9JQ2R1YjI1bEp6dGNiaUFnSUNBZ0lDQWdaWGh3Y21WemMybHZiaTV2ZG1WeWNtbGtaVTF2ZFhSb0lEMGdjMk5vWlcxaFJYaHdjbVZ6YzJsdmJpNXZkbVZ5Y21sa1pVMXZkWFJvSUQ4L0lDZHViMjVsSnp0Y2JseHVJQ0FnSUNBZ0lDQnpZMmhsYldGRmVIQnlaWE56YVc5dUxtMXZjbkJvVkdGeVoyVjBRbWx1WkhNL0xtWnZja1ZoWTJnb1lYTjVibU1nS0dKcGJtUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWW1sdVpDNXViMlJsSUQwOVBTQjFibVJsWm1sdVpXUWdmSHdnWW1sdVpDNXBibVJsZUNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY0hKcGJXbDBhWFpsY3lBOUlDaGhkMkZwZENCbmJIUm1SWGgwY21GamRGQnlhVzFwZEdsMlpYTkdjbTl0VG05a1pTaG5iSFJtTENCaWFXNWtMbTV2WkdVcEtTRTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiVzl5Y0doVVlYSm5aWFJKYm1SbGVDQTlJR0pwYm1RdWFXNWtaWGc3WEc1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJqYUdWamF5QnBaaUIwYUdVZ2JXVnphQ0JvWVhNZ2RHaGxJSFJoY21kbGRDQnRiM0p3YUNCMFlYSm5aWFJjYmlBZ0lDQWdJQ0FnSUNCcFppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNBaGNISnBiV2wwYVhabGN5NWxkbVZ5ZVNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hCeWFXMXBkR2wyWlNrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQkJjbkpoZVM1cGMwRnljbUY1S0hCeWFXMXBkR2wyWlM1dGIzSndhRlJoY21kbGRFbHVabXgxWlc1alpYTXBJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYlc5eWNHaFVZWEpuWlhSSmJtUmxlQ0E4SUhCeWFXMXBkR2wyWlM1dGIzSndhRlJoY21kbGRFbHVabXgxWlc1alpYTXViR1Z1WjNSb0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNBZ0lDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmdWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJqb2dKSHR6WTJobGJXRkZlSEJ5WlhOemFXOXVMbTVoYldWOUlHRjBkR1Z0Y0hSeklIUnZJR2x1WkdWNElHMXZjbkJvSUNNa2UyMXZjbkJvVkdGeVoyVjBTVzVrWlhoOUlHSjFkQ0J1YjNRZ1ptOTFibVF1WUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNWhaR1JDYVc1a0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnYm1WM0lGWlNUVVY0Y0hKbGMzTnBiMjVOYjNKd2FGUmhjbWRsZEVKcGJtUW9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQndjbWx0YVhScGRtVnpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsZURvZ2JXOXljR2hVWVhKblpYUkpibVJsZUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJWcFoyaDBPaUJpYVc1a0xuZGxhV2RvZENBL1B5QXhMakFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9jMk5vWlcxaFJYaHdjbVZ6YzJsdmJpNXRZWFJsY21saGJFTnZiRzl5UW1sdVpITWdmSHdnYzJOb1pXMWhSWGh3Y21WemMybHZiaTUwWlhoMGRYSmxWSEpoYm5ObWIzSnRRbWx1WkhNcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCc2FYTjBJSFZ3SUdWMlpYSjVJRzFoZEdWeWFXRnNJR2x1SUdCbmJIUm1Mbk5qWlc1bFlGeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHZHNkR1pOWVhSbGNtbGhiSE02SUZSSVVrVkZMazFoZEdWeWFXRnNXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0JuYkhSbUxuTmpaVzVsTG5SeVlYWmxjbk5sS0NodlltcGxZM1FwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNJRDBnS0c5aWFtVmpkQ0JoY3lCaGJua3BMbTFoZEdWeWFXRnNJR0Z6SUZSSVVrVkZMazFoZEdWeWFXRnNJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0cxaGRHVnlhV0ZzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdkc2RHWk5ZWFJsY21saGJITXVjSFZ6YUNodFlYUmxjbWxoYkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJQ0FnSUNCelkyaGxiV0ZGZUhCeVpYTnphVzl1TG0xaGRHVnlhV0ZzUTI5c2IzSkNhVzVrY3o4dVptOXlSV0ZqYUNoaGMzbHVZeUFvWW1sdVpDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd4eklEMGdaMngwWmsxaGRHVnlhV0ZzY3k1bWFXeDBaWElvS0cxaGRHVnlhV0ZzS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzU1c1a1pYZ2dQU0JuYkhSbVIyVjBRWE56YjJOcFlYUmxaRTFoZEdWeWFXRnNTVzVrWlhnb2RHaHBjeTV3WVhKelpYSXNJRzFoZEdWeWFXRnNLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHSnBibVF1YldGMFpYSnBZV3dnUFQwOUlHMWhkR1Z5YVdGc1NXNWtaWGc3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdiV0YwWlhKcFlXeHpMbVp2Y2tWaFkyZ29LRzFoZEdWeWFXRnNLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWNGNISmxjM05wYjI0dVlXUmtRbWx1WkNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYY2dWbEpOUlhod2NtVnpjMmx2YmsxaGRHVnlhV0ZzUTI5c2IzSkNhVzVrS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhkR1Z5YVdGc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1ltbHVaQzUwZVhCbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR0Z5WjJWMFZtRnNkV1U2SUc1bGR5QlVTRkpGUlM1RGIyeHZjaWdwTG1aeWIyMUJjbkpoZVNoaWFXNWtMblJoY21kbGRGWmhiSFZsS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdjMk5vWlcxaFJYaHdjbVZ6YzJsdmJpNTBaWGgwZFhKbFZISmhibk5tYjNKdFFtbHVaSE0vTG1admNrVmhZMmdvWVhONWJtTWdLR0pwYm1RcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzY3lBOUlHZHNkR1pOWVhSbGNtbGhiSE11Wm1sc2RHVnlLQ2h0WVhSbGNtbGhiQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRWx1WkdWNElEMGdaMngwWmtkbGRFRnpjMjlqYVdGMFpXUk5ZWFJsY21saGJFbHVaR1Y0S0hSb2FYTXVjR0Z5YzJWeUxDQnRZWFJsY21saGJDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCaWFXNWtMbTFoZEdWeWFXRnNJRDA5UFNCdFlYUmxjbWxoYkVsdVpHVjRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhkR1Z5YVdGc2N5NW1iM0pGWVdOb0tDaHRZWFJsY21saGJDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JsZUhCeVpYTnphVzl1TG1Ga1pFSnBibVFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm1WM0lGWlNUVVY0Y0hKbGMzTnBiMjVVWlhoMGRYSmxWSEpoYm5ObWIzSnRRbWx1WkNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWFJsY21saGJDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dibVYzSUZSSVVrVkZMbFpsWTNSdmNqSW9LUzVtY205dFFYSnlZWGtvWW1sdVpDNXZabVp6WlhRZ1B6OGdXekF1TUN3Z01DNHdYU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCelkyRnNaVG9nYm1WM0lGUklVa1ZGTGxabFkzUnZjaklvS1M1bWNtOXRRWEp5WVhrb1ltbHVaQzV6WTJGc1pTQS9QeUJiTVM0d0xDQXhMakJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdiV0Z1WVdkbGNpNXlaV2RwYzNSbGNrVjRjSEpsYzNOcGIyNG9aWGh3Y21WemMybHZiaWs3WEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0FwTzF4dVhHNGdJQ0FnY21WMGRYSnVJRzFoYm1GblpYSTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOTJNRWx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2lCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQnFjMjl1SUQwZ2RHaHBjeTV3WVhKelpYSXVhbk52YmlCaGN5QkhURlJHVTJOb1pXMWhMa2xIVEZSR08xeHVYRzRnSUNBZ0x5OGdaV0Z5YkhrZ1lXSnZjblFnYVdZZ2FYUWdaRzlsYzI0bmRDQjFjMlVnZG5KdFhHNGdJQ0FnWTI5dWMzUWdkbkp0UlhoMElEMGdhbk52Ymk1bGVIUmxibk5wYjI1elB5NVdVazBnWVhNZ1ZqQldVazB1VmxKTklId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2doZG5KdFJYaDBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpZMmhsYldGQ2JHVnVaRk5vWVhCbElEMGdkbkp0UlhoMExtSnNaVzVrVTJoaGNHVk5ZWE4wWlhJN1hHNGdJQ0FnYVdZZ0tDRnpZMmhsYldGQ2JHVnVaRk5vWVhCbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCdFlXNWhaMlZ5SUQwZ2JtVjNJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5S0NrN1hHNWNiaUFnSUNCamIyNXpkQ0J6WTJobGJXRkNiR1Z1WkZOb1lYQmxSM0p2ZFhCeklEMGdjMk5vWlcxaFFteGxibVJUYUdGd1pTNWliR1Z1WkZOb1lYQmxSM0p2ZFhCek8xeHVJQ0FnSUdsbUlDZ2hjMk5vWlcxaFFteGxibVJUYUdGd1pVZHliM1Z3Y3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxaGJtRm5aWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ1lteGxibVJUYUdGd1pVNWhiV1ZUWlhRZ1BTQnVaWGNnVTJWMFBITjBjbWx1Wno0b0tUdGNibHh1SUNBZ0lHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tGeHVJQ0FnSUNBZ2MyTm9aVzFoUW14bGJtUlRhR0Z3WlVkeWIzVndjeTV0WVhBb1lYTjVibU1nS0hOamFHVnRZVWR5YjNWd0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFl3VUhKbGMyVjBUbUZ0WlNBOUlITmphR1Z0WVVkeWIzVndMbkJ5WlhObGRFNWhiV1U3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFl4VUhKbGMyVjBUbUZ0WlNBOVhHNGdJQ0FnSUNBZ0lDQWdLSFl3VUhKbGMyVjBUbUZ0WlNBaFBTQnVkV3hzSUNZbUlGWlNUVVY0Y0hKbGMzTnBiMjVNYjJGa1pYSlFiSFZuYVc0dWRqQjJNVkJ5WlhObGRFNWhiV1ZOWVhCYmRqQlFjbVZ6WlhST1lXMWxYU2tnZkh3Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdibUZ0WlNBOUlIWXhVSEpsYzJWMFRtRnRaU0EvUHlCelkyaGxiV0ZIY205MWNDNXVZVzFsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2h1WVcxbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b0oxWlNUVVY0Y0hKbGMzTnBiMjVNYjJGa1pYSlFiSFZuYVc0NklFOXVaU0J2WmlCamRYTjBiMjBnWlhod2NtVnpjMmx2Ym5NZ2FHRnpJRzV2SUc1aGJXVXVJRWxuYm05eWFXNW5JSFJvWlNCbGVIQnlaWE56YVc5dUp5azdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdaSFZ3YkdsallYUnBiMjRnWTJobFkydGNiaUFnSUNBZ0lDQWdhV1lnS0dKc1pXNWtVMmhoY0dWT1lXMWxVMlYwTG1oaGN5aHVZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNBZ0lDQWdJR0JXVWsxRmVIQnlaWE56YVc5dVRHOWhaR1Z5VUd4MVoybHVPaUJCYmlCbGVIQnlaWE56YVc5dUlIQnlaWE5sZENBa2UzWXdVSEpsYzJWMFRtRnRaWDBnYUdGeklHUjFjR3hwWTJGMFpXUWdaVzUwY21sbGN5NGdTV2R1YjNKcGJtY2dkR2hsSUdWNGNISmxjM05wYjI1Z0xGeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZbXhsYm1SVGFHRndaVTVoYldWVFpYUXVZV1JrS0c1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1Y0Y0hKbGMzTnBiMjRnUFNCdVpYY2dWbEpOUlhod2NtVnpjMmx2YmlodVlXMWxLVHRjYmlBZ0lDQWdJQ0FnWjJ4MFppNXpZMlZ1WlM1aFpHUW9aWGh3Y21WemMybHZiaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNXBjMEpwYm1GeWVTQTlJSE5qYUdWdFlVZHliM1Z3TG1selFtbHVZWEo1SUQ4L0lHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBdkx5QjJNQ0JrYjJWemJpZDBJR2hoZG1VZ2FXZHViM0psSUhCeWIzQmxjblJwWlhOY2JseHVJQ0FnSUNBZ0lDQXZMeUJDYVc1a0lHMXZjbkJvVkdGeVoyVjBYRzRnSUNBZ0lDQWdJR2xtSUNoelkyaGxiV0ZIY205MWNDNWlhVzVrY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSE5qYUdWdFlVZHliM1Z3TG1KcGJtUnpMbVp2Y2tWaFkyZ29ZWE41Ym1NZ0tHSnBibVFwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGlhVzVrTG0xbGMyZ2dQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQmlhVzVrTG1sdVpHVjRJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxjMVZ6YVc1blRXVnphRG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdwemIyNHVibTlrWlhNL0xtWnZja1ZoWTJnb0tHNXZaR1VzSUdrcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1dlpHVXViV1Z6YUNBOVBUMGdZbWx1WkM1dFpYTm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pYTlZjMmx1WjAxbGMyZ3VjSFZ6YUNocEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzF2Y25Cb1ZHRnlaMlYwU1c1a1pYZ2dQU0JpYVc1a0xtbHVaR1Y0TzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JoZDJGcGRDQlFjbTl0YVhObExtRnNiQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWlhOVmMybHVaMDFsYzJndWJXRndLR0Z6ZVc1aklDaHViMlJsU1c1a1pYZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3Y21sdGFYUnBkbVZ6SUQwZ0tHRjNZV2wwSUdkc2RHWkZlSFJ5WVdOMFVISnBiV2wwYVhabGMwWnliMjFPYjJSbEtHZHNkR1lzSUc1dlpHVkpibVJsZUNrcElUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQnRaWE5vSUdoaGN5QjBhR1VnZEdGeVoyVjBJRzF2Y25Cb0lIUmhjbWRsZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Z3Y21sdGFYUnBkbVZ6TG1WMlpYSjVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2NISnBiV2wwYVhabEtTQTlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lFRnljbUY1TG1selFYSnlZWGtvY0hKcGJXbDBhWFpsTG0xdmNuQm9WR0Z5WjJWMFNXNW1iSFZsYm1ObGN5a2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRiM0p3YUZSaGNtZGxkRWx1WkdWNElEd2djSEpwYldsMGFYWmxMbTF2Y25Cb1ZHRnlaMlYwU1c1bWJIVmxibU5sY3k1c1pXNW5kR2dzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0JXVWsxRmVIQnlaWE56YVc5dVRHOWhaR1Z5VUd4MVoybHVPaUFrZTNOamFHVnRZVWR5YjNWd0xtNWhiV1Y5SUdGMGRHVnRjSFJ6SUhSdklHbHVaR1Y0SUNSN2JXOXljR2hVWVhKblpYUkpibVJsZUgxMGFDQnRiM0p3YUNCaWRYUWdibTkwSUdadmRXNWtMbUFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Y0Y0hKbGMzTnBiMjR1WVdSa1FtbHVaQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGR5QldVazFGZUhCeVpYTnphVzl1VFc5eWNHaFVZWEpuWlhSQ2FXNWtLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NISnBiV2wwYVhabGN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pYZzZJRzF2Y25Cb1ZHRnlaMlYwU1c1a1pYZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkbGFXZG9kRG9nTUM0d01TQXFJQ2hpYVc1a0xuZGxhV2RvZENBL1B5QXhNREFwTENBdkx5QnVZWEp5YjNkcGJtY2dkR2hsSUhKaGJtZGxJR1p5YjIwZ1d5QXdMakFnTFNBeE1EQXVNQ0JkSUhSdklGc2dNQzR3SUMwZ01TNHdJRjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQzh2SUVKcGJtUWdUV0YwWlhKcFlXeERiMnh2Y2lCaGJtUWdWR1Y0ZEhWeVpWUnlZVzV6Wm05eWJWeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUmxjbWxoYkZaaGJIVmxjeUE5SUhOamFHVnRZVWR5YjNWd0xtMWhkR1Z5YVdGc1ZtRnNkV1Z6TzF4dUlDQWdJQ0FnSUNCcFppQW9iV0YwWlhKcFlXeFdZV3gxWlhNZ0ppWWdiV0YwWlhKcFlXeFdZV3gxWlhNdWJHVnVaM1JvSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXRjBaWEpwWVd4V1lXeDFaWE11Wm05eVJXRmphQ2dvYldGMFpYSnBZV3hXWVd4MVpTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhSbGNtbGhiRlpoYkhWbExtMWhkR1Z5YVdGc1RtRnRaU0E5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhkR1Z5YVdGc1ZtRnNkV1V1Y0hKdmNHVnlkSGxPWVcxbElEMDlQU0IxYm1SbFptbHVaV1FnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGMFpYSnBZV3hXWVd4MVpTNTBZWEpuWlhSV1lXeDFaU0E5UFQwZ2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBdktpcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBcUlPT0NvdU9Ea09PQ3YrT0R2T09CcnVPQ3F1T0RsdU9DdU9PQ3ArT0NyK09EaU9PQnEraW9yZVd1bXVPQmxlT0NqT09CcHVPQmhPT0NpK09EbnVPRGh1T0RxdU9Db3VPRHErT0JydVdHaGVPQmkrT0NpVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDb2diV0YwWlhKcFlXeFdZV3gxWmVPQnArYU1oK1d1bXVPQmxlT0NqT09CcHVPQmhPT0NpK09EbnVPRGh1T0RxdU9Db3VPRHErT0NrdW1iaHVPQ2dlT0NpK09BZ2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ3BjYmlBZ0lDQWdJQ0FnSUNBZ0lDQXFJT2VKdWVXdW11T0JxK09CcitXUWplV0pqZU9Da3VTOXYrZVVxT09CbWVPQ2krT0FnbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDb2c0NEtpNDRLbTQ0T0k0NE9wNDRLazQ0T3o1bytQNTVTNzU1U280NEd1NDRPZTQ0T0c0NE9xNDRLaTQ0T3I0NEtDNVpDTTVwbUM0NEdyNlp1RzQ0S0I0NEtMNDRDQ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnS2k5Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWhkR1Z5YVdGc2N6b2dWRWhTUlVVdVRXRjBaWEpwWVd4YlhTQTlJRnRkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaMngwWmk1elkyVnVaUzUwY21GMlpYSnpaU2dvYjJKcVpXTjBLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ29iMkpxWldOMElHRnpJR0Z1ZVNrdWJXRjBaWEpwWVd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUmxjbWxoYkRvZ1ZFaFNSVVV1VFdGMFpYSnBZV3hiWFNCOElGUklVa1ZGTGsxaGRHVnlhV0ZzSUQwZ0tHOWlhbVZqZENCaGN5QmhibmtwTG0xaGRHVnlhV0ZzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0cxaGRHVnlhV0ZzS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiV0YwWlhKcFlXeHpMbkIxYzJnb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzR1TG0xaGRHVnlhV0ZzTG1acGJIUmxjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9iWFJzS1NBOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tHMTBiQzV1WVcxbElEMDlQU0J0WVhSbGNtbGhiRlpoYkhWbExtMWhkR1Z5YVdGc1RtRnRaU0VnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JYUnNMbTVoYldVZ1BUMDlJRzFoZEdWeWFXRnNWbUZzZFdVdWJXRjBaWEpwWVd4T1lXMWxJU0FySUNjZ0tFOTFkR3hwYm1VcEp5a2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoZEdWeWFXRnNjeTVwYm1SbGVFOW1LRzEwYkNrZ1BUMDlJQzB4TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHMWhkR1Z5YVdGc0xtNWhiV1VnUFQwOUlHMWhkR1Z5YVdGc1ZtRnNkV1V1YldGMFpYSnBZV3hPWVcxbElDWW1JRzFoZEdWeWFXRnNjeTVwYm1SbGVFOW1LRzFoZEdWeWFXRnNLU0E5UFQwZ0xURXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGRHVnlhV0ZzY3k1d2RYTm9LRzFoZEdWeWFXRnNLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUmxjbWxoYkZCeWIzQmxjblI1VG1GdFpTQTlJRzFoZEdWeWFXRnNWbUZzZFdVdWNISnZjR1Z5ZEhsT1lXMWxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JXRjBaWEpwWVd4ekxtWnZja1ZoWTJnb0tHMWhkR1Z5YVdGc0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSbGVIUjFjbVZVY21GdWMyWnZjbTFDYVc1a1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHRZWFJsY21saGJGQnliM0JsY25SNVRtRnRaU0E5UFQwZ0oxOU5ZV2x1VkdWNFgxTlVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE5qWVd4bElEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqSW9iV0YwWlhKcFlXeFdZV3gxWlM1MFlYSm5aWFJXWVd4MVpTRmJNRjBzSUcxaGRHVnlhV0ZzVm1Gc2RXVXVkR0Z5WjJWMFZtRnNkV1VoV3pGZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdlptWnpaWFFnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TWlodFlYUmxjbWxoYkZaaGJIVmxMblJoY21kbGRGWmhiSFZsSVZzeVhTd2diV0YwWlhKcFlXeFdZV3gxWlM1MFlYSm5aWFJXWVd4MVpTRmJNMTBwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwTG5rZ1BTQXhMakFnTFNCdlptWnpaWFF1ZVNBdElITmpZV3hsTG5rN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxlSEJ5WlhOemFXOXVMbUZrWkVKcGJtUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhjZ1ZsSk5SWGh3Y21WemMybHZibFJsZUhSMWNtVlVjbUZ1YzJadmNtMUNhVzVrS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiV0YwWlhKcFlXd3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOallXeGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVFdGMFpYSnBZV3hEYjJ4dmNrSnBibVJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd4RGIyeHZjbFI1Y0dVZ1BTQjJNRVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVRXRndXMjFoZEdWeWFXRnNVSEp2Y0dWeWRIbE9ZVzFsWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHMWhkR1Z5YVdGc1EyOXNiM0pVZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWGh3Y21WemMybHZiaTVoWkdSQ2FXNWtLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm1WM0lGWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVFtbHVaQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhkR1Z5YVdGc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQnRZWFJsY21saGJFTnZiRzl5Vkhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdGeVoyVjBWbUZzZFdVNklHNWxkeUJVU0ZKRlJTNURiMnh2Y2lndUxpNXRZWFJsY21saGJGWmhiSFZsTG5SaGNtZGxkRlpoYkhWbElTNXpiR2xqWlNnd0xDQXpLU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0cxaGRHVnlhV0ZzVUhKdmNHVnlkSGxPWVcxbElDc2dKeUJwY3lCdWIzUWdjM1Z3Y0c5eWRHVmtKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUcxaGJtRm5aWEl1Y21WbmFYTjBaWEpGZUhCeVpYTnphVzl1S0dWNGNISmxjM05wYjI0cE8xeHVJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0tUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdFlXNWhaMlZ5TzF4dUlDQjlYRzU5WEc0aUxDSXZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNGdLaTljYmx4dVpYaHdiM0owSUdOdmJuTjBJRlpTVFVWNGNISmxjM05wYjI1UGRtVnljbWxrWlZSNWNHVWdQU0I3WEc0Z0lFNXZibVU2SUNkdWIyNWxKeXhjYmlBZ1FteHZZMnM2SUNkaWJHOWpheWNzWEc0Z0lFSnNaVzVrT2lBbllteGxibVFuTEZ4dWZTQmhjeUJqYjI1emREdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1ZsSk5SWGh3Y21WemMybHZiazkyWlhKeWFXUmxWSGx3WlNBOUlIUjVjR1Z2WmlCV1VrMUZlSEJ5WlhOemFXOXVUM1psY25KcFpHVlVlWEJsVzJ0bGVXOW1JSFI1Y0dWdlppQldVazFGZUhCeVpYTnphVzl1VDNabGNuSnBaR1ZVZVhCbFhUdGNiaUlzSW1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOUm1seWMzUlFaWEp6YjI1TlpYTm9RVzV1YjNSaGRHbHZiaUI5SUdaeWIyMGdKeTR2VmxKTlJtbHljM1JRWlhKemIyNU5aWE5vUVc1dWIzUmhkR2x2YmljN1hHNXBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVoMWJXRnViMmxrSUgwZ1puSnZiU0FuTGk0dmFIVnRZVzV2YVdRbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5SbWx5YzNSUVpYSnpiMjRnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRU0JrWldaaGRXeDBJR05oYldWeVlTQnNZWGxsY2lCbWIzSWdZRVpwY25OMFVHVnljMjl1VDI1c2VXQWdiR0Y1WlhJdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ6WldVZ1cxdG5aWFJHYVhKemRGQmxjbk52Yms5dWJIbE1ZWGxsY2wxZFhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2MzUmhkR2xqSUhKbFlXUnZibXg1SUVSRlJrRlZURlJmUmtsU1UxUlFSVkpUVDA1ZlQwNU1XVjlNUVZsRlVpQTlJRGs3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnWkdWbVlYVnNkQ0JqWVcxbGNtRWdiR0Y1WlhJZ1ptOXlJR0JVYUdseVpGQmxjbk52Yms5dWJIbGdJR3hoZVdWeUxseHVJQ0FnS2x4dUlDQWdLaUJBYzJWbElGdGJaMlYwVkdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhKZFhWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCeVpXRmtiMjVzZVNCRVJVWkJWVXhVWDFSSVNWSkVVRVZTVTA5T1gwOU9URmxmVEVGWlJWSWdQU0F4TUR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nU1hSeklHRnpjMjlqYVdGMFpXUWdlMEJzYVc1cklGWlNUVWgxYldGdWIybGtmUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0JvZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRN1hHNGdJSEIxWW14cFl5QnRaWE5vUVc1dWIzUmhkR2x2Ym5NNklGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNWJYVHRjYmx4dUlDQndjbWwyWVhSbElGOW1hWEp6ZEZCbGNuTnZiazl1YkhsTVlYbGxjaUE5SUZaU1RVWnBjbk4wVUdWeWMyOXVMa1JGUmtGVlRGUmZSa2xTVTFSUVJWSlRUMDVmVDA1TVdWOU1RVmxGVWp0Y2JpQWdjSEpwZG1GMFpTQmZkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElnUFNCV1VrMUdhWEp6ZEZCbGNuTnZiaTVFUlVaQlZVeFVYMVJJU1ZKRVVFVlNVMDlPWDA5T1RGbGZURUZaUlZJN1hHNWNiaUFnY0hKcGRtRjBaU0JmYVc1cGRHbGhiR2w2WldSTVlYbGxjbk1nUFNCbVlXeHpaVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdibVYzSUZaU1RVWnBjbk4wVUdWeWMyOXVJRzlpYW1WamRDNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJR2gxYldGdWIybGtJRUVnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlZ4dUlDQWdLaUJBY0dGeVlXMGdiV1Z6YUVGdWJtOTBZWFJwYjI1eklFRWdjbVZ1WkdWeVpYSWdjMlYwZEdsdVozTXVJRk5sWlNCMGFHVWdaR1Z6WTNKcGNIUnBiMjRnYjJZZ1cxdFNaVzVrWlhKbGNrWnBjbk4wVUdWeWMyOXVSbXhoWjNOZFhTQm1iM0lnYlc5eVpTQnBibVp2WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2FIVnRZVzV2YVdRNklGWlNUVWgxYldGdWIybGtMQ0J0WlhOb1FXNXViM1JoZEdsdmJuTTZJRlpTVFVacGNuTjBVR1Z5YzI5dVRXVnphRUZ1Ym05MFlYUnBiMjViWFNrZ2UxeHVJQ0FnSUhSb2FYTXVhSFZ0WVc1dmFXUWdQU0JvZFcxaGJtOXBaRHRjYmlBZ0lDQjBhR2x6TG0xbGMyaEJibTV2ZEdGMGFXOXVjeUE5SUcxbGMyaEJibTV2ZEdGMGFXOXVjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIzQjVJSFJvWlNCbmFYWmxiaUI3UUd4cGJtc2dWbEpOUm1seWMzUlFaWEp6YjI1OUlHbHVkRzhnZEdocGN5QnZibVV1WEc0Z0lDQXFJSHRBYkdsdWF5Qm9kVzFoYm05cFpIMGdiWFZ6ZENCaVpTQnpZVzFsSUdGeklIUm9aU0J6YjNWeVkyVWdiMjVsTGx4dUlDQWdLaUJBY0dGeVlXMGdjMjkxY21ObElGUm9aU0I3UUd4cGJtc2dWbEpOUm1seWMzUlFaWEp6YjI1OUlIbHZkU0IzWVc1MElIUnZJR052Y0hsY2JpQWdJQ29nUUhKbGRIVnlibk1nZEdocGMxeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnZjSGtvYzI5MWNtTmxPaUJXVWsxR2FYSnpkRkJsY25OdmJpazZJSFJvYVhNZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1oMWJXRnViMmxrSUNFOVBTQnpiM1Z5WTJVdWFIVnRZVzV2YVdRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZsSk5SbWx5YzNSUVpYSnpiMjQ2SUdoMWJXRnViMmxrSUcxMWMzUWdZbVVnYzJGdFpTQnBiaUJ2Y21SbGNpQjBieUJqYjNCNUp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTV0WlhOb1FXNXViM1JoZEdsdmJuTWdQU0J6YjNWeVkyVXViV1Z6YUVGdWJtOTBZWFJwYjI1ekxtMWhjQ2dvWVc1dWIzUmhkR2x2YmlrZ1BUNGdLSHRjYmlBZ0lDQWdJRzFsYzJobGN6b2dZVzV1YjNSaGRHbHZiaTV0WlhOb1pYTXVZMjl1WTJGMEtDa3NYRzRnSUNBZ0lDQjBlWEJsT2lCaGJtNXZkR0YwYVc5dUxuUjVjR1VzWEc0Z0lDQWdmU2twTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmhJR05zYjI1bElHOW1JSFJvYVhNZ2UwQnNhVzVySUZaU1RVWnBjbk4wVUdWeWMyOXVmUzVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdRMjl3YVdWa0lIdEFiR2x1YXlCV1VrMUdhWEp6ZEZCbGNuTnZibjFjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJqYkc5dVpTZ3BPaUJXVWsxR2FYSnpkRkJsY25OdmJpQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QldVazFHYVhKemRGQmxjbk52YmloMGFHbHpMbWgxYldGdWIybGtMQ0IwYUdsekxtMWxjMmhCYm01dmRHRjBhVzl1Y3lrdVkyOXdlU2gwYUdsektUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUdOaGJXVnlZU0JzWVhsbGNpQnlaWEJ5WlhObGJuUnpJR0JHYVhKemRGQmxjbk52Yms5dWJIbGdJR3hoZVdWeUxseHVJQ0FnS2lCT2IzUmxJSFJvWVhRZ0tpcDViM1VnYlhWemRDQmpZV3hzSUh0QWJHbHVheUJ6WlhSMWNIMGdabWx5YzNRZ1ltVm1iM0psSUhsdmRTQjFjMlVnZEdobElHeGhlV1Z5SUdabFlYUjFjbVVxS2lCdmNpQnBkQ0JrYjJWeklHNXZkQ0IzYjNKcklIQnliM0JsY214NUxseHVJQ0FnS2x4dUlDQWdLaUJVYUdVZ2RtRnNkV1VnYVhNZ2UwQnNhVzVySUVSRlJrRlZURlJmUmtsU1UxUlFSVkpUVDA1ZlQwNU1XVjlNUVZsRlVuMGdZbmtnWkdWbVlYVnNkQ0JpZFhRZ2VXOTFJR05oYmlCamFHRnVaMlVnZEdobElHeGhlV1Z5SUdKNUlITndaV05wWm5scGJtY2dkbWxoSUh0QWJHbHVheUJ6WlhSMWNIMGdhV1lnZVc5MUlIQnlaV1psY2k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSE5sWlNCb2RIUndjem92TDNaeWJTNWtaWFl2Wlc0dmRXNXBkbkp0TDJGd2FTOTFibWwyY20xZmRYTmxYMlpwY25OMGNHVnljMjl1TDF4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dmRHaHlaV1ZxY3k1dmNtY3ZaRzlqY3k4allYQnBMMlZ1TDJOdmNtVXZUR0Y1WlhKelhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBJR1pwY25OMFVHVnljMjl1VDI1c2VVeGhlV1Z5S0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnBjbk4wVUdWeWMyOXVUMjVzZVV4aGVXVnlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVFZ1kyRnRaWEpoSUd4aGVXVnlJSEpsY0hKbGMyVnVkSE1nWUZSb2FYSmtVR1Z5YzI5dVQyNXNlV0FnYkdGNVpYSXVYRzRnSUNBcUlFNXZkR1VnZEdoaGRDQXFLbmx2ZFNCdGRYTjBJR05oYkd3Z2UwQnNhVzVySUhObGRIVndmU0JtYVhKemRDQmlaV1p2Y21VZ2VXOTFJSFZ6WlNCMGFHVWdiR0Y1WlhJZ1ptVmhkSFZ5WlNvcUlHOXlJR2wwSUdSdlpYTWdibTkwSUhkdmNtc2djSEp2Y0dWeWJIa3VYRzRnSUNBcVhHNGdJQ0FxSUZSb1pTQjJZV3gxWlNCcGN5QjdRR3hwYm1zZ1JFVkdRVlZNVkY5VVNFbFNSRkJGVWxOUFRsOVBUa3haWDB4QldVVlNmU0JpZVNCa1pXWmhkV3gwSUdKMWRDQjViM1VnWTJGdUlHTm9ZVzVuWlNCMGFHVWdiR0Y1WlhJZ1lua2djM0JsWTJsbWVXbHVaeUIyYVdFZ2UwQnNhVzVySUhObGRIVndmU0JwWmlCNWIzVWdjSEpsWm1WeUxseHVJQ0FnS2x4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dmRuSnRMbVJsZGk5bGJpOTFibWwyY20wdllYQnBMM1Z1YVhaeWJWOTFjMlZmWm1seWMzUndaWEp6YjI0dlhHNGdJQ0FxSUVCelpXVWdhSFIwY0hNNkx5OTBhSEpsWldwekxtOXlaeTlrYjJOekx5TmhjR2t2Wlc0dlkyOXlaUzlNWVhsbGNuTmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJb0tUb2diblZ0WW1WeUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWEk3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNGdkR2hwY3lCdFpYUm9iMlFzSUdsMElHRnpjMmxuYm5NZ2JHRjVaWEp6SUdadmNpQmxkbVZ5ZVNCdFpYTm9aWE1nWW1GelpXUWdiMjRnYldWemFDQmhibTV2ZEdGMGFXOXVjeTVjYmlBZ0lDb2dXVzkxSUcxMWMzUWdZMkZzYkNCMGFHbHpJRzFsZEdodlpDQm1hWEp6ZENCaVpXWnZjbVVnZVc5MUlIVnpaU0IwYUdVZ2JHRjVaWElnWm1WaGRIVnlaUzVjYmlBZ0lDcGNiaUFnSUNvZ1ZHaHBjeUJwY3lCaGJpQmxjWFZwZG1Gc1pXNTBJRzltSUZ0V1VrMUdhWEp6ZEZCbGNuTnZiaTVUWlhSMWNGMG9hSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1p5YlMxakwxVnVhVlpTVFM5aWJHOWlMemN6WVRWaVpEaG1ZMlJrWVdFeVlUZGhPRGN6TlRBNU9XRTVOMlUyTTJNNVpHSXpaVFZsWVRBdlFYTnpaWFJ6TDFaU1RTOVNkVzUwYVcxbEwwWnBjbk4wVUdWeWMyOXVMMVpTVFVacGNuTjBVR1Z5YzI5dUxtTnpJMHd5T1RVdFRESTVPU2tnYjJZZ2RHaGxJRlZ1YVZaU1RTNWNiaUFnSUNwY2JpQWdJQ29nVkdobElHQmpZVzFsY21GTVlYbGxjbUFnY0dGeVlXMWxkR1Z5SUhOd1pXTnBabWxsY3lCM2FHbGphQ0JzWVhsbGNpQjNhV3hzSUdKbElHRnpjMmxuYm1Wa0lHWnZjaUJnUm1seWMzUlFaWEp6YjI1UGJteDVZQ0F2SUdCVWFHbHlaRkJsY25OdmJrOXViSGxnTGx4dUlDQWdLaUJKYmlCVmJtbFdVazBzSUhkbElITndaV05wWm1sbFpDQjBhRzl6WlNCaWVTQnVZVzFwYm1jZ1pXRmphQ0JrWlhOcGNtVmtJR3hoZVdWeUlHRnpJR0JHU1ZKVFZGQkZVbE5QVGw5UFRreFpYMHhCV1VWU1lDQXZJR0JVU0VsU1JGQkZVbE5QVGw5UFRreFpYMHhCV1VWU1lGeHVJQ0FnS2lCaWRYUWdkMlVnWVhKbElHZHZhVzVuSUhSdklITndaV05wWm5rZ2RHaGxjMlVnYkdGNVpYSnpJR0YwSUdobGNtVWdjMmx1WTJVZ2QyVWdZWEpsSUhWdVlXSnNaU0IwYnlCdVlXMWxJR3hoZVdWeWN5QnBiaUJVYUhKbFpTNXFjeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdOaGJXVnlZVXhoZVdWeUlGTndaV05wWm5rZ2QyaHBZMmdnYkdGNVpYSWdkMmxzYkNCaVpTQm1iM0lnWUVacGNuTjBVR1Z5YzI5dVQyNXNlV0FnTHlCZ1ZHaHBjbVJRWlhKemIyNVBibXg1WUM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCelpYUjFjQ2g3WEc0Z0lDQWdabWx5YzNSUVpYSnpiMjVQYm14NVRHRjVaWElnUFNCV1VrMUdhWEp6ZEZCbGNuTnZiaTVFUlVaQlZVeFVYMFpKVWxOVVVFVlNVMDlPWDA5T1RGbGZURUZaUlZJc1hHNGdJQ0FnZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJZ1BTQldVazFHYVhKemRGQmxjbk52Ymk1RVJVWkJWVXhVWDFSSVNWSkVVRVZTVTA5T1gwOU9URmxmVEVGWlJWSXNYRzRnSUgwZ1BTQjdmU2s2SUhadmFXUWdlMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOXBibWwwYVdGc2FYcGxaRXhoZVdWeWN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxsOW1hWEp6ZEZCbGNuTnZiazl1YkhsTVlYbGxjaUE5SUdacGNuTjBVR1Z5YzI5dVQyNXNlVXhoZVdWeU8xeHVJQ0FnSUhSb2FYTXVYM1JvYVhKa1VHVnljMjl1VDI1c2VVeGhlV1Z5SUQwZ2RHaHBjbVJRWlhKemIyNVBibXg1VEdGNVpYSTdYRzVjYmlBZ0lDQjBhR2x6TG0xbGMyaEJibTV2ZEdGMGFXOXVjeTVtYjNKRllXTm9LQ2hwZEdWdEtTQTlQaUI3WEc0Z0lDQWdJQ0JwZEdWdExtMWxjMmhsY3k1bWIzSkZZV05vS0NodFpYTm9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwZEdWdExuUjVjR1VnUFQwOUlDZG1hWEp6ZEZCbGNuTnZiazl1YkhrbktTQjdYRzRnSUNBZ0lDQWdJQ0FnYldWemFDNXNZWGxsY25NdWMyVjBLSFJvYVhNdVgyWnBjbk4wVUdWeWMyOXVUMjVzZVV4aGVXVnlLVHRjYmlBZ0lDQWdJQ0FnSUNCdFpYTm9MblJ5WVhabGNuTmxLQ2hqYUdsc1pDa2dQVDRnWTJocGJHUXViR0Y1WlhKekxuTmxkQ2gwYUdsekxsOW1hWEp6ZEZCbGNuTnZiazl1YkhsTVlYbGxjaWtwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHbDBaVzB1ZEhsd1pTQTlQVDBnSjNSb2FYSmtVR1Z5YzI5dVQyNXNlU2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnRaWE5vTG14aGVXVnljeTV6WlhRb2RHaHBjeTVmZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJcE8xeHVJQ0FnSUNBZ0lDQWdJRzFsYzJndWRISmhkbVZ5YzJVb0tHTm9hV3hrS1NBOVBpQmphR2xzWkM1c1lYbGxjbk11YzJWMEtIUm9hWE11WDNSb2FYSmtVR1Z5YzI5dVQyNXNlVXhoZVdWeUtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvYVhSbGJTNTBlWEJsSUQwOVBTQW5ZWFYwYnljcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxsOWpjbVZoZEdWSVpXRmtiR1Z6YzAxdlpHVnNLRzFsYzJncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJSFJvYVhNdVgybHVhWFJwWVd4cGVtVmtUR0Y1WlhKeklEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyVjRZMngxWkdWVWNtbGhibWRzWlhNb2RISnBZVzVuYkdWek9pQnVkVzFpWlhKYlhTd2dZbmR6T2lCdWRXMWlaWEpiWFZ0ZExDQnphMmx1U1c1a1pYZzZJRzUxYldKbGNsdGRXMTBzSUdWNFkyeDFaR1U2SUc1MWJXSmxjbHRkS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0JzWlhRZ1kyOTFiblFnUFNBd08xeHVJQ0FnSUdsbUlDaGlkM01nSVQwZ2JuVnNiQ0FtSmlCaWQzTXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGNtbGhibWRzWlhNdWJHVnVaM1JvT3lCcElDczlJRE1wSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWVNBOUlIUnlhV0Z1WjJ4bGMxdHBYVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZaUE5SUhSeWFXRnVaMnhsYzF0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR01nUFNCMGNtbGhibWRzWlhOYmFTQXJJREpkTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JpZHpBZ1BTQmlkM05iWVYwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhOcmFXNHdJRDBnYzJ0cGJrbHVaR1Y0VzJGZE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoaWR6QmJNRjBnUGlBd0lDWW1JR1Y0WTJ4MVpHVXVhVzVqYkhWa1pYTW9jMnRwYmpCYk1GMHBLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHSjNNRnN4WFNBK0lEQWdKaVlnWlhoamJIVmtaUzVwYm1Oc2RXUmxjeWh6YTJsdU1Gc3hYU2twSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNCcFppQW9ZbmN3V3pKZElENGdNQ0FtSmlCbGVHTnNkV1JsTG1sdVkyeDFaR1Z6S0hOcmFXNHdXekpkS1NrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hpZHpCYk0xMGdQaUF3SUNZbUlHVjRZMngxWkdVdWFXNWpiSFZrWlhNb2MydHBiakJiTTEwcEtTQmpiMjUwYVc1MVpUdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQmlkekVnUFNCaWQzTmJZbDA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5yYVc0eElEMGdjMnRwYmtsdVpHVjRXMkpkTzF4dUlDQWdJQ0FnSUNCcFppQW9ZbmN4V3pCZElENGdNQ0FtSmlCbGVHTnNkV1JsTG1sdVkyeDFaR1Z6S0hOcmFXNHhXekJkS1NrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hpZHpGYk1WMGdQaUF3SUNZbUlHVjRZMngxWkdVdWFXNWpiSFZrWlhNb2MydHBiakZiTVYwcEtTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdhV1lnS0dKM01Wc3lYU0ErSURBZ0ppWWdaWGhqYkhWa1pTNXBibU5zZFdSbGN5aHphMmx1TVZzeVhTa3BJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0JwWmlBb1luY3hXek5kSUQ0Z01DQW1KaUJsZUdOc2RXUmxMbWx1WTJ4MVpHVnpLSE5yYVc0eFd6TmRLU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWW5jeUlEMGdZbmR6VzJOZE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemEybHVNaUE5SUhOcmFXNUpibVJsZUZ0alhUdGNiaUFnSUNBZ0lDQWdhV1lnS0dKM01sc3dYU0ErSURBZ0ppWWdaWGhqYkhWa1pTNXBibU5zZFdSbGN5aHphMmx1TWxzd1hTa3BJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0JwWmlBb1luY3lXekZkSUQ0Z01DQW1KaUJsZUdOc2RXUmxMbWx1WTJ4MVpHVnpLSE5yYVc0eVd6RmRLU2tnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaGlkekpiTWwwZ1BpQXdJQ1ltSUdWNFkyeDFaR1V1YVc1amJIVmtaWE1vYzJ0cGJqSmJNbDBwS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ozTWxzelhTQStJREFnSmlZZ1pYaGpiSFZrWlM1cGJtTnNkV1JsY3loemEybHVNbHN6WFNrcElHTnZiblJwYm5WbE8xeHVYRzRnSUNBZ0lDQWdJSFJ5YVdGdVoyeGxjMXRqYjNWdWRDc3JYU0E5SUdFN1hHNGdJQ0FnSUNBZ0lIUnlhV0Z1WjJ4bGMxdGpiM1Z1ZENzclhTQTlJR0k3WEc0Z0lDQWdJQ0FnSUhSeWFXRnVaMnhsYzF0amIzVnVkQ3NyWFNBOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJqYjNWdWREdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMk55WldGMFpVVnlZWE5sWkUxbGMyZ29jM0pqT2lCVVNGSkZSUzVUYTJsdWJtVmtUV1Z6YUN3Z1pYSmhjMmx1WjBKdmJtVnpTVzVrWlhnNklHNTFiV0psY2x0ZEtUb2dWRWhTUlVVdVUydHBibTVsWkUxbGMyZ2dlMXh1SUNBZ0lHTnZibk4wSUdSemRDQTlJRzVsZHlCVVNGSkZSUzVUYTJsdWJtVmtUV1Z6YUNoemNtTXVaMlZ2YldWMGNua3VZMnh2Ym1Vb0tTd2djM0pqTG0xaGRHVnlhV0ZzS1R0Y2JpQWdJQ0JrYzNRdWJtRnRaU0E5SUdBa2UzTnlZeTV1WVcxbGZTaGxjbUZ6WlNsZ08xeHVJQ0FnSUdSemRDNW1jblZ6ZEhWdFEzVnNiR1ZrSUQwZ2MzSmpMbVp5ZFhOMGRXMURkV3hzWldRN1hHNGdJQ0FnWkhOMExteGhlV1Z5Y3k1elpYUW9kR2hwY3k1ZlptbHljM1JRWlhKemIyNVBibXg1VEdGNVpYSXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1oyVnZiV1YwY25rZ1BTQmtjM1F1WjJWdmJXVjBjbms3WEc1Y2JpQWdJQ0JqYjI1emRDQnphMmx1U1c1a1pYaEJkSFJ5SUQwZ1oyVnZiV1YwY25rdVoyVjBRWFIwY21saWRYUmxLQ2R6YTJsdVNXNWtaWGduS1R0Y2JpQWdJQ0JqYjI1emRDQnphMmx1U1c1a1pYaEJkSFJ5UVhKeVlYa2dQU0J6YTJsdVNXNWtaWGhCZEhSeUlHbHVjM1JoYm1ObGIyWWdWRWhTUlVVdVIweENkV1ptWlhKQmRIUnlhV0oxZEdVZ1B5QmJYU0E2SUhOcmFXNUpibVJsZUVGMGRISXVZWEp5WVhrN1hHNGdJQ0FnWTI5dWMzUWdjMnRwYmtsdVpHVjRJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCemEybHVTVzVrWlhoQmRIUnlRWEp5WVhrdWJHVnVaM1JvT3lCcElDczlJRFFwSUh0Y2JpQWdJQ0FnSUhOcmFXNUpibVJsZUM1d2RYTm9LRnRjYmlBZ0lDQWdJQ0FnYzJ0cGJrbHVaR1Y0UVhSMGNrRnljbUY1VzJsZExGeHVJQ0FnSUNBZ0lDQnphMmx1U1c1a1pYaEJkSFJ5UVhKeVlYbGJhU0FySURGZExGeHVJQ0FnSUNBZ0lDQnphMmx1U1c1a1pYaEJkSFJ5UVhKeVlYbGJhU0FySURKZExGeHVJQ0FnSUNBZ0lDQnphMmx1U1c1a1pYaEJkSFJ5UVhKeVlYbGJhU0FySUROZExGeHVJQ0FnSUNBZ1hTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzJ0cGJsZGxhV2RvZEVGMGRISWdQU0JuWlc5dFpYUnllUzVuWlhSQmRIUnlhV0oxZEdVb0ozTnJhVzVYWldsbmFIUW5LVHRjYmlBZ0lDQmpiMjV6ZENCemEybHVWMlZwWjJoMFFYUjBja0Z5Y21GNUlEMGdjMnRwYmxkbGFXZG9kRUYwZEhJZ2FXNXpkR0Z1WTJWdlppQlVTRkpGUlM1SFRFSjFabVpsY2tGMGRISnBZblYwWlNBL0lGdGRJRG9nYzJ0cGJsZGxhV2RvZEVGMGRISXVZWEp5WVhrN1hHNGdJQ0FnWTI5dWMzUWdjMnRwYmxkbGFXZG9kQ0E5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2MydHBibGRsYVdkb2RFRjBkSEpCY25KaGVTNXNaVzVuZEdnN0lHa2dLejBnTkNrZ2UxeHVJQ0FnSUNBZ2MydHBibGRsYVdkb2RDNXdkWE5vS0Z0Y2JpQWdJQ0FnSUNBZ2MydHBibGRsYVdkb2RFRjBkSEpCY25KaGVWdHBYU3hjYmlBZ0lDQWdJQ0FnYzJ0cGJsZGxhV2RvZEVGMGRISkJjbkpoZVZ0cElDc2dNVjBzWEc0Z0lDQWdJQ0FnSUhOcmFXNVhaV2xuYUhSQmRIUnlRWEp5WVhsYmFTQXJJREpkTEZ4dUlDQWdJQ0FnSUNCemEybHVWMlZwWjJoMFFYUjBja0Z5Y21GNVcya2dLeUF6WFN4Y2JpQWdJQ0FnSUYwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR2x1WkdWNElEMGdaMlZ2YldWMGNua3VaMlYwU1c1a1pYZ29LVHRjYmlBZ0lDQnBaaUFvSVdsdVpHVjRLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0pVYUdVZ1oyVnZiV1YwY25rZ1pHOWxjMjRuZENCb1lYWmxJR0Z1SUdsdVpHVjRJR0oxWm1abGNsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYjJ4a1ZISnBZVzVuYkdWeklEMGdRWEp5WVhrdVpuSnZiU2hwYm1SbGVDNWhjbkpoZVNrN1hHNWNiaUFnSUNCamIyNXpkQ0JqYjNWdWRDQTlJSFJvYVhNdVgyVjRZMngxWkdWVWNtbGhibWRzWlhNb2IyeGtWSEpwWVc1bmJHVnpMQ0J6YTJsdVYyVnBaMmgwTENCemEybHVTVzVrWlhnc0lHVnlZWE5wYm1kQ2IyNWxjMGx1WkdWNEtUdGNiaUFnSUNCamIyNXpkQ0J1WlhkVWNtbGhibWRzWlRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR052ZFc1ME95QnBLeXNwSUh0Y2JpQWdJQ0FnSUc1bGQxUnlhV0Z1WjJ4bFcybGRJRDBnYjJ4a1ZISnBZVzVuYkdWelcybGRPMXh1SUNBZ0lIMWNiaUFnSUNCblpXOXRaWFJ5ZVM1elpYUkpibVJsZUNodVpYZFVjbWxoYm1kc1pTazdYRzVjYmlBZ0lDQXZMeUJ0ZEc5dmJpQnRZWFJsY21saGJDQnBibU5zZFdSbGN5QnZia0psWm05eVpWSmxibVJsY2k0Z2RHaHBjeUJwY3lCMWJuTjFjSEJ2Y25SbFpDQmhkQ0JUYTJsdWJtVmtUV1Z6YUNOamJHOXVaVnh1SUNBZ0lHbG1JQ2h6Y21NdWIyNUNaV1p2Y21WU1pXNWtaWElwSUh0Y2JpQWdJQ0FnSUdSemRDNXZia0psWm05eVpWSmxibVJsY2lBOUlITnlZeTV2YmtKbFptOXlaVkpsYm1SbGNqdGNiaUFnSUNCOVhHNGdJQ0FnWkhOMExtSnBibVFvYm1WM0lGUklVa1ZGTGxOclpXeGxkRzl1S0hOeVl5NXphMlZzWlhSdmJpNWliMjVsY3l3Z2MzSmpMbk5yWld4bGRHOXVMbUp2Ym1WSmJuWmxjbk5sY3lrc0lHNWxkeUJVU0ZKRlJTNU5ZWFJ5YVhnMEtDa3BPMXh1SUNBZ0lISmxkSFZ5YmlCa2MzUTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlqY21WaGRHVklaV0ZrYkdWemMwMXZaR1ZzUm05eVUydHBibTVsWkUxbGMyZ29jR0Z5Wlc1ME9pQlVTRkpGUlM1UFltcGxZM1F6UkN3Z2JXVnphRG9nVkVoU1JVVXVVMnRwYm01bFpFMWxjMmdwT2lCMmIybGtJSHRjYmlBZ0lDQmpiMjV6ZENCbGNtRnpaVUp2Ym1WSmJtUmxlR1Z6T2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lHMWxjMmd1YzJ0bGJHVjBiMjR1WW05dVpYTXVabTl5UldGamFDZ29ZbTl1WlN3Z2FXNWtaWGdwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxsOXBjMFZ5WVhObFZHRnlaMlYwS0dKdmJtVXBLU0JsY21GelpVSnZibVZKYm1SbGVHVnpMbkIxYzJnb2FXNWtaWGdwTzF4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnTHk4Z1ZXNXNhV3RsSUZWdWFWWlNUU0IzWlNCa2IyNG5kQ0JqYjNCNUlHMWxjMmdnYVdZZ2JtOGdhVzUyYVhOcFlteGxJR0p2Ym1VZ2QyRnpJR1p2ZFc1a1hHNGdJQ0FnYVdZZ0tDRmxjbUZ6WlVKdmJtVkpibVJsZUdWekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2JXVnphQzVzWVhsbGNuTXVaVzVoWW14bEtIUm9hWE11WDNSb2FYSmtVR1Z5YzI5dVQyNXNlVXhoZVdWeUtUdGNiaUFnSUNBZ0lHMWxjMmd1YkdGNVpYSnpMbVZ1WVdKc1pTaDBhR2x6TGw5bWFYSnpkRkJsY25OdmJrOXViSGxNWVhsbGNpazdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dUlDQWdJRzFsYzJndWJHRjVaWEp6TG5ObGRDaDBhR2x6TGw5MGFHbHlaRkJsY25OdmJrOXViSGxNWVhsbGNpazdYRzRnSUNBZ1kyOXVjM1FnYm1WM1RXVnphQ0E5SUhSb2FYTXVYMk55WldGMFpVVnlZWE5sWkUxbGMyZ29iV1Z6YUN3Z1pYSmhjMlZDYjI1bFNXNWtaWGhsY3lrN1hHNGdJQ0FnY0dGeVpXNTBMbUZrWkNodVpYZE5aWE5vS1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyTnlaV0YwWlVobFlXUnNaWE56VFc5a1pXd29ibTlrWlRvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFwT2lCMmIybGtJSHRjYmlBZ0lDQnBaaUFvYm05a1pTNTBlWEJsSUQwOVBTQW5SM0p2ZFhBbktTQjdYRzRnSUNBZ0lDQnViMlJsTG14aGVXVnljeTV6WlhRb2RHaHBjeTVmZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJcE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdVgybHpSWEpoYzJWVVlYSm5aWFFvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnYm05a1pTNTBjbUYyWlhKelpTZ29ZMmhwYkdRcElEMCtJR05vYVd4a0xteGhlV1Z5Y3k1elpYUW9kR2hwY3k1ZmRHaHBjbVJRWlhKemIyNVBibXg1VEdGNVpYSXBLVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIQmhjbVZ1ZENBOUlHNWxkeUJVU0ZKRlJTNUhjbTkxY0NncE8xeHVJQ0FnSUNBZ0lDQndZWEpsYm5RdWJtRnRaU0E5SUdCZmFHVmhaR3hsYzNOZkpIdHViMlJsTG01aGJXVjlZRHRjYmlBZ0lDQWdJQ0FnY0dGeVpXNTBMbXhoZVdWeWN5NXpaWFFvZEdocGN5NWZabWx5YzNSUVpYSnpiMjVQYm14NVRHRjVaWElwTzF4dUlDQWdJQ0FnSUNCdWIyUmxMbkJoY21WdWRDRXVZV1JrS0hCaGNtVnVkQ2s3WEc0Z0lDQWdJQ0FnSUc1dlpHVXVZMmhwYkdSeVpXNWNiaUFnSUNBZ0lDQWdJQ0F1Wm1sc2RHVnlLQ2hqYUdsc1pDa2dQVDRnWTJocGJHUXVkSGx3WlNBOVBUMGdKMU5yYVc1dVpXUk5aWE5vSnlsY2JpQWdJQ0FnSUNBZ0lDQXVabTl5UldGamFDZ29ZMmhwYkdRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOcmFXNXVaV1JOWlhOb0lEMGdZMmhwYkdRZ1lYTWdWRWhTUlVVdVUydHBibTVsWkUxbGMyZzdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbDlqY21WaGRHVklaV0ZrYkdWemMwMXZaR1ZzUm05eVUydHBibTVsWkUxbGMyZ29jR0Z5Wlc1MExDQnphMmx1Ym1Wa1RXVnphQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHViMlJsTG5SNWNHVWdQVDA5SUNkVGEybHVibVZrVFdWemFDY3BJSHRjYmlBZ0lDQWdJR052Ym5OMElITnJhVzV1WldSTlpYTm9JRDBnYm05a1pTQmhjeUJVU0ZKRlJTNVRhMmx1Ym1Wa1RXVnphRHRjYmlBZ0lDQWdJSFJvYVhNdVgyTnlaV0YwWlVobFlXUnNaWE56VFc5a1pXeEdiM0pUYTJsdWJtVmtUV1Z6YUNodWIyUmxMbkJoY21WdWRDRXNJSE5yYVc1dVpXUk5aWE5vS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVYMmx6UlhKaGMyVlVZWEpuWlhRb2JtOWtaU2twSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzVzWVhsbGNuTXVjMlYwS0hSb2FYTXVYM1JvYVhKa1VHVnljMjl1VDI1c2VVeGhlV1Z5S1R0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzUwY21GMlpYSnpaU2dvWTJocGJHUXBJRDArSUdOb2FXeGtMbXhoZVdWeWN5NXpaWFFvZEdocGN5NWZkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5cGMwVnlZWE5sVkdGeVoyVjBLR0p2Ym1VNklGUklVa1ZGTGs5aWFtVmpkRE5FS1RvZ1ltOXZiR1ZoYmlCN1hHNGdJQ0FnYVdZZ0tHSnZibVVnUFQwOUlIUm9hWE11YUhWdFlXNXZhV1F1WjJWMFVtRjNRbTl1WlU1dlpHVW9KMmhsWVdRbktTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2doWW05dVpTNXdZWEpsYm5RcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMmx6UlhKaGMyVlVZWEpuWlhRb1ltOXVaUzV3WVhKbGJuUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJSFI1Y0dVZ0tpQmhjeUJXTUZaU1RTQm1jbTl0SUNkQWNHbDRhWFl2ZEhsd1pYTXRkbkp0TFRBdU1DYzdYRzVwYlhCdmNuUWdkSGx3WlNBcUlHRnpJRll4VmxKTlUyTm9aVzFoSUdaeWIyMGdKMEJ3YVhocGRpOTBlWEJsY3kxMmNtMWpMWFp5YlMweExqQW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhURlJHTENCSFRGUkdURzloWkdWeVVHeDFaMmx1TENCSFRGUkdVR0Z5YzJWeUlIMGdabkp2YlNBbmRHaHlaV1V2WlhoaGJYQnNaWE12YW5OdEwyeHZZV1JsY25NdlIweFVSa3h2WVdSbGNpNXFjeWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVoMWJXRnViMmxrSUgwZ1puSnZiU0FuTGk0dmFIVnRZVzV2YVdRdlZsSk5TSFZ0WVc1dmFXUW5PMXh1YVcxd2IzSjBJSHNnWjJ4MFprVjRkSEpoWTNSUWNtbHRhWFJwZG1WelJuSnZiVTV2WkdWeklIMGdabkp2YlNBbkxpNHZkWFJwYkhNdloyeDBaa1Y0ZEhKaFkzUlFjbWx0YVhScGRtVnpSbkp2YlU1dlpHVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlJtbHljM1JRWlhKemIyNGdmU0JtY205dElDY3VMMVpTVFVacGNuTjBVR1Z5YzI5dUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5SbWx5YzNSUVpYSnpiMjVOWlhOb1FXNXViM1JoZEdsdmJpQjlJR1p5YjIwZ0p5NHZWbEpOUm1seWMzUlFaWEp6YjI1TlpYTm9RVzV1YjNSaGRHbHZiaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVacGNuTjBVR1Z5YzI5dVRXVnphRUZ1Ym05MFlYUnBiMjVVZVhCbElIMGdabkp2YlNBbkxpOVdVazFHYVhKemRGQmxjbk52YmsxbGMyaEJibTV2ZEdGMGFXOXVWSGx3WlNjN1hHNXBiWEJ2Y25RZ2V5QkhURlJHSUdGeklFZE1WRVpUWTJobGJXRWdmU0JtY205dElDZEFaMngwWmkxMGNtRnVjMlp2Y20wdlkyOXlaU2M3WEc1Y2JpOHFLbHh1SUNvZ1VHOXpjMmxpYkdVZ2MzQmxZeUIyWlhKemFXOXVjeUJwZENCeVpXTnZaMjVwZW1WekxseHVJQ292WEc1amIyNXpkQ0JRVDFOVFNVSk1SVjlUVUVWRFgxWkZVbE5KVDA1VElEMGdibVYzSUZObGRDaGJKekV1TUNjc0lDY3hMakF0WW1WMFlTZGRLVHRjYmx4dUx5b3FYRzRnS2lCQklIQnNkV2RwYmlCdlppQkhURlJHVEc5aFpHVnlJSFJvWVhRZ2FXMXdiM0owY3lCaElIdEFiR2x1YXlCV1VrMUdhWEp6ZEZCbGNuTnZibjBnWm5KdmJTQmhJRlpTVFNCbGVIUmxibk5wYjI0Z2IyWWdZU0JIVEZSR0xseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWbEpOUm1seWMzUlFaWEp6YjI1TWIyRmtaWEpRYkhWbmFXNGdhVzF3YkdWdFpXNTBjeUJIVEZSR1RHOWhaR1Z5VUd4MVoybHVJSHRjYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUhCaGNuTmxjam9nUjB4VVJsQmhjbk5sY2p0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUc1aGJXVW9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQXZMeUJYWlNCemFHOTFiR1FnZFhObElIUm9aU0JsZUhSbGJuTnBiMjRnYm1GdFpTQnBibk4wWldGa0lHSjFkQ0IzWlNCb1lYWmxJRzExYkhScGNHeGxJSEJzZFdkcGJuTWdabTl5SUdGdUlHVjRkR1Z1YzJsdmJpNHVMbHh1SUNBZ0lISmxkSFZ5YmlBblZsSk5SbWx5YzNSUVpYSnpiMjVNYjJGa1pYSlFiSFZuYVc0bk8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEJoY25ObGNqb2dSMHhVUmxCaGNuTmxjaWtnZTF4dUlDQWdJSFJvYVhNdWNHRnljMlZ5SUQwZ2NHRnljMlZ5TzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdGemVXNWpJR0ZtZEdWeVVtOXZkQ2huYkhSbU9pQkhURlJHS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2RuSnRTSFZ0WVc1dmFXUWdQU0JuYkhSbUxuVnpaWEpFWVhSaExuWnliVWgxYldGdWIybGtJR0Z6SUZaU1RVaDFiV0Z1YjJsa0lId2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdMeThnWlhod2JHbGphWFJzZVNCa2FYTjBhVzVuZFdsemFDQnVkV3hzSUdGdVpDQjFibVJsWm1sdVpXUmNiaUFnSUNBdkx5QnphVzVqWlNCMmNtMUlkVzFoYm05cFpDQnRhV2RvZENCaVpTQnVkV3hzSUdGeklHRWdjbVZ6ZFd4MFhHNGdJQ0FnYVdZZ0tIWnliVWgxYldGdWIybGtJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDJjbTFJZFcxaGJtOXBaQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDZFdVazFHYVhKemRGQmxjbk52Ymt4dllXUmxjbEJzZFdkcGJqb2dkbkp0U0hWdFlXNXZhV1FnYVhNZ2RXNWtaV1pwYm1Wa0xpQldVazFJZFcxaGJtOXBaRXh2WVdSbGNsQnNkV2RwYmlCb1lYWmxJSFJ2SUdKbElIVnpaV1FnWm1seWMzUW5MRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVWnBjbk4wVUdWeWMyOXVJRDBnWVhkaGFYUWdkR2hwY3k1ZmFXMXdiM0owS0dkc2RHWXNJSFp5YlVoMWJXRnViMmxrS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpiWEJ2Y25RZ1lTQjdRR3hwYm1zZ1ZsSk5SbWx5YzNSUVpYSnpiMjU5SUdaeWIyMGdZU0JXVWswdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQm5iSFJtSUVFZ2NHRnljMlZrSUhKbGMzVnNkQ0J2WmlCSFRGUkdJSFJoYTJWdUlHWnliMjBnUjB4VVJreHZZV1JsY2x4dUlDQWdLaUJBY0dGeVlXMGdhSFZ0WVc1dmFXUWdRU0I3UUd4cGJtc2dWbEpOU0hWdFlXNXZhV1I5SUdsdWMzUmhibU5sSUhSb1lYUWdjbVZ3Y21WelpXNTBjeUIwYUdVZ1ZsSk5YRzRnSUNBcUwxeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYMmx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdMQ0JvZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRZ2ZDQnVkV3hzS1RvZ1VISnZiV2x6WlR4V1VrMUdhWEp6ZEZCbGNuTnZiaUI4SUc1MWJHdytJSHRjYmlBZ0lDQnBaaUFvYUhWdFlXNXZhV1FnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdkakZTWlhOMWJIUWdQU0JoZDJGcGRDQjBhR2x6TGw5Mk1VbHRjRzl5ZENobmJIUm1MQ0JvZFcxaGJtOXBaQ2s3WEc0Z0lDQWdhV1lnS0hZeFVtVnpkV3gwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZGpGU1pYTjFiSFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RqQlNaWE4xYkhRZ1BTQmhkMkZwZENCMGFHbHpMbDkyTUVsdGNHOXlkQ2huYkhSbUxDQm9kVzFoYm05cFpDazdYRzRnSUNBZ2FXWWdLSFl3VW1WemRXeDBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkakJTWlhOMWJIUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOTJNVWx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdMQ0JvZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRcE9pQlFjbTl0YVhObFBGWlNUVVpwY25OMFVHVnljMjl1SUh3Z2JuVnNiRDRnZTF4dUlDQWdJR052Ym5OMElHcHpiMjRnUFNCMGFHbHpMbkJoY25ObGNpNXFjMjl1SUdGeklFZE1WRVpUWTJobGJXRXVTVWRNVkVZN1hHNWNiaUFnSUNBdkx5QmxZWEpzZVNCaFltOXlkQ0JwWmlCcGRDQmtiMlZ6YmlkMElIVnpaU0IyY20xY2JpQWdJQ0JqYjI1emRDQnBjMVpTVFZWelpXUWdQU0JxYzI5dUxtVjRkR1Z1YzJsdmJuTlZjMlZrUHk1cGJtUmxlRTltS0NkV1VrMURYM1p5YlNjcElDRTlQU0F0TVR0Y2JpQWdJQ0JwWmlBb0lXbHpWbEpOVlhObFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ1pYaDBaVzV6YVc5dUlEMGdhbk52Ymk1bGVIUmxibk5wYjI1elB5NWJKMVpTVFVOZmRuSnRKMTBnWVhNZ1ZqRldVazFUWTJobGJXRXVWbEpOUTFaU1RTQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvSVdWNGRHVnVjMmx2YmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzNCbFkxWmxjbk5wYjI0Z1BTQmxlSFJsYm5OcGIyNHVjM0JsWTFabGNuTnBiMjQ3WEc0Z0lDQWdhV1lnS0NGUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRMbWhoY3loemNHVmpWbVZ5YzJsdmJpa3BJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloZ1ZsSk5SbWx5YzNSUVpYSnpiMjVNYjJGa1pYSlFiSFZuYVc0NklGVnVhMjV2ZDI0Z1ZsSk5RMTkyY20wZ2MzQmxZMVpsY25OcGIyNGdYQ0lrZTNOd1pXTldaWEp6YVc5dWZWd2lZQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpZMmhsYldGR2FYSnpkRkJsY25OdmJpQTlJR1Y0ZEdWdWMybHZiaTVtYVhKemRGQmxjbk52Ymp0Y2JpQWdJQ0JwWmlBb0lYTmphR1Z0WVVacGNuTjBVR1Z5YzI5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCdFpYTm9RVzV1YjNSaGRHbHZibk02SUZaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1YlhTQTlJRnRkTzF4dUlDQWdJR052Ym5OMElHNXZaR1ZRY21sdGFYUnBkbVZ6VFdGd0lEMGdZWGRoYVhRZ1oyeDBaa1Y0ZEhKaFkzUlFjbWx0YVhScGRtVnpSbkp2YlU1dlpHVnpLR2RzZEdZcE8xeHVJQ0FnSUVGeWNtRjVMbVp5YjIwb2JtOWtaVkJ5YVcxcGRHbDJaWE5OWVhBdVpXNTBjbWxsY3lncEtTNW1iM0pGWVdOb0tDaGJibTlrWlVsdVpHVjRMQ0J3Y21sdGFYUnBkbVZ6WFNrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1lXNXViM1JoZEdsdmJpQTlJSE5qYUdWdFlVWnBjbk4wVUdWeWMyOXVMbTFsYzJoQmJtNXZkR0YwYVc5dWMxeHVJQ0FnSUNBZ0lDQS9JSE5qYUdWdFlVWnBjbk4wVUdWeWMyOXVMbTFsYzJoQmJtNXZkR0YwYVc5dWN5NW1hVzVrS0NoaEtTQTlQaUJoTG01dlpHVWdQVDA5SUc1dlpHVkpibVJsZUNsY2JpQWdJQ0FnSUNBZ09pQjFibVJsWm1sdVpXUTdYRzVjYmlBZ0lDQWdJRzFsYzJoQmJtNXZkR0YwYVc5dWN5NXdkWE5vS0h0Y2JpQWdJQ0FnSUNBZ2JXVnphR1Z6T2lCd2NtbHRhWFJwZG1WekxGeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCaGJtNXZkR0YwYVc5dVB5NTBlWEJsSUQ4L0lDZGliM1JvSnl4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QldVazFHYVhKemRGQmxjbk52Ymlob2RXMWhibTlwWkN3Z2JXVnphRUZ1Ym05MFlYUnBiMjV6S1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDNZd1NXMXdiM0owS0dkc2RHWTZJRWRNVkVZc0lHaDFiV0Z1YjJsa09pQldVazFJZFcxaGJtOXBaQ2s2SUZCeWIyMXBjMlU4VmxKTlJtbHljM1JRWlhKemIyNGdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJSFJvYVhNdWNHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJR052Ym5OMElIWnliVVY0ZENBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVZsSk5JR0Z6SUZZd1ZsSk5MbFpTVFNCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9JWFp5YlVWNGRDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0NklGWXdWbEpOTGtacGNuTjBVR1Z5YzI5dUlId2dkVzVrWldacGJtVmtJRDBnZG5KdFJYaDBMbVpwY25OMFVHVnljMjl1TzF4dUlDQWdJR2xtSUNnaGMyTm9aVzFoUm1seWMzUlFaWEp6YjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUcxbGMyaEJibTV2ZEdGMGFXOXVjem9nVmxKTlJtbHljM1JRWlhKemIyNU5aWE5vUVc1dWIzUmhkR2x2Ymx0ZElEMGdXMTA3WEc0Z0lDQWdZMjl1YzNRZ2JtOWtaVkJ5YVcxcGRHbDJaWE5OWVhBZ1BTQmhkMkZwZENCbmJIUm1SWGgwY21GamRGQnlhVzFwZEdsMlpYTkdjbTl0VG05a1pYTW9aMngwWmlrN1hHNWNiaUFnSUNCQmNuSmhlUzVtY205dEtHNXZaR1ZRY21sdGFYUnBkbVZ6VFdGd0xtVnVkSEpwWlhNb0tTa3VabTl5UldGamFDZ29XMjV2WkdWSmJtUmxlQ3dnY0hKcGJXbDBhWFpsYzEwcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElITmphR1Z0WVU1dlpHVWdQU0JxYzI5dUxtNXZaR1Z6SVZ0dWIyUmxTVzVrWlhoZE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCbWJHRm5JRDBnYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1YldWemFFRnVibTkwWVhScGIyNXpYRzRnSUNBZ0lDQWdJRDhnYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1YldWemFFRnVibTkwWVhScGIyNXpMbVpwYm1Rb0tHRXBJRDArSUdFdWJXVnphQ0E5UFQwZ2MyTm9aVzFoVG05a1pTNXRaWE5vS1Z4dUlDQWdJQ0FnSUNBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lDQWdiV1Z6YUVGdWJtOTBZWFJwYjI1ekxuQjFjMmdvZTF4dUlDQWdJQ0FnSUNCdFpYTm9aWE02SUhCeWFXMXBkR2wyWlhNc1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUhSb2FYTXVYMk52Ym5abGNuUldNRVpzWVdkVWIxWXhWSGx3WlNobWJHRm5QeTVtYVhKemRGQmxjbk52Ymtac1lXY3BMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZaU1RVWnBjbk4wVUdWeWMyOXVLR2gxYldGdWIybGtMQ0J0WlhOb1FXNXViM1JoZEdsdmJuTXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmWTI5dWRtVnlkRll3Um14aFoxUnZWakZVZVhCbEtHWnNZV2M2SUhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkNrNklGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNVVlWEJsSUh0Y2JpQWdJQ0JwWmlBb1pteGhaeUE5UFQwZ0owWnBjbk4wVUdWeWMyOXVUMjVzZVNjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBblptbHljM1JRWlhKemIyNVBibXg1Snp0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dac1lXY2dQVDA5SUNkVWFHbHlaRkJsY25OdmJrOXViSGtuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnSjNSb2FYSmtVR1Z5YzI5dVQyNXNlU2M3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2htYkdGbklEMDlQU0FuUVhWMGJ5Y3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQW5ZWFYwYnljN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQW5ZbTkwYUNjN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0aUxDSXZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNGdLaTljYmx4dVpYaHdiM0owSUdOdmJuTjBJRlpTVFVacGNuTjBVR1Z5YzI5dVRXVnphRUZ1Ym05MFlYUnBiMjVVZVhCbElEMGdlMXh1SUNCQmRYUnZPaUFuWVhWMGJ5Y3NYRzRnSUVKdmRHZzZJQ2RpYjNSb0p5eGNiaUFnVkdocGNtUlFaWEp6YjI1UGJteDVPaUFuZEdocGNtUlFaWEp6YjI1UGJteDVKeXhjYmlBZ1JtbHljM1JRWlhKemIyNVBibXg1T2lBblptbHljM1JRWlhKemIyNVBibXg1Snl4Y2JuMGdZWE1nWTI5dWMzUTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNVVlWEJsSUQxY2JpQWdkSGx3Wlc5bUlGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNVVlWEJsVzJ0bGVXOW1JSFI1Y0dWdlppQldVazFHYVhKemRGQmxjbk52YmsxbGMyaEJibTV2ZEdGMGFXOXVWSGx3WlYwN1hHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2V5QldVazFJZFcxaGJrSnZibVVnZlNCbWNtOXRJQ2N1TGk5V1VrMUlkVzFoYmtKdmJtVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzV2YVdRZ2ZTQm1jbTl0SUNjdUxpOVdVazFJZFcxaGJtOXBaQ2M3WEc1Y2JtTnZibk4wSUY5Mk0wRWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVkyOXVjM1FnWDNZelFpQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmY1hWaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5TSFZ0WVc1dmFXUklaV3h3WlhJZ1pYaDBaVzVrY3lCVVNGSkZSUzVIY205MWNDQjdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0IyY20xSWRXMWhibTlwWkRvZ1ZsSk5TSFZ0WVc1dmFXUTdYRzRnSUhCeWFYWmhkR1VnWDJKdmJtVkJlR1Z6VFdGd09pQk5ZWEE4VmxKTlNIVnRZVzVDYjI1bExDQlVTRkpGUlM1QmVHVnpTR1ZzY0dWeVBqdGNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2FIVnRZVzV2YVdRNklGWlNUVWgxYldGdWIybGtLU0I3WEc0Z0lDQWdjM1Z3WlhJb0tUdGNibHh1SUNBZ0lIUm9hWE11ZG5KdFNIVnRZVzV2YVdRZ1BTQm9kVzFoYm05cFpEdGNibHh1SUNBZ0lIUm9hWE11WDJKdmJtVkJlR1Z6VFdGd0lEMGdibVYzSUUxaGNDZ3BPMXh1WEc0Z0lDQWdUMkpxWldOMExuWmhiSFZsY3lob2RXMWhibTlwWkM1b2RXMWhia0p2Ym1WektTNW1iM0pGWVdOb0tDaGliMjVsS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCb1pXeHdaWElnUFNCdVpYY2dWRWhTUlVVdVFYaGxjMGhsYkhCbGNpZ3hMakFwTzF4dVhHNGdJQ0FnSUNCb1pXeHdaWEl1YldGMGNtbDRRWFYwYjFWd1pHRjBaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0FvYUdWc2NHVnlMbTFoZEdWeWFXRnNJR0Z6SUZSSVVrVkZMazFoZEdWeWFXRnNLUzVrWlhCMGFGUmxjM1FnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ2hvWld4d1pYSXViV0YwWlhKcFlXd2dZWE1nVkVoU1JVVXVUV0YwWlhKcFlXd3BMbVJsY0hSb1YzSnBkR1VnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQ0FnZEdocGN5NWhaR1FvYUdWc2NHVnlLVHRjYmx4dUlDQWdJQ0FnZEdocGN5NWZZbTl1WlVGNFpYTk5ZWEF1YzJWMEtHSnZibVVzSUdobGJIQmxjaWs3WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWkdsemNHOXpaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQkJjbkpoZVM1bWNtOXRLSFJvYVhNdVgySnZibVZCZUdWelRXRndMblpoYkhWbGN5Z3BLUzVtYjNKRllXTm9LQ2hoZUdWektTQTlQaUI3WEc0Z0lDQWdJQ0JoZUdWekxtZGxiMjFsZEhKNUxtUnBjM0J2YzJVb0tUdGNiaUFnSUNBZ0lDaGhlR1Z6TG0xaGRHVnlhV0ZzSUdGeklGUklVa1ZGTGsxaGRHVnlhV0ZzS1M1a2FYTndiM05sS0NrN1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2RYQmtZWFJsVFdGMGNtbDRWMjl5YkdRb1ptOXlZMlU2SUdKdmIyeGxZVzRwT2lCMmIybGtJSHRjYmlBZ0lDQkJjbkpoZVM1bWNtOXRLSFJvYVhNdVgySnZibVZCZUdWelRXRndMbVZ1ZEhKcFpYTW9LU2t1Wm05eVJXRmphQ2dvVzJKdmJtVXNJR0Y0WlhOZEtTQTlQaUI3WEc0Z0lDQWdJQ0JpYjI1bExtNXZaR1V1ZFhCa1lYUmxWMjl5YkdSTllYUnlhWGdvZEhKMVpTd2dabUZzYzJVcE8xeHVYRzRnSUNBZ0lDQmliMjVsTG01dlpHVXViV0YwY21sNFYyOXliR1F1WkdWamIyMXdiM05sS0Y5Mk0wRXNJRjl4ZFdGMFFTd2dYM1l6UWlrN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUhOallXeGxJRDBnWDNZelFTNXpaWFFvTUM0eExDQXdMakVzSURBdU1Ta3VaR2wyYVdSbEtGOTJNMElwTzF4dUlDQWdJQ0FnWVhobGN5NXRZWFJ5YVhndVkyOXdlU2hpYjI1bExtNXZaR1V1YldGMGNtbDRWMjl5YkdRcExuTmpZV3hsS0hOallXeGxLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJSE4xY0dWeUxuVndaR0YwWlUxaGRISnBlRmR2Y214a0tHWnZjbU5sS1R0Y2JpQWdmVnh1ZlZ4dUlpd2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjVoYldsdVp5MWpiMjUyWlc1MGFXOXVJQ292WEc1Y2JtbHRjRzl5ZENCN0lGWlNUVWgxYldGdVFtOXVaVTVoYldVZ2ZTQm1jbTl0SUNjdUwxWlNUVWgxYldGdVFtOXVaVTVoYldVbk8xeHVYRzR2S2lwY2JpQXFJRlJvWlNCc2FYTjBJRzltSUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxmUzRnUkdWd1pXNWtaVzVqZVNCaGQyRnlaUzVjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUZaU1RVaDFiV0Z1UW05dVpVeHBjM1E2SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1ZiWFNBOUlGdGNiaUFnSjJocGNITW5MRnh1SUNBbmMzQnBibVVuTEZ4dUlDQW5ZMmhsYzNRbkxGeHVJQ0FuZFhCd1pYSkRhR1Z6ZENjc1hHNGdJQ2R1WldOckp5eGNibHh1SUNBbmFHVmhaQ2NzWEc0Z0lDZHNaV1owUlhsbEp5eGNiaUFnSjNKcFoyaDBSWGxsSnl4Y2JpQWdKMnBoZHljc1hHNWNiaUFnSjJ4bFpuUlZjSEJsY2t4bFp5Y3NYRzRnSUNkc1pXWjBURzkzWlhKTVpXY25MRnh1SUNBbmJHVm1kRVp2YjNRbkxGeHVJQ0FuYkdWbWRGUnZaWE1uTEZ4dVhHNGdJQ2R5YVdkb2RGVndjR1Z5VEdWbkp5eGNiaUFnSjNKcFoyaDBURzkzWlhKTVpXY25MRnh1SUNBbmNtbG5hSFJHYjI5MEp5eGNiaUFnSjNKcFoyaDBWRzlsY3ljc1hHNWNiaUFnSjJ4bFpuUlRhRzkxYkdSbGNpY3NYRzRnSUNkc1pXWjBWWEJ3WlhKQmNtMG5MRnh1SUNBbmJHVm1kRXh2ZDJWeVFYSnRKeXhjYmlBZ0oyeGxablJJWVc1a0p5eGNibHh1SUNBbmNtbG5hSFJUYUc5MWJHUmxjaWNzWEc0Z0lDZHlhV2RvZEZWd2NHVnlRWEp0Snl4Y2JpQWdKM0pwWjJoMFRHOTNaWEpCY20wbkxGeHVJQ0FuY21sbmFIUklZVzVrSnl4Y2JseHVJQ0FuYkdWbWRGUm9kVzFpVFdWMFlXTmhjbkJoYkNjc1hHNGdJQ2RzWldaMFZHaDFiV0pRY205NGFXMWhiQ2NzWEc0Z0lDZHNaV1owVkdoMWJXSkVhWE4wWVd3bkxGeHVJQ0FuYkdWbWRFbHVaR1Y0VUhKdmVHbHRZV3duTEZ4dUlDQW5iR1ZtZEVsdVpHVjRTVzUwWlhKdFpXUnBZWFJsSnl4Y2JpQWdKMnhsWm5SSmJtUmxlRVJwYzNSaGJDY3NYRzRnSUNkc1pXWjBUV2xrWkd4bFVISnZlR2x0WVd3bkxGeHVJQ0FuYkdWbWRFMXBaR1JzWlVsdWRHVnliV1ZrYVdGMFpTY3NYRzRnSUNkc1pXWjBUV2xrWkd4bFJHbHpkR0ZzSnl4Y2JpQWdKMnhsWm5SU2FXNW5VSEp2ZUdsdFlXd25MRnh1SUNBbmJHVm1kRkpwYm1kSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNBbmJHVm1kRkpwYm1kRWFYTjBZV3duTEZ4dUlDQW5iR1ZtZEV4cGRIUnNaVkJ5YjNocGJXRnNKeXhjYmlBZ0oyeGxablJNYVhSMGJHVkpiblJsY20xbFpHbGhkR1VuTEZ4dUlDQW5iR1ZtZEV4cGRIUnNaVVJwYzNSaGJDY3NYRzVjYmlBZ0ozSnBaMmgwVkdoMWJXSk5aWFJoWTJGeWNHRnNKeXhjYmlBZ0ozSnBaMmgwVkdoMWJXSlFjbTk0YVcxaGJDY3NYRzRnSUNkeWFXZG9kRlJvZFcxaVJHbHpkR0ZzSnl4Y2JpQWdKM0pwWjJoMFNXNWtaWGhRY205NGFXMWhiQ2NzWEc0Z0lDZHlhV2RvZEVsdVpHVjRTVzUwWlhKdFpXUnBZWFJsSnl4Y2JpQWdKM0pwWjJoMFNXNWtaWGhFYVhOMFlXd25MRnh1SUNBbmNtbG5hSFJOYVdSa2JHVlFjbTk0YVcxaGJDY3NYRzRnSUNkeWFXZG9kRTFwWkdSc1pVbHVkR1Z5YldWa2FXRjBaU2NzWEc0Z0lDZHlhV2RvZEUxcFpHUnNaVVJwYzNSaGJDY3NYRzRnSUNkeWFXZG9kRkpwYm1kUWNtOTRhVzFoYkNjc1hHNGdJQ2R5YVdkb2RGSnBibWRKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0FuY21sbmFIUlNhVzVuUkdsemRHRnNKeXhjYmlBZ0ozSnBaMmgwVEdsMGRHeGxVSEp2ZUdsdFlXd25MRnh1SUNBbmNtbG5hSFJNYVhSMGJHVkpiblJsY20xbFpHbGhkR1VuTEZ4dUlDQW5jbWxuYUhSTWFYUjBiR1ZFYVhOMFlXd25MRnh1WFR0Y2JpSXNJaThxSUdWemJHbHVkQzFrYVhOaFlteGxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1WVcxcGJtY3RZMjl1ZG1WdWRHbHZiaUFxTDF4dVhHNHZLaXBjYmlBcUlGUm9aU0J1WVcxbGN5QnZaaUI3UUd4cGJtc2dWbEpOU0hWdFlXNXZhV1I5SUdKdmJtVWdibUZ0WlhNdVhHNGdLbHh1SUNvZ1VtVm1PaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZG5KdExXTXZkbkp0TFhOd1pXTnBabWxqWVhScGIyNHZZbXh2WWk5dFlYTjBaWEl2YzNCbFkybG1hV05oZEdsdmJpOVdVazFEWDNaeWJTMHhMakF2YUhWdFlXNXZhV1F1YldSY2JpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElGWlNUVWgxYldGdVFtOXVaVTVoYldVZ1BTQjdYRzRnSUVocGNITTZJQ2RvYVhCekp5eGNiaUFnVTNCcGJtVTZJQ2R6Y0dsdVpTY3NYRzRnSUVOb1pYTjBPaUFuWTJobGMzUW5MRnh1SUNCVmNIQmxja05vWlhOME9pQW5kWEJ3WlhKRGFHVnpkQ2NzWEc0Z0lFNWxZMnM2SUNkdVpXTnJKeXhjYmx4dUlDQklaV0ZrT2lBbmFHVmhaQ2NzWEc0Z0lFeGxablJGZVdVNklDZHNaV1owUlhsbEp5eGNiaUFnVW1sbmFIUkZlV1U2SUNkeWFXZG9kRVY1WlNjc1hHNGdJRXBoZHpvZ0oycGhkeWNzWEc1Y2JpQWdUR1ZtZEZWd2NHVnlUR1ZuT2lBbmJHVm1kRlZ3Y0dWeVRHVm5KeXhjYmlBZ1RHVm1kRXh2ZDJWeVRHVm5PaUFuYkdWbWRFeHZkMlZ5VEdWbkp5eGNiaUFnVEdWbWRFWnZiM1E2SUNkc1pXWjBSbTl2ZENjc1hHNGdJRXhsWm5SVWIyVnpPaUFuYkdWbWRGUnZaWE1uTEZ4dVhHNGdJRkpwWjJoMFZYQndaWEpNWldjNklDZHlhV2RvZEZWd2NHVnlUR1ZuSnl4Y2JpQWdVbWxuYUhSTWIzZGxja3hsWnpvZ0ozSnBaMmgwVEc5M1pYSk1aV2NuTEZ4dUlDQlNhV2RvZEVadmIzUTZJQ2R5YVdkb2RFWnZiM1FuTEZ4dUlDQlNhV2RvZEZSdlpYTTZJQ2R5YVdkb2RGUnZaWE1uTEZ4dVhHNGdJRXhsWm5SVGFHOTFiR1JsY2pvZ0oyeGxablJUYUc5MWJHUmxjaWNzWEc0Z0lFeGxablJWY0hCbGNrRnliVG9nSjJ4bFpuUlZjSEJsY2tGeWJTY3NYRzRnSUV4bFpuUk1iM2RsY2tGeWJUb2dKMnhsWm5STWIzZGxja0Z5YlNjc1hHNGdJRXhsWm5SSVlXNWtPaUFuYkdWbWRFaGhibVFuTEZ4dVhHNGdJRkpwWjJoMFUyaHZkV3hrWlhJNklDZHlhV2RvZEZOb2IzVnNaR1Z5Snl4Y2JpQWdVbWxuYUhSVmNIQmxja0Z5YlRvZ0ozSnBaMmgwVlhCd1pYSkJjbTBuTEZ4dUlDQlNhV2RvZEV4dmQyVnlRWEp0T2lBbmNtbG5hSFJNYjNkbGNrRnliU2NzWEc0Z0lGSnBaMmgwU0dGdVpEb2dKM0pwWjJoMFNHRnVaQ2NzWEc1Y2JpQWdUR1ZtZEZSb2RXMWlUV1YwWVdOaGNuQmhiRG9nSjJ4bFpuUlVhSFZ0WWsxbGRHRmpZWEp3WVd3bkxGeHVJQ0JNWldaMFZHaDFiV0pRY205NGFXMWhiRG9nSjJ4bFpuUlVhSFZ0WWxCeWIzaHBiV0ZzSnl4Y2JpQWdUR1ZtZEZSb2RXMWlSR2x6ZEdGc09pQW5iR1ZtZEZSb2RXMWlSR2x6ZEdGc0p5eGNiaUFnVEdWbWRFbHVaR1Y0VUhKdmVHbHRZV3c2SUNkc1pXWjBTVzVrWlhoUWNtOTRhVzFoYkNjc1hHNGdJRXhsWm5SSmJtUmxlRWx1ZEdWeWJXVmthV0YwWlRvZ0oyeGxablJKYm1SbGVFbHVkR1Z5YldWa2FXRjBaU2NzWEc0Z0lFeGxablJKYm1SbGVFUnBjM1JoYkRvZ0oyeGxablJKYm1SbGVFUnBjM1JoYkNjc1hHNGdJRXhsWm5STmFXUmtiR1ZRY205NGFXMWhiRG9nSjJ4bFpuUk5hV1JrYkdWUWNtOTRhVzFoYkNjc1hHNGdJRXhsWm5STmFXUmtiR1ZKYm5SbGNtMWxaR2xoZEdVNklDZHNaV1owVFdsa1pHeGxTVzUwWlhKdFpXUnBZWFJsSnl4Y2JpQWdUR1ZtZEUxcFpHUnNaVVJwYzNSaGJEb2dKMnhsWm5STmFXUmtiR1ZFYVhOMFlXd25MRnh1SUNCTVpXWjBVbWx1WjFCeWIzaHBiV0ZzT2lBbmJHVm1kRkpwYm1kUWNtOTRhVzFoYkNjc1hHNGdJRXhsWm5SU2FXNW5TVzUwWlhKdFpXUnBZWFJsT2lBbmJHVm1kRkpwYm1kSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNCTVpXWjBVbWx1WjBScGMzUmhiRG9nSjJ4bFpuUlNhVzVuUkdsemRHRnNKeXhjYmlBZ1RHVm1kRXhwZEhSc1pWQnliM2hwYldGc09pQW5iR1ZtZEV4cGRIUnNaVkJ5YjNocGJXRnNKeXhjYmlBZ1RHVm1kRXhwZEhSc1pVbHVkR1Z5YldWa2FXRjBaVG9nSjJ4bFpuUk1hWFIwYkdWSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNCTVpXWjBUR2wwZEd4bFJHbHpkR0ZzT2lBbmJHVm1kRXhwZEhSc1pVUnBjM1JoYkNjc1hHNWNiaUFnVW1sbmFIUlVhSFZ0WWsxbGRHRmpZWEp3WVd3NklDZHlhV2RvZEZSb2RXMWlUV1YwWVdOaGNuQmhiQ2NzWEc0Z0lGSnBaMmgwVkdoMWJXSlFjbTk0YVcxaGJEb2dKM0pwWjJoMFZHaDFiV0pRY205NGFXMWhiQ2NzWEc0Z0lGSnBaMmgwVkdoMWJXSkVhWE4wWVd3NklDZHlhV2RvZEZSb2RXMWlSR2x6ZEdGc0p5eGNiaUFnVW1sbmFIUkpibVJsZUZCeWIzaHBiV0ZzT2lBbmNtbG5hSFJKYm1SbGVGQnliM2hwYldGc0p5eGNiaUFnVW1sbmFIUkpibVJsZUVsdWRHVnliV1ZrYVdGMFpUb2dKM0pwWjJoMFNXNWtaWGhKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0JTYVdkb2RFbHVaR1Y0UkdsemRHRnNPaUFuY21sbmFIUkpibVJsZUVScGMzUmhiQ2NzWEc0Z0lGSnBaMmgwVFdsa1pHeGxVSEp2ZUdsdFlXdzZJQ2R5YVdkb2RFMXBaR1JzWlZCeWIzaHBiV0ZzSnl4Y2JpQWdVbWxuYUhSTmFXUmtiR1ZKYm5SbGNtMWxaR2xoZEdVNklDZHlhV2RvZEUxcFpHUnNaVWx1ZEdWeWJXVmthV0YwWlNjc1hHNGdJRkpwWjJoMFRXbGtaR3hsUkdsemRHRnNPaUFuY21sbmFIUk5hV1JrYkdWRWFYTjBZV3duTEZ4dUlDQlNhV2RvZEZKcGJtZFFjbTk0YVcxaGJEb2dKM0pwWjJoMFVtbHVaMUJ5YjNocGJXRnNKeXhjYmlBZ1VtbG5hSFJTYVc1blNXNTBaWEp0WldScFlYUmxPaUFuY21sbmFIUlNhVzVuU1c1MFpYSnRaV1JwWVhSbEp5eGNiaUFnVW1sbmFIUlNhVzVuUkdsemRHRnNPaUFuY21sbmFIUlNhVzVuUkdsemRHRnNKeXhjYmlBZ1VtbG5hSFJNYVhSMGJHVlFjbTk0YVcxaGJEb2dKM0pwWjJoMFRHbDBkR3hsVUhKdmVHbHRZV3duTEZ4dUlDQlNhV2RvZEV4cGRIUnNaVWx1ZEdWeWJXVmthV0YwWlRvZ0ozSnBaMmgwVEdsMGRHeGxTVzUwWlhKdFpXUnBZWFJsSnl4Y2JpQWdVbWxuYUhSTWFYUjBiR1ZFYVhOMFlXdzZJQ2R5YVdkb2RFeHBkSFJzWlVScGMzUmhiQ2NzWEc1OUlHRnpJR052Ym5OME8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsSUQwZ2RIbHdaVzltSUZaU1RVaDFiV0Z1UW05dVpVNWhiV1ZiYTJWNWIyWWdkSGx3Wlc5bUlGWlNUVWgxYldGdVFtOXVaVTVoYldWZE8xeHVJaXdpTHlvZ1pYTnNhVzUwTFdScGMyRmliR1VnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1aGJXbHVaeTFqYjI1MlpXNTBhVzl1SUNvdlhHNWNibWx0Y0c5eWRDQjdJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVWdmU0JtY205dElDY3VMMVpTVFVoMWJXRnVRbTl1WlU1aGJXVW5PMXh1WEc0dktpcGNiaUFxSUVGdUlHOWlhbVZqZENCMGFHRjBJRzFoY0hNZ1puSnZiU0I3UUd4cGJtc2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpYMGdkRzhnYVhSeklIQmhjbVZ1ZENCN1FHeHBibXNnVmxKTlNIVnRZVzVDYjI1bFRtRnRaWDB1WEc0Z0tseHVJQ29nVW1WbU9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZkbkp0TFdNdmRuSnRMWE53WldOcFptbGpZWFJwYjI0dllteHZZaTl0WVhOMFpYSXZjM0JsWTJsbWFXTmhkR2x2Ymk5V1VrMURYM1p5YlMweExqQXZhSFZ0WVc1dmFXUXViV1JjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUZaU1RVaDFiV0Z1UW05dVpWQmhjbVZ1ZEUxaGNEb2dleUJiWW05dVpTQnBiaUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxYVG9nVmxKTlNIVnRZVzVDYjI1bFRtRnRaU0I4SUc1MWJHd2dmU0E5SUh0Y2JpQWdhR2x3Y3pvZ2JuVnNiQ3hjYmlBZ2MzQnBibVU2SUNkb2FYQnpKeXhjYmlBZ1kyaGxjM1E2SUNkemNHbHVaU2NzWEc0Z0lIVndjR1Z5UTJobGMzUTZJQ2RqYUdWemRDY3NYRzRnSUc1bFkyczZJQ2QxY0hCbGNrTm9aWE4wSnl4Y2JseHVJQ0JvWldGa09pQW5ibVZqYXljc1hHNGdJR3hsWm5SRmVXVTZJQ2RvWldGa0p5eGNiaUFnY21sbmFIUkZlV1U2SUNkb1pXRmtKeXhjYmlBZ2FtRjNPaUFuYUdWaFpDY3NYRzVjYmlBZ2JHVm1kRlZ3Y0dWeVRHVm5PaUFuYUdsd2N5Y3NYRzRnSUd4bFpuUk1iM2RsY2t4bFp6b2dKMnhsWm5SVmNIQmxja3hsWnljc1hHNGdJR3hsWm5SR2IyOTBPaUFuYkdWbWRFeHZkMlZ5VEdWbkp5eGNiaUFnYkdWbWRGUnZaWE02SUNkc1pXWjBSbTl2ZENjc1hHNWNiaUFnY21sbmFIUlZjSEJsY2t4bFp6b2dKMmhwY0hNbkxGeHVJQ0J5YVdkb2RFeHZkMlZ5VEdWbk9pQW5jbWxuYUhSVmNIQmxja3hsWnljc1hHNGdJSEpwWjJoMFJtOXZkRG9nSjNKcFoyaDBURzkzWlhKTVpXY25MRnh1SUNCeWFXZG9kRlJ2WlhNNklDZHlhV2RvZEVadmIzUW5MRnh1WEc0Z0lHeGxablJUYUc5MWJHUmxjam9nSjNWd2NHVnlRMmhsYzNRbkxGeHVJQ0JzWldaMFZYQndaWEpCY20wNklDZHNaV1owVTJodmRXeGtaWEluTEZ4dUlDQnNaV1owVEc5M1pYSkJjbTA2SUNkc1pXWjBWWEJ3WlhKQmNtMG5MRnh1SUNCc1pXWjBTR0Z1WkRvZ0oyeGxablJNYjNkbGNrRnliU2NzWEc1Y2JpQWdjbWxuYUhSVGFHOTFiR1JsY2pvZ0ozVndjR1Z5UTJobGMzUW5MRnh1SUNCeWFXZG9kRlZ3Y0dWeVFYSnRPaUFuY21sbmFIUlRhRzkxYkdSbGNpY3NYRzRnSUhKcFoyaDBURzkzWlhKQmNtMDZJQ2R5YVdkb2RGVndjR1Z5UVhKdEp5eGNiaUFnY21sbmFIUklZVzVrT2lBbmNtbG5hSFJNYjNkbGNrRnliU2NzWEc1Y2JpQWdiR1ZtZEZSb2RXMWlUV1YwWVdOaGNuQmhiRG9nSjJ4bFpuUklZVzVrSnl4Y2JpQWdiR1ZtZEZSb2RXMWlVSEp2ZUdsdFlXdzZJQ2RzWldaMFZHaDFiV0pOWlhSaFkyRnljR0ZzSnl4Y2JpQWdiR1ZtZEZSb2RXMWlSR2x6ZEdGc09pQW5iR1ZtZEZSb2RXMWlVSEp2ZUdsdFlXd25MRnh1SUNCc1pXWjBTVzVrWlhoUWNtOTRhVzFoYkRvZ0oyeGxablJJWVc1a0p5eGNiaUFnYkdWbWRFbHVaR1Y0U1c1MFpYSnRaV1JwWVhSbE9pQW5iR1ZtZEVsdVpHVjRVSEp2ZUdsdFlXd25MRnh1SUNCc1pXWjBTVzVrWlhoRWFYTjBZV3c2SUNkc1pXWjBTVzVrWlhoSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNCc1pXWjBUV2xrWkd4bFVISnZlR2x0WVd3NklDZHNaV1owU0dGdVpDY3NYRzRnSUd4bFpuUk5hV1JrYkdWSmJuUmxjbTFsWkdsaGRHVTZJQ2RzWldaMFRXbGtaR3hsVUhKdmVHbHRZV3duTEZ4dUlDQnNaV1owVFdsa1pHeGxSR2x6ZEdGc09pQW5iR1ZtZEUxcFpHUnNaVWx1ZEdWeWJXVmthV0YwWlNjc1hHNGdJR3hsWm5SU2FXNW5VSEp2ZUdsdFlXdzZJQ2RzWldaMFNHRnVaQ2NzWEc0Z0lHeGxablJTYVc1blNXNTBaWEp0WldScFlYUmxPaUFuYkdWbWRGSnBibWRRY205NGFXMWhiQ2NzWEc0Z0lHeGxablJTYVc1blJHbHpkR0ZzT2lBbmJHVm1kRkpwYm1kSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNCc1pXWjBUR2wwZEd4bFVISnZlR2x0WVd3NklDZHNaV1owU0dGdVpDY3NYRzRnSUd4bFpuUk1hWFIwYkdWSmJuUmxjbTFsWkdsaGRHVTZJQ2RzWldaMFRHbDBkR3hsVUhKdmVHbHRZV3duTEZ4dUlDQnNaV1owVEdsMGRHeGxSR2x6ZEdGc09pQW5iR1ZtZEV4cGRIUnNaVWx1ZEdWeWJXVmthV0YwWlNjc1hHNWNiaUFnY21sbmFIUlVhSFZ0WWsxbGRHRmpZWEp3WVd3NklDZHlhV2RvZEVoaGJtUW5MRnh1SUNCeWFXZG9kRlJvZFcxaVVISnZlR2x0WVd3NklDZHlhV2RvZEZSb2RXMWlUV1YwWVdOaGNuQmhiQ2NzWEc0Z0lISnBaMmgwVkdoMWJXSkVhWE4wWVd3NklDZHlhV2RvZEZSb2RXMWlVSEp2ZUdsdFlXd25MRnh1SUNCeWFXZG9kRWx1WkdWNFVISnZlR2x0WVd3NklDZHlhV2RvZEVoaGJtUW5MRnh1SUNCeWFXZG9kRWx1WkdWNFNXNTBaWEp0WldScFlYUmxPaUFuY21sbmFIUkpibVJsZUZCeWIzaHBiV0ZzSnl4Y2JpQWdjbWxuYUhSSmJtUmxlRVJwYzNSaGJEb2dKM0pwWjJoMFNXNWtaWGhKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0J5YVdkb2RFMXBaR1JzWlZCeWIzaHBiV0ZzT2lBbmNtbG5hSFJJWVc1a0p5eGNiaUFnY21sbmFIUk5hV1JrYkdWSmJuUmxjbTFsWkdsaGRHVTZJQ2R5YVdkb2RFMXBaR1JzWlZCeWIzaHBiV0ZzSnl4Y2JpQWdjbWxuYUhSTmFXUmtiR1ZFYVhOMFlXdzZJQ2R5YVdkb2RFMXBaR1JzWlVsdWRHVnliV1ZrYVdGMFpTY3NYRzRnSUhKcFoyaDBVbWx1WjFCeWIzaHBiV0ZzT2lBbmNtbG5hSFJJWVc1a0p5eGNiaUFnY21sbmFIUlNhVzVuU1c1MFpYSnRaV1JwWVhSbE9pQW5jbWxuYUhSU2FXNW5VSEp2ZUdsdFlXd25MRnh1SUNCeWFXZG9kRkpwYm1kRWFYTjBZV3c2SUNkeWFXZG9kRkpwYm1kSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNCeWFXZG9kRXhwZEhSc1pWQnliM2hwYldGc09pQW5jbWxuYUhSSVlXNWtKeXhjYmlBZ2NtbG5hSFJNYVhSMGJHVkpiblJsY20xbFpHbGhkR1U2SUNkeWFXZG9kRXhwZEhSc1pWQnliM2hwYldGc0p5eGNiaUFnY21sbmFIUk1hWFIwYkdWRWFYTjBZV3c2SUNkeWFXZG9kRXhwZEhSc1pVbHVkR1Z5YldWa2FXRjBaU2NzWEc1OU8xeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVYRzR2S2lwY2JpQXFJRUVnWTI5dGNHRjBJR1oxYm1OMGFXOXVJR1p2Y2lCZ1VYVmhkR1Z5Ym1sdmJpNXBiblpsY25Rb0tXQWdMeUJnVVhWaGRHVnlibWx2Ymk1cGJuWmxjbk5sS0NsZ0xseHVJQ29nWUZGMVlYUmxjbTVwYjI0dWFXNTJaWEowS0NsZ0lHbHpJR2x1ZEhKdlpIVmpaV1FnYVc0Z2NqRXlNeUJoYm1RZ1lGRjFZWFJsY201cGIyNHVhVzUyWlhKelpTZ3BZQ0JsYldsMGN5QmhJSGRoY201cGJtY3VYRzRnS2lCWFpTQmhjbVVnWjI5cGJtY2dkRzhnZFhObElIUm9hWE1nWTI5dGNHRjBJR1p2Y2lCaElIZG9hV3hsTGx4dUlDb2dRSEJoY21GdElIUmhjbWRsZENCQklIUmhjbWRsZENCeGRXRjBaWEp1YVc5dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ4ZFdGMFNXNTJaWEowUTI5dGNHRjBQRlFnWlhoMFpXNWtjeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVQaWgwWVhKblpYUTZJRlFwT2lCVUlIdGNiaUFnYVdZZ0tDaDBZWEpuWlhRZ1lYTWdZVzU1S1M1cGJuWmxjblFwSUh0Y2JpQWdJQ0IwWVhKblpYUXVhVzUyWlhKMEtDazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdLSFJoY21kbGRDQmhjeUJoYm5rcExtbHVkbVZ5YzJVb0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBZWEpuWlhRN1hHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdleUJ4ZFdGMFNXNTJaWEowUTI5dGNHRjBJSDBnWm5KdmJTQW5MaTR2ZFhScGJITXZjWFZoZEVsdWRtVnlkRU52YlhCaGRDYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVWgxYldGdVFtOXVaU0I5SUdaeWIyMGdKeTR2VmxKTlNIVnRZVzVDYjI1bEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5TSFZ0WVc1Q2IyNWxjeUI5SUdaeWIyMGdKeTR2VmxKTlNIVnRZVzVDYjI1bGN5YzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVWgxYldGdVFtOXVaVTVoYldVZ2ZTQm1jbTl0SUNjdUwxWlNUVWgxYldGdVFtOXVaVTVoYldVbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMVFiM05sSUgwZ1puSnZiU0FuTGk5V1VrMVFiM05sSnp0Y2JseHVZMjl1YzNRZ1gzWXpRU0E5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWpiMjV6ZENCZmNYVmhkRUVnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WEc0dktpcGNiaUFxSUVFZ1kyeGhjM01nY21Wd2NtVnpaVzUwY3lCMGFHVWdVbWxuSUc5bUlHRWdWbEpOTGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5VbWxuSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnZTBCc2FXNXJJRlpTVFVoMWJXRnVRbTl1WlhOOUlIUm9ZWFFnWTI5dWRHRnBibk1nWVd4c0lIUm9aU0JvZFcxaGJpQmliMjVsY3lCdlppQjBhR1VnVmxKTkxseHVJQ0FnS2lCWmIzVWdiV2xuYUhRZ2QyRnVkQ0IwYnlCblpYUWdkR2hsYzJVZ1ltOXVaWE1nZFhOcGJtY2dlMEJzYVc1cklGWlNUVWgxYldGdWIybGtMbWRsZEVKdmJtVjlMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2gxYldGdVFtOXVaWE02SUZaU1RVaDFiV0Z1UW05dVpYTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdlMEJzYVc1cklGWlNUVkJ2YzJWOUlIUm9ZWFFnYVhNZ2FYUnpJR1JsWm1GMWJIUWdjM1JoZEdVdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENCcGRDZHpJRzV2ZENCamIyMXdZWFJwWW14bElIZHBkR2dnZTBCc2FXNXJJSE5sZEZCdmMyVjlJR0Z1WkNCN1FHeHBibXNnWjJWMFVHOXpaWDBzSUhOcGJtTmxJR2wwSUdOdmJuUmhhVzV6SUc1dmJpMXlaV3hoZEdsMlpTQjJZV3gxWlhNZ2IyWWdaV0ZqYUNCc2IyTmhiQ0IwY21GdWMyWnZjbTF6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbGMzUlFiM05sT2lCV1VrMVFiM05sTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVWdZU0J1WlhjZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZTNWNiaUFnSUNvZ1FIQmhjbUZ0SUdoMWJXRnVRbTl1WlhNZ1FTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxjMzBnWTI5dWRHRnBibk1nWVd4c0lIUm9aU0JpYjI1bGN5QnZaaUIwYUdVZ2JtVjNJR2gxYldGdWIybGtYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYUhWdFlXNUNiMjVsY3pvZ1ZsSk5TSFZ0WVc1Q2IyNWxjeWtnZTF4dUlDQWdJSFJvYVhNdWFIVnRZVzVDYjI1bGN5QTlJR2gxYldGdVFtOXVaWE03WEc1Y2JpQWdJQ0IwYUdsekxuSmxjM1JRYjNObElEMGdkR2hwY3k1blpYUkJZbk52YkhWMFpWQnZjMlVvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJR04xY25KbGJuUWdZV0p6YjJ4MWRHVWdjRzl6WlNCdlppQjBhR2x6SUdoMWJXRnViMmxrSUdGeklHRWdlMEJzYVc1cklGWlNUVkJ2YzJWOUxseHVJQ0FnS2lCT2IzUmxJSFJvWVhRZ2RHaGxJRzkxZEhCMWRDQnlaWE4xYkhRZ2QybHNiQ0JqYjI1MFlXbHVJR2x1YVhScFlXd2djM1JoZEdVZ2IyWWdkR2hsSUZaU1RTQmhibVFnYm05MElHTnZiWEJoZEdsaWJHVWdZbVYwZDJWbGJpQmthV1ptWlhKbGJuUWdiVzlrWld4ekxseHVJQ0FnS2lCWmIzVWdiV2xuYUhRZ2QyRnVkQ0IwYnlCMWMyVWdlMEJzYVc1cklHZGxkRkJ2YzJWOUlHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBRV0p6YjJ4MWRHVlFiM05sS0NrNklGWlNUVkJ2YzJVZ2UxeHVJQ0FnSUdOdmJuTjBJSEJ2YzJVZ1BTQjdmU0JoY3lCV1VrMVFiM05sTzF4dVhHNGdJQ0FnVDJKcVpXTjBMbXRsZVhNb2RHaHBjeTVvZFcxaGJrSnZibVZ6S1M1bWIzSkZZV05vS0NoMmNtMUNiMjVsVG1GdFpWTjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RuSnRRbTl1WlU1aGJXVWdQU0IyY20xQ2IyNWxUbUZ0WlZOMGNtbHVaeUJoY3lCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsTzF4dUlDQWdJQ0FnWTI5dWMzUWdibTlrWlNBOUlIUm9hWE11WjJWMFFtOXVaVTV2WkdVb2RuSnRRbTl1WlU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0F2THlCSloyNXZjbVVnZDJobGJpQjBhR1Z5WlNCaGNtVWdibThnWW05dVpTQnZiaUIwYUdVZ1ZsSk5TSFZ0WVc1dmFXUmNiaUFnSUNBZ0lHbG1JQ2doYm05a1pTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUVkbGRDQjBhR1VnY0c5emFYUnBiMjRnTHlCeWIzUmhkR2x2YmlCbWNtOXRJSFJvWlNCdWIyUmxYRzRnSUNBZ0lDQmZkak5CTG1OdmNIa29ibTlrWlM1d2IzTnBkR2x2YmlrN1hHNGdJQ0FnSUNCZmNYVmhkRUV1WTI5d2VTaHViMlJsTG5GMVlYUmxjbTVwYjI0cE8xeHVYRzRnSUNBZ0lDQXZMeUJEYjI1MlpYSjBJSFJ2SUhKaGR5QmhjbkpoZVhOY2JpQWdJQ0FnSUhCdmMyVmJkbkp0UW05dVpVNWhiV1ZkSUQwZ2UxeHVJQ0FnSUNBZ0lDQndiM05wZEdsdmJqb2dYM1l6UVM1MGIwRnljbUY1S0NrZ1lYTWdXMjUxYldKbGNpd2diblZ0WW1WeUxDQnVkVzFpWlhKZExGeHVJQ0FnSUNBZ0lDQnliM1JoZEdsdmJqb2dYM0YxWVhSQkxuUnZRWEp5WVhrb0tTQmhjeUJiYm5WdFltVnlMQ0J1ZFcxaVpYSXNJRzUxYldKbGNpd2diblZ0WW1WeVhTeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NHOXpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZEdobElHTjFjbkpsYm5RZ2NHOXpaU0J2WmlCMGFHbHpJR2gxYldGdWIybGtJR0Z6SUdFZ2UwQnNhVzVySUZaU1RWQnZjMlY5TGx4dUlDQWdLbHh1SUNBZ0tpQkZZV05vSUhSeVlXNXpabTl5YlNCcGN5QmhJR3h2WTJGc0lIUnlZVzV6Wm05eWJTQnlaV3hoZEdsMlpTQm1jbTl0SUhKbGMzUWdjRzl6WlNBb1ZDMXdiM05sS1M1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUlFiM05sS0NrNklGWlNUVkJ2YzJVZ2UxeHVJQ0FnSUdOdmJuTjBJSEJ2YzJVZ1BTQjdmU0JoY3lCV1VrMVFiM05sTzF4dVhHNGdJQ0FnVDJKcVpXTjBMbXRsZVhNb2RHaHBjeTVvZFcxaGJrSnZibVZ6S1M1bWIzSkZZV05vS0NoaWIyNWxUbUZ0WlZOMGNtbHVaeWtnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWW05dVpVNWhiV1VnUFNCaWIyNWxUbUZ0WlZOMGNtbHVaeUJoY3lCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsTzF4dUlDQWdJQ0FnWTI5dWMzUWdibTlrWlNBOUlIUm9hWE11WjJWMFFtOXVaVTV2WkdVb1ltOXVaVTVoYldVcE8xeHVYRzRnSUNBZ0lDQXZMeUJKWjI1dmNtVWdkMmhsYmlCMGFHVnlaU0JoY21VZ2JtOGdZbTl1WlNCdmJpQjBhR1VnVmxKTlNIVnRZVzV2YVdSY2JpQWdJQ0FnSUdsbUlDZ2hibTlrWlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRlJoYTJVZ1lTQmthV1ptSUdaeWIyMGdjbVZ6ZEZCdmMyVmNiaUFnSUNBZ0lGOTJNMEV1YzJWMEtEQXNJREFzSURBcE8xeHVJQ0FnSUNBZ1gzRjFZWFJCTG1sa1pXNTBhWFI1S0NrN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUhKbGMzUlRkR0YwWlNBOUlIUm9hWE11Y21WemRGQnZjMlZiWW05dVpVNWhiV1ZkTzF4dUlDQWdJQ0FnYVdZZ0tISmxjM1JUZEdGMFpUOHVjRzl6YVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnWDNZelFTNW1jbTl0UVhKeVlYa29jbVZ6ZEZOMFlYUmxMbkJ2YzJsMGFXOXVLUzV1WldkaGRHVW9LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeVpYTjBVM1JoZEdVL0xuSnZkR0YwYVc5dUtTQjdYRzRnSUNBZ0lDQWdJSEYxWVhSSmJuWmxjblJEYjIxd1lYUW9YM0YxWVhSQkxtWnliMjFCY25KaGVTaHlaWE4wVTNSaGRHVXVjbTkwWVhScGIyNHBLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z1IyVjBJSFJvWlNCd2IzTnBkR2x2YmlBdklISnZkR0YwYVc5dUlHWnliMjBnZEdobElHNXZaR1ZjYmlBZ0lDQWdJRjkyTTBFdVlXUmtLRzV2WkdVdWNHOXphWFJwYjI0cE8xeHVJQ0FnSUNBZ1gzRjFZWFJCTG5CeVpXMTFiSFJwY0d4NUtHNXZaR1V1Y1hWaGRHVnlibWx2YmlrN1hHNWNiaUFnSUNBZ0lDOHZJRU52Ym5abGNuUWdkRzhnY21GM0lHRnljbUY1YzF4dUlDQWdJQ0FnY0c5elpWdGliMjVsVG1GdFpWMGdQU0I3WEc0Z0lDQWdJQ0FnSUhCdmMybDBhVzl1T2lCZmRqTkJMblJ2UVhKeVlYa29LU0JoY3lCYmJuVnRZbVZ5TENCdWRXMWlaWElzSUc1MWJXSmxjbDBzWEc0Z0lDQWdJQ0FnSUhKdmRHRjBhVzl1T2lCZmNYVmhkRUV1ZEc5QmNuSmhlU2dwSUdGeklGdHVkVzFpWlhJc0lHNTFiV0psY2l3Z2JuVnRZbVZ5TENCdWRXMWlaWEpkTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ3YjNObE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRXhsZENCMGFHVWdhSFZ0WVc1dmFXUWdaRzhnWVNCemNHVmphV1pwWldRZ2NHOXpaUzVjYmlBZ0lDcGNiaUFnSUNvZ1JXRmphQ0IwY21GdWMyWnZjbTBnYUdGMlpTQjBieUJpWlNCaElHeHZZMkZzSUhSeVlXNXpabTl5YlNCeVpXeGhkR2wyWlNCbWNtOXRJSEpsYzNRZ2NHOXpaU0FvVkMxd2IzTmxLUzVjYmlBZ0lDb2dXVzkxSUdOaGJpQndZWE56SUhkb1lYUWdlVzkxSUdkdmRDQm1jbTl0SUh0QWJHbHVheUJuWlhSUWIzTmxmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhCdmMyVlBZbXBsWTNRZ1FTQmJXMVpTVFZCdmMyVmRYU0IwYUdGMElISmxjSEpsYzJWdWRITWdZU0J6YVc1bmJHVWdjRzl6WlZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhObGRGQnZjMlVvY0c5elpVOWlhbVZqZERvZ1ZsSk5VRzl6WlNrNklIWnZhV1FnZTF4dUlDQWdJRTlpYW1WamRDNWxiblJ5YVdWektIQnZjMlZQWW1wbFkzUXBMbVp2Y2tWaFkyZ29LRnRpYjI1bFRtRnRaVk4wY21sdVp5d2djM1JoZEdWZEtTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQmliMjVsVG1GdFpTQTlJR0p2Ym1WT1lXMWxVM1J5YVc1bklHRnpJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVTdYRzRnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnZEdocGN5NW5aWFJDYjI1bFRtOWtaU2hpYjI1bFRtRnRaU2s3WEc1Y2JpQWdJQ0FnSUM4dklFbG5ibTl5WlNCM2FHVnVJSFJvWlhKbElHRnlaU0J1YnlCaWIyNWxJSFJvWVhRZ2FYTWdaR1ZtYVc1bFpDQnBiaUIwYUdVZ2NHOXpaU0J2YmlCMGFHVWdWbEpOU0hWdFlXNXZhV1JjYmlBZ0lDQWdJR2xtSUNnaGJtOWtaU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNSVGRHRjBaU0E5SUhSb2FYTXVjbVZ6ZEZCdmMyVmJZbTl1WlU1aGJXVmRPMXh1SUNBZ0lDQWdhV1lnS0NGeVpYTjBVM1JoZEdVcElIdGNiaUFnSUNBZ0lDQWdMeThnU1hRbmN5QjJaWEo1SUhWdWJHbHJaV3g1TGlCUWIzTnphV0pzZVNCaElHSjFaMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUVGd2NHeDVJSFJvWlNCemRHRjBaU0IwYnlCMGFHVWdZV04wZFdGc0lHSnZibVZjYmlBZ0lDQWdJR2xtSUNoemRHRjBaVDh1Y0c5emFYUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzV3YjNOcGRHbHZiaTVtY205dFFYSnlZWGtvYzNSaGRHVXVjRzl6YVhScGIyNHBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4wVTNSaGRHVXVjRzl6YVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCdWIyUmxMbkJ2YzJsMGFXOXVMbUZrWkNoZmRqTkJMbVp5YjIxQmNuSmhlU2h5WlhOMFUzUmhkR1V1Y0c5emFYUnBiMjRwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGRHVS9Mbkp2ZEdGMGFXOXVLU0I3WEc0Z0lDQWdJQ0FnSUc1dlpHVXVjWFZoZEdWeWJtbHZiaTVtY205dFFYSnlZWGtvYzNSaGRHVXVjbTkwWVhScGIyNHBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4wVTNSaGRHVXVjbTkwWVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCdWIyUmxMbkYxWVhSbGNtNXBiMjR1YlhWc2RHbHdiSGtvWDNGMVlYUkJMbVp5YjIxQmNuSmhlU2h5WlhOMFUzUmhkR1V1Y205MFlYUnBiMjRwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsYzJWMElIUm9aU0JvZFcxaGJtOXBaQ0IwYnlCcGRITWdjbVZ6ZENCd2IzTmxMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsYzJWMFVHOXpaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQlBZbXBsWTNRdVpXNTBjbWxsY3loMGFHbHpMbkpsYzNSUWIzTmxLUzVtYjNKRllXTm9LQ2hiWW05dVpVNWhiV1VzSUhKbGMzUmRLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdkR2hwY3k1blpYUkNiMjVsVG05a1pTaGliMjVsVG1GdFpTQmhjeUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tDRnViMlJsS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSEpsYzNRL0xuQnZjMmwwYVc5dUtTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdWNHOXphWFJwYjI0dVpuSnZiVUZ5Y21GNUtISmxjM1F1Y0c5emFYUnBiMjRwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9jbVZ6ZEQ4dWNtOTBZWFJwYjI0cElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1eGRXRjBaWEp1YVc5dUxtWnliMjFCY25KaGVTaHlaWE4wTG5KdmRHRjBhVzl1S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lTQmliMjVsSUdKdmRXNWtJSFJ2SUdFZ2MzQmxZMmxtYVdWa0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsZlN3Z1lYTWdZU0I3UUd4cGJtc2dWbEpOU0hWdFlXNUNiMjVsZlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHNWhiV1VnVG1GdFpTQnZaaUIwYUdVZ1ltOXVaU0I1YjNVZ2QyRnVkRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEVKdmJtVW9ibUZ0WlRvZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlNrNklGWlNUVWgxYldGdVFtOXVaU0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFIVnRZVzVDYjI1bGMxdHVZVzFsWFNBL1B5QjFibVJsWm1sdVpXUTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0VnWW05dVpTQmliM1Z1WkNCMGJ5QmhJSE53WldOcFptbGxaQ0I3UUd4cGJtc2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpYMHNJR0Z6SUdFZ1lGUklVa1ZGTGs5aWFtVmpkRE5FWUM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHNWhiV1VnVG1GdFpTQnZaaUIwYUdVZ1ltOXVaU0I1YjNVZ2QyRnVkRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEVKdmJtVk9iMlJsS0c1aGJXVTZJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVXBPaUJVU0ZKRlJTNVBZbXBsWTNRelJDQjhJRzUxYkd3Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtaDFiV0Z1UW05dVpYTmJibUZ0WlYwL0xtNXZaR1VnUHo4Z2JuVnNiRHRjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzVDYjI1bFRtRnRaU3dnVmxKTlNIVnRZVzVDYjI1bGN5QjlJR1p5YjIwZ0p5NG5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzVDYjI1bFRHbHpkQ0I5SUdaeWIyMGdKeTR2VmxKTlNIVnRZVzVDYjI1bFRHbHpkQ2M3WEc1cGJYQnZjblFnZXlCV1VrMUlkVzFoYmtKdmJtVlFZWEpsYm5STllYQWdmU0JtY205dElDY3VMMVpTVFVoMWJXRnVRbTl1WlZCaGNtVnVkRTFoY0NjN1hHNXBiWEJ2Y25RZ2V5QldVazFTYVdjZ2ZTQm1jbTl0SUNjdUwxWlNUVkpwWnljN1hHNWNibU52Ym5OMElGOTJNMEVnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVZMjl1YzNRZ1gzRjFZWFJCSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYm1OdmJuTjBJRjlpYjI1bFYyOXliR1JRYjNNZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WEc0dktpcGNiaUFxSUVFZ1kyeGhjM01nY21Wd2NtVnpaVzUwY3lCMGFHVWdibTl5YldGc2FYcGxaQ0JTYVdjZ2IyWWdZU0JXVWswdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFJZFcxaGJtOXBaRkpwWnlCbGVIUmxibVJ6SUZaU1RWSnBaeUI3WEc0Z0lIQnliM1JsWTNSbFpDQnpkR0YwYVdNZ1gzTmxkSFZ3VkhKaGJuTm1iM0p0Y3lodGIyUmxiRkpwWnpvZ1ZsSk5VbWxuS1RvZ2UxeHVJQ0FnSUhKcFowSnZibVZ6T2lCV1VrMUlkVzFoYmtKdmJtVnpPMXh1SUNBZ0lISnZiM1E2SUZSSVVrVkZMazlpYW1WamRETkVPMXh1SUNBZ0lIQmhjbVZ1ZEZkdmNteGtVbTkwWVhScGIyNXpPaUI3SUZ0aWIyNWxUbUZ0WlNCcGJpQldVazFJZFcxaGJrSnZibVZPWVcxbFhUODZJRlJJVWtWRkxsRjFZWFJsY201cGIyNGdmVHRjYmlBZ0lDQmliMjVsVW05MFlYUnBiMjV6T2lCN0lGdGliMjVsVG1GdFpTQnBiaUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxYVDg2SUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRnZlR0Y2JpQWdmU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtOXZkQ0E5SUc1bGR5QlVTRkpGUlM1UFltcGxZM1F6UkNncE8xeHVJQ0FnSUhKdmIzUXVibUZ0WlNBOUlDZFdVazFJZFcxaGJtOXBaRkpwWnljN1hHNWNiaUFnSUNBdkx5QnpkRzl5WlNCaWIyNWxWMjl5YkdSUWIzTnBkR2x2Ym5NZ1lXNWtJR0p2Ym1WWGIzSnNaRkp2ZEdGMGFXOXVjMXh1SUNBZ0lHTnZibk4wSUdKdmJtVlhiM0pzWkZCdmMybDBhVzl1Y3pvZ2V5QmJZbTl1WlU1aGJXVWdhVzRnVmxKTlNIVnRZVzVDYjI1bFRtRnRaVjAvT2lCVVNGSkZSUzVXWldOMGIzSXpJSDBnUFNCN2ZUdGNiaUFnSUNCamIyNXpkQ0JpYjI1bFYyOXliR1JTYjNSaGRHbHZibk02SUhzZ1cySnZibVZPWVcxbElHbHVJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVmRQem9nVkVoU1JVVXVVWFZoZEdWeWJtbHZiaUI5SUQwZ2UzMDdYRzRnSUNBZ1kyOXVjM1FnWW05dVpWSnZkR0YwYVc5dWN6b2dleUJiWW05dVpVNWhiV1VnYVc0Z1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlYwL09pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dUlIMGdQU0I3ZlR0Y2JseHVJQ0FnSUZaU1RVaDFiV0Z1UW05dVpVeHBjM1F1Wm05eVJXRmphQ2dvWW05dVpVNWhiV1VwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUdKdmJtVk9iMlJsSUQwZ2JXOWtaV3hTYVdjdVoyVjBRbTl1WlU1dlpHVW9ZbTl1WlU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1ltOXVaVTV2WkdVcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1ltOXVaVmR2Y214a1VHOXphWFJwYjI0Z1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmliMjVsVjI5eWJHUlNiM1JoZEdsdmJpQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNWNiaUFnSUNBZ0lDQWdZbTl1WlU1dlpHVXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29kSEoxWlN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNCaWIyNWxUbTlrWlM1dFlYUnlhWGhYYjNKc1pDNWtaV052YlhCdmMyVW9ZbTl1WlZkdmNteGtVRzl6YVhScGIyNHNJR0p2Ym1WWGIzSnNaRkp2ZEdGMGFXOXVMQ0JmZGpOQktUdGNibHh1SUNBZ0lDQWdJQ0JpYjI1bFYyOXliR1JRYjNOcGRHbHZibk5iWW05dVpVNWhiV1ZkSUQwZ1ltOXVaVmR2Y214a1VHOXphWFJwYjI0N1hHNGdJQ0FnSUNBZ0lHSnZibVZYYjNKc1pGSnZkR0YwYVc5dWMxdGliMjVsVG1GdFpWMGdQU0JpYjI1bFYyOXliR1JTYjNSaGRHbHZianRjYmlBZ0lDQWdJQ0FnWW05dVpWSnZkR0YwYVc5dWMxdGliMjVsVG1GdFpWMGdQU0JpYjI1bFRtOWtaUzV4ZFdGMFpYSnVhVzl1TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCaWRXbHNaQ0J5YVdjZ2FHbGxjbUZ5WTJoNUlDc2djM1J2Y21VZ2NHRnlaVzUwVjI5eWJHUlNiM1JoZEdsdmJuTmNiaUFnSUNCamIyNXpkQ0J3WVhKbGJuUlhiM0pzWkZKdmRHRjBhVzl1Y3pvZ2V5QmJZbTl1WlU1aGJXVWdhVzRnVmxKTlNIVnRZVzVDYjI1bFRtRnRaVjAvT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1SUgwZ1BTQjdmVHRjYmx4dUlDQWdJR052Ym5OMElISnBaMEp2Ym1Wek9pQlFZWEowYVdGc1BGWlNUVWgxYldGdVFtOXVaWE0rSUQwZ2UzMDdYRzRnSUNBZ1ZsSk5TSFZ0WVc1Q2IyNWxUR2x6ZEM1bWIzSkZZV05vS0NoaWIyNWxUbUZ0WlNrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1ltOXVaVTV2WkdVZ1BTQnRiMlJsYkZKcFp5NW5aWFJDYjI1bFRtOWtaU2hpYjI1bFRtRnRaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaGliMjVsVG05a1pTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmliMjVsVjI5eWJHUlFiM05wZEdsdmJpQTlJR0p2Ym1WWGIzSnNaRkJ2YzJsMGFXOXVjMXRpYjI1bFRtRnRaVjBnWVhNZ1ZFaFNSVVV1Vm1WamRHOXlNenRjYmx4dUlDQWdJQ0FnSUNBdkx5QnpaV1VnZEdobElHNWxZWEpsYzNRZ2NHRnlaVzUwSUhCdmMybDBhVzl1WEc0Z0lDQWdJQ0FnSUd4bGRDQmpkWEp5Wlc1MFFtOXVaVTVoYldVNklGWlNUVWgxYldGdVFtOXVaVTVoYldVZ2ZDQnVkV3hzSUQwZ1ltOXVaVTVoYldVN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J3WVhKbGJuUlhiM0pzWkZCdmMybDBhVzl1T2lCVVNGSkZSUzVXWldOMGIzSXpJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNCc1pYUWdjR0Z5Wlc1MFYyOXliR1JTYjNSaGRHbHZiam9nVkVoU1JVVXVVWFZoZEdWeWJtbHZiaUI4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0hCaGNtVnVkRmR2Y214a1VHOXphWFJwYjI0Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR04xY25KbGJuUkNiMjVsVG1GdFpTQTlJRlpTVFVoMWJXRnVRbTl1WlZCaGNtVnVkRTFoY0Z0amRYSnlaVzUwUW05dVpVNWhiV1ZkTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBRbTl1WlU1aGJXVWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSEJoY21WdWRGZHZjbXhrVUc5emFYUnBiMjRnUFNCaWIyNWxWMjl5YkdSUWIzTnBkR2x2Ym5OYlkzVnljbVZ1ZEVKdmJtVk9ZVzFsWFR0Y2JpQWdJQ0FnSUNBZ0lDQndZWEpsYm5SWGIzSnNaRkp2ZEdGMGFXOXVJRDBnWW05dVpWZHZjbXhrVW05MFlYUnBiMjV6VzJOMWNuSmxiblJDYjI1bFRtRnRaVjA3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXZMeUJoWkdRZ2RHOGdhR2xsY21GeVkyaDVYRzRnSUNBZ0lDQWdJR052Ym5OMElISnBaMEp2Ym1WT2IyUmxJRDBnYm1WM0lGUklVa1ZGTGs5aWFtVmpkRE5FS0NrN1hHNGdJQ0FnSUNBZ0lISnBaMEp2Ym1WT2IyUmxMbTVoYldVZ1BTQW5UbTl5YldGc2FYcGxaRjhuSUNzZ1ltOXVaVTV2WkdVdWJtRnRaVHRjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3WVhKbGJuUlNhV2RDYjI1bFRtOWtaU0E5SUNoamRYSnlaVzUwUW05dVpVNWhiV1VnUHlCeWFXZENiMjVsYzF0amRYSnlaVzUwUW05dVpVNWhiV1ZkUHk1dWIyUmxJRG9nY205dmRDa2dZWE1nVkVoU1JVVXVUMkpxWldOME0wUTdYRzVjYmlBZ0lDQWdJQ0FnY0dGeVpXNTBVbWxuUW05dVpVNXZaR1V1WVdSa0tISnBaMEp2Ym1WT2IyUmxLVHRjYmlBZ0lDQWdJQ0FnY21sblFtOXVaVTV2WkdVdWNHOXphWFJwYjI0dVkyOXdlU2hpYjI1bFYyOXliR1JRYjNOcGRHbHZiaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdZWEpsYm5SWGIzSnNaRkJ2YzJsMGFXOXVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtbG5RbTl1WlU1dlpHVXVjRzl6YVhScGIyNHVjM1ZpS0hCaGNtVnVkRmR2Y214a1VHOXphWFJwYjI0cE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21sblFtOXVaWE5iWW05dVpVNWhiV1ZkSUQwZ2V5QnViMlJsT2lCeWFXZENiMjVsVG05a1pTQjlPMXh1WEc0Z0lDQWdJQ0FnSUM4dklITjBiM0psSUhCaGNtVnVkRmR2Y214a1VtOTBZWFJwYjI1Y2JpQWdJQ0FnSUNBZ2NHRnlaVzUwVjI5eWJHUlNiM1JoZEdsdmJuTmJZbTl1WlU1aGJXVmRJRDBnY0dGeVpXNTBWMjl5YkdSU2IzUmhkR2x2YmlBL1B5QnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJSEpwWjBKdmJtVnpPaUJ5YVdkQ2IyNWxjeUJoY3lCV1VrMUlkVzFoYmtKdmJtVnpMRnh1SUNBZ0lDQWdjbTl2ZEN4Y2JpQWdJQ0FnSUhCaGNtVnVkRmR2Y214a1VtOTBZWFJwYjI1ekxGeHVJQ0FnSUNBZ1ltOXVaVkp2ZEdGMGFXOXVjeXhjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJRzl5YVdkcGJtRnNPaUJXVWsxU2FXYzdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J5YjI5ME9pQlVTRkpGUlM1UFltcGxZM1F6UkR0Y2JpQWdjSEp2ZEdWamRHVmtJSEpsWVdSdmJteDVJRjl3WVhKbGJuUlhiM0pzWkZKdmRHRjBhVzl1Y3pvZ2V5QmJZbTl1WlU1aGJXVWdhVzRnVmxKTlNIVnRZVzVDYjI1bFRtRnRaVjAvT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1SUgwN1hHNGdJSEJ5YjNSbFkzUmxaQ0J5WldGa2IyNXNlU0JmWW05dVpWSnZkR0YwYVc5dWN6b2dleUJiWW05dVpVNWhiV1VnYVc0Z1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlYwL09pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dUlIMDdYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtHaDFiV0Z1YjJsa09pQldVazFTYVdjcElIdGNiaUFnSUNCamIyNXpkQ0I3SUhKcFowSnZibVZ6TENCeWIyOTBMQ0J3WVhKbGJuUlhiM0pzWkZKdmRHRjBhVzl1Y3l3Z1ltOXVaVkp2ZEdGMGFXOXVjeUI5SUQwZ1ZsSk5TSFZ0WVc1dmFXUlNhV2N1WDNObGRIVndWSEpoYm5ObWIzSnRjeWhvZFcxaGJtOXBaQ2s3WEc1Y2JpQWdJQ0J6ZFhCbGNpaHlhV2RDYjI1bGN5azdYRzVjYmlBZ0lDQjBhR2x6TG05eWFXZHBibUZzSUQwZ2FIVnRZVzV2YVdRN1hHNGdJQ0FnZEdocGN5NXliMjkwSUQwZ2NtOXZkRHRjYmlBZ0lDQjBhR2x6TGw5d1lYSmxiblJYYjNKc1pGSnZkR0YwYVc5dWN5QTlJSEJoY21WdWRGZHZjbXhrVW05MFlYUnBiMjV6TzF4dUlDQWdJSFJvYVhNdVgySnZibVZTYjNSaGRHbHZibk1nUFNCaWIyNWxVbTkwWVhScGIyNXpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZWd1pHRjBaU0IwYUdseklHaDFiV0Z1YjJsa0lISnBaeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUIxY0dSaGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ1ZsSk5TSFZ0WVc1Q2IyNWxUR2x6ZEM1bWIzSkZZV05vS0NoaWIyNWxUbUZ0WlNrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1ltOXVaVTV2WkdVZ1BTQjBhR2x6TG05eWFXZHBibUZzTG1kbGRFSnZibVZPYjJSbEtHSnZibVZPWVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0dKdmJtVk9iMlJsSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY21sblFtOXVaVTV2WkdVZ1BTQjBhR2x6TG1kbGRFSnZibVZPYjJSbEtHSnZibVZPWVcxbEtTRTdYRzRnSUNBZ0lDQWdJR052Ym5OMElIQmhjbVZ1ZEZkdmNteGtVbTkwWVhScGIyNGdQU0IwYUdsekxsOXdZWEpsYm5SWGIzSnNaRkp2ZEdGMGFXOXVjMXRpYjI1bFRtRnRaVjBoTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwYm5aUVlYSmxiblJYYjNKc1pGSnZkR0YwYVc5dUlEMGdYM0YxWVhSQkxtTnZjSGtvY0dGeVpXNTBWMjl5YkdSU2IzUmhkR2x2YmlrdWFXNTJaWEowS0NrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdKdmJtVlNiM1JoZEdsdmJpQTlJSFJvYVhNdVgySnZibVZTYjNSaGRHbHZibk5iWW05dVpVNWhiV1ZkSVR0Y2JseHVJQ0FnSUNBZ0lDQmliMjVsVG05a1pTNXhkV0YwWlhKdWFXOXVYRzRnSUNBZ0lDQWdJQ0FnTG1OdmNIa29jbWxuUW05dVpVNXZaR1V1Y1hWaGRHVnlibWx2YmlsY2JpQWdJQ0FnSUNBZ0lDQXViWFZzZEdsd2JIa29jR0Z5Wlc1MFYyOXliR1JTYjNSaGRHbHZiaWxjYmlBZ0lDQWdJQ0FnSUNBdWNISmxiWFZzZEdsd2JIa29hVzUyVUdGeVpXNTBWMjl5YkdSU2IzUmhkR2x2YmlsY2JpQWdJQ0FnSUNBZ0lDQXViWFZzZEdsd2JIa29ZbTl1WlZKdmRHRjBhVzl1S1R0Y2JseHVJQ0FnSUNBZ0lDQXZMeUJOYjNabElIUm9aU0J0WVhOeklHTmxiblJsY2lCdlppQjBhR1VnVmxKTlhHNGdJQ0FnSUNBZ0lHbG1JQ2hpYjI1bFRtRnRaU0E5UFQwZ0oyaHBjSE1uS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1ltOXVaVmR2Y214a1VHOXphWFJwYjI0Z1BTQnlhV2RDYjI1bFRtOWtaUzVuWlhSWGIzSnNaRkJ2YzJsMGFXOXVLRjlpYjI1bFYyOXliR1JRYjNNcE8xeHVJQ0FnSUNBZ0lDQWdJR0p2Ym1WT2IyUmxMbkJoY21WdWRDRXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29kSEoxWlN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhCaGNtVnVkRmR2Y214a1RXRjBjbWw0SUQwZ1ltOXVaVTV2WkdVdWNHRnlaVzUwSVM1dFlYUnlhWGhYYjNKc1pEdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnNiMk5oYkZCdmMybDBhVzl1SUQwZ1ltOXVaVmR2Y214a1VHOXphWFJwYjI0dVlYQndiSGxOWVhSeWFYZzBLSEJoY21WdWRGZHZjbXhrVFdGMGNtbDRMbWx1ZG1WeWRDZ3BLVHRjYmlBZ0lDQWdJQ0FnSUNCaWIyNWxUbTlrWlM1d2IzTnBkR2x2Ymk1amIzQjVLR3h2WTJGc1VHOXphWFJwYjI0cE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5TSFZ0WVc1Q2IyNWxJSDBnWm5KdmJTQW5MaTlXVWsxSWRXMWhia0p2Ym1Vbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMUlkVzFoYmtKdmJtVnpJSDBnWm5KdmJTQW5MaTlXVWsxSWRXMWhia0p2Ym1Wekp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlNCOUlHWnliMjBnSnk0dlZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RWQnZjMlVnZlNCbWNtOXRJQ2N1TDFaU1RWQnZjMlVuTzF4dWFXMXdiM0owSUhzZ1ZsSk5VbWxuSUgwZ1puSnZiU0FuTGk5V1VrMVNhV2NuTzF4dWFXMXdiM0owSUhzZ1ZsSk5TSFZ0WVc1dmFXUlNhV2NnZlNCbWNtOXRJQ2N1TDFaU1RVaDFiV0Z1YjJsa1VtbG5KenRjYmx4dUx5b3FYRzRnS2lCQklHTnNZWE56SUhKbGNISmxjMlZ1ZEhNZ1lTQm9kVzFoYm05cFpDQnZaaUJoSUZaU1RTNWNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFVoMWJXRnViMmxrSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRmRvWlhSb1pYSWdhWFFnWTI5d2FXVnpJSEJ2YzJVZ1puSnZiU0J1YjNKdFlXeHBlbVZrU0hWdFlXNUNiMjVsY3lCMGJ5QnlZWGRJZFcxaGJrSnZibVZ6SUc5dUlIdEFiR2x1YXlCMWNHUmhkR1Y5TGx4dUlDQWdLaUJnZEhKMVpXQWdZbmtnWkdWbVlYVnNkQzVjYmlBZ0lDcGNiaUFnSUNvZ1FHUmxabUYxYkhRZ2RISjFaVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0YxZEc5VmNHUmhkR1ZJZFcxaGJrSnZibVZ6T2lCaWIyOXNaV0Z1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUhKaGR5QnlhV2NnYjJZZ2RHaGxJRlpTVFM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzSmhkMGgxYldGdVFtOXVaWE02SUZaU1RWSnBaenNnTHk4Z1ZFOUVUem9nVW1WdVlXMWxYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdibTl5YldGc2FYcGxaQ0J5YVdjZ2IyWWdkR2hsSUZaU1RTNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMjV2Y20xaGJHbDZaV1JJZFcxaGJrSnZibVZ6T2lCV1VrMUlkVzFoYm05cFpGSnBaenNnTHk4Z1ZFOUVUem9nVW1WdVlXMWxYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRVJsY0hKbFkyRjBaV1F1SUZWelpTQmxhWFJvWlhJZ2UwQnNhVzVySUhKaGQxSmxjM1JRYjNObGZTQnZjaUI3UUd4cGJtc2dibTl5YldGc2FYcGxaRkpsYzNSUWIzTmxmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZENCeVpYTjBVRzl6WlNncE9pQldVazFRYjNObElIdGNiaUFnSUNCamIyNXpiMnhsTG5kaGNtNG9KMVpTVFVoMWJXRnViMmxrT2lCeVpYTjBVRzl6WlNCcGN5QmtaWEJ5WldOaGRHVmtMaUJWYzJVZ1pXbDBhR1Z5SUhKaGQxSmxjM1JRYjNObElHOXlJRzV2Y20xaGJHbDZaV1JTWlhOMFVHOXpaU0JwYm5OMFpXRmtMaWNwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtRjNVbVZ6ZEZCdmMyVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCN1FHeHBibXNnVmxKTlVHOXpaWDBnYjJZZ2FYUnpJSEpoZHlCb2RXMWhiaUJpYjI1bGN5QjBhR0YwSUdseklHbDBjeUJrWldaaGRXeDBJSE4wWVhSbExseHVJQ0FnS2lCT2IzUmxJSFJvWVhRZ2FYUW5jeUJ1YjNRZ1kyOXRjR0YwYVdKc1pTQjNhWFJvSUh0QWJHbHVheUJ6WlhSU1lYZFFiM05sZlNCaGJtUWdlMEJzYVc1cklHZGxkRkpoZDFCdmMyVjlMQ0J6YVc1alpTQnBkQ0JqYjI1MFlXbHVjeUJ1YjI0dGNtVnNZWFJwZG1VZ2RtRnNkV1Z6SUc5bUlHVmhZMmdnYkc5allXd2dkSEpoYm5ObWIzSnRjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ2NtRjNVbVZ6ZEZCdmMyVW9LVG9nVmxKTlVHOXpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKaGQwaDFiV0Z1UW05dVpYTXVjbVZ6ZEZCdmMyVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCN1FHeHBibXNnVmxKTlVHOXpaWDBnYjJZZ2FYUnpJRzV2Y20xaGJHbDZaV1FnYUhWdFlXNGdZbTl1WlhNZ2RHaGhkQ0JwY3lCcGRITWdaR1ZtWVhWc2RDQnpkR0YwWlM1Y2JpQWdJQ29nVG05MFpTQjBhR0YwSUdsMEozTWdibTkwSUdOdmJYQmhkR2xpYkdVZ2QybDBhQ0I3UUd4cGJtc2djMlYwVG05eWJXRnNhWHBsWkZCdmMyVjlJR0Z1WkNCN1FHeHBibXNnWjJWMFRtOXliV0ZzYVhwbFpGQnZjMlY5TENCemFXNWpaU0JwZENCamIyNTBZV2x1Y3lCdWIyNHRjbVZzWVhScGRtVWdkbUZzZFdWeklHOW1JR1ZoWTJnZ2JHOWpZV3dnZEhKaGJuTm1iM0p0Y3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdibTl5YldGc2FYcGxaRkpsYzNSUWIzTmxLQ2s2SUZaU1RWQnZjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRZV3hwZW1Wa1NIVnRZVzVDYjI1bGN5NXlaWE4wVUc5elpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUcxaGNDQm1jbTl0SUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxmU0IwYnlCeVlYY2dlMEJzYVc1cklGWlNUVWgxYldGdVFtOXVaWDF6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRDQm9kVzFoYmtKdmJtVnpLQ2s2SUZaU1RVaDFiV0Z1UW05dVpYTWdlMXh1SUNBZ0lDOHZJR0Z1SUdGc2FXRnpJRzltSUdCeVlYZElkVzFoYmtKdmJtVnpZRnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WVhkSWRXMWhia0p2Ym1WekxtaDFiV0Z1UW05dVpYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCdFlYQWdabkp2YlNCN1FHeHBibXNnVmxKTlNIVnRZVzVDYjI1bFRtRnRaWDBnZEc4Z2NtRjNJSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVY5Y3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdjbUYzU0hWdFlXNUNiMjVsY3lncE9pQldVazFJZFcxaGJrSnZibVZ6SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtRjNTSFZ0WVc1Q2IyNWxjeTVvZFcxaGJrSnZibVZ6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdiV0Z3SUdaeWIyMGdlMEJzYVc1cklGWlNUVWgxYldGdVFtOXVaVTVoYldWOUlIUnZJRzV2Y20xaGJHbDZaV1FnZTBCc2FXNXJJRlpTVFVoMWJXRnVRbTl1WlgxekxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkQ0J1YjNKdFlXeHBlbVZrU0hWdFlXNUNiMjVsY3lncE9pQldVazFJZFcxaGJrSnZibVZ6SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTXVhSFZ0WVc1Q2IyNWxjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdjbTl2ZENCdlppQnViM0p0WVd4cGVtVmtJSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVY5Y3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE5TYjI5MEtDazZJRlJJVWtWRkxrOWlhbVZqZERORUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE11Y205dmREdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVWdZU0J1WlhjZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZTNWNiaUFnSUNvZ1FIQmhjbUZ0SUdoMWJXRnVRbTl1WlhNZ1FTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxjMzBnWTI5dWRHRnBibk1nWVd4c0lIUm9aU0JpYjI1bGN5QnZaaUIwYUdVZ2JtVjNJR2gxYldGdWIybGtYRzRnSUNBcUlFQndZWEpoYlNCaGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN5QlhhR1YwYUdWeUlHbDBJR052Y0dsbGN5QndiM05sSUdaeWIyMGdibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE1nZEc4Z2NtRjNTSFZ0WVc1Q2IyNWxjeUJ2YmlCN1FHeHBibXNnZFhCa1lYUmxmUzRnWUhSeWRXVmdJR0o1SUdSbFptRjFiSFF1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2FIVnRZVzVDYjI1bGN6b2dWbEpOU0hWdFlXNUNiMjVsY3l3Z2IzQjBhVzl1Y3o4NklIc2dZWFYwYjFWd1pHRjBaVWgxYldGdVFtOXVaWE0vT2lCaWIyOXNaV0Z1SUgwcElIdGNiaUFnSUNCMGFHbHpMbUYxZEc5VmNHUmhkR1ZJZFcxaGJrSnZibVZ6SUQwZ2IzQjBhVzl1Y3o4dVlYVjBiMVZ3WkdGMFpVaDFiV0Z1UW05dVpYTWdQejhnZEhKMVpUdGNiaUFnSUNCMGFHbHpMbDl5WVhkSWRXMWhia0p2Ym1WeklEMGdibVYzSUZaU1RWSnBaeWhvZFcxaGJrSnZibVZ6S1R0Y2JpQWdJQ0IwYUdsekxsOXViM0p0WVd4cGVtVmtTSFZ0WVc1Q2IyNWxjeUE5SUc1bGR5QldVazFJZFcxaGJtOXBaRkpwWnloMGFHbHpMbDl5WVhkSWRXMWhia0p2Ym1WektUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjNCNUlIUm9aU0JuYVhabGJpQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlJR2x1ZEc4Z2RHaHBjeUJ2Ym1VdVhHNGdJQ0FxSUVCd1lYSmhiU0J6YjNWeVkyVWdWR2hsSUh0QWJHbHVheUJXVWsxSWRXMWhibTlwWkgwZ2VXOTFJSGRoYm5RZ2RHOGdZMjl3ZVZ4dUlDQWdLaUJBY21WMGRYSnVjeUIwYUdselhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1kyOXdlU2h6YjNWeVkyVTZJRlpTVFVoMWJXRnViMmxrS1RvZ2RHaHBjeUI3WEc0Z0lDQWdkR2hwY3k1aGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN5QTlJSE52ZFhKalpTNWhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjenRjYmlBZ0lDQjBhR2x6TGw5eVlYZElkVzFoYmtKdmJtVnpJRDBnYm1WM0lGWlNUVkpwWnloemIzVnlZMlV1YUhWdFlXNUNiMjVsY3lrN1hHNGdJQ0FnZEdocGN5NWZibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE1nUFNCdVpYY2dWbEpOU0hWdFlXNXZhV1JTYVdjb2RHaHBjeTVmY21GM1NIVnRZVzVDYjI1bGN5azdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ1kyeHZibVVnYjJZZ2RHaHBjeUI3UUd4cGJtc2dWbEpOU0hWdFlXNXZhV1I5TGx4dUlDQWdLaUJBY21WMGRYSnVjeUJEYjNCcFpXUWdlMEJzYVc1cklGWlNUVWgxYldGdWIybGtmVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR05zYjI1bEtDazZJRlpTVFVoMWJXRnViMmxrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZaU1RVaDFiV0Z1YjJsa0tIUm9hWE11YUhWdFlXNUNiMjVsY3l3Z2V5QmhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjem9nZEdocGN5NWhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjeUI5S1M1amIzQjVLSFJvYVhNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhCeVpXTmhkR1ZrSUVSbGNISmxZMkYwWldRdUlGVnpaU0JsYVhSb1pYSWdlMEJzYVc1cklHZGxkRkpoZDBGaWMyOXNkWFJsVUc5elpYMGdiM0lnZTBCc2FXNXJJR2RsZEU1dmNtMWhiR2w2WldSQlluTnZiSFYwWlZCdmMyVjlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwUVdKemIyeDFkR1ZRYjNObEtDazZJRlpTVFZCdmMyVWdlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ2RXVWsxSWRXMWhibTlwWkRvZ1oyVjBRV0p6YjJ4MWRHVlFiM05sS0NrZ2FYTWdaR1Z3Y21WallYUmxaQzRnVlhObElHVnBkR2hsY2lCblpYUlNZWGRCWW5OdmJIVjBaVkJ2YzJVb0tTQnZjaUJuWlhST2IzSnRZV3hwZW1Wa1FXSnpiMngxZEdWUWIzTmxLQ2tnYVc1emRHVmhaQzRuTEZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1blpYUlNZWGRCWW5OdmJIVjBaVkJ2YzJVb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUdOMWNuSmxiblFnWVdKemIyeDFkR1VnY0c5elpTQnZaaUIwYUdseklISmhkeUJvZFcxaGJpQmliMjVsY3lCaGN5QmhJSHRBYkdsdWF5QldVazFRYjNObGZTNWNiaUFnSUNvZ1RtOTBaU0IwYUdGMElIUm9aU0J2ZFhSd2RYUWdjbVZ6ZFd4MElIZHBiR3dnWTI5dWRHRnBiaUJwYm1sMGFXRnNJSE4wWVhSbElHOW1JSFJvWlNCV1VrMGdZVzVrSUc1dmRDQmpiMjF3WVhScFlteGxJR0psZEhkbFpXNGdaR2xtWm1WeVpXNTBJRzF2WkdWc2N5NWNiaUFnSUNvZ1dXOTFJRzFwWjJoMElIZGhiblFnZEc4Z2RYTmxJSHRBYkdsdWF5Qm5aWFJTWVhkUWIzTmxmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEZKaGQwRmljMjlzZFhSbFVHOXpaU2dwT2lCV1VrMVFiM05sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtRjNTSFZ0WVc1Q2IyNWxjeTVuWlhSQlluTnZiSFYwWlZCdmMyVW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZEdobElHTjFjbkpsYm5RZ1lXSnpiMngxZEdVZ2NHOXpaU0J2WmlCMGFHbHpJRzV2Y20xaGJHbDZaV1FnYUhWdFlXNGdZbTl1WlhNZ1lYTWdZU0I3UUd4cGJtc2dWbEpOVUc5elpYMHVYRzRnSUNBcUlFNXZkR1VnZEdoaGRDQjBhR1VnYjNWMGNIVjBJSEpsYzNWc2RDQjNhV3hzSUdOdmJuUmhhVzRnYVc1cGRHbGhiQ0J6ZEdGMFpTQnZaaUIwYUdVZ1ZsSk5JR0Z1WkNCdWIzUWdZMjl0Y0dGMGFXSnNaU0JpWlhSM1pXVnVJR1JwWm1abGNtVnVkQ0J0YjJSbGJITXVYRzRnSUNBcUlGbHZkU0J0YVdkb2RDQjNZVzUwSUhSdklIVnpaU0I3UUd4cGJtc2daMlYwVG05eWJXRnNhWHBsWkZCdmMyVjlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwVG05eWJXRnNhWHBsWkVGaWMyOXNkWFJsVUc5elpTZ3BPaUJXVWsxUWIzTmxJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJXRnNhWHBsWkVoMWJXRnVRbTl1WlhNdVoyVjBRV0p6YjJ4MWRHVlFiM05sS0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsY0hKbFkyRjBaV1FnUkdWd2NtVmpZWFJsWkM0Z1ZYTmxJR1ZwZEdobGNpQjdRR3hwYm1zZ1oyVjBVbUYzVUc5elpYMGdiM0lnZTBCc2FXNXJJR2RsZEU1dmNtMWhiR2w2WldSUWIzTmxmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEZCdmMyVW9LVG9nVmxKTlVHOXpaU0I3WEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMUlkVzFoYm05cFpEb2daMlYwVUc5elpTZ3BJR2x6SUdSbGNISmxZMkYwWldRdUlGVnpaU0JsYVhSb1pYSWdaMlYwVW1GM1VHOXpaU2dwSUc5eUlHZGxkRTV2Y20xaGJHbDZaV1JRYjNObEtDa2dhVzV6ZEdWaFpDNG5LVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRGSmhkMUJ2YzJVb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUdOMWNuSmxiblFnY0c5elpTQnZaaUJ5WVhjZ2FIVnRZVzRnWW05dVpYTWdZWE1nWVNCN1FHeHBibXNnVmxKTlVHOXpaWDB1WEc0Z0lDQXFYRzRnSUNBcUlFVmhZMmdnZEhKaGJuTm1iM0p0SUdseklHRWdiRzlqWVd3Z2RISmhibk5tYjNKdElISmxiR0YwYVhabElHWnliMjBnY21WemRDQndiM05sSUNoVUxYQnZjMlVwTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRGSmhkMUJ2YzJVb0tUb2dWbEpOVUc5elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0poZDBoMWJXRnVRbTl1WlhNdVoyVjBVRzl6WlNncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQjBhR1VnWTNWeWNtVnVkQ0J3YjNObElHOW1JRzV2Y20xaGJHbDZaV1FnYUhWdFlXNGdZbTl1WlhNZ1lYTWdZU0I3UUd4cGJtc2dWbEpOVUc5elpYMHVYRzRnSUNBcVhHNGdJQ0FxSUVWaFkyZ2dkSEpoYm5ObWIzSnRJR2x6SUdFZ2JHOWpZV3dnZEhKaGJuTm1iM0p0SUhKbGJHRjBhWFpsSUdaeWIyMGdjbVZ6ZENCd2IzTmxJQ2hVTFhCdmMyVXBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEU1dmNtMWhiR2w2WldSUWIzTmxLQ2s2SUZaU1RWQnZjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRZV3hwZW1Wa1NIVnRZVzVDYjI1bGN5NW5aWFJRYjNObEtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGNISmxZMkYwWldRZ1JHVndjbVZqWVhSbFpDNGdWWE5sSUdWcGRHaGxjaUI3UUd4cGJtc2djMlYwVW1GM1VHOXpaWDBnYjNJZ2UwQnNhVzVySUhObGRFNXZjbTFoYkdsNlpXUlFiM05sZlNCcGJuTjBaV0ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhObGRGQnZjMlVvY0c5elpVOWlhbVZqZERvZ1ZsSk5VRzl6WlNrNklIWnZhV1FnZTF4dUlDQWdJR052Ym5OdmJHVXVkMkZ5YmlnblZsSk5TSFZ0WVc1dmFXUTZJSE5sZEZCdmMyVW9LU0JwY3lCa1pYQnlaV05oZEdWa0xpQlZjMlVnWldsMGFHVnlJSE5sZEZKaGQxQnZjMlVvS1NCdmNpQnpaWFJPYjNKdFlXeHBlbVZrVUc5elpTZ3BJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUlNZWGRRYjNObEtIQnZjMlZQWW1wbFkzUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUV4bGRDQjBhR1VnY21GM0lHaDFiV0Z1SUdKdmJtVnpJR1J2SUdFZ2MzQmxZMmxtYVdWa0lIQnZjMlV1WEc0Z0lDQXFYRzRnSUNBcUlFVmhZMmdnZEhKaGJuTm1iM0p0SUdoaGRtVWdkRzhnWW1VZ1lTQnNiMk5oYkNCMGNtRnVjMlp2Y20wZ2NtVnNZWFJwZG1VZ1puSnZiU0J5WlhOMElIQnZjMlVnS0ZRdGNHOXpaU2t1WEc0Z0lDQXFJRmx2ZFNCallXNGdjR0Z6Y3lCM2FHRjBJSGx2ZFNCbmIzUWdabkp2YlNCN1FHeHBibXNnWjJWMFVtRjNVRzl6WlgwdVhHNGdJQ0FxWEc0Z0lDQXFJRWxtSUhsdmRTQmhjbVVnZFhOcGJtY2dlMEJzYVc1cklHRjFkRzlWY0dSaGRHVklkVzFoYmtKdmJtVnpmU3dnZVc5MUlHMXBaMmgwSUhkaGJuUWdkRzhnZFhObElIdEFiR2x1YXlCelpYUk9iM0p0WVd4cGVtVmtVRzl6WlgwZ2FXNXpkR1ZoWkM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIQnZjMlZQWW1wbFkzUWdRU0I3UUd4cGJtc2dWbEpOVUc5elpYMGdkR2hoZENCeVpYQnlaWE5sYm5SeklHRWdjMmx1WjJ4bElIQnZjMlZjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhSU1lYZFFiM05sS0hCdmMyVlBZbXBsWTNRNklGWlNUVkJ2YzJVcE9pQjJiMmxrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtRjNTSFZ0WVc1Q2IyNWxjeTV6WlhSUWIzTmxLSEJ2YzJWUFltcGxZM1FwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFeGxkQ0IwYUdVZ2JtOXliV0ZzYVhwbFpDQm9kVzFoYmlCaWIyNWxjeUJrYnlCaElITndaV05wWm1sbFpDQndiM05sTGx4dUlDQWdLbHh1SUNBZ0tpQkZZV05vSUhSeVlXNXpabTl5YlNCb1lYWmxJSFJ2SUdKbElHRWdiRzlqWVd3Z2RISmhibk5tYjNKdElISmxiR0YwYVhabElHWnliMjBnY21WemRDQndiM05sSUNoVUxYQnZjMlVwTGx4dUlDQWdLaUJaYjNVZ1kyRnVJSEJoYzNNZ2QyaGhkQ0I1YjNVZ1oyOTBJR1p5YjIwZ2UwQnNhVzVySUdkbGRFNXZjbTFoYkdsNlpXUlFiM05sZlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIQnZjMlZQWW1wbFkzUWdRU0I3UUd4cGJtc2dWbEpOVUc5elpYMGdkR2hoZENCeVpYQnlaWE5sYm5SeklHRWdjMmx1WjJ4bElIQnZjMlZjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhST2IzSnRZV3hwZW1Wa1VHOXpaU2h3YjNObFQySnFaV04wT2lCV1VrMVFiM05sS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDI1dmNtMWhiR2w2WldSSWRXMWhia0p2Ym1WekxuTmxkRkJ2YzJVb2NHOXpaVTlpYW1WamRDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGNISmxZMkYwWldRZ1JHVndjbVZqWVhSbFpDNGdWWE5sSUdWcGRHaGxjaUI3UUd4cGJtc2djbVZ6WlhSU1lYZFFiM05sZlNCdmNpQjdRR3hwYm1zZ2NtVnpaWFJPYjNKdFlXeHBlbVZrVUc5elpYMGdhVzV6ZEdWaFpDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaWE5sZEZCdmMyVW9LVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLQ2RXVWsxSWRXMWhibTlwWkRvZ2NtVnpaWFJRYjNObEtDa2dhWE1nWkdWd2NtVmpZWFJsWkM0Z1ZYTmxJR1ZwZEdobGNpQnlaWE5sZEZKaGQxQnZjMlVvS1NCdmNpQnlaWE5sZEU1dmNtMWhiR2w2WldSUWIzTmxLQ2tnYVc1emRHVmhaQzRuS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxjMlYwVW1GM1VHOXpaU2dwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjMlYwSUhSb1pTQnlZWGNnYUhWdFlXNXZhV1FnZEc4Z2FYUnpJSEpsYzNRZ2NHOXpaUzVjYmlBZ0lDcGNiaUFnSUNvZ1NXWWdlVzkxSUdGeVpTQjFjMmx1WnlCN1FHeHBibXNnWVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhOOUxDQjViM1VnYldsbmFIUWdkMkZ1ZENCMGJ5QjFjMlVnZTBCc2FXNXJJSEpsYzJWMFRtOXliV0ZzYVhwbFpGQnZjMlY5SUdsdWMzUmxZV1F1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WelpYUlNZWGRRYjNObEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXlZWGRJZFcxaGJrSnZibVZ6TG5KbGMyVjBVRzl6WlNncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsYzJWMElIUm9aU0J1YjNKdFlXeHBlbVZrSUdoMWJXRnViMmxrSUhSdklHbDBjeUJ5WlhOMElIQnZjMlV1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WelpYUk9iM0p0WVd4cGVtVmtVRzl6WlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTXVjbVZ6WlhSUWIzTmxLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjSEpsWTJGMFpXUWdSR1Z3Y21WallYUmxaQzRnVlhObElHVnBkR2hsY2lCN1FHeHBibXNnWjJWMFVtRjNRbTl1WlgwZ2IzSWdlMEJzYVc1cklHZGxkRTV2Y20xaGJHbDZaV1JDYjI1bGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRUp2Ym1Vb2JtRnRaVG9nVmxKTlNIVnRZVzVDYjI1bFRtRnRaU2s2SUZaU1RVaDFiV0Z1UW05dVpTQjhJSFZ1WkdWbWFXNWxaQ0I3WEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMUlkVzFoYm05cFpEb2daMlYwUW05dVpTZ3BJR2x6SUdSbGNISmxZMkYwWldRdUlGVnpaU0JsYVhSb1pYSWdaMlYwVW1GM1FtOXVaU2dwSUc5eUlHZGxkRTV2Y20xaGJHbDZaV1JDYjI1bEtDa2dhVzV6ZEdWaFpDNG5LVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRGSmhkMEp2Ym1Vb2JtRnRaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUdFZ2NtRjNJSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVY5SUdKdmRXNWtJSFJ2SUdFZ2MzQmxZMmxtYVdWa0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsZlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHNWhiV1VnVG1GdFpTQnZaaUIwYUdVZ1ltOXVaU0I1YjNVZ2QyRnVkRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEZKaGQwSnZibVVvYm1GdFpUb2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpTazZJRlpTVFVoMWJXRnVRbTl1WlNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0poZDBoMWJXRnVRbTl1WlhNdVoyVjBRbTl1WlNodVlXMWxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVNCdWIzSnRZV3hwZW1Wa0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVjlJR0p2ZFc1a0lIUnZJR0VnYzNCbFkybG1hV1ZrSUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUc1aGJXVWdUbUZ0WlNCdlppQjBhR1VnWW05dVpTQjViM1VnZDJGdWRGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRTV2Y20xaGJHbDZaV1JDYjI1bEtHNWhiV1U2SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VwT2lCV1VrMUlkVzFoYmtKdmJtVWdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRZV3hwZW1Wa1NIVnRZVzVDYjI1bGN5NW5aWFJDYjI1bEtHNWhiV1VwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRVJsY0hKbFkyRjBaV1F1SUZWelpTQmxhWFJvWlhJZ2UwQnNhVzVySUdkbGRGSmhkMEp2Ym1WT2IyUmxmU0J2Y2lCN1FHeHBibXNnWjJWMFRtOXliV0ZzYVhwbFpFSnZibVZPYjJSbGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRUp2Ym1WT2IyUmxLRzVoYldVNklGWlNUVWgxYldGdVFtOXVaVTVoYldVcE9pQlVTRkpGUlM1UFltcGxZM1F6UkNCOElHNTFiR3dnZTF4dUlDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNkV1VrMUlkVzFoYm05cFpEb2daMlYwUW05dVpVNXZaR1VvS1NCcGN5QmtaWEJ5WldOaGRHVmtMaUJWYzJVZ1pXbDBhR1Z5SUdkbGRGSmhkMEp2Ym1WT2IyUmxLQ2tnYjNJZ1oyVjBUbTl5YldGc2FYcGxaRUp2Ym1WT2IyUmxLQ2tnYVc1emRHVmhaQzRuTEZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1blpYUlNZWGRDYjI1bFRtOWtaU2h1WVcxbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdZU0J5WVhjZ1ltOXVaU0JoY3lCaElHQlVTRkpGUlM1UFltcGxZM1F6UkdBZ1ltOTFibVFnZEc4Z1lTQnpjR1ZqYVdacFpXUWdlMEJzYVc1cklGWlNUVWgxYldGdVFtOXVaVTVoYldWOUxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdibUZ0WlNCT1lXMWxJRzltSUhSb1pTQmliMjVsSUhsdmRTQjNZVzUwWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMFVtRjNRbTl1WlU1dlpHVW9ibUZ0WlRvZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlNrNklGUklVa1ZGTGs5aWFtVmpkRE5FSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKaGQwaDFiV0Z1UW05dVpYTXVaMlYwUW05dVpVNXZaR1VvYm1GdFpTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0VnYm05eWJXRnNhWHBsWkNCaWIyNWxJR0Z6SUdFZ1lGUklVa1ZGTGs5aWFtVmpkRE5FWUNCaWIzVnVaQ0IwYnlCaElITndaV05wWm1sbFpDQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlgwdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQnVZVzFsSUU1aGJXVWdiMllnZEdobElHSnZibVVnZVc5MUlIZGhiblJjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhST2IzSnRZV3hwZW1Wa1FtOXVaVTV2WkdVb2JtRnRaVG9nVmxKTlNIVnRZVzVDYjI1bFRtRnRaU2s2SUZSSVVrVkZMazlpYW1WamRETkVJSHdnYm5Wc2JDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMjV2Y20xaGJHbDZaV1JJZFcxaGJrSnZibVZ6TG1kbGRFSnZibVZPYjJSbEtHNWhiV1VwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGVndaR0YwWlNCMGFHVWdhSFZ0WVc1dmFXUWdZMjl0Y0c5dVpXNTBMbHh1SUNBZ0tseHVJQ0FnS2lCSlppQjdRR3hwYm1zZ1lYVjBiMVZ3WkdGMFpVaDFiV0Z1UW05dVpYTjlJR2x6SUdCMGNuVmxZQ3dnYVhRZ2RISmhibk5tWlhKeklIUm9aU0J3YjNObElHOW1JRzV2Y20xaGJHbDZaV1FnYUhWdFlXNGdZbTl1WlhNZ2RHOGdjbUYzSUdoMWJXRnVJR0p2Ym1WekxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklIVndaR0YwWlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVoZFhSdlZYQmtZWFJsU0hWdFlXNUNiMjVsY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmYm05eWJXRnNhWHBsWkVoMWJXRnVRbTl1WlhNdWRYQmtZWFJsS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0aUxDSXZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNGdLaTljYmx4dVpYaHdiM0owSUdOdmJuTjBJRlpTVFZKbGNYVnBjbVZrU0hWdFlXNUNiMjVsVG1GdFpTQTlJSHRjYmlBZ1NHbHdjem9nSjJocGNITW5MRnh1SUNCVGNHbHVaVG9nSjNOd2FXNWxKeXhjYmlBZ1NHVmhaRG9nSjJobFlXUW5MRnh1SUNCTVpXWjBWWEJ3WlhKTVpXYzZJQ2RzWldaMFZYQndaWEpNWldjbkxGeHVJQ0JNWldaMFRHOTNaWEpNWldjNklDZHNaV1owVEc5M1pYSk1aV2NuTEZ4dUlDQk1aV1owUm05dmREb2dKMnhsWm5SR2IyOTBKeXhjYmlBZ1VtbG5hSFJWY0hCbGNreGxaem9nSjNKcFoyaDBWWEJ3WlhKTVpXY25MRnh1SUNCU2FXZG9kRXh2ZDJWeVRHVm5PaUFuY21sbmFIUk1iM2RsY2t4bFp5Y3NYRzRnSUZKcFoyaDBSbTl2ZERvZ0ozSnBaMmgwUm05dmRDY3NYRzRnSUV4bFpuUlZjSEJsY2tGeWJUb2dKMnhsWm5SVmNIQmxja0Z5YlNjc1hHNGdJRXhsWm5STWIzZGxja0Z5YlRvZ0oyeGxablJNYjNkbGNrRnliU2NzWEc0Z0lFeGxablJJWVc1a09pQW5iR1ZtZEVoaGJtUW5MRnh1SUNCU2FXZG9kRlZ3Y0dWeVFYSnRPaUFuY21sbmFIUlZjSEJsY2tGeWJTY3NYRzRnSUZKcFoyaDBURzkzWlhKQmNtMDZJQ2R5YVdkb2RFeHZkMlZ5UVhKdEp5eGNiaUFnVW1sbmFIUklZVzVrT2lBbmNtbG5hSFJJWVc1a0p5eGNibjBnWVhNZ1kyOXVjM1E3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRlpTVFZKbGNYVnBjbVZrU0hWdFlXNUNiMjVsVG1GdFpTQTlJSFI1Y0dWdlppQldVazFTWlhGMWFYSmxaRWgxYldGdVFtOXVaVTVoYldWYmEyVjViMllnZEhsd1pXOW1JRlpTVFZKbGNYVnBjbVZrU0hWdFlXNUNiMjVsVG1GdFpWMDdYRzRpTENKcGJYQnZjblFnZEhsd1pTQXFJR0Z6SUZZd1ZsSk5JR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20wdE1DNHdKenRjYm1sdGNHOXlkQ0IwZVhCbElDb2dZWE1nVmpGV1VrMVRZMmhsYldFZ1puSnZiU0FuUUhCcGVHbDJMM1I1Y0dWekxYWnliV010ZG5KdExURXVNQ2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWRNVkVZc0lFZE1WRVpNYjJGa1pYSlFiSFZuYVc0c0lFZE1WRVpRWVhKelpYSWdmU0JtY205dElDZDBhSEpsWlM5bGVHRnRjR3hsY3k5cWMyMHZiRzloWkdWeWN5OUhURlJHVEc5aFpHVnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lGWlNUVWgxYldGdWIybGtJSDBnWm5KdmJTQW5MaTlXVWsxSWRXMWhibTlwWkNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVaDFiV0Z1UW05dVpYTWdmU0JtY205dElDY3VMMVpTVFVoMWJXRnVRbTl1WlhNbk8xeHVhVzF3YjNKMElIc2dWbEpOVW1WeGRXbHlaV1JJZFcxaGJrSnZibVZPWVcxbElIMGdabkp2YlNBbkxpOVdVazFTWlhGMWFYSmxaRWgxYldGdVFtOXVaVTVoYldVbk8xeHVhVzF3YjNKMElIc2dSMHhVUmlCaGN5QkhURlJHVTJOb1pXMWhJSDBnWm5KdmJTQW5RR2RzZEdZdGRISmhibk5tYjNKdEwyTnZjbVVuTzF4dWFXMXdiM0owSUhzZ1ZsSk5TSFZ0WVc1dmFXUklaV3h3WlhJZ2ZTQm1jbTl0SUNjdUwyaGxiSEJsY25NdlZsSk5TSFZ0WVc1dmFXUklaV3h3WlhJbk8xeHVhVzF3YjNKMElIc2dWbEpOU0hWdFlXNXZhV1JNYjJGa1pYSlFiSFZuYVc1UGNIUnBiMjV6SUgwZ1puSnZiU0FuTGk5V1VrMUlkVzFoYm05cFpFeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTW5PMXh1WEc0dktpcGNiaUFxSUZCdmMzTnBZbXhsSUhOd1pXTWdkbVZ5YzJsdmJuTWdhWFFnY21WamIyZHVhWHBsY3k1Y2JpQXFMMXh1WTI5dWMzUWdVRTlUVTBsQ1RFVmZVMUJGUTE5V1JWSlRTVTlPVXlBOUlHNWxkeUJUWlhRb1d5Y3hMakFuTENBbk1TNHdMV0psZEdFblhTazdYRzVjYmk4cUtseHVJQ29nUVNCdFlYQWdabkp2YlNCdmJHUWdkR2gxYldJZ1ltOXVaU0J1WVcxbGN5QjBieUJ1WlhjZ2RHaDFiV0lnWW05dVpTQnVZVzFsYzF4dUlDb3ZYRzVqYjI1emRDQjBhSFZ0WWtKdmJtVk9ZVzFsVFdGd09pQjdJRnRyWlhrNklITjBjbWx1WjEwNklGWXhWbEpOVTJOb1pXMWhMa2gxYldGdWIybGtTSFZ0WVc1Q2IyNWxUbUZ0WlNCOElIVnVaR1ZtYVc1bFpDQjlJRDBnZTF4dUlDQnNaV1owVkdoMWJXSlFjbTk0YVcxaGJEb2dKMnhsWm5SVWFIVnRZazFsZEdGallYSndZV3duTEZ4dUlDQnNaV1owVkdoMWJXSkpiblJsY20xbFpHbGhkR1U2SUNkc1pXWjBWR2gxYldKUWNtOTRhVzFoYkNjc1hHNGdJSEpwWjJoMFZHaDFiV0pRY205NGFXMWhiRG9nSjNKcFoyaDBWR2gxYldKTlpYUmhZMkZ5Y0dGc0p5eGNiaUFnY21sbmFIUlVhSFZ0WWtsdWRHVnliV1ZrYVdGMFpUb2dKM0pwWjJoMFZHaDFiV0pRY205NGFXMWhiQ2NzWEc1OU8xeHVYRzR2S2lwY2JpQXFJRUVnY0d4MVoybHVJRzltSUVkTVZFWk1iMkZrWlhJZ2RHaGhkQ0JwYlhCdmNuUnpJR0VnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlNCbWNtOXRJR0VnVmxKTklHVjRkR1Z1YzJsdmJpQnZaaUJoSUVkTVZFWXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxSWRXMWhibTlwWkV4dllXUmxjbEJzZFdkcGJpQnBiWEJzWlcxbGJuUnpJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNGdlMXh1SUNBdktpcGNiaUFnSUNvZ1UzQmxZMmxtZVNCaGJpQlBZbXBsWTNRelJDQjBieUJoWkdRZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa1NHVnNjR1Z5ZlM1Y2JpQWdJQ29nU1dZZ2JtOTBJSE53WldOcFptbGxaQ3dnYUdWc2NHVnlJSGRwYkd3Z2JtOTBJR0psSUdOeVpXRjBaV1F1WEc0Z0lDQXFJRWxtSUdCeVpXNWtaWEpQY21SbGNtQWdhWE1nYzJWMElIUnZJSFJvWlNCeWIyOTBMQ0IwYUdVZ2FHVnNjR1Z5SUhkcGJHd2dZMjl3ZVNCMGFHVWdjMkZ0WlNCZ2NtVnVaR1Z5VDNKa1pYSmdJQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJvWld4d1pYSlNiMjkwUHpvZ1ZFaFNSVVV1VDJKcVpXTjBNMFE3WEc1Y2JpQWdjSFZpYkdsaklHRjFkRzlWY0dSaGRHVklkVzFoYmtKdmJtVnpQem9nWW05dmJHVmhianRjYmx4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeU8xeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2JtRnRaU2dwT2lCemRISnBibWNnZTF4dUlDQWdJQzh2SUZkbElITm9iM1ZzWkNCMWMyVWdkR2hsSUdWNGRHVnVjMmx2YmlCdVlXMWxJR2x1YzNSbFlXUWdZblYwSUhkbElHaGhkbVVnYlhWc2RHbHdiR1VnY0d4MVoybHVjeUJtYjNJZ1lXNGdaWGgwWlc1emFXOXVMaTR1WEc0Z0lDQWdjbVYwZFhKdUlDZFdVazFJZFcxaGJtOXBaRXh2WVdSbGNsQnNkV2RwYmljN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5YzJWeU9pQkhURlJHVUdGeWMyVnlMQ0J2Y0hScGIyNXpQem9nVmxKTlNIVnRZVzV2YVdSTWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1ektTQjdYRzRnSUNBZ2RHaHBjeTV3WVhKelpYSWdQU0J3WVhKelpYSTdYRzVjYmlBZ0lDQjBhR2x6TG1obGJIQmxjbEp2YjNRZ1BTQnZjSFJwYjI1elB5NW9aV3h3WlhKU2IyOTBPMXh1SUNBZ0lIUm9hWE11WVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhNZ1BTQnZjSFJwYjI1elB5NWhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjenRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJoYzNsdVl5QmhablJsY2xKdmIzUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHZHNkR1l1ZFhObGNrUmhkR0V1ZG5KdFNIVnRZVzV2YVdRZ1BTQmhkMkZwZENCMGFHbHpMbDlwYlhCdmNuUW9aMngwWmlrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTVzF3YjNKMElHRWdlMEJzYVc1cklGWlNUVWgxYldGdWIybGtmU0JtY205dElHRWdWbEpOTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1oyeDBaaUJCSUhCaGNuTmxaQ0J5WlhOMWJIUWdiMllnUjB4VVJpQjBZV3RsYmlCbWNtOXRJRWRNVkVaTWIyRmtaWEpjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYMmx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxSWRXMWhibTlwWkNCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQjJNVkpsYzNWc2RDQTlJR0YzWVdsMElIUm9hWE11WDNZeFNXMXdiM0owS0dkc2RHWXBPMXh1SUNBZ0lHbG1JQ2gyTVZKbGMzVnNkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFl4VW1WemRXeDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhZd1VtVnpkV3gwSUQwZ1lYZGhhWFFnZEdocGN5NWZkakJKYlhCdmNuUW9aMngwWmlrN1hHNGdJQ0FnYVdZZ0tIWXdVbVZ6ZFd4MEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RqQlNaWE4xYkhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5Mk1VbHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazFJZFcxaGJtOXBaQ0I4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnZEdocGN5NXdZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnTHk4Z1pXRnliSGtnWVdKdmNuUWdhV1lnYVhRZ1pHOWxjMjRuZENCMWMyVWdkbkp0WEc0Z0lDQWdZMjl1YzNRZ2FYTldVazFWYzJWa0lEMGdhbk52Ymk1bGVIUmxibk5wYjI1elZYTmxaRDh1YVc1a1pYaFBaaWduVmxKTlExOTJjbTBuS1NBaFBUMGdMVEU3WEc0Z0lDQWdhV1lnS0NGcGMxWlNUVlZ6WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdWNGRHVnVjMmx2YmlBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVd5ZFdVazFEWDNaeWJTZGRJR0Z6SUZZeFZsSk5VMk5vWlcxaExsWlNUVU5XVWswZ2ZDQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2FXWWdLQ0ZsZUhSbGJuTnBiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSE53WldOV1pYSnphVzl1SUQwZ1pYaDBaVzV6YVc5dUxuTndaV05XWlhKemFXOXVPMXh1SUNBZ0lHbG1JQ2doVUU5VFUwbENURVZmVTFCRlExOVdSVkpUU1U5T1V5NW9ZWE1vYzNCbFkxWmxjbk5wYjI0cEtTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWUZaU1RVaDFiV0Z1YjJsa1RHOWhaR1Z5VUd4MVoybHVPaUJWYm10dWIzZHVJRlpTVFVOZmRuSnRJSE53WldOV1pYSnphVzl1SUZ3aUpIdHpjR1ZqVm1WeWMybHZibjFjSW1BcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzJOb1pXMWhTSFZ0WVc1dmFXUWdQU0JsZUhSbGJuTnBiMjR1YUhWdFlXNXZhV1E3WEc0Z0lDQWdhV1lnS0NGelkyaGxiV0ZJZFcxaGJtOXBaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1kyOXRjR0YwT2lBeExqQXRZbVYwWVNCMGFIVnRZaUJpYjI1bElHNWhiV1Z6WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJnZEhKMVpXQWdhV1lnWUd4bFpuUlVhSFZ0WWtsdWRHVnliV1ZrYVdGMFpXQWdiM0lnWUhKcFoyaDBWR2gxYldKSmJuUmxjbTFsWkdsaGRHVmdJR1Y0YVhOMGMxeHVJQ0FnSUNBcUwxeHVJQ0FnSUdOdmJuTjBJR1Y0YVhOMGMxQnlaWFpwYjNWelZHaDFiV0pPWVcxbElEMWNiaUFnSUNBZ0lDaHpZMmhsYldGSWRXMWhibTlwWkM1b2RXMWhia0p2Ym1WeklHRnpJR0Z1ZVNrdWJHVm1kRlJvZFcxaVNXNTBaWEp0WldScFlYUmxJQ0U5SUc1MWJHd2dmSHhjYmlBZ0lDQWdJQ2h6WTJobGJXRklkVzFoYm05cFpDNW9kVzFoYmtKdmJtVnpJR0Z6SUdGdWVTa3VjbWxuYUhSVWFIVnRZa2x1ZEdWeWJXVmthV0YwWlNBaFBTQnVkV3hzTzF4dVhHNGdJQ0FnWTI5dWMzUWdhSFZ0WVc1Q2IyNWxjem9nVUdGeWRHbGhiRHhXVWsxSWRXMWhia0p2Ym1WelBpQTlJSHQ5TzF4dUlDQWdJR2xtSUNoelkyaGxiV0ZJZFcxaGJtOXBaQzVvZFcxaGJrSnZibVZ6SUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdGM1lXbDBJRkJ5YjIxcGMyVXVZV3hzS0Z4dUlDQWdJQ0FnSUNCUFltcGxZM1F1Wlc1MGNtbGxjeWh6WTJobGJXRklkVzFoYm05cFpDNW9kVzFoYmtKdmJtVnpLUzV0WVhBb1lYTjVibU1nS0Z0aWIyNWxUbUZ0WlZOMGNtbHVaeXdnYzJOb1pXMWhTSFZ0WVc1Q2IyNWxYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR3hsZENCaWIyNWxUbUZ0WlNBOUlHSnZibVZPWVcxbFUzUnlhVzVuSUdGeklGWXhWbEpOVTJOb1pXMWhMa2gxYldGdWIybGtTSFZ0WVc1Q2IyNWxUbUZ0WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGJtUmxlQ0E5SUhOamFHVnRZVWgxYldGdVFtOXVaUzV1YjJSbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1kyOXRjR0YwT2lBeExqQXRZbVYwWVNCd2NtVjJhVzkxY3lCMGFIVnRZaUJpYjI1bElHNWhiV1Z6WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Y0YVhOMGMxQnlaWFpwYjNWelZHaDFiV0pPWVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IwYUhWdFlrSnZibVZPWVcxbElEMGdkR2gxYldKQ2IyNWxUbUZ0WlUxaGNGdGliMjVsVG1GdFpWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2gxYldKQ2IyNWxUbUZ0WlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdKdmJtVk9ZVzFsSUQwZ2RHaDFiV0pDYjI1bFRtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnWVhkaGFYUWdkR2hwY3k1d1lYSnpaWEl1WjJWMFJHVndaVzVrWlc1amVTZ25ibTlrWlNjc0lHbHVaR1Y0S1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0J6Y0dWamFXWnBaV1FnYm05a1pTQmtiMlZ6SUc1dmRDQmxlR2x6ZEN3Z1pXMXBkQ0JoSUhkaGNtNXBibWRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibTlrWlNBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1lFRWdaMnhVUmlCdWIyUmxJR0p2ZFc1a0lIUnZJSFJvWlNCb2RXMWhibTlwWkNCaWIyNWxJQ1I3WW05dVpVNWhiV1Y5SUNocGJtUmxlQ0E5SUNSN2FXNWtaWGg5S1NCa2IyVnpJRzV2ZENCbGVHbHpkR0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJSE5sZENCMGJ5QjBhR1VnWUdoMWJXRnVRbTl1WlhOZ1hHNGdJQ0FnSUNBZ0lDQWdhSFZ0WVc1Q2IyNWxjMXRpYjI1bFRtRnRaVjBnUFNCN0lHNXZaR1VnZlR0Y2JpQWdJQ0FnSUNBZ2ZTa3NYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdoMWJXRnViMmxrSUQwZ2JtVjNJRlpTVFVoMWJXRnViMmxrS0hSb2FYTXVYMlZ1YzNWeVpWSmxjWFZwY21Wa1FtOXVaWE5GZUdsemRDaG9kVzFoYmtKdmJtVnpLU3dnZTF4dUlDQWdJQ0FnWVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhNNklIUm9hWE11WVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhNc1hHNGdJQ0FnZlNrN1hHNGdJQ0FnWjJ4MFppNXpZMlZ1WlM1aFpHUW9hSFZ0WVc1dmFXUXVibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE5TYjI5MEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtaGxiSEJsY2xKdmIzUXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHaGxiSEJsY2lBOUlHNWxkeUJXVWsxSWRXMWhibTlwWkVobGJIQmxjaWhvZFcxaGJtOXBaQ2s3WEc0Z0lDQWdJQ0IwYUdsekxtaGxiSEJsY2xKdmIzUXVZV1JrS0dobGJIQmxjaWs3WEc0Z0lDQWdJQ0JvWld4d1pYSXVjbVZ1WkdWeVQzSmtaWElnUFNCMGFHbHpMbWhsYkhCbGNsSnZiM1F1Y21WdVpHVnlUM0prWlhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR2gxYldGdWIybGtPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JoYzNsdVl5QmZkakJKYlhCdmNuUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4VmxKTlNIVnRZVzV2YVdRZ2ZDQnVkV3hzUGlCN1hHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIUm9hWE11Y0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lHTnZibk4wSUhaeWJVVjRkQ0E5SUdwemIyNHVaWGgwWlc1emFXOXVjejh1VmxKTklHRnpJRll3VmxKTkxsWlNUU0I4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JwWmlBb0lYWnliVVY0ZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzJOb1pXMWhTSFZ0WVc1dmFXUTZJRll3VmxKTkxraDFiV0Z1YjJsa0lId2dkVzVrWldacGJtVmtJRDBnZG5KdFJYaDBMbWgxYldGdWIybGtPMXh1SUNBZ0lHbG1JQ2doYzJOb1pXMWhTSFZ0WVc1dmFXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHaDFiV0Z1UW05dVpYTTZJRkJoY25ScFlXdzhWbEpOU0hWdFlXNUNiMjVsY3o0Z1BTQjdmVHRjYmlBZ0lDQnBaaUFvYzJOb1pXMWhTSFZ0WVc1dmFXUXVhSFZ0WVc1Q2IyNWxjeUFoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JoZDJGcGRDQlFjbTl0YVhObExtRnNiQ2hjYmlBZ0lDQWdJQ0FnYzJOb1pXMWhTSFZ0WVc1dmFXUXVhSFZ0WVc1Q2IyNWxjeTV0WVhBb1lYTjVibU1nS0dKdmJtVXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCaWIyNWxUbUZ0WlNBOUlHSnZibVV1WW05dVpUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnBibVJsZUNBOUlHSnZibVV1Ym05a1pUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGliMjVsVG1GdFpTQTlQU0J1ZFd4c0lIeDhJR2x1WkdWNElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnViMlJsSUQwZ1lYZGhhWFFnZEdocGN5NXdZWEp6WlhJdVoyVjBSR1Z3Wlc1a1pXNWplU2duYm05a1pTY3NJR2x1WkdWNEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklHbG1JSFJvWlNCemNHVmphV1pwWldRZ2JtOWtaU0JrYjJWeklHNXZkQ0JsZUdsemRDd2daVzFwZENCaElIZGhjbTVwYm1kY2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYm05a1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9ZRUVnWjJ4VVJpQnViMlJsSUdKdmRXNWtJSFJ2SUhSb1pTQm9kVzFoYm05cFpDQmliMjVsSUNSN1ltOXVaVTVoYldWOUlDaHBibVJsZUNBOUlDUjdhVzVrWlhoOUtTQmtiMlZ6SUc1dmRDQmxlR2x6ZEdBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUcxaGNDQjBieUJ1WlhjZ1ltOXVaU0J1WVcxbFhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RHaDFiV0pDYjI1bFRtRnRaU0E5SUhSb2RXMWlRbTl1WlU1aGJXVk5ZWEJiWW05dVpVNWhiV1ZkTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUc1bGQwSnZibVZPWVcxbElEMGdLSFJvZFcxaVFtOXVaVTVoYldVZ1B6OGdZbTl1WlU1aGJXVXBJR0Z6SUZZeFZsSk5VMk5vWlcxaExraDFiV0Z1YjJsa1NIVnRZVzVDYjI1bFRtRnRaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJSFl3SUZaU1RYTWdiV2xuYUhRZ2FHRjJaU0JoSUcxMWJIUnBjR3hsSUc1dlpHVnpJR0YwZEdGamFHVmtJSFJ2SUdFZ2MybHVaMnhsSUdKdmJtVXVMaTVjYmlBZ0lDQWdJQ0FnSUNBdkx5QnpieUJwWmlCMGFHVnlaU0JoYkhKbFlXUjVJR2x6SUdGdUlHVnVkSEo1SUdsdUlIUm9aU0JnYUhWdFlXNUNiMjVsYzJBc0lITm9iM2NnWVNCM1lYSnVhVzVuSUdGdVpDQnBaMjV2Y21VZ2FYUmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FIVnRZVzVDYjI1bGMxdHVaWGRDYjI1bFRtRnRaVjBnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JnVFhWc2RHbHdiR1VnWW05dVpTQmxiblJ5YVdWeklHWnZjaUFrZTI1bGQwSnZibVZPWVcxbGZTQmtaWFJsWTNSbFpDQW9hVzVrWlhnZ1BTQWtlMmx1WkdWNGZTa3NJR2xuYm05eWFXNW5JR1IxY0d4cFkyRjBaV1FnWlc1MGNtbGxjeTVnTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QnpaWFFnZEc4Z2RHaGxJR0JvZFcxaGJrSnZibVZ6WUZ4dUlDQWdJQ0FnSUNBZ0lHaDFiV0Z1UW05dVpYTmJibVYzUW05dVpVNWhiV1ZkSUQwZ2V5QnViMlJsSUgwN1hHNGdJQ0FnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCb2RXMWhibTlwWkNBOUlHNWxkeUJXVWsxSWRXMWhibTlwWkNoMGFHbHpMbDlsYm5OMWNtVlNaWEYxYVhKbFpFSnZibVZ6UlhocGMzUW9hSFZ0WVc1Q2IyNWxjeWtzSUh0Y2JpQWdJQ0FnSUdGMWRHOVZjR1JoZEdWSWRXMWhia0p2Ym1Wek9pQjBhR2x6TG1GMWRHOVZjR1JoZEdWSWRXMWhia0p2Ym1WekxGeHVJQ0FnSUgwcE8xeHVJQ0FnSUdkc2RHWXVjMk5sYm1VdVlXUmtLR2gxYldGdWIybGtMbTV2Y20xaGJHbDZaV1JJZFcxaGJrSnZibVZ6VW05dmRDazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NW9aV3h3WlhKU2IyOTBLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQm9aV3h3WlhJZ1BTQnVaWGNnVmxKTlNIVnRZVzV2YVdSSVpXeHdaWElvYUhWdFlXNXZhV1FwTzF4dUlDQWdJQ0FnZEdocGN5NW9aV3h3WlhKU2IyOTBMbUZrWkNob1pXeHdaWElwTzF4dUlDQWdJQ0FnYUdWc2NHVnlMbkpsYm1SbGNrOXlaR1Z5SUQwZ2RHaHBjeTVvWld4d1pYSlNiMjkwTG5KbGJtUmxjazl5WkdWeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJvZFcxaGJtOXBaRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRmJuTjFjbVVnY21WeGRXbHlaV1FnWW05dVpYTWdaWGhwYzNRZ2FXNGdaMmwyWlc0Z2FIVnRZVzRnWW05dVpYTXVYRzRnSUNBcUlFQndZWEpoYlNCb2RXMWhia0p2Ym1WeklFaDFiV0Z1SUdKdmJtVnpYRzRnSUNBcUlFQnlaWFIxY201eklFaDFiV0Z1SUdKdmJtVnpMQ0J1YnlCc2IyNW5aWElnY0dGeWRHbGhiQ0ZjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJWdWMzVnlaVkpsY1hWcGNtVmtRbTl1WlhORmVHbHpkQ2hvZFcxaGJrSnZibVZ6T2lCUVlYSjBhV0ZzUEZaU1RVaDFiV0Z1UW05dVpYTStLVG9nVmxKTlNIVnRZVzVDYjI1bGN5QjdYRzRnSUNBZ0x5OGdaVzV6ZFhKbElISmxjWFZwY21Wa0lHSnZibVZ6SUdWNGFYTjBYRzRnSUNBZ1kyOXVjM1FnYldsemMybHVaMUpsY1hWcGNtVmtRbTl1WlhNZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0ZaU1RWSmxjWFZwY21Wa1NIVnRZVzVDYjI1bFRtRnRaU2t1Wm1sc2RHVnlLRnh1SUNBZ0lDQWdLSEpsY1hWcGNtVmtRbTl1WlU1aGJXVXBJRDArSUdoMWJXRnVRbTl1WlhOYmNtVnhkV2x5WldSQ2IyNWxUbUZ0WlYwZ1BUMGdiblZzYkN4Y2JpQWdJQ0FwTzF4dVhHNGdJQ0FnTHk4Z2RHaHliM2NnWVc0Z1pYSnliM0lnYVdZZ2RHaGxjbVVnWVhKbElHMXBjM05wYm1jZ1ltOXVaWE5jYmlBZ0lDQnBaaUFvYldsemMybHVaMUpsY1hWcGNtVmtRbTl1WlhNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdWbEpOU0hWdFlXNXZhV1JNYjJGa1pYSlFiSFZuYVc0NklGUm9aWE5sSUdoMWJXRnViMmxrSUdKdmJtVnpJR0Z5WlNCeVpYRjFhWEpsWkNCaWRYUWdibTkwSUdWNGFYTjBPaUFrZTIxcGMzTnBibWRTWlhGMWFYSmxaRUp2Ym1WekxtcHZhVzRvSnl3Z0p5bDlZQ3hjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHaDFiV0Z1UW05dVpYTWdZWE1nVmxKTlNIVnRZVzVDYjI1bGN6dGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1JtRnVRblZtWm1WeVIyVnZiV1YwY25rZ1pYaDBaVzVrY3lCVVNGSkZSUzVDZFdabVpYSkhaVzl0WlhSeWVTQjdYRzRnSUhCMVlteHBZeUIwYUdWMFlUb2diblZ0WW1WeU8xeHVJQ0J3ZFdKc2FXTWdjbUZrYVhWek9pQnVkVzFpWlhJN1hHNGdJSEJ5YVhaaGRHVWdYMk4xY25KbGJuUlVhR1YwWVNBOUlEQTdYRzRnSUhCeWFYWmhkR1VnWDJOMWNuSmxiblJTWVdScGRYTWdQU0F3TzF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOWhkSFJ5VUc5ek9pQlVTRkpGUlM1Q2RXWm1aWEpCZEhSeWFXSjFkR1U3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyRjBkSEpKYm1SbGVEb2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsTzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWdwSUh0Y2JpQWdJQ0J6ZFhCbGNpZ3BPMXh1WEc0Z0lDQWdkR2hwY3k1MGFHVjBZU0E5SURBdU1EdGNiaUFnSUNCMGFHbHpMbkpoWkdsMWN5QTlJREF1TUR0Y2JpQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFZHaGxkR0VnUFNBd0xqQTdYRzRnSUNBZ2RHaHBjeTVmWTNWeWNtVnVkRkpoWkdsMWN5QTlJREF1TUR0Y2JseHVJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTWdQU0J1WlhjZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxLRzVsZHlCR2JHOWhkRE15UVhKeVlYa29OalVnS2lBektTd2dNeWs3WEc0Z0lDQWdkR2hwY3k1elpYUkJkSFJ5YVdKMWRHVW9KM0J2YzJsMGFXOXVKeXdnZEdocGN5NWZZWFIwY2xCdmN5azdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlTVzVrWlhnZ1BTQnVaWGNnVkVoU1JVVXVRblZtWm1WeVFYUjBjbWxpZFhSbEtHNWxkeUJWYVc1ME1UWkJjbkpoZVNneklDb2dOak1wTENBeEtUdGNiaUFnSUNCMGFHbHpMbk5sZEVsdVpHVjRLSFJvYVhNdVgyRjBkSEpKYm1SbGVDazdYRzVjYmlBZ0lDQjBhR2x6TGw5aWRXbHNaRWx1WkdWNEtDazdYRzRnSUNBZ2RHaHBjeTUxY0dSaGRHVW9LVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ2JHVjBJSE5vYjNWc1pGVndaR0YwWlVkbGIyMWxkSEo1SUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmWTNWeWNtVnVkRlJvWlhSaElDRTlQU0IwYUdsekxuUm9aWFJoS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlqZFhKeVpXNTBWR2hsZEdFZ1BTQjBhR2x6TG5Sb1pYUmhPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6SUNFOVBTQjBhR2x6TG5KaFpHbDFjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lBOUlIUm9hWE11Y21Ga2FYVnpPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWW5WcGJHUlFiM05wZEdsdmJpZ3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMkoxYVd4a1VHOXphWFJwYjI0b0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXpaWFJZV1Zvb01Dd2dNQzR3TENBd0xqQXNJREF1TUNrN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElEWTBPeUJwS3lzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhRZ1BTQW9hU0F2SURZekxqQXBJQ29nZEdocGN5NWZZM1Z5Y21WdWRGUm9aWFJoTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVVHOXpMbk5sZEZoWldpaHBJQ3NnTVN3Z2RHaHBjeTVmWTNWeWNtVnVkRkpoWkdsMWN5QXFJRTFoZEdndWMybHVLSFFwTENBd0xqQXNJSFJvYVhNdVgyTjFjbkpsYm5SU1lXUnBkWE1nS2lCTllYUm9MbU52Y3loMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV1WldWa2MxVndaR0YwWlNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5aWRXbHNaRWx1WkdWNEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z05qTTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNrbHVaR1Y0TG5ObGRGaFpXaWhwSUNvZ015d2dNQ3dnYVNBcklERXNJR2tnS3lBeUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJNYVc1bFFXNWtVM0JvWlhKbFFuVm1abVZ5UjJWdmJXVjBjbmtnWlhoMFpXNWtjeUJVU0ZKRlJTNUNkV1ptWlhKSFpXOXRaWFJ5ZVNCN1hHNGdJSEIxWW14cFl5QnlZV1JwZFhNNklHNTFiV0psY2p0Y2JpQWdjSFZpYkdsaklIUmhhV3c2SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzRnSUhCeWFYWmhkR1VnWDJOMWNuSmxiblJTWVdScGRYTTZJRzUxYldKbGNqdGNiaUFnY0hKcGRtRjBaU0JmWTNWeWNtVnVkRlJoYVd3NklGUklVa1ZGTGxabFkzUnZjak03WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyRjBkSEpRYjNNNklGUklVa1ZGTGtKMVptWmxja0YwZEhKcFluVjBaVHRjYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZllYUjBja2x1WkdWNE9pQlVTRkpGUlM1Q2RXWm1aWEpCZEhSeWFXSjFkR1U3WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzVjYmlBZ0lDQjBhR2x6TG5KaFpHbDFjeUE5SURBdU1EdGNiaUFnSUNCMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWeklEMGdNQzR3TzF4dVhHNGdJQ0FnZEdocGN5NTBZV2xzSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNiaUFnSUNCMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkNBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6SUQwZ2JtVjNJRlJJVWtWRkxrSjFabVpsY2tGMGRISnBZblYwWlNodVpYY2dSbXh2WVhRek1rRnljbUY1S0RJNU5Da3NJRE1wTzF4dUlDQWdJSFJvYVhNdWMyVjBRWFIwY21saWRYUmxLQ2R3YjNOcGRHbHZiaWNzSUhSb2FYTXVYMkYwZEhKUWIzTXBPMXh1WEc0Z0lDQWdkR2hwY3k1ZllYUjBja2x1WkdWNElEMGdibVYzSUZSSVVrVkZMa0oxWm1abGNrRjBkSEpwWW5WMFpTaHVaWGNnVldsdWRERTJRWEp5WVhrb01UazBLU3dnTVNrN1hHNGdJQ0FnZEdocGN5NXpaWFJKYm1SbGVDaDBhR2x6TGw5aGRIUnlTVzVrWlhncE8xeHVYRzRnSUNBZ2RHaHBjeTVmWW5WcGJHUkpibVJsZUNncE8xeHVJQ0FnSUhSb2FYTXVkWEJrWVhSbEtDazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdkWEJrWVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUd4bGRDQnphRzkxYkdSVmNHUmhkR1ZIWlc5dFpYUnllU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVYMk4xY25KbGJuUlNZV1JwZFhNZ0lUMDlJSFJvYVhNdWNtRmthWFZ6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWeklEMGdkR2hwY3k1eVlXUnBkWE03WEc0Z0lDQWdJQ0J6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNBOUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkM1bGNYVmhiSE1vZEdocGN5NTBZV2xzS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dVkyOXdlU2gwYUdsekxuUmhhV3dwTzF4dUlDQWdJQ0FnYzJodmRXeGtWWEJrWVhSbFIyVnZiV1YwY25rZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemFHOTFiR1JWY0dSaGRHVkhaVzl0WlhSeWVTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlluVnBiR1JRYjNOcGRHbHZiaWdwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJKMWFXeGtVRzl6YVhScGIyNG9LVG9nZG05cFpDQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQXpNanNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMElEMGdLR2tnTHlBeE5pNHdLU0FxSUUxaGRHZ3VVRWs3WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtHa3NJRTFoZEdndVkyOXpLSFFwTENCTllYUm9Mbk5wYmloMEtTd2dNQzR3S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtETXlJQ3NnYVN3Z01DNHdMQ0JOWVhSb0xtTnZjeWgwS1N3Z1RXRjBhQzV6YVc0b2RDa3BPMXh1SUNBZ0lDQWdkR2hwY3k1ZllYUjBjbEJ2Y3k1elpYUllXVm9vTmpRZ0t5QnBMQ0JOWVhSb0xuTnBiaWgwS1N3Z01DNHdMQ0JOWVhSb0xtTnZjeWgwS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpZMkZzWlNoMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWekxDQjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpMQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6S1R0Y2JpQWdJQ0IwYUdsekxuUnlZVzV6YkdGMFpTaDBhR2x6TGw5amRYSnlaVzUwVkdGcGJDNTRMQ0IwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQzU1TENCMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkM1NktUdGNibHh1SUNBZ0lIUm9hWE11WDJGMGRISlFiM011YzJWMFdGbGFLRGsyTENBd0xDQXdMQ0F3S1R0Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2lnNU55d2dkR2hwY3k1ZlkzVnljbVZ1ZEZSaGFXd3VlQ3dnZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1ZVN3Z2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dWVpazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG01bFpXUnpWWEJrWVhSbElEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gySjFhV3hrU1c1a1pYZ29LVG9nZG05cFpDQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQXpNanNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcE1TQTlJQ2hwSUNzZ01Ta2dKU0F6TWp0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNrbHVaR1Y0TG5ObGRGaFpLR2tnS2lBeUxDQnBMQ0JwTVNrN1hHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1YzJWMFdGa29OalFnS3lCcElDb2dNaXdnTXpJZ0t5QnBMQ0F6TWlBcklHa3hLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXpaWFJZV1NneE1qZ2dLeUJwSUNvZ01pd2dOalFnS3lCcExDQTJOQ0FySUdreEtUdGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRMbk5sZEZoWktERTVNaXdnT1RZc0lEazNLVHRjYmx4dUlDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFV4dmIydEJkQ0I5SUdaeWIyMGdKeTR1TDFaU1RVeHZiMnRCZENjN1hHNXBiWEJ2Y25RZ2V5QkdZVzVDZFdabVpYSkhaVzl0WlhSeWVTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdlJtRnVRblZtWm1WeVIyVnZiV1YwY25rbk8xeHVhVzF3YjNKMElIc2dUR2x1WlVGdVpGTndhR1Z5WlVKMVptWmxja2RsYjIxbGRISjVJSDBnWm5KdmJTQW5MaTkxZEdsc2N5OU1hVzVsUVc1a1UzQm9aWEpsUW5WbVptVnlSMlZ2YldWMGNua25PMXh1WEc1amIyNXpkQ0JmY1hWaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVZMjl1YzNRZ1gzRjFZWFJDSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYm1OdmJuTjBJRjkyTTBFZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WTI5dWMzUWdYM1l6UWlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVjYm1OdmJuTjBJRk5SVWxSZk1sOVBWa1ZTWHpJZ1BTQk5ZWFJvTG5OeGNuUW9NaTR3S1NBdklESXVNRHRjYm1OdmJuTjBJRkZWUVZSZldGbGZRMWM1TUNBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLREFzSURBc0lDMVRVVkpVWHpKZlQxWkZVbDh5TENCVFVWSlVYekpmVDFaRlVsOHlLVHRjYm1OdmJuTjBJRlpGUXpOZlVFOVRTVlJKVmtWZldTQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLREF1TUN3Z01TNHdMQ0F3TGpBcE8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5URzl2YTBGMFNHVnNjR1Z5SUdWNGRHVnVaSE1nVkVoU1JVVXVSM0p2ZFhBZ2UxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2dkbkp0VEc5dmEwRjBPaUJXVWsxTWIyOXJRWFE3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyMWxjMmhaWVhjNklGUklVa1ZGTGsxbGMyZzhSbUZ1UW5WbVptVnlSMlZ2YldWMGNua3NJRlJJVWtWRkxrMWxjMmhDWVhOcFkwMWhkR1Z5YVdGc1BqdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JmYldWemFGQnBkR05vT2lCVVNGSkZSUzVOWlhOb1BFWmhia0oxWm1abGNrZGxiMjFsZEhKNUxDQlVTRkpGUlM1TlpYTm9RbUZ6YVdOTllYUmxjbWxoYkQ0N1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2dYMnhwYm1WVVlYSm5aWFE2SUZSSVVrVkZMa3hwYm1WVFpXZHRaVzUwY3p4TWFXNWxRVzVrVTNCb1pYSmxRblZtWm1WeVIyVnZiV1YwY25rc0lGUklVa1ZGTGt4cGJtVkNZWE5wWTAxaGRHVnlhV0ZzUGp0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYkc5dmEwRjBPaUJXVWsxTWIyOXJRWFFwSUh0Y2JpQWdJQ0J6ZFhCbGNpZ3BPMXh1SUNBZ0lIUm9hWE11YldGMGNtbDRRWFYwYjFWd1pHRjBaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdkR2hwY3k1MmNtMU1iMjlyUVhRZ1BTQnNiMjlyUVhRN1hHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCamIyNXpkQ0JuWlc5dFpYUnllU0E5SUc1bGR5QkdZVzVDZFdabVpYSkhaVzl0WlhSeWVTZ3BPMXh1SUNBZ0lDQWdaMlZ2YldWMGNua3VjbUZrYVhWeklEMGdNQzQxTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiQ0E5SUc1bGR5QlVTRkpGUlM1TlpYTm9RbUZ6YVdOTllYUmxjbWxoYkNoN1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBd2VEQXdabVl3TUN4Y2JpQWdJQ0FnSUNBZ2RISmhibk53WVhKbGJuUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklEQXVOU3hjYmlBZ0lDQWdJQ0FnYzJsa1pUb2dWRWhTUlVVdVJHOTFZbXhsVTJsa1pTeGNiaUFnSUNBZ0lDQWdaR1Z3ZEdoVVpYTjBPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdaR1Z3ZEdoWGNtbDBaVG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnZEdocGN5NWZiV1Z6YUZCcGRHTm9JRDBnYm1WM0lGUklVa1ZGTGsxbGMyZ29aMlZ2YldWMGNua3NJRzFoZEdWeWFXRnNLVHRjYmlBZ0lDQWdJSFJvYVhNdVlXUmtLSFJvYVhNdVgyMWxjMmhRYVhSamFDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWjJWdmJXVjBjbmtnUFNCdVpYY2dSbUZ1UW5WbVptVnlSMlZ2YldWMGNua29LVHRjYmlBZ0lDQWdJR2RsYjIxbGRISjVMbkpoWkdsMWN5QTlJREF1TlR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3dnUFNCdVpYY2dWRWhTUlVVdVRXVnphRUpoYzJsalRXRjBaWEpwWVd3b2UxeHVJQ0FnSUNBZ0lDQmpiMnh2Y2pvZ01IaG1aakF3TURBc1hHNGdJQ0FnSUNBZ0lIUnlZVzV6Y0dGeVpXNTBPaUIwY25WbExGeHVJQ0FnSUNBZ0lDQnZjR0ZqYVhSNU9pQXdMalVzWEc0Z0lDQWdJQ0FnSUhOcFpHVTZJRlJJVWtWRkxrUnZkV0pzWlZOcFpHVXNYRzRnSUNBZ0lDQWdJR1JsY0hSb1ZHVnpkRG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJR1JsY0hSb1YzSnBkR1U2SUdaaGJITmxMRnh1SUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMjFsYzJoWllYY2dQU0J1WlhjZ1ZFaFNSVVV1VFdWemFDaG5aVzl0WlhSeWVTd2diV0YwWlhKcFlXd3BPMXh1SUNBZ0lDQWdkR2hwY3k1aFpHUW9kR2hwY3k1ZmJXVnphRmxoZHlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaMlZ2YldWMGNua2dQU0J1WlhjZ1RHbHVaVUZ1WkZOd2FHVnlaVUoxWm1abGNrZGxiMjFsZEhKNUtDazdYRzRnSUNBZ0lDQm5aVzl0WlhSeWVTNXlZV1JwZFhNZ1BTQXdMakU3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNJRDBnYm1WM0lGUklVa1ZGTGt4cGJtVkNZWE5wWTAxaGRHVnlhV0ZzS0h0Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SURCNFptWm1abVptTEZ4dUlDQWdJQ0FnSUNCa1pYQjBhRlJsYzNRNklHWmhiSE5sTEZ4dUlDQWdJQ0FnSUNCa1pYQjBhRmR5YVhSbE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5c2FXNWxWR0Z5WjJWMElEMGdibVYzSUZSSVVrVkZMa3hwYm1WVFpXZHRaVzUwY3loblpXOXRaWFJ5ZVN3Z2JXRjBaWEpwWVd3cE8xeHVJQ0FnSUNBZ2RHaHBjeTVmYkdsdVpWUmhjbWRsZEM1bWNuVnpkSFZ0UTNWc2JHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjBhR2x6TG1Ga1pDaDBhR2x6TGw5c2FXNWxWR0Z5WjJWMEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1pHbHpjRzl6WlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0IwYUdsekxsOXRaWE5vV1dGM0xtZGxiMjFsZEhKNUxtUnBjM0J2YzJVb0tUdGNiaUFnSUNCMGFHbHpMbDl0WlhOb1dXRjNMbTFoZEdWeWFXRnNMbVJwYzNCdmMyVW9LVHRjYmx4dUlDQWdJSFJvYVhNdVgyMWxjMmhRYVhSamFDNW5aVzl0WlhSeWVTNWthWE53YjNObEtDazdYRzRnSUNBZ2RHaHBjeTVmYldWemFGQnBkR05vTG0xaGRHVnlhV0ZzTG1ScGMzQnZjMlVvS1R0Y2JseHVJQ0FnSUhSb2FYTXVYMnhwYm1WVVlYSm5aWFF1WjJWdmJXVjBjbmt1WkdsemNHOXpaU2dwTzF4dUlDQWdJSFJvYVhNdVgyeHBibVZVWVhKblpYUXViV0YwWlhKcFlXd3VaR2x6Y0c5elpTZ3BPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSFZ3WkdGMFpVMWhkSEpwZUZkdmNteGtLR1p2Y21ObE9pQmliMjlzWldGdUtUb2dkbTlwWkNCN1hHNGdJQ0FnTHk4Z2RYQmtZWFJsSUdkbGIyMWxkSEpwWlhOY2JpQWdJQ0JqYjI1emRDQjVZWGNnUFNCVVNGSkZSUzVOWVhSb1ZYUnBiSE11UkVWSE1sSkJSQ0FxSUhSb2FYTXVkbkp0VEc5dmEwRjBMbmxoZHp0Y2JpQWdJQ0IwYUdsekxsOXRaWE5vV1dGM0xtZGxiMjFsZEhKNUxuUm9aWFJoSUQwZ2VXRjNPMXh1SUNBZ0lIUm9hWE11WDIxbGMyaFpZWGN1WjJWdmJXVjBjbmt1ZFhCa1lYUmxLQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQndhWFJqYUNBOUlGUklVa1ZGTGsxaGRHaFZkR2xzY3k1RVJVY3lVa0ZFSUNvZ2RHaHBjeTUyY20xTWIyOXJRWFF1Y0dsMFkyZzdYRzRnSUNBZ2RHaHBjeTVmYldWemFGQnBkR05vTG1kbGIyMWxkSEo1TG5Sb1pYUmhJRDBnY0dsMFkyZzdYRzRnSUNBZ2RHaHBjeTVmYldWemFGQnBkR05vTG1kbGIyMWxkSEo1TG5Wd1pHRjBaU2dwTzF4dVhHNGdJQ0FnTHk4Z1oyVjBJSGR2Y214a0lIQnZjMmwwYVc5dUlHRnVaQ0J4ZFdGMFpYSnVhVzl1WEc0Z0lDQWdkR2hwY3k1MmNtMU1iMjlyUVhRdVoyVjBURzl2YTBGMFYyOXliR1JRYjNOcGRHbHZiaWhmZGpOQktUdGNiaUFnSUNCMGFHbHpMblp5YlV4dmIydEJkQzVuWlhSTWIyOXJRWFJYYjNKc1pGRjFZWFJsY201cGIyNG9YM0YxWVhSQktUdGNibHh1SUNBZ0lDOHZJR05oYkdOMWJHRjBaU0J5YjNSaGRHbHZiaUIxYzJsdVp5Qm1ZV05sUm5KdmJuUmNiaUFnSUNCZmNYVmhkRUV1YlhWc2RHbHdiSGtvZEdocGN5NTJjbTFNYjI5clFYUXVaMlYwUm1GalpVWnliMjUwVVhWaGRHVnlibWx2YmloZmNYVmhkRUlwS1R0Y2JseHVJQ0FnSUM4dklITmxkQ0IwY21GdWMyWnZjbTBnZEc4Z2JXVnphR1Z6WEc0Z0lDQWdkR2hwY3k1ZmJXVnphRmxoZHk1d2IzTnBkR2x2Ymk1amIzQjVLRjkyTTBFcE8xeHVJQ0FnSUhSb2FYTXVYMjFsYzJoWllYY3VjWFZoZEdWeWJtbHZiaTVqYjNCNUtGOXhkV0YwUVNrN1hHNWNiaUFnSUNCMGFHbHpMbDl0WlhOb1VHbDBZMmd1Y0c5emFYUnBiMjR1WTI5d2VTaGZkak5CS1R0Y2JpQWdJQ0IwYUdsekxsOXRaWE5vVUdsMFkyZ3VjWFZoZEdWeWJtbHZiaTVqYjNCNUtGOXhkV0YwUVNrN1hHNGdJQ0FnZEdocGN5NWZiV1Z6YUZCcGRHTm9MbkYxWVhSbGNtNXBiMjR1YlhWc2RHbHdiSGtvWDNGMVlYUkNMbk5sZEVaeWIyMUJlR2x6UVc1bmJHVW9Wa1ZETTE5UVQxTkpWRWxXUlY5WkxDQjVZWGNwS1R0Y2JpQWdJQ0IwYUdsekxsOXRaWE5vVUdsMFkyZ3VjWFZoZEdWeWJtbHZiaTV0ZFd4MGFYQnNlU2hSVlVGVVgxaFpYME5YT1RBcE8xeHVYRzRnSUNBZ0x5OGdkWEJrWVhSbElIUmhjbWRsZENCc2FXNWxJR0Z1WkNCemNHaGxjbVZjYmlBZ0lDQmpiMjV6ZENCN0lIUmhjbWRsZEN3Z1lYVjBiMVZ3WkdGMFpTQjlJRDBnZEdocGN5NTJjbTFNYjI5clFYUTdYRzRnSUNBZ2FXWWdLSFJoY21kbGRDQWhQU0J1ZFd4c0lDWW1JR0YxZEc5VmNHUmhkR1VwSUh0Y2JpQWdJQ0FnSUhSaGNtZGxkQzVuWlhSWGIzSnNaRkJ2YzJsMGFXOXVLRjkyTTBJcExuTjFZaWhmZGpOQktUdGNiaUFnSUNBZ0lIUm9hWE11WDJ4cGJtVlVZWEpuWlhRdVoyVnZiV1YwY25rdWRHRnBiQzVqYjNCNUtGOTJNMElwTzF4dUlDQWdJQ0FnZEdocGN5NWZiR2x1WlZSaGNtZGxkQzVuWlc5dFpYUnllUzUxY0dSaGRHVW9LVHRjYmlBZ0lDQWdJSFJvYVhNdVgyeHBibVZVWVhKblpYUXVjRzl6YVhScGIyNHVZMjl3ZVNoZmRqTkJLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJoY0hCc2VTQjBjbUZ1YzJadmNtMGdkRzhnYldWemFHVnpYRzRnSUNBZ2MzVndaWEl1ZFhCa1lYUmxUV0YwY21sNFYyOXliR1FvWm05eVkyVXBPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVjYm1OdmJuTjBJRjl3YjNOcGRHbHZiaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWpiMjV6ZENCZmMyTmhiR1VnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzR2S2lwY2JpQXFJRUVnY21Wd2JHRmpaVzFsYm5RZ2IyWWdZRTlpYW1WamRETkVMbWRsZEZkdmNteGtVWFZoZEdWeWJtbHZibUF1WEc0Z0tpQkZlSFJ5WVdOMElIUm9aU0IzYjNKc1pDQnhkV0YwWlhKdWFXOXVJRzltSUdGdUlHOWlhbVZqZENCbWNtOXRJR2wwY3lCM2IzSnNaQ0J6Y0dGalpTQnRZWFJ5YVhnc0lIZHBkR2h2ZFhRZ1kyRnNiR2x1WnlCZ1QySnFaV04wTTBRdWRYQmtZWFJsVjI5eWJHUk5ZWFJ5YVhoZ0xseHVJQ29nVlhObElIUm9hWE1nZDJobGJpQjViM1VuY21VZ2MzVnlaU0IwYUdGMElIUm9aU0IzYjNKc1pDQnRZWFJ5YVhnZ2FYTWdkWEF0ZEc4dFpHRjBaUzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdiMkpxWldOMElGUm9aU0J2WW1wbFkzUmNiaUFxSUVCd1lYSmhiU0J2ZFhRZ1FTQjBZWEpuWlhRZ2NYVmhkR1Z5Ym1sdmJseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFYyOXliR1JSZFdGMFpYSnVhVzl1VEdsMFpTaHZZbXBsWTNRNklGUklVa1ZGTGs5aWFtVmpkRE5FTENCdmRYUTZJRlJJVWtWRkxsRjFZWFJsY201cGIyNHBPaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVJSHRjYmlBZ2IySnFaV04wTG0xaGRISnBlRmR2Y214a0xtUmxZMjl0Y0c5elpTaGZjRzl6YVhScGIyNHNJRzkxZEN3Z1gzTmpZV3hsS1R0Y2JpQWdjbVYwZFhKdUlHOTFkRHRjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JseHVMeW9xWEc0Z0tpQkRZV3hqZFd4aGRHVWdZWHBwYlhWMGFDQXZJR0ZzZEdsMGRXUmxJR0Z1WjJ4bGN5Qm1jbTl0SUdFZ2RtVmpkRzl5TGx4dUlDcGNiaUFxSUZSb2FYTWdjbVYwZFhKdWN5QmhJR1JwWm1abGNtVnVZMlVnYjJZZ1lXNW5iR1Z6SUdaeWIyMGdLREVzSURBc0lEQXBMbHh1SUNvZ1FYcHBiWFYwYUNCeVpYQnlaWE5sYm5SeklHRnVJR0Z1WjJ4bElHRnliM1Z1WkNCWklHRjRhWE11WEc0Z0tpQkJiSFJwZEhWa1pTQnlaWEJ5WlhObGJuUnpJR0Z1SUdGdVoyeGxJR0Z5YjNWdVpDQmFJR0Y0YVhNdVhHNGdLaUJKZENCcGN5QnliM1JoZEdWa0lHbHVJR2x1ZEhKcGJuTnBZeUJaTFZvZ2IzSmtaWEl1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSFpsWTNSdmNpQlVhR1VnZG1WamRHOXlYRzRnS2lCQWNtVjBkWEp1Y3lCQklIUjFjR3hsSUdOdmJuUmhhVzV6SUhSM2J5QmhibWRzWlhNc0lHQmJJR0Y2YVcxMWRHZ3NJR0ZzZEdsMGRXUmxJRjFnWEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmpZV3hqUVhwcGJYVjBhRUZzZEdsMGRXUmxLSFpsWTNSdmNqb2dWRWhTUlVVdVZtVmpkRzl5TXlrNklGdGhlbWx0ZFhSb09pQnVkVzFpWlhJc0lHRnNkR2wwZFdSbE9pQnVkVzFpWlhKZElIdGNiaUFnY21WMGRYSnVJRnROWVhSb0xtRjBZVzR5S0MxMlpXTjBiM0l1ZWl3Z2RtVmpkRzl5TG5ncExDQk5ZWFJvTG1GMFlXNHlLSFpsWTNSdmNpNTVMQ0JOWVhSb0xuTnhjblFvZG1WamRHOXlMbmdnS2lCMlpXTjBiM0l1ZUNBcklIWmxZM1J2Y2k1NklDb2dkbVZqZEc5eUxub3BLVjA3WEc1OVhHNGlMQ0l2S2lwY2JpQXFJRTFoYTJVZ2MzVnlaU0IwYUdVZ1lXNW5iR1VnYVhNZ2QybDBhR2x1SUMxUVNTQjBieUJRU1M1Y2JpQXFYRzRnS2lCQVpYaGhiWEJzWlZ4dUlDb2dZR0JnYW5OY2JpQXFJSE5oYm1sMGFYcGxRVzVuYkdVb01TNDFJQ29nVFdGMGFDNVFTU2tnTHk4Z0xUQXVOU0FxSUZCSlhHNGdLaUJnWUdCY2JpQXFYRzRnS2lCQWNHRnlZVzBnWVc1bmJHVWdRVzRnYVc1d2RYUWdZVzVuYkdWY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5oYm1sMGFYcGxRVzVuYkdVb1lXNW5iR1U2SUc1MWJXSmxjaWs2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhKdmRXNWtWSFZ5YmlBOUlFMWhkR2d1Y205MWJtUW9ZVzVuYkdVZ0x5QXlMakFnTHlCTllYUm9MbEJKS1R0Y2JpQWdjbVYwZFhKdUlHRnVaMnhsSUMwZ01pNHdJQ29nVFdGMGFDNVFTU0FxSUhKdmRXNWtWSFZ5Ymp0Y2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFVoMWJXRnViMmxrSUgwZ1puSnZiU0FuTGk0dmFIVnRZVzV2YVdRbk8xeHVhVzF3YjNKMElIc2daMlYwVjI5eWJHUlJkV0YwWlhKdWFXOXVUR2wwWlNCOUlHWnliMjBnSnk0dUwzVjBhV3h6TDJkbGRGZHZjbXhrVVhWaGRHVnlibWx2Ymt4cGRHVW5PMXh1YVcxd2IzSjBJSHNnY1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ0I5SUdaeWIyMGdKeTR1TDNWMGFXeHpMM0YxWVhSSmJuWmxjblJEYjIxd1lYUW5PMXh1YVcxd2IzSjBJSHNnWTJGc1kwRjZhVzExZEdoQmJIUnBkSFZrWlNCOUlHWnliMjBnSnk0dmRYUnBiSE12WTJGc1kwRjZhVzExZEdoQmJIUnBkSFZrWlNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVeHZiMnRCZEVGd2NHeHBaWElnZlNCbWNtOXRJQ2N1TDFaU1RVeHZiMnRCZEVGd2NHeHBaWEluTzF4dWFXMXdiM0owSUhzZ2MyRnVhWFJwZW1WQmJtZHNaU0I5SUdaeWIyMGdKeTR2ZFhScGJITXZjMkZ1YVhScGVtVkJibWRzWlNjN1hHNWNibU52Ym5OMElGWkZRek5mVUU5VFNWUkpWa1ZmV2lBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektEQXVNQ3dnTUM0d0xDQXhMakFwTzF4dVhHNWpiMjV6ZENCZmRqTkJJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vS1R0Y2JtTnZibk4wSUY5Mk0wSWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVkyOXVjM1FnWDNZelF5QTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmY1hWaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVZMjl1YzNRZ1gzRjFZWFJDSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYm1OdmJuTjBJRjl4ZFdGMFF5QTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNWpiMjV6ZENCZmNYVmhkRVFnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WTI5dWMzUWdYMlYxYkdWeVFTQTlJRzVsZHlCVVNGSkZSUzVGZFd4bGNpZ3BPMXh1WEc0dktpcGNiaUFxSUVFZ1kyeGhjM01nWTI5dWRISnZiSE1nWlhsbElHZGhlbVVnYlc5MlpXMWxiblJ6SUc5bUlHRWdWbEpOTGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5URzl2YTBGMElIdGNiaUFnY0hWaWJHbGpJSE4wWVhScFl5QnlaV0ZrYjI1c2VTQkZWVXhGVWw5UFVrUkZVaUE5SUNkWldGb25PeUF2THlCNVlYY3RjR2wwWTJndGNtOXNiRnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYjNKcFoybHVJRzltSUV4dmIydEJkQzRnVUc5emFYUnBiMjRnYjJabWMyVjBJR1p5YjIwZ2RHaGxJR2hsWVdRZ1ltOXVaUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ2Wm1aelpYUkdjbTl0U0dWaFpFSnZibVVnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmRITWdZWE56YjJOcFlYUmxaQ0I3UUd4cGJtc2dWbEpOU0hWdFlXNXZhV1I5TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUdoMWJXRnViMmxrT2lCV1VrMUlkVzFoYm05cFpEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSHRBYkdsdWF5QldVazFNYjI5clFYUkJjSEJzYVdWeWZTQnZaaUIwYUdVZ1RHOXZhMEYwTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGd2NHeHBaWEk2SUZaU1RVeHZiMnRCZEVGd2NHeHBaWEk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWxtSUhSb2FYTWdhWE1nZEhKMVpTd2dkR2hsSUV4dmIydEJkQ0IzYVd4c0lHSmxJSFZ3WkdGMFpXUWdZWFYwYjIxaGRHbGpZV3hzZVNCaWVTQmpZV3hzYVc1bklIdEFiR2x1YXlCMWNHUmhkR1Y5TENCMGIzZGhjbVJwYm1jZ2RHaGxJR1JwY21WamRHbHZiaUIwYnlCMGFHVWdlMEJzYVc1cklIUmhjbWRsZEgwdVhHNGdJQ0FxSUdCMGNuVmxZQ0JpZVNCa1pXWmhkV3gwTGx4dUlDQWdLbHh1SUNBZ0tpQlRaV1VnWVd4emJ6b2dlMEJzYVc1cklIUmhjbWRsZEgxY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCaGRYUnZWWEJrWVhSbElEMGdkSEoxWlR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIUmhjbWRsZENCdlltcGxZM1FnYjJZZ2RHaGxJRXh2YjJ0QmRDNWNiaUFnSUNvZ1RtOTBaU0IwYUdGMElHbDBJR1J2WlhNZ2JtOTBJRzFoYTJVZ1lXNTVJSE5sYm5ObElHbG1JSHRBYkdsdWF5QmhkWFJ2VlhCa1lYUmxmU0JwY3lCa2FYTmhZbXhsWkM1Y2JpQWdJQ3BjYmlBZ0lDb2dVMlZsSUdGc2MyODZJSHRBYkdsdWF5QmhkWFJ2VlhCa1lYUmxmVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSFJoY21kbGREODZJRlJJVWtWRkxrOWlhbVZqZERORUlId2diblZzYkR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHWnliMjUwSUdScGNtVmpkR2x2YmlCdlppQjBhR1VnWm1GalpTNWNiaUFnSUNvZ1NXNTBaVzVrWldRZ2RHOGdZbVVnZFhObFpDQm1iM0lnVmxKTklEQXVNQ0JqYjIxd1lYUWdLRlpTVFNBd0xqQWdiVzlrWld4eklHRnlaU0JtWVdOcGJtY2dXaTBnYVc1emRHVmhaQ0J2WmlCYUt5a3VYRzRnSUNBcUlGbHZkU0IxYzNWaGJHeDVJR1J2YmlkMElIZGhiblFnZEc4Z2RHOTFZMmdnZEdocGN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm1ZV05sUm5KdmJuUWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWd3TGpBc0lEQXVNQ3dnTVM0d0tUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1NYUnpJR04xY25KbGJuUWdZVzVuYkdVZ1lYSnZkVzVrSUZrZ1lYaHBjeXdnYVc0Z1pHVm5jbVZsTGx4dUlDQWdLaTljYmlBZ2NISnZkR1ZqZEdWa0lGOTVZWGM2SUc1MWJXSmxjanRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTWFJ6SUdOMWNuSmxiblFnWVc1bmJHVWdZWEp2ZFc1a0lGa2dZWGhwY3l3Z2FXNGdaR1ZuY21WbExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkQ0I1WVhjb0tUb2diblZ0WW1WeUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZlV0YzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbDBjeUJqZFhKeVpXNTBJR0Z1WjJ4bElHRnliM1Z1WkNCWklHRjRhWE1zSUdsdUlHUmxaM0psWlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCelpYUWdlV0YzS0haaGJIVmxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQjBhR2x6TGw5NVlYY2dQU0IyWVd4MVpUdGNiaUFnSUNCMGFHbHpMbDl1WldWa2MxVndaR0YwWlNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NYUnpJR04xY25KbGJuUWdZVzVuYkdVZ1lYSnZkVzVrSUZnZ1lYaHBjeXdnYVc0Z1pHVm5jbVZsTGx4dUlDQWdLaTljYmlBZ2NISnZkR1ZqZEdWa0lGOXdhWFJqYURvZ2JuVnRZbVZ5TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJKZEhNZ1kzVnljbVZ1ZENCaGJtZHNaU0JoY205MWJtUWdXQ0JoZUdsekxDQnBiaUJrWldkeVpXVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwSUhCcGRHTm9LQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNCcGRHTm9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsMGN5QmpkWEp5Wlc1MElHRnVaMnhsSUdGeWIzVnVaQ0JZSUdGNGFYTXNJR2x1SUdSbFozSmxaUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhRZ2NHbDBZMmdvZG1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11WDNCcGRHTm9JRDBnZG1Gc2RXVTdYRzRnSUNBZ2RHaHBjeTVmYm1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTndaV05wWm1sbGN5QjBhR0YwSUdGdVoyeGxjeUJ1WldWa0lIUnZJR0psSUdGd2NHeHBaV1FnZEc4Z2FYUnpJRnRBYkdsdWF5QmhjSEJzYVdWeVhTNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JmYm1WbFpITlZjR1JoZEdVNklHSnZiMnhsWVc0N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZkdmNteGtJSEp2ZEdGMGFXOXVJRzltSUhSb1pTQm9aV0ZrSUdsdUlHbDBjeUJ5WlhOMElIQnZjMlV1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5eVpYTjBTR1ZoWkZkdmNteGtVWFZoZEdWeWJtbHZiam9nVkVoU1JVVXVVWFZoZEdWeWJtbHZianRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsY0hKbFkyRjBaV1FnVlhObElIdEFiR2x1YXlCblpYUkZkV3hsY24wZ2FXNXpkR1ZoWkM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdaWFZzWlhJb0tUb2dWRWhTUlVVdVJYVnNaWElnZTF4dUlDQWdJR052Ym5OdmJHVXVkMkZ5YmlnblZsSk5URzl2YTBGME9pQmxkV3hsY2lCcGN5QmtaWEJ5WldOaGRHVmtMaUIxYzJVZ1oyVjBSWFZzWlhJb0tTQnBibk4wWldGa0xpY3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFJYVnNaWElvYm1WM0lGUklVa1ZGTGtWMWJHVnlLQ2twTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElHNWxkeUI3UUd4cGJtc2dWbEpOVEc5dmEwRjBmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdoMWJXRnViMmxrSUVFZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZWeHVJQ0FnS2lCQWNHRnlZVzBnWVhCd2JHbGxjaUJCSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJCY0hCc2FXVnlmVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR052Ym5OMGNuVmpkRzl5S0doMWJXRnViMmxrT2lCV1VrMUlkVzFoYm05cFpDd2dZWEJ3YkdsbGNqb2dWbEpOVEc5dmEwRjBRWEJ3YkdsbGNpa2dlMXh1SUNBZ0lIUm9hWE11YUhWdFlXNXZhV1FnUFNCb2RXMWhibTlwWkR0Y2JpQWdJQ0IwYUdsekxtRndjR3hwWlhJZ1BTQmhjSEJzYVdWeU8xeHVYRzRnSUNBZ2RHaHBjeTVmZVdGM0lEMGdNQzR3TzF4dUlDQWdJSFJvYVhNdVgzQnBkR05vSUQwZ01DNHdPMXh1SUNBZ0lIUm9hWE11WDI1bFpXUnpWWEJrWVhSbElEMGdkSEoxWlR0Y2JseHVJQ0FnSUhSb2FYTXVYM0psYzNSSVpXRmtWMjl5YkdSUmRXRjBaWEp1YVc5dUlEMGdkR2hwY3k1blpYUk1iMjlyUVhSWGIzSnNaRkYxWVhSbGNtNXBiMjRvYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElHbDBjeUI1WVhjdGNHbDBZMmdnWVc1bmJHVnpJR0Z6SUdGdUlHQkZkV3hsY21BdVhHNGdJQ0FxSUVSdlpYTWdUazlVSUdOdmJuTnBaR1Z5SUh0QWJHbHVheUJtWVdObFJuSnZiblI5T3lCcGRDQnlaWFIxY201eklHQkZkV3hsY2lnd0xDQXdMQ0F3T3lCY0lsbFlXbHdpS1dBZ1lua2daR1ZtWVhWc2RDQnlaV2RoY21Sc1pYTnpJRzltSUhSb1pTQm1ZV05sUm5KdmJuUWdkbUZzZFdVdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQjBZWEpuWlhRZ1ZHaGxJSFJoY21kbGRDQmxkV3hsY2x4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFVjFiR1Z5S0hSaGNtZGxkRG9nVkVoU1JVVXVSWFZzWlhJcE9pQlVTRkpGUlM1RmRXeGxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUmhjbWRsZEM1elpYUW9WRWhTUlVVdVRXRjBhRlYwYVd4ekxrUkZSekpTUVVRZ0tpQjBhR2x6TGw5d2FYUmphQ3dnVkVoU1JVVXVUV0YwYUZWMGFXeHpMa1JGUnpKU1FVUWdLaUIwYUdsekxsOTVZWGNzSURBdU1Dd2dKMWxZV2ljcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU52Y0hrZ2RHaGxJR2RwZG1WdUlIdEFiR2x1YXlCV1VrMU1iMjlyUVhSOUlHbHVkRzhnZEdocGN5QnZibVV1WEc0Z0lDQXFJSHRBYkdsdWF5Qm9kVzFoYm05cFpIMGdiWFZ6ZENCaVpTQnpZVzFsSUdGeklIUm9aU0J6YjNWeVkyVWdiMjVsTGx4dUlDQWdLaUI3UUd4cGJtc2dZWEJ3YkdsbGNuMGdkMmxzYkNCeVpXWmxjbVZ1WTJVZ2RHaGxJSE5oYldVZ2FXNXpkR0Z1WTJVZ1lYTWdkR2hsSUhOdmRYSmpaU0J2Ym1VdVhHNGdJQ0FxSUVCd1lYSmhiU0J6YjNWeVkyVWdWR2hsSUh0QWJHbHVheUJXVWsxTWIyOXJRWFI5SUhsdmRTQjNZVzUwSUhSdklHTnZjSGxjYmlBZ0lDb2dRSEpsZEhWeWJuTWdkR2hwYzF4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOdmNIa29jMjkxY21ObE9pQldVazFNYjI5clFYUXBPaUIwYUdseklIdGNiaUFnSUNCcFppQW9kR2hwY3k1b2RXMWhibTlwWkNBaFBUMGdjMjkxY21ObExtaDFiV0Z1YjJsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxWlNUVXh2YjJ0QmREb2dhSFZ0WVc1dmFXUWdiWFZ6ZENCaVpTQnpZVzFsSUdsdUlHOXlaR1Z5SUhSdklHTnZjSGtuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtOW1abk5sZEVaeWIyMUlaV0ZrUW05dVpTNWpiM0I1S0hOdmRYSmpaUzV2Wm1aelpYUkdjbTl0U0dWaFpFSnZibVVwTzF4dUlDQWdJSFJvYVhNdVlYQndiR2xsY2lBOUlITnZkWEpqWlM1aGNIQnNhV1Z5TzF4dUlDQWdJSFJvYVhNdVlYVjBiMVZ3WkdGMFpTQTlJSE52ZFhKalpTNWhkWFJ2VlhCa1lYUmxPMXh1SUNBZ0lIUm9hWE11ZEdGeVoyVjBJRDBnYzI5MWNtTmxMblJoY21kbGREdGNiaUFnSUNCMGFHbHpMbVpoWTJWR2NtOXVkQzVqYjNCNUtITnZkWEpqWlM1bVlXTmxSbkp2Ym5RcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoSUdOc2IyNWxJRzltSUhSb2FYTWdlMEJzYVc1cklGWlNUVXh2YjJ0QmRIMHVYRzRnSUNBcUlFNXZkR1VnZEdoaGRDQjdRR3hwYm1zZ2FIVnRZVzV2YVdSOUlHRnVaQ0I3UUd4cGJtc2dZWEJ3YkdsbGNuMGdkMmxzYkNCeVpXWmxjbVZ1WTJVZ2RHaGxJSE5oYldVZ2FXNXpkR0Z1WTJVZ1lYTWdkR2hwY3lCdmJtVXVYRzRnSUNBcUlFQnlaWFIxY201eklFTnZjR2xsWkNCN1FHeHBibXNnVmxKTlRHOXZhMEYwZlZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOc2IyNWxLQ2s2SUZaU1RVeHZiMnRCZENCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCV1VrMU1iMjlyUVhRb2RHaHBjeTVvZFcxaGJtOXBaQ3dnZEdocGN5NWhjSEJzYVdWeUtTNWpiM0I1S0hSb2FYTXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGMyVjBJSFJvWlNCc2IyOXJRWFFnWkdseVpXTjBhVzl1SUNoNVlYY2dZVzVrSUhCcGRHTm9LU0IwYnlCMGFHVWdhVzVwZEdsaGJDQmthWEpsWTNScGIyNHVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZ6WlhRb0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZlV0YzSUQwZ01DNHdPMXh1SUNBZ0lIUm9hWE11WDNCcGRHTm9JRDBnTUM0d08xeHVJQ0FnSUhSb2FYTXVYMjVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdhWFJ6SUd4dmIydEJkQ0J3YjNOcGRHbHZiaUJwYmlCM2IzSnNaQ0JqYjI5eVpHbHVZWFJsTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2RHRnlaMlYwSUVFZ2RHRnlaMlYwSUdCVVNGSkZSUzVXWldOMGIzSXpZRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEV4dmIydEJkRmR2Y214a1VHOXphWFJwYjI0b2RHRnlaMlYwT2lCVVNGSkZSUzVXWldOMGIzSXpLVG9nVkVoU1JVVXVWbVZqZEc5eU15QjdYRzRnSUNBZ1kyOXVjM1FnYUdWaFpDQTlJSFJvYVhNdWFIVnRZVzV2YVdRdVoyVjBVbUYzUW05dVpVNXZaR1VvSjJobFlXUW5LU0U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR0Z5WjJWMExtTnZjSGtvZEdocGN5NXZabVp6WlhSR2NtOXRTR1ZoWkVKdmJtVXBMbUZ3Y0d4NVRXRjBjbWw0TkNob1pXRmtMbTFoZEhKcGVGZHZjbXhrS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnYVhSeklHeHZiMnRCZENCeWIzUmhkR2x2YmlCcGJpQjNiM0pzWkNCamIyOXlaR2x1WVhSbExseHVJQ0FnS2lCRWIyVnpJRTVQVkNCamIyNXphV1JsY2lCN1FHeHBibXNnWm1GalpVWnliMjUwZlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIUmhjbWRsZENCQklIUmhjbWRsZENCZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ym1CY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUk1iMjlyUVhSWGIzSnNaRkYxWVhSbGNtNXBiMjRvZEdGeVoyVjBPaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLVG9nVkVoU1JVVXVVWFZoZEdWeWJtbHZiaUI3WEc0Z0lDQWdZMjl1YzNRZ2FHVmhaQ0E5SUhSb2FYTXVhSFZ0WVc1dmFXUXVaMlYwVW1GM1FtOXVaVTV2WkdVb0oyaGxZV1FuS1NFN1hHNWNiaUFnSUNCeVpYUjFjbTRnWjJWMFYyOXliR1JSZFdGMFpYSnVhVzl1VEdsMFpTaG9aV0ZrTENCMFlYSm5aWFFwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0JoSUhGMVlYUmxjbTVwYjI0Z2RHaGhkQ0J5YjNSaGRHVnpJSFJvWlNBcldpQjFibWwwSUhabFkzUnZjaUJ2WmlCMGFHVWdhSFZ0WVc1dmFXUWdTR1ZoWkNCMGJ5QjBhR1VnZTBCc2FXNXJJR1poWTJWR2NtOXVkSDBnWkdseVpXTjBhVzl1TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2RHRnlaMlYwSUVFZ2RHRnlaMlYwSUdCVVNGSkZSUzVSZFdGMFpYSnVhVzl1WUZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFWmhZMlZHY205dWRGRjFZWFJsY201cGIyNG9kR0Z5WjJWME9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtUb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdVptRmpaVVp5YjI1MExtUnBjM1JoYm1ObFZHOVRjWFZoY21Wa0tGWkZRek5mVUU5VFNWUkpWa1ZmV2lrZ1BDQXdMakF4S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdGeVoyVjBMbU52Y0hrb2RHaHBjeTVmY21WemRFaGxZV1JYYjNKc1pGRjFZWFJsY201cGIyNHBMbWx1ZG1WeWRDZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUZ0bVlXTmxSbkp2Ym5SQmVtbHRkWFJvTENCbVlXTmxSbkp2Ym5SQmJIUnBkSFZrWlYwZ1BTQmpZV3hqUVhwcGJYVjBhRUZzZEdsMGRXUmxLSFJvYVhNdVptRmpaVVp5YjI1MEtUdGNiaUFnSUNCZlpYVnNaWEpCTG5ObGRDZ3dMakFzSURBdU5TQXFJRTFoZEdndVVFa2dLeUJtWVdObFJuSnZiblJCZW1sdGRYUm9MQ0JtWVdObFJuSnZiblJCYkhScGRIVmtaU3dnSjFsYVdDY3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUmhjbWRsZEM1elpYUkdjbTl0UlhWc1pYSW9YMlYxYkdWeVFTa3VjSEpsYlhWc2RHbHdiSGtvWDNGMVlYUkVMbU52Y0hrb2RHaHBjeTVmY21WemRFaGxZV1JYYjNKc1pGRjFZWFJsY201cGIyNHBMbWx1ZG1WeWRDZ3BLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdhWFJ6SUV4dmIydEJkQ0JrYVhKbFkzUnBiMjRnYVc0Z2QyOXliR1FnWTI5dmNtUnBibUYwWlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIUmhjbWRsZENCQklIUmhjbWRsZENCZ1ZFaFNSVVV1Vm1WamRHOXlNMkJjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhSTWIyOXJRWFJYYjNKc1pFUnBjbVZqZEdsdmJpaDBZWEpuWlhRNklGUklVa1ZGTGxabFkzUnZjak1wT2lCVVNGSkZSUzVXWldOMGIzSXpJSHRjYmlBZ0lDQjBhR2x6TG1kbGRFeHZiMnRCZEZkdmNteGtVWFZoZEdWeWJtbHZiaWhmY1hWaGRFSXBPMXh1SUNBZ0lIUm9hWE11WjJWMFJtRmpaVVp5YjI1MFVYVmhkR1Z5Ym1sdmJpaGZjWFZoZEVNcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSaGNtZGxkRnh1SUNBZ0lDQWdMbU52Y0hrb1ZrVkRNMTlRVDFOSlZFbFdSVjlhS1Z4dUlDQWdJQ0FnTG1Gd2NHeDVVWFZoZEdWeWJtbHZiaWhmY1hWaGRFSXBYRzRnSUNBZ0lDQXVZWEJ3YkhsUmRXRjBaWEp1YVc5dUtGOXhkV0YwUXlsY2JpQWdJQ0FnSUM1aGNIQnNlVVYxYkdWeUtIUm9hWE11WjJWMFJYVnNaWElvWDJWMWJHVnlRU2twTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTmxkQ0JwZEhNZ2JHOXZhMEYwSUhSaGNtZGxkQ0J3YjNOcGRHbHZiaTVjYmlBZ0lDcGNiaUFnSUNvZ1RtOTBaU0IwYUdGMElHbDBjeUJ5WlhOMWJIUWdkMmxzYkNCaVpTQnBibk4wWVc1MGJIa2diM1psY25keWFYUjBaVzRnYVdZZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEVobFlXUXVZWFYwYjFWd1pHRjBaWDBnYVhNZ1pXNWhZbXhsWkM1Y2JpQWdJQ3BjYmlBZ0lDb2dTV1lnZVc5MUlIZGhiblFnZEc4Z2RISmhZMnNnWVc0Z2IySnFaV04wSUdOdmJuUnBiblZ2ZFhOc2VTd2dlVzkxSUcxcFoyaDBJSGRoYm5RZ2RHOGdkWE5sSUh0QWJHbHVheUIwWVhKblpYUjlJR2x1YzNSbFlXUXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0J3YjNOcGRHbHZiaUJCSUhSaGNtZGxkQ0J3YjNOcGRHbHZiaXdnYVc0Z2QyOXliR1FnYzNCaFkyVmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnNiMjlyUVhRb2NHOXphWFJwYjI0NklGUklVa1ZGTGxabFkzUnZjak1wT2lCMmIybGtJSHRjYmlBZ0lDQXZMeUJNYjI5cklHRjBJR1JwY21WamRHbHZiaUJwYmlCc2IyTmhiQ0JqYjI5eVpHbHVZWFJsWEc0Z0lDQWdZMjl1YzNRZ2FHVmhaRkp2ZEVScFptWkpibllnUFNCZmNYVmhkRUZjYmlBZ0lDQWdJQzVqYjNCNUtIUm9hWE11WDNKbGMzUklaV0ZrVjI5eWJHUlJkV0YwWlhKdWFXOXVLVnh1SUNBZ0lDQWdMbTExYkhScGNHeDVLSEYxWVhSSmJuWmxjblJEYjIxd1lYUW9kR2hwY3k1blpYUk1iMjlyUVhSWGIzSnNaRkYxWVhSbGNtNXBiMjRvWDNGMVlYUkNLU2twTzF4dUlDQWdJR052Ym5OMElHaGxZV1JRYjNNZ1BTQjBhR2x6TG1kbGRFeHZiMnRCZEZkdmNteGtVRzl6YVhScGIyNG9YM1l6UWlrN1hHNGdJQ0FnWTI5dWMzUWdiRzl2YTBGMFJHbHlJRDBnWDNZelF5NWpiM0I1S0hCdmMybDBhVzl1S1M1emRXSW9hR1ZoWkZCdmN5a3VZWEJ3YkhsUmRXRjBaWEp1YVc5dUtHaGxZV1JTYjNSRWFXWm1TVzUyS1M1dWIzSnRZV3hwZW1Vb0tUdGNibHh1SUNBZ0lDOHZJR05oYkdOMWJHRjBaU0JoYm1kc1pYTmNiaUFnSUNCamIyNXpkQ0JiWVhwcGJYVjBhRVp5YjIwc0lHRnNkR2wwZFdSbFJuSnZiVjBnUFNCallXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbEtIUm9hWE11Wm1GalpVWnliMjUwS1R0Y2JpQWdJQ0JqYjI1emRDQmJZWHBwYlhWMGFGUnZMQ0JoYkhScGRIVmtaVlJ2WFNBOUlHTmhiR05CZW1sdGRYUm9RV3gwYVhSMVpHVW9iRzl2YTBGMFJHbHlLVHRjYmlBZ0lDQmpiMjV6ZENCNVlYY2dQU0J6WVc1cGRHbDZaVUZ1WjJ4bEtHRjZhVzExZEdoVWJ5QXRJR0Y2YVcxMWRHaEdjbTl0S1R0Y2JpQWdJQ0JqYjI1emRDQndhWFJqYUNBOUlITmhibWwwYVhwbFFXNW5iR1VvWVd4MGFYUjFaR1ZHY205dElDMGdZV3gwYVhSMVpHVlVieWs3SUM4dklITndhVzV1YVc1bklDZ3hMQ0F3TENBd0tTQkRRMWNnWVhKdmRXNWtJRm9nWVhocGN5QnRZV3RsY3lCMGFHVWdkbVZqZEc5eUlHeHZiMnNnZFhBc0lIZG9hV3hsSUhOd2FXNXVhVzVuSUNnd0xDQXdMQ0F4S1NCRFExY2dZWEp2ZFc1a0lGZ2dZWGhwY3lCdFlXdGxjeUIwYUdVZ2RtVmpkRzl5SUd4dmIyc2daRzkzYmx4dVhHNGdJQ0FnTHk4Z1lYQndiSGtnWVc1bmJHVnpYRzRnSUNBZ2RHaHBjeTVmZVdGM0lEMGdWRWhTUlVVdVRXRjBhRlYwYVd4ekxsSkJSREpFUlVjZ0tpQjVZWGM3WEc0Z0lDQWdkR2hwY3k1ZmNHbDBZMmdnUFNCVVNGSkZSUzVOWVhSb1ZYUnBiSE11VWtGRU1rUkZSeUFxSUhCcGRHTm9PMXh1WEc0Z0lDQWdkR2hwY3k1ZmJtVmxaSE5WY0dSaGRHVWdQU0IwY25WbE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlZ3WkdGMFpTQjBhR1VnVmxKTlRHOXZhMEYwU0dWaFpDNWNiaUFnSUNvZ1NXWWdlMEJzYVc1cklHRjFkRzlWY0dSaGRHVjlJR2x6SUdWdVlXSnNaV1FzSUhSb2FYTWdkMmxzYkNCdFlXdGxJR2wwSUd4dmIyc2dZWFFnZEdobElIdEFiR2x1YXlCMFlYSm5aWFI5TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1pHVnNkR0VnWkdWc2RHRlVhVzFsTENCcGRDQnBjMjRuZENCMWMyVmtJSFJvYjNWbmFDNGdXVzkxSUdOaGJpQjFjMlVnZEdobElIQmhjbUZ0WlhSbGNpQnBaaUI1YjNVZ2QyRnVkQ0IwYnlCMWMyVWdkR2hwY3lCcGJpQjViM1Z5SUc5M2JpQmxlSFJsYm1SbFpDQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMGZTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QjFjR1JoZEdVb1pHVnNkR0U2SUc1MWJXSmxjaWs2SUhadmFXUWdlMXh1SUNBZ0lHbG1JQ2gwYUdsekxuUmhjbWRsZENBaFBTQnVkV3hzSUNZbUlIUm9hWE11WVhWMGIxVndaR0YwWlNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVzYjI5clFYUW9kR2hwY3k1MFlYSm5aWFF1WjJWMFYyOXliR1JRYjNOcGRHbHZiaWhmZGpOQktTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdVgyNWxaV1J6VlhCa1lYUmxLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOXVaV1ZrYzFWd1pHRjBaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0IwYUdsekxtRndjR3hwWlhJdVlYQndiSGxaWVhkUWFYUmphQ2gwYUdsekxsOTVZWGNzSUhSb2FYTXVYM0JwZEdOb0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQjdJRlpTVFVoMWJXRnViMmxrSUgwZ1puSnZiU0FuTGk0dmFIVnRZVzV2YVdRbk8xeHVhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxTWIyOXJRWFJCY0hCc2FXVnlJSDBnWm5KdmJTQW5MaTlXVWsxTWIyOXJRWFJCY0hCc2FXVnlKenRjYm1sdGNHOXlkQ0I3SUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3SUgwZ1puSnZiU0FuTGk5V1VrMU1iMjlyUVhSU1lXNW5aVTFoY0NjN1hHNXBiWEJ2Y25RZ2V5QmpZV3hqUVhwcGJYVjBhRUZzZEdsMGRXUmxJSDBnWm5KdmJTQW5MaTkxZEdsc2N5OWpZV3hqUVhwcGJYVjBhRUZzZEdsMGRXUmxKenRjYm1sdGNHOXlkQ0I3SUdkbGRGZHZjbXhrVVhWaGRHVnlibWx2Ymt4cGRHVWdmU0JtY205dElDY3VMaTkxZEdsc2N5OW5aWFJYYjNKc1pGRjFZWFJsY201cGIyNU1hWFJsSnp0Y2JseHVZMjl1YzNRZ1ZrVkRNMTlRVDFOSlZFbFdSVjlhSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb01DNHdMQ0F3TGpBc0lERXVNQ2s3WEc1Y2JtTnZibk4wSUY5eGRXRjBRU0E5SUc1bGR5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtDazdYRzVqYjI1emRDQmZjWFZoZEVJZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDJWMWJHVnlRU0E5SUc1bGR5QlVTRkpGUlM1RmRXeGxjaWd3TGpBc0lEQXVNQ3dnTUM0d0xDQW5XVmhhSnlrN1hHNWNiaThxS2x4dUlDb2dRU0JqYkdGemN5QjBhR0YwSUdGd2NHeHBaWE1nWlhsbElHZGhlbVVnWkdseVpXTjBhVzl1Y3lCMGJ5QmhJRlpTVFM1Y2JpQXFJRWwwSUhkcGJHd2dZbVVnZFhObFpDQmllU0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBmUzVjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZaU1RVeHZiMnRCZEVKdmJtVkJjSEJzYVdWeUlHbHRjR3hsYldWdWRITWdWbEpOVEc5dmEwRjBRWEJ3YkdsbGNpQjdYRzRnSUM4cUtseHVJQ0FnS2lCU1pYQnlaWE5sYm5RZ2FYUnpJSFI1Y0dVZ2IyWWdZWEJ3YkdsbGNpNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnpkR0YwYVdNZ2NtVmhaRzl1YkhrZ2RIbHdaU0E5SUNkaWIyNWxKenRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTWFJ6SUdGemMyOWphV0YwWldRZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1E3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnZTBCc2FXNXJJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndmU0JtYjNJZ2FHOXlhWHB2Ym5SaGJDQnBibmRoY21RZ2JXOTJaVzFsYm5RdUlGUm9aU0JzWldaMElHVjVaU0J0YjNabGN5QnlhV2RvZEM0Z1ZHaGxJSEpwWjJoMElHVjVaU0J0YjNabGN5QnNaV1owTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkVsdWJtVnlPaUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQjlJR1p2Y2lCb2IzSnBlbTl1ZEdGc0lHOTFkSGRoY21RZ2JXOTJaVzFsYm5RdUlGUm9aU0JzWldaMElHVjVaU0J0YjNabGN5QnNaV1owTGlCVWFHVWdjbWxuYUhRZ1pYbGxJRzF2ZG1WeklISnBaMmgwTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkU5MWRHVnlPaUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQjlJR1p2Y2lCMlpYSjBhV05oYkNCa2IzZHVkMkZ5WkNCdGIzWmxiV1Z1ZEM0Z1FtOTBhQ0JsZVdWeklHMXZkbVVnZFhCM1lYSmtjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WVc1blpVMWhjRlpsY25ScFkyRnNSRzkzYmpvZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVFZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3ZlNCbWIzSWdkbVZ5ZEdsallXd2dkWEIzWVhKa0lHMXZkbVZ0Wlc1MExpQkNiM1JvSUdWNVpYTWdiVzkyWlNCa2IzZHVkMkZ5WkhNdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtRnVaMlZOWVhCV1pYSjBhV05oYkZWd09pQldVazFNYjI5clFYUlNZVzVuWlUxaGNEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR1p5YjI1MElHUnBjbVZqZEdsdmJpQnZaaUIwYUdVZ1ptRmpaUzVjYmlBZ0lDb2dTVzUwWlc1a1pXUWdkRzhnWW1VZ2RYTmxaQ0JtYjNJZ1ZsSk5JREF1TUNCamIyMXdZWFFnS0ZaU1RTQXdMakFnYlc5a1pXeHpJR0Z5WlNCbVlXTnBibWNnV2kwZ2FXNXpkR1ZoWkNCdlppQmFLeWt1WEc0Z0lDQXFJRmx2ZFNCMWMzVmhiR3g1SUdSdmJpZDBJSGRoYm5RZ2RHOGdkRzkxWTJnZ2RHaHBjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJtWVdObFJuSnZiblE2SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J5WlhOMElIRjFZWFJsY201cGIyNGdiMllnVEdWbWRFVjVaU0JpYjI1bExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZjbVZ6ZEZGMVlYUk1aV1owUlhsbE9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdjbVZ6ZENCeGRXRjBaWEp1YVc5dUlHOW1JRkpwWjJoMFJYbGxJR0p2Ym1VdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOXlaWE4wVVhWaGRGSnBaMmgwUlhsbE9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdkMjl5YkdRdGMzQmhZMlVnY21WemRDQnhkV0YwWlhKdWFXOXVJRzltSUhSb1pTQndZWEpsYm5RZ2IyWWdkR2hsSUdoMWJXRnViMmxrSUV4bFpuUkZlV1V1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5eVpYTjBUR1ZtZEVWNVpWQmhjbVZ1ZEZkdmNteGtVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIZHZjbXhrTFhOd1lXTmxJSEpsYzNRZ2NYVmhkR1Z5Ym1sdmJpQnZaaUIwYUdVZ2NHRnlaVzUwSUc5bUlIUm9aU0JvZFcxaGJtOXBaQ0JTYVdkb2RFVjVaUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNKbGMzUlNhV2RvZEVWNVpWQmhjbVZ1ZEZkdmNteGtVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnYm1WM0lIdEFiR2x1YXlCV1VrMU1iMjlyUVhSQ2IyNWxRWEJ3YkdsbGNuMHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JvZFcxaGJtOXBaQ0JCSUh0QWJHbHVheUJXVWsxSWRXMWhibTlwWkgxY2JpQWdJQ29nUUhCaGNtRnRJSEpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRWx1Ym1WeUlFRWdlMEJzYVc1cklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd2ZTQjFjMlZrSUdadmNpQnBibTVsY2lCMGNtRnVjM1psY25ObElHUnBjbVZqZEdsdmJseHVJQ0FnS2lCQWNHRnlZVzBnY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzVDNWMFpYSWdRU0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQjlJSFZ6WldRZ1ptOXlJRzkxZEdWeUlIUnlZVzV6ZG1WeWMyVWdaR2x5WldOMGFXOXVYRzRnSUNBcUlFQndZWEpoYlNCeVlXNW5aVTFoY0ZabGNuUnBZMkZzUkc5M2JpQkJJSHRBYkdsdWF5QldVazFNYjI5clFYUlNZVzVuWlUxaGNIMGdkWE5sWkNCbWIzSWdaRzkzYmlCa2FYSmxZM1JwYjI1Y2JpQWdJQ29nUUhCaGNtRnRJSEpoYm1kbFRXRndWbVZ5ZEdsallXeFZjQ0JCSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjSDBnZFhObFpDQm1iM0lnZFhBZ1pHbHlaV04wYVc5dVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9YRzRnSUNBZ2FIVnRZVzV2YVdRNklGWlNUVWgxYldGdWIybGtMRnh1SUNBZ0lISmhibWRsVFdGd1NHOXlhWHB2Ym5SaGJFbHVibVZ5T2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0N4Y2JpQWdJQ0J5WVc1blpVMWhjRWh2Y21sNmIyNTBZV3hQZFhSbGNqb2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQXNYRzRnSUNBZ2NtRnVaMlZOWVhCV1pYSjBhV05oYkVSdmQyNDZJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndMRnh1SUNBZ0lISmhibWRsVFdGd1ZtVnlkR2xqWVd4VmNEb2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQXNYRzRnSUNrZ2UxeHVJQ0FnSUhSb2FYTXVhSFZ0WVc1dmFXUWdQU0JvZFcxaGJtOXBaRHRjYmx4dUlDQWdJSFJvYVhNdWNtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWElnUFNCeVlXNW5aVTFoY0VodmNtbDZiMjUwWVd4SmJtNWxjanRjYmlBZ0lDQjBhR2x6TG5KaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkU5MWRHVnlJRDBnY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzVDNWMFpYSTdYRzRnSUNBZ2RHaHBjeTV5WVc1blpVMWhjRlpsY25ScFkyRnNSRzkzYmlBOUlISmhibWRsVFdGd1ZtVnlkR2xqWVd4RWIzZHVPMXh1SUNBZ0lIUm9hWE11Y21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3SUQwZ2NtRnVaMlZOWVhCV1pYSjBhV05oYkZWd08xeHVYRzRnSUNBZ2RHaHBjeTVtWVdObFJuSnZiblFnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlnd0xqQXNJREF1TUN3Z01TNHdLVHRjYmx4dUlDQWdJQzh2SUhObGRDQnlaWE4wSUhGMVlYUmxjbTVwYjI1elhHNGdJQ0FnZEdocGN5NWZjbVZ6ZEZGMVlYUk1aV1owUlhsbElEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JpQWdJQ0IwYUdsekxsOXlaWE4wVVhWaGRGSnBaMmgwUlhsbElEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JpQWdJQ0IwYUdsekxsOXlaWE4wVEdWbWRFVjVaVkJoY21WdWRGZHZjbXhrVVhWaGRDQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNGdJQ0FnZEdocGN5NWZjbVZ6ZEZKcFoyaDBSWGxsVUdGeVpXNTBWMjl5YkdSUmRXRjBJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibHh1SUNBZ0lHTnZibk4wSUd4bFpuUkZlV1VnUFNCMGFHbHpMbWgxYldGdWIybGtMbWRsZEZKaGQwSnZibVZPYjJSbEtDZHNaV1owUlhsbEp5azdYRzRnSUNBZ1kyOXVjM1FnY21sbmFIUkZlV1VnUFNCMGFHbHpMbWgxYldGdWIybGtMbWRsZEZKaGQwSnZibVZPYjJSbEtDZHlhV2RvZEVWNVpTY3BPMXh1WEc0Z0lDQWdhV1lnS0d4bFpuUkZlV1VwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0psYzNSUmRXRjBUR1ZtZEVWNVpTNWpiM0I1S0d4bFpuUkZlV1V1Y1hWaGRHVnlibWx2YmlrN1hHNGdJQ0FnSUNCblpYUlhiM0pzWkZGMVlYUmxjbTVwYjI1TWFYUmxLR3hsWm5SRmVXVXVjR0Z5Wlc1MElTd2dkR2hwY3k1ZmNtVnpkRXhsWm5SRmVXVlFZWEpsYm5SWGIzSnNaRkYxWVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlhV2RvZEVWNVpTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNtVnpkRkYxWVhSU2FXZG9kRVY1WlM1amIzQjVLSEpwWjJoMFJYbGxMbkYxWVhSbGNtNXBiMjRwTzF4dUlDQWdJQ0FnWjJWMFYyOXliR1JSZFdGMFpYSnVhVzl1VEdsMFpTaHlhV2RvZEVWNVpTNXdZWEpsYm5RaExDQjBhR2x6TGw5eVpYTjBVbWxuYUhSRmVXVlFZWEpsYm5SWGIzSnNaRkYxWVhRcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJjSEJzZVNCMGFHVWdhVzV3ZFhRZ1lXNW5iR1VnZEc4Z2FYUnpJR0Z6YzI5amFXRjBaV1FnVmxKTklHMXZaR1ZzTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2VXRjNJRkp2ZEdGMGFXOXVJR0Z5YjNWdVpDQlpJR0Y0YVhNc0lHbHVJR1JsWjNKbFpWeHVJQ0FnS2lCQWNHRnlZVzBnY0dsMFkyZ2dVbTkwWVhScGIyNGdZWEp2ZFc1a0lGZ2dZWGhwY3l3Z2FXNGdaR1ZuY21WbFhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1lYQndiSGxaWVhkUWFYUmphQ2g1WVhjNklHNTFiV0psY2l3Z2NHbDBZMmc2SUc1MWJXSmxjaWs2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUd4bFpuUkZlV1VnUFNCMGFHbHpMbWgxYldGdWIybGtMbWRsZEZKaGQwSnZibVZPYjJSbEtDZHNaV1owUlhsbEp5azdYRzRnSUNBZ1kyOXVjM1FnY21sbmFIUkZlV1VnUFNCMGFHbHpMbWgxYldGdWIybGtMbWRsZEZKaGQwSnZibVZPYjJSbEtDZHlhV2RvZEVWNVpTY3BPMXh1SUNBZ0lHTnZibk4wSUd4bFpuUkZlV1ZPYjNKdFlXeHBlbVZrSUQwZ2RHaHBjeTVvZFcxaGJtOXBaQzVuWlhST2IzSnRZV3hwZW1Wa1FtOXVaVTV2WkdVb0oyeGxablJGZVdVbktUdGNiaUFnSUNCamIyNXpkQ0J5YVdkb2RFVjVaVTV2Y20xaGJHbDZaV1FnUFNCMGFHbHpMbWgxYldGdWIybGtMbWRsZEU1dmNtMWhiR2w2WldSQ2IyNWxUbTlrWlNnbmNtbG5hSFJGZVdVbktUdGNiaUFnSUNBdkx5QnNaV1owWEc0Z0lDQWdhV1lnS0d4bFpuUkZlV1VwSUh0Y2JpQWdJQ0FnSUdsbUlDaHdhWFJqYUNBOElEQXVNQ2tnZTF4dUlDQWdJQ0FnSUNCZlpYVnNaWEpCTG5nZ1BTQXRWRWhTUlVVdVRXRjBhRlYwYVd4ekxrUkZSekpTUVVRZ0tpQjBhR2x6TG5KaGJtZGxUV0Z3Vm1WeWRHbGpZV3hFYjNkdUxtMWhjQ2d0Y0dsMFkyZ3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdYMlYxYkdWeVFTNTRJRDBnVkVoU1JVVXVUV0YwYUZWMGFXeHpMa1JGUnpKU1FVUWdLaUIwYUdsekxuSmhibWRsVFdGd1ZtVnlkR2xqWVd4VmNDNXRZWEFvY0dsMFkyZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VXRjNJRHdnTUM0d0tTQjdYRzRnSUNBZ0lDQWdJRjlsZFd4bGNrRXVlU0E5SUMxVVNGSkZSUzVOWVhSb1ZYUnBiSE11UkVWSE1sSkJSQ0FxSUhSb2FYTXVjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNTVzV1WlhJdWJXRndLQzE1WVhjcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1gyVjFiR1Z5UVM1NUlEMGdWRWhTUlVVdVRXRjBhRlYwYVd4ekxrUkZSekpTUVVRZ0tpQjBhR2x6TG5KaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkU5MWRHVnlMbTFoY0NoNVlYY3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JmY1hWaGRFRXVjMlYwUm5KdmJVVjFiR1Z5S0Y5bGRXeGxja0VwTzF4dUlDQWdJQ0FnZEdocGN5NWZaMlYwVjI5eWJHUkdZV05sUm5KdmJuUlJkV0YwS0Y5eGRXRjBRaWs3WEc1Y2JpQWdJQ0FnSUM4dklGOXhkV0YwUWlBcUlGOXhkV0YwUVNBcUlGOXhkV0YwUWw0dE1WeHVJQ0FnSUNBZ0x5OGdkMmhsY21VZ1gzRjFZWFJCSUdseklFeHZiMnRCZENCeWIzUmhkR2x2Ymx4dUlDQWdJQ0FnTHk4Z1lXNWtJRjl4ZFdGMFFpQnBjeUIzYjNKc1pFWmhZMlZHY205dWRGRjFZWFJjYmlBZ0lDQWdJR3hsWm5SRmVXVk9iM0p0WVd4cGVtVmtJUzV4ZFdGMFpYSnVhVzl1TG1OdmNIa29YM0YxWVhSQ0tTNXRkV3gwYVhCc2VTaGZjWFZoZEVFcExtMTFiSFJwY0d4NUtGOXhkV0YwUWk1cGJuWmxjblFvS1NrN1hHNWNiaUFnSUNBZ0lGOXhkV0YwUVM1amIzQjVLSFJvYVhNdVgzSmxjM1JNWldaMFJYbGxVR0Z5Wlc1MFYyOXliR1JSZFdGMEtUdGNibHh1SUNBZ0lDQWdMeThnWDNGMVlYUkJYaTB4SUNvZ2JHVm1kRVY1WlU1dmNtMWhiR2w2WldRdWNYVmhkR1Z5Ym1sdmJpQXFJRjl4ZFdGMFFTQXFJSEpsYzNSUmRXRjBUR1ZtZEVWNVpWeHVJQ0FnSUNBZ0x5OGdkMmhsY21VZ1gzRjFZWFJCSUdseklISmxjM1JNWldaMFJYbGxVR0Z5Wlc1MFYyOXliR1JSZFdGMFhHNGdJQ0FnSUNCc1pXWjBSWGxsTG5GMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnSUNBZ0xtTnZjSGtvYkdWbWRFVjVaVTV2Y20xaGJHbDZaV1FoTG5GMVlYUmxjbTVwYjI0cFhHNGdJQ0FnSUNBZ0lDNXRkV3gwYVhCc2VTaGZjWFZoZEVFcFhHNGdJQ0FnSUNBZ0lDNXdjbVZ0ZFd4MGFYQnNlU2hmY1hWaGRFRXVhVzUyWlhKMEtDa3BYRzRnSUNBZ0lDQWdJQzV0ZFd4MGFYQnNlU2gwYUdsekxsOXlaWE4wVVhWaGRFeGxablJGZVdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklISnBaMmgwWEc0Z0lDQWdhV1lnS0hKcFoyaDBSWGxsS1NCN1hHNGdJQ0FnSUNCcFppQW9jR2wwWTJnZ1BDQXdMakFwSUh0Y2JpQWdJQ0FnSUNBZ1gyVjFiR1Z5UVM1NElEMGdMVlJJVWtWRkxrMWhkR2hWZEdsc2N5NUVSVWN5VWtGRUlDb2dkR2hwY3k1eVlXNW5aVTFoY0ZabGNuUnBZMkZzUkc5M2JpNXRZWEFvTFhCcGRHTm9LVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJRjlsZFd4bGNrRXVlQ0E5SUZSSVVrVkZMazFoZEdoVmRHbHNjeTVFUlVjeVVrRkVJQ29nZEdocGN5NXlZVzVuWlUxaGNGWmxjblJwWTJGc1ZYQXViV0Z3S0hCcGRHTm9LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIbGhkeUE4SURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0JmWlhWc1pYSkJMbmtnUFNBdFZFaFNSVVV1VFdGMGFGVjBhV3h6TGtSRlJ6SlNRVVFnS2lCMGFHbHpMbkpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeUxtMWhjQ2d0ZVdGM0tUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lGOWxkV3hsY2tFdWVTQTlJRlJJVWtWRkxrMWhkR2hWZEdsc2N5NUVSVWN5VWtGRUlDb2dkR2hwY3k1eVlXNW5aVTFoY0VodmNtbDZiMjUwWVd4SmJtNWxjaTV0WVhBb2VXRjNLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWDNGMVlYUkJMbk5sZEVaeWIyMUZkV3hsY2loZlpYVnNaWEpCS1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMmRsZEZkdmNteGtSbUZqWlVaeWIyNTBVWFZoZENoZmNYVmhkRUlwTzF4dVhHNGdJQ0FnSUNBdkx5QmZjWFZoZEVJZ0tpQmZjWFZoZEVFZ0tpQmZjWFZoZEVKZUxURmNiaUFnSUNBZ0lDOHZJSGRvWlhKbElGOXhkV0YwUVNCcGN5Qk1iMjlyUVhRZ2NtOTBZWFJwYjI1Y2JpQWdJQ0FnSUM4dklHRnVaQ0JmY1hWaGRFSWdhWE1nZDI5eWJHUkdZV05sUm5KdmJuUlJkV0YwWEc0Z0lDQWdJQ0J5YVdkb2RFVjVaVTV2Y20xaGJHbDZaV1FoTG5GMVlYUmxjbTVwYjI0dVkyOXdlU2hmY1hWaGRFSXBMbTExYkhScGNHeDVLRjl4ZFdGMFFTa3ViWFZzZEdsd2JIa29YM0YxWVhSQ0xtbHVkbVZ5ZENncEtUdGNibHh1SUNBZ0lDQWdYM0YxWVhSQkxtTnZjSGtvZEdocGN5NWZjbVZ6ZEZKcFoyaDBSWGxsVUdGeVpXNTBWMjl5YkdSUmRXRjBLVHRjYmx4dUlDQWdJQ0FnTHk4Z1gzRjFZWFJCWGkweElDb2djbWxuYUhSRmVXVk9iM0p0WVd4cGVtVmtMbkYxWVhSbGNtNXBiMjRnS2lCZmNYVmhkRUVnS2lCeVpYTjBVWFZoZEZKcFoyaDBSWGxsWEc0Z0lDQWdJQ0F2THlCM2FHVnlaU0JmY1hWaGRFRWdhWE1nY21WemRGSnBaMmgwUlhsbFVHRnlaVzUwVjI5eWJHUlJkV0YwWEc0Z0lDQWdJQ0J5YVdkb2RFVjVaUzV4ZFdGMFpYSnVhVzl1WEc0Z0lDQWdJQ0FnSUM1amIzQjVLSEpwWjJoMFJYbGxUbTl5YldGc2FYcGxaQ0V1Y1hWaGRHVnlibWx2YmlsY2JpQWdJQ0FnSUNBZ0xtMTFiSFJwY0d4NUtGOXhkV0YwUVNsY2JpQWdJQ0FnSUNBZ0xuQnlaVzExYkhScGNHeDVLRjl4ZFdGMFFTNXBiblpsY25Rb0tTbGNiaUFnSUNBZ0lDQWdMbTExYkhScGNHeDVLSFJvYVhNdVgzSmxjM1JSZFdGMFVtbG5hSFJGZVdVcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z3Y21WallYUmxaQ0JWYzJVZ2UwQnNhVzVySUdGd2NHeDVXV0YzVUdsMFkyaDlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiRzl2YTBGMEtHVjFiR1Z5T2lCVVNGSkZSUzVGZFd4bGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpZ25WbEpOVEc5dmEwRjBRbTl1WlVGd2NHeHBaWEk2SUd4dmIydEJkQ2dwSUdseklHUmxjSEpsWTJGMFpXUXVJSFZ6WlNCaGNIQnNlU2dwSUdsdWMzUmxZV1F1SnlrN1hHNWNiaUFnSUNCamIyNXpkQ0I1WVhjZ1BTQlVTRkpGUlM1TllYUm9WWFJwYkhNdVVrRkVNa1JGUnlBcUlHVjFiR1Z5TG5rN1hHNGdJQ0FnWTI5dWMzUWdjR2wwWTJnZ1BTQlVTRkpGUlM1TllYUm9WWFJwYkhNdVVrRkVNa1JGUnlBcUlHVjFiR1Z5TG5nN1hHNWNiaUFnSUNCMGFHbHpMbUZ3Y0d4NVdXRjNVR2wwWTJnb2VXRjNMQ0J3YVhSamFDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElHRWdjWFZoZEdWeWJtbHZiaUIwYUdGMElISnZkR0YwWlhNZ2RHaGxJSGR2Y214a0xYTndZV05sSUN0YUlIVnVhWFFnZG1WamRHOXlJSFJ2SUhSb1pTQjdRR3hwYm1zZ1ptRmpaVVp5YjI1MGZTQmthWEpsWTNScGIyNHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0IwWVhKblpYUWdRU0IwWVhKblpYUWdZRlJJVWtWRkxsRjFZWFJsY201cGIyNWdYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjluWlhSWGIzSnNaRVpoWTJWR2NtOXVkRkYxWVhRb2RHRnlaMlYwT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S1RvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Wm1GalpVWnliMjUwTG1ScGMzUmhibU5sVkc5VGNYVmhjbVZrS0ZaRlF6TmZVRTlUU1ZSSlZrVmZXaWtnUENBd0xqQXhLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR0Z5WjJWMExtbGtaVzUwYVhSNUtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnVzJaaFkyVkdjbTl1ZEVGNmFXMTFkR2dzSUdaaFkyVkdjbTl1ZEVGc2RHbDBkV1JsWFNBOUlHTmhiR05CZW1sdGRYUm9RV3gwYVhSMVpHVW9kR2hwY3k1bVlXTmxSbkp2Ym5RcE8xeHVJQ0FnSUY5bGRXeGxja0V1YzJWMEtEQXVNQ3dnTUM0MUlDb2dUV0YwYUM1UVNTQXJJR1poWTJWR2NtOXVkRUY2YVcxMWRHZ3NJR1poWTJWR2NtOXVkRUZzZEdsMGRXUmxMQ0FuV1ZwWUp5azdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHRnlaMlYwTG5ObGRFWnliMjFGZFd4bGNpaGZaWFZzWlhKQktUdGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJSHNnVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJZ2ZTQm1jbTl0SUNjdUxpOWxlSEJ5WlhOemFXOXVjeWM3WEc1cGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVXh2YjJ0QmRFRndjR3hwWlhJZ2ZTQm1jbTl0SUNjdUwxWlNUVXh2YjJ0QmRFRndjR3hwWlhJbk8xeHVhVzF3YjNKMElIc2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQWdmU0JtY205dElDY3VMMVpTVFV4dmIydEJkRkpoYm1kbFRXRndKenRjYmx4dUx5b3FYRzRnS2lCQklHTnNZWE56SUhSb1lYUWdZWEJ3YkdsbGN5QmxlV1VnWjJGNlpTQmthWEpsWTNScGIyNXpJSFJ2SUdFZ1ZsSk5MbHh1SUNvZ1NYUWdkMmxzYkNCaVpTQjFjMlZrSUdKNUlIdEFiR2x1YXlCV1VrMU1iMjlyUVhSOUxseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWbEpOVEc5dmEwRjBSWGh3Y21WemMybHZia0Z3Y0d4cFpYSWdhVzF3YkdWdFpXNTBjeUJXVWsxTWIyOXJRWFJCY0hCc2FXVnlJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjSEpsYzJWdWRDQnBkSE1nZEhsd1pTQnZaaUJoY0hCc2FXVnlMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE4wWVhScFl5QnlaV0ZrYjI1c2VTQjBlWEJsSUQwZ0oyVjRjSEpsYzNOcGIyNG5PMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpkSE1nWVhOemIyTnBZWFJsWkNCN1FHeHBibXNnVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhKOUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlHVjRjSEpsYzNOcGIyNXpPaUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nU1hRZ2QyOXVKM1FnWW1VZ2RYTmxaQ0JwYmlCbGVIQnlaWE56YVc5dUlHRndjR3hwWlhJdVhHNGdJQ0FxSUZObFpTQmhiSE52T2lCN1FHeHBibXNnY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzVDNWMFpYSjlYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNTVzV1WlhJNklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd08xeHVYRzRnSUM4cUtseHVJQ0FnS2lCQklIdEFiR2x1YXlCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0gwZ1ptOXlJR2h2Y21sNmIyNTBZV3dnYlc5MlpXMWxiblF1SUVKdmRHZ2daWGxsY3lCdGIzWmxJR3hsWm5RZ2IzSWdjbWxuYUhRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1QzVjBaWEk2SUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjSDBnWm05eUlIWmxjblJwWTJGc0lHUnZkMjUzWVhKa0lHMXZkbVZ0Wlc1MExpQkNiM1JvSUdWNVpYTWdiVzkyWlNCMWNIZGhjbVJ6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKaGJtZGxUV0Z3Vm1WeWRHbGpZV3hFYjNkdU9pQldVazFNYjI5clFYUlNZVzVuWlUxaGNEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhCOUlHWnZjaUIyWlhKMGFXTmhiQ0IxY0hkaGNtUWdiVzkyWlcxbGJuUXVJRUp2ZEdnZ1pYbGxjeUJ0YjNabElHUnZkMjUzWVhKa2N5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlZVzVuWlUxaGNGWmxjblJwWTJGc1ZYQTZJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQnVaWGNnZTBCc2FXNXJJRlpTVFV4dmIydEJkRVY0Y0hKbGMzTnBiMjVCY0hCc2FXVnlmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdWNGNISmxjM05wYjI1eklFRWdlMEJzYVc1cklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlmVnh1SUNBZ0tpQkFjR0Z5WVcwZ2NtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWElnUVNCN1FHeHBibXNnVmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEI5SUhWelpXUWdabTl5SUdsdWJtVnlJSFJ5WVc1emRtVnljMlVnWkdseVpXTjBhVzl1WEc0Z0lDQXFJRUJ3WVhKaGJTQnlZVzVuWlUxaGNFaHZjbWw2YjI1MFlXeFBkWFJsY2lCQklIdEFiR2x1YXlCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0gwZ2RYTmxaQ0JtYjNJZ2IzVjBaWElnZEhKaGJuTjJaWEp6WlNCa2FYSmxZM1JwYjI1Y2JpQWdJQ29nUUhCaGNtRnRJSEpoYm1kbFRXRndWbVZ5ZEdsallXeEViM2R1SUVFZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3ZlNCMWMyVmtJR1p2Y2lCa2IzZHVJR1JwY21WamRHbHZibHh1SUNBZ0tpQkFjR0Z5WVcwZ2NtRnVaMlZOWVhCV1pYSjBhV05oYkZWd0lFRWdlMEJzYVc1cklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd2ZTQjFjMlZrSUdadmNpQjFjQ0JrYVhKbFkzUnBiMjVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0JsZUhCeVpYTnphVzl1Y3pvZ1ZsSk5SWGh3Y21WemMybHZiazFoYm1GblpYSXNYRzRnSUNBZ2NtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWEk2SUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3TEZ4dUlDQWdJSEpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeU9pQldVazFNYjI5clFYUlNZVzVuWlUxaGNDeGNiaUFnSUNCeVlXNW5aVTFoY0ZabGNuUnBZMkZzUkc5M2Jqb2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQXNYRzRnSUNBZ2NtRnVaMlZOWVhCV1pYSjBhV05oYkZWd09pQldVazFNYjI5clFYUlNZVzVuWlUxaGNDeGNiaUFnS1NCN1hHNGdJQ0FnZEdocGN5NWxlSEJ5WlhOemFXOXVjeUE5SUdWNGNISmxjM05wYjI1ek8xeHVYRzRnSUNBZ2RHaHBjeTV5WVc1blpVMWhjRWh2Y21sNmIyNTBZV3hKYm01bGNpQTlJSEpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRWx1Ym1WeU8xeHVJQ0FnSUhSb2FYTXVjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNUM1YwWlhJZ1BTQnlZVzVuWlUxaGNFaHZjbWw2YjI1MFlXeFBkWFJsY2p0Y2JpQWdJQ0IwYUdsekxuSmhibWRsVFdGd1ZtVnlkR2xqWVd4RWIzZHVJRDBnY21GdVoyVk5ZWEJXWlhKMGFXTmhiRVJ2ZDI0N1hHNGdJQ0FnZEdocGN5NXlZVzVuWlUxaGNGWmxjblJwWTJGc1ZYQWdQU0J5WVc1blpVMWhjRlpsY25ScFkyRnNWWEE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FYQndiSGtnZEdobElHbHVjSFYwSUdGdVoyeGxJSFJ2SUdsMGN5QmhjM052WTJsaGRHVmtJRlpTVFNCdGIyUmxiQzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhsaGR5QlNiM1JoZEdsdmJpQmhjbTkxYm1RZ1dTQmhlR2x6TENCcGJpQmtaV2R5WldWY2JpQWdJQ29nUUhCaGNtRnRJSEJwZEdOb0lGSnZkR0YwYVc5dUlHRnliM1Z1WkNCWUlHRjRhWE1zSUdsdUlHUmxaM0psWlZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGd2NHeDVXV0YzVUdsMFkyZ29lV0YzT2lCdWRXMWlaWElzSUhCcGRHTm9PaUJ1ZFcxaVpYSXBPaUIyYjJsa0lIdGNiaUFnSUNCcFppQW9jR2wwWTJnZ1BDQXdMakFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaWGh3Y21WemMybHZibk11YzJWMFZtRnNkV1VvSjJ4dmIydEViM2R1Snl3Z01DNHdLVHRjYmlBZ0lDQWdJSFJvYVhNdVpYaHdjbVZ6YzJsdmJuTXVjMlYwVm1Gc2RXVW9KMnh2YjJ0VmNDY3NJSFJvYVhNdWNtRnVaMlZOWVhCV1pYSjBhV05oYkZWd0xtMWhjQ2d0Y0dsMFkyZ3BLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVsZUhCeVpYTnphVzl1Y3k1elpYUldZV3gxWlNnbmJHOXZhMVZ3Snl3Z01DNHdLVHRjYmlBZ0lDQWdJSFJvYVhNdVpYaHdjbVZ6YzJsdmJuTXVjMlYwVm1Gc2RXVW9KMnh2YjJ0RWIzZHVKeXdnZEdocGN5NXlZVzVuWlUxaGNGWmxjblJwWTJGc1JHOTNiaTV0WVhBb2NHbDBZMmdwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2VXRjNJRHdnTUM0d0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG1WNGNISmxjM05wYjI1ekxuTmxkRlpoYkhWbEtDZHNiMjlyVEdWbWRDY3NJREF1TUNrN1hHNGdJQ0FnSUNCMGFHbHpMbVY0Y0hKbGMzTnBiMjV6TG5ObGRGWmhiSFZsS0Nkc2IyOXJVbWxuYUhRbkxDQjBhR2x6TG5KaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkU5MWRHVnlMbTFoY0NndGVXRjNLU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11Wlhod2NtVnpjMmx2Ym5NdWMyVjBWbUZzZFdVb0oyeHZiMnRTYVdkb2RDY3NJREF1TUNrN1hHNGdJQ0FnSUNCMGFHbHpMbVY0Y0hKbGMzTnBiMjV6TG5ObGRGWmhiSFZsS0Nkc2IyOXJUR1ZtZENjc0lIUm9hWE11Y21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzVDNWMFpYSXViV0Z3S0hsaGR5a3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWd2NtVmpZWFJsWkNCVmMyVWdlMEJzYVc1cklHRndjR3g1V1dGM1VHbDBZMmg5SUdsdWMzUmxZV1F1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYkc5dmEwRjBLR1YxYkdWeU9pQlVTRkpGUlM1RmRXeGxjaWs2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWduVmxKTlRHOXZhMEYwUW05dVpVRndjR3hwWlhJNklHeHZiMnRCZENncElHbHpJR1JsY0hKbFkyRjBaV1F1SUhWelpTQmhjSEJzZVNncElHbHVjM1JsWVdRdUp5azdYRzVjYmlBZ0lDQmpiMjV6ZENCNVlYY2dQU0JVU0ZKRlJTNU5ZWFJvVlhScGJITXVVa0ZFTWtSRlJ5QXFJR1YxYkdWeUxuazdYRzRnSUNBZ1kyOXVjM1FnY0dsMFkyZ2dQU0JVU0ZKRlJTNU5ZWFJvVlhScGJITXVVa0ZFTWtSRlJ5QXFJR1YxYkdWeUxuZzdYRzVjYmlBZ0lDQjBhR2x6TG1Gd2NHeDVXV0YzVUdsMFkyZ29lV0YzTENCd2FYUmphQ2s3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENCN0lITmhkSFZ5WVhSbElIMGdabkp2YlNBbkxpNHZkWFJwYkhNdmMyRjBkWEpoZEdVbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nVEdsdGFYUnpJSFJvWlNCdFlYaHBiWFZ0SUdGdVoyeGxJRzltSUhSb1pTQnBibkIxZENCaGJtZHNaU0J2WmlCMGFHVWdURzl2YTBGMElIWmxZM1J2Y2lCbWNtOXRJSFJvWlNCbWNtOXVkQ0J2WmlCMGFHVWdhR1ZoWkNBb2RHaGxJSEJ2YzJsMGFYWmxJSG9nWVhocGN5a3VYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdhVzV3ZFhSTllYaFdZV3gxWlRvZ2JuVnRZbVZ5TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhCeVpYTmxiblJ6SUdGdUlHRnVaMnhsSUNocGJpQmtaV2R5WldWektTQm1iM0lnWW05dVpTQjBlWEJsSUc5bUlFeHZiMnRCZENCaGNIQnNhV1Z5Y3l3Z2IzSWdZU0IzWldsbmFIUWdabTl5SUdWNGNISmxjM05wYjI0Z2RIbHdaU0J2WmlCTWIyOXJRWFFnWVhCd2JHbGxjbk11WEc0Z0lDQXFJRlJvWlNCcGJuQjFkQ0IyWVd4MVpTQjNhV3hzSUhSaGEyVWdZREV1TUdBZ2QyaGxiaUIwYUdVZ2FXNXdkWFFnWVc1bmJHVWdaWEYxWVd4eklDaHZjaUJuY21WaGRHVnlLU0IwYnlCN1FHeHBibXNnYVc1d2RYUk5ZWGhXWVd4MVpYMHVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiM1YwY0hWMFUyTmhiR1U2SUc1MWJXSmxjanRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdibVYzSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjSDB1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCcGJuQjFkRTFoZUZaaGJIVmxJRlJvWlNCN1FHeHBibXNnYVc1d2RYUk5ZWGhXWVd4MVpYMGdiMllnZEdobElHMWhjRnh1SUNBZ0tpQkFjR0Z5WVcwZ2IzVjBjSFYwVTJOaGJHVWdWR2hsSUh0QWJHbHVheUJ2ZFhSd2RYUlRZMkZzWlgwZ2IyWWdkR2hsSUcxaGNGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLR2x1Y0hWMFRXRjRWbUZzZFdVNklHNTFiV0psY2l3Z2IzVjBjSFYwVTJOaGJHVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11YVc1d2RYUk5ZWGhXWVd4MVpTQTlJR2x1Y0hWMFRXRjRWbUZzZFdVN1hHNGdJQ0FnZEdocGN5NXZkWFJ3ZFhSVFkyRnNaU0E5SUc5MWRIQjFkRk5qWVd4bE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRVYyWVd4MVlYUmxJR0Z1SUdsdWNIVjBJSFpoYkhWbElHRnVaQ0J2ZFhSd2RYUWdZU0J0WVhCd1pXUWdkbUZzZFdVdVhHNGdJQ0FxSUVCd1lYSmhiU0J6Y21NZ1ZHaGxJR2x1Y0hWMElIWmhiSFZsWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYldGd0tITnlZem9nYm5WdFltVnlLVG9nYm5WdFltVnlJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV2ZFhSd2RYUlRZMkZzWlNBcUlITmhkSFZ5WVhSbEtITnlZeUF2SUhSb2FYTXVhVzV3ZFhSTllYaFdZV3gxWlNrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQjBlWEJsSUNvZ1lYTWdWakJXVWswZ1puSnZiU0FuUUhCcGVHbDJMM1I1Y0dWekxYWnliUzB3TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnS2lCaGN5QldNVlpTVFZOamFHVnRZU0JtY205dElDZEFjR2w0YVhZdmRIbHdaWE10ZG5KdFl5MTJjbTB0TVM0d0p6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IweFVSaXdnUjB4VVJreHZZV1JsY2xCc2RXZHBiaXdnUjB4VVJsQmhjbk5sY2lCOUlHWnliMjBnSjNSb2NtVmxMMlY0WVcxd2JHVnpMMnB6YlM5c2IyRmtaWEp6TDBkTVZFWk1iMkZrWlhJdWFuTW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaUI5SUdaeWIyMGdKeTR1TDJWNGNISmxjM05wYjI1ekwxWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOU0hWdFlXNXZhV1FnZlNCbWNtOXRJQ2N1TGk5b2RXMWhibTlwWkM5V1VrMUlkVzFoYm05cFpDYzdYRzVwYlhCdmNuUWdleUJXVWsxTWIyOXJRWFJJWld4d1pYSWdmU0JtY205dElDY3VMMmhsYkhCbGNuTXZWbEpOVEc5dmEwRjBTR1ZzY0dWeUp6dGNibWx0Y0c5eWRDQjdJRlpTVFV4dmIydEJkQ0I5SUdaeWIyMGdKeTR2VmxKTlRHOXZhMEYwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlRHOXZhMEYwUVhCd2JHbGxjaUI5SUdaeWIyMGdKeTR2VmxKTlRHOXZhMEYwUVhCd2JHbGxjaWM3WEc1cGJYQnZjblFnZXlCV1VrMU1iMjlyUVhSQ2IyNWxRWEJ3YkdsbGNpQjlJR1p5YjIwZ0p5NHZWbEpOVEc5dmEwRjBRbTl1WlVGd2NHeHBaWEluTzF4dWFXMXdiM0owSUhzZ1ZsSk5URzl2YTBGMFJYaHdjbVZ6YzJsdmJrRndjR3hwWlhJZ2ZTQm1jbTl0SUNjdUwxWlNUVXh2YjJ0QmRFVjRjSEpsYzNOcGIyNUJjSEJzYVdWeUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5URzl2YTBGMFRHOWhaR1Z5VUd4MVoybHVUM0IwYVc5dWN5QjlJR1p5YjIwZ0p5NHZWbEpOVEc5dmEwRjBURzloWkdWeVVHeDFaMmx1VDNCMGFXOXVjeWM3WEc1cGJYQnZjblFnZXlCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0NCOUlHWnliMjBnSnk0dlZsSk5URzl2YTBGMFVtRnVaMlZOWVhBbk8xeHVhVzF3YjNKMElIc2dSMHhVUmlCaGN5QkhURlJHVTJOb1pXMWhJSDBnWm5KdmJTQW5RR2RzZEdZdGRISmhibk5tYjNKdEwyTnZjbVVuTzF4dVhHNHZLaXBjYmlBcUlGQnZjM05wWW14bElITndaV01nZG1WeWMybHZibk1nYVhRZ2NtVmpiMmR1YVhwbGN5NWNiaUFxTDF4dVkyOXVjM1FnVUU5VFUwbENURVZmVTFCRlExOVdSVkpUU1U5T1V5QTlJRzVsZHlCVFpYUW9XeWN4TGpBbkxDQW5NUzR3TFdKbGRHRW5YU2s3WEc1Y2JpOHFLbHh1SUNvZ1ZHaGxJRzFwYm1sdGRXMGdjR1Z5YldsMGRHVmtJSFpoYkhWbElHWnZjaUI3UUd4cGJtc2dWakZXVWsxVFkyaGxiV0V1VEc5dmEwRjBVbUZ1WjJWTllYQXVhVzV3ZFhSTllYaFdZV3gxWlgwdVhHNGdLaUJKWmlCMGFHVWdaMmwyWlc0Z2RtRnNkV1VnYVhNZ2MyMWhiR3hsY2lCMGFHRnVJSFJvYVhNc0lIUm9aU0JzYjJGa1pYSWdjMmh2ZDNNZ1lTQjNZWEp1YVc1bklHRnVaQ0JqYkdGdGNITWdkWEFnZEdobElIWmhiSFZsTGx4dUlDb3ZYRzVqYjI1emRDQkpUbEJWVkY5TlFWaGZWa0ZNVlVWZlRVbE9TVTFWVFNBOUlEQXVNREU3WEc1Y2JpOHFLbHh1SUNvZ1FTQndiSFZuYVc0Z2IyWWdSMHhVUmt4dllXUmxjaUIwYUdGMElHbHRjRzl5ZEhNZ1lTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMGZTQm1jbTl0SUdFZ1ZsSk5JR1Y0ZEdWdWMybHZiaUJ2WmlCaElFZE1WRVl1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMU1iMjlyUVhSTWIyRmtaWEpRYkhWbmFXNGdhVzF3YkdWdFpXNTBjeUJIVEZSR1RHOWhaR1Z5VUd4MVoybHVJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGTndaV05wWm5rZ1lXNGdUMkpxWldOME0wUWdkRzhnWVdSa0lIdEFiR2x1YXlCV1VrMU1iMjlyUVhSSVpXeHdaWEo5SUhNdVhHNGdJQ0FxSUVsbUlHNXZkQ0J6Y0dWamFXWnBaV1FzSUdobGJIQmxjaUIzYVd4c0lHNXZkQ0JpWlNCamNtVmhkR1ZrTGx4dUlDQWdLaUJKWmlCZ2NtVnVaR1Z5VDNKa1pYSmdJR2x6SUhObGRDQjBieUIwYUdVZ2NtOXZkQ3dnYUdWc2NHVnljeUIzYVd4c0lHTnZjSGtnZEdobElITmhiV1VnWUhKbGJtUmxjazl5WkdWeVlDQXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdhR1ZzY0dWeVVtOXZkRDg2SUZSSVVrVkZMazlpYW1WamRETkVPMXh1WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCd1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJN1hHNWNiaUFnY0hWaWJHbGpJR2RsZENCdVlXMWxLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdMeThnVjJVZ2MyaHZkV3hrSUhWelpTQjBhR1VnWlhoMFpXNXphVzl1SUc1aGJXVWdhVzV6ZEdWaFpDQmlkWFFnZDJVZ2FHRjJaU0J0ZFd4MGFYQnNaU0J3YkhWbmFXNXpJR1p2Y2lCaGJpQmxlSFJsYm5OcGIyNHVMaTVjYmlBZ0lDQnlaWFIxY200Z0oxWlNUVXh2YjJ0QmRFeHZZV1JsY2xCc2RXZHBiaWM3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeUxDQnZjSFJwYjI1elB6b2dWbEpOVEc5dmEwRjBURzloWkdWeVVHeDFaMmx1VDNCMGFXOXVjeWtnZTF4dUlDQWdJSFJvYVhNdWNHRnljMlZ5SUQwZ2NHRnljMlZ5TzF4dVhHNGdJQ0FnZEdocGN5NW9aV3h3WlhKU2IyOTBJRDBnYjNCMGFXOXVjejh1YUdWc2NHVnlVbTl2ZER0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUJoWm5SbGNsSnZiM1FvWjJ4MFpqb2dSMHhVUmlrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIWnliVWgxYldGdWIybGtJRDBnWjJ4MFppNTFjMlZ5UkdGMFlTNTJjbTFJZFcxaGJtOXBaQ0JoY3lCV1VrMUlkVzFoYm05cFpDQjhJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJQzh2SUdWNGNHeHBZMmwwYkhrZ1pHbHpkR2x1WjNWcGMyZ2diblZzYkNCaGJtUWdkVzVrWldacGJtVmtYRzRnSUNBZ0x5OGdjMmx1WTJVZ2RuSnRTSFZ0WVc1dmFXUWdiV2xuYUhRZ1ltVWdiblZzYkNCaGN5QmhJSEpsYzNWc2RGeHVJQ0FnSUdsbUlDaDJjbTFJZFcxaGJtOXBaQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kbkp0U0hWdFlXNXZhV1FnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFdVazFNYjI5clFYUk1iMkZrWlhKUWJIVm5hVzQ2SUhaeWJVaDFiV0Z1YjJsa0lHbHpJSFZ1WkdWbWFXNWxaQzRnVmxKTlNIVnRZVzV2YVdSTWIyRmtaWEpRYkhWbmFXNGdhR0YyWlNCMGJ5QmlaU0IxYzJWa0lHWnBjbk4wSnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdkbkp0Ulhod2NtVnpjMmx2YmsxaGJtRm5aWElnUFNCbmJIUm1MblZ6WlhKRVlYUmhMblp5YlVWNGNISmxjM05wYjI1TllXNWhaMlZ5SUdGeklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJSHdnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnYVdZZ0tIWnliVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDJjbTFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDZFdVazFNYjI5clFYUk1iMkZrWlhKUWJIVm5hVzQ2SUhaeWJVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlHbHpJSFZ1WkdWbWFXNWxaQzRnVmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiaUJvWVhabElIUnZJR0psSUhWelpXUWdabWx5YzNRbkxGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbmJIUm1MblZ6WlhKRVlYUmhMblp5YlV4dmIydEJkQ0E5SUdGM1lXbDBJSFJvYVhNdVgybHRjRzl5ZENobmJIUm1MQ0IyY20xSWRXMWhibTlwWkN3Z2RuSnRSWGh3Y21WemMybHZiazFoYm1GblpYSXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNHOXlkQ0JoSUh0QWJHbHVheUJXVWsxTWIyOXJRWFI5SUdaeWIyMGdZU0JXVWswdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQm5iSFJtSUVFZ2NHRnljMlZrSUhKbGMzVnNkQ0J2WmlCSFRGUkdJSFJoYTJWdUlHWnliMjBnUjB4VVJreHZZV1JsY2x4dUlDQWdLaUJBY0dGeVlXMGdhSFZ0WVc1dmFXUWdRU0I3UUd4cGJtc2dWbEpOU0hWdFlXNXZhV1I5SUdsdWMzUmhibU5sSUhSb1lYUWdjbVZ3Y21WelpXNTBjeUIwYUdVZ1ZsSk5YRzRnSUNBcUlFQndZWEpoYlNCbGVIQnlaWE56YVc5dWN5QkJJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjbjBnYVc1emRHRnVZMlVnZEdoaGRDQnlaWEJ5WlhObGJuUnpJSFJvWlNCV1VrMWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1gybHRjRzl5ZENoY2JpQWdJQ0JuYkhSbU9pQkhURlJHTEZ4dUlDQWdJR2gxYldGdWIybGtPaUJXVWsxSWRXMWhibTlwWkNCOElHNTFiR3dzWEc0Z0lDQWdaWGh3Y21WemMybHZibk02SUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlId2diblZzYkN4Y2JpQWdLVG9nVUhKdmJXbHpaVHhXVWsxTWIyOXJRWFFnZkNCdWRXeHNQaUI3WEc0Z0lDQWdhV1lnS0doMWJXRnViMmxrSUQwOUlHNTFiR3dnZkh3Z1pYaHdjbVZ6YzJsdmJuTWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RqRlNaWE4xYkhRZ1BTQmhkMkZwZENCMGFHbHpMbDkyTVVsdGNHOXlkQ2huYkhSbUxDQm9kVzFoYm05cFpDd2daWGh3Y21WemMybHZibk1wTzF4dUlDQWdJR2xtSUNoMk1WSmxjM1ZzZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhZeFVtVnpkV3gwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIWXdVbVZ6ZFd4MElEMGdZWGRoYVhRZ2RHaHBjeTVmZGpCSmJYQnZjblFvWjJ4MFppd2dhSFZ0WVc1dmFXUXNJR1Y0Y0hKbGMzTnBiMjV6S1R0Y2JpQWdJQ0JwWmlBb2RqQlNaWE4xYkhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMk1GSmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDNZeFNXMXdiM0owS0Z4dUlDQWdJR2RzZEdZNklFZE1WRVlzWEc0Z0lDQWdhSFZ0WVc1dmFXUTZJRlpTVFVoMWJXRnViMmxrTEZ4dUlDQWdJR1Y0Y0hKbGMzTnBiMjV6T2lCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpeGNiaUFnS1RvZ1VISnZiV2x6WlR4V1VrMU1iMjlyUVhRZ2ZDQnVkV3hzUGlCN1hHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIUm9hWE11Y0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lDOHZJR1ZoY214NUlHRmliM0owSUdsbUlHbDBJR1J2WlhOdUozUWdkWE5sSUhaeWJWeHVJQ0FnSUdOdmJuTjBJR2x6VmxKTlZYTmxaQ0E5SUdwemIyNHVaWGgwWlc1emFXOXVjMVZ6WldRL0xtbHVaR1Y0VDJZb0oxWlNUVU5mZG5KdEp5a2dJVDA5SUMweE8xeHVJQ0FnSUdsbUlDZ2hhWE5XVWsxVmMyVmtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQmxlSFJsYm5OcGIyNGdQU0JxYzI5dUxtVjRkR1Z1YzJsdmJuTS9MbHNuVmxKTlExOTJjbTBuWFNCaGN5QldNVlpTVFZOamFHVnRZUzVXVWsxRFZsSk5JSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNnaFpYaDBaVzV6YVc5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCemNHVmpWbVZ5YzJsdmJpQTlJR1Y0ZEdWdWMybHZiaTV6Y0dWalZtVnljMmx2Ymp0Y2JpQWdJQ0JwWmlBb0lWQlBVMU5KUWt4RlgxTlFSVU5mVmtWU1UwbFBUbE11YUdGektITndaV05XWlhKemFXOXVLU2tnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtHQldVazFNYjI5clFYUk1iMkZrWlhKUWJIVm5hVzQ2SUZWdWEyNXZkMjRnVmxKTlExOTJjbTBnYzNCbFkxWmxjbk5wYjI0Z1hDSWtlM053WldOV1pYSnphVzl1ZlZ3aVlDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCelkyaGxiV0ZNYjI5clFYUWdQU0JsZUhSbGJuTnBiMjR1Ykc5dmEwRjBPMXh1SUNBZ0lHbG1JQ2doYzJOb1pXMWhURzl2YTBGMEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVZ1BTQnpZMmhsYldGTWIyOXJRWFF1ZEhsd1pTQTlQVDBnSjJWNGNISmxjM05wYjI0bklEOGdNUzR3SURvZ01UQXVNRHRjYmx4dUlDQWdJR052Ym5OMElHMWhjRWhKSUQwZ2RHaHBjeTVmZGpGSmJYQnZjblJTWVc1blpVMWhjQ2h6WTJobGJXRk1iMjlyUVhRdWNtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWElzSUdSbFptRjFiSFJQZFhSd2RYUlRZMkZzWlNrN1hHNGdJQ0FnWTI5dWMzUWdiV0Z3U0U4Z1BTQjBhR2x6TGw5Mk1VbHRjRzl5ZEZKaGJtZGxUV0Z3S0hOamFHVnRZVXh2YjJ0QmRDNXlZVzVuWlUxaGNFaHZjbWw2YjI1MFlXeFBkWFJsY2l3Z1pHVm1ZWFZzZEU5MWRIQjFkRk5qWVd4bEtUdGNiaUFnSUNCamIyNXpkQ0J0WVhCV1JDQTlJSFJvYVhNdVgzWXhTVzF3YjNKMFVtRnVaMlZOWVhBb2MyTm9aVzFoVEc5dmEwRjBMbkpoYm1kbFRXRndWbVZ5ZEdsallXeEViM2R1TENCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVcE8xeHVJQ0FnSUdOdmJuTjBJRzFoY0ZaVklEMGdkR2hwY3k1ZmRqRkpiWEJ2Y25SU1lXNW5aVTFoY0NoelkyaGxiV0ZNYjI5clFYUXVjbUZ1WjJWTllYQldaWEowYVdOaGJGVndMQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VwTzF4dVhHNGdJQ0FnYkdWMElHRndjR3hwWlhJN1hHNWNiaUFnSUNCcFppQW9jMk5vWlcxaFRHOXZhMEYwTG5SNWNHVWdQVDA5SUNkbGVIQnlaWE56YVc5dUp5a2dlMXh1SUNBZ0lDQWdZWEJ3YkdsbGNpQTlJRzVsZHlCV1VrMU1iMjlyUVhSRmVIQnlaWE56YVc5dVFYQndiR2xsY2lobGVIQnlaWE56YVc5dWN5d2diV0Z3U0Vrc0lHMWhjRWhQTENCdFlYQldSQ3dnYldGd1ZsVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGNIQnNhV1Z5SUQwZ2JtVjNJRlpTVFV4dmIydEJkRUp2Ym1WQmNIQnNhV1Z5S0doMWJXRnViMmxrTENCdFlYQklTU3dnYldGd1NFOHNJRzFoY0ZaRUxDQnRZWEJXVlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdiRzl2YTBGMElEMGdkR2hwY3k1ZmFXMXdiM0owVEc5dmEwRjBLR2gxYldGdWIybGtMQ0JoY0hCc2FXVnlLVHRjYmx4dUlDQWdJR3h2YjJ0QmRDNXZabVp6WlhSR2NtOXRTR1ZoWkVKdmJtVXVabkp2YlVGeWNtRjVLSE5qYUdWdFlVeHZiMnRCZEM1dlptWnpaWFJHY205dFNHVmhaRUp2Ym1VZ1B6OGdXekF1TUN3Z01DNHdOaXdnTUM0d1hTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2JHOXZhMEYwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmRqRkpiWEJ2Y25SU1lXNW5aVTFoY0NoY2JpQWdJQ0J6WTJobGJXRlNZVzVuWlUxaGNEb2dWakZXVWsxVFkyaGxiV0V1VEc5dmEwRjBVbUZ1WjJWTllYQWdmQ0IxYm1SbFptbHVaV1FzWEc0Z0lDQWdaR1ZtWVhWc2RFOTFkSEIxZEZOallXeGxPaUJ1ZFcxaVpYSXNYRzRnSUNrNklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd0lIdGNiaUFnSUNCc1pYUWdhVzV3ZFhSTllYaFdZV3gxWlNBOUlITmphR1Z0WVZKaGJtZGxUV0Z3UHk1cGJuQjFkRTFoZUZaaGJIVmxJRDgvSURrd0xqQTdYRzRnSUNBZ1kyOXVjM1FnYjNWMGNIVjBVMk5oYkdVZ1BTQnpZMmhsYldGU1lXNW5aVTFoY0Q4dWIzVjBjSFYwVTJOaGJHVWdQejhnWkdWbVlYVnNkRTkxZEhCMWRGTmpZV3hsTzF4dVhHNGdJQ0FnTHk4Z1NYUWdiV2xuYUhRZ1kyRjFjMlVnVG1GT0lIZG9aVzRnWUdsdWNIVjBUV0Y0Vm1Gc2RXVmdJR2x6SUhSdmJ5QnpiV0ZzYkZ4dUlDQWdJQzh2SUhkb2FXTm9JRzFoYTJWeklIUm9aU0J0WlhOb0lHOW1JSFJvWlNCb1pXRmtJR1JwYzJGd2NHVmhjbHh1SUNBZ0lDOHZJRk5sWlRvZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzQnBlR2wyTDNSb2NtVmxMWFp5YlM5cGMzTjFaWE12TVRJd01WeHVJQ0FnSUdsbUlDaHBibkIxZEUxaGVGWmhiSFZsSUR3Z1NVNVFWVlJmVFVGWVgxWkJURlZGWDAxSlRrbE5WVTBwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdKMVpTVFV4dmIydEJkRXh2WVdSbGNsQnNkV2RwYmpvZ2FXNXdkWFJOWVhoV1lXeDFaU0J2WmlCaElISmhibWRsSUcxaGNDQnBjeUIwYjI4Z2MyMWhiR3d1SUVOdmJuTnBaR1Z5SUhKbGRtbGxkMmx1WnlCMGFHVWdjbUZ1WjJVZ2JXRndJU2NzWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnYVc1d2RYUk5ZWGhXWVd4MVpTQTlJRWxPVUZWVVgwMUJXRjlXUVV4VlJWOU5TVTVKVFZWTk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBb2FXNXdkWFJOWVhoV1lXeDFaU3dnYjNWMGNIVjBVMk5oYkdVcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCZmRqQkpiWEJ2Y25Rb1hHNGdJQ0FnWjJ4MFpqb2dSMHhVUml4Y2JpQWdJQ0JvZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRc1hHNGdJQ0FnWlhod2NtVnpjMmx2Ym5NNklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlMRnh1SUNBcE9pQlFjbTl0YVhObFBGWlNUVXh2YjJ0QmRDQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdkR2hwY3k1d1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDQWdMeThnWldGeWJIa2dZV0p2Y25RZ2FXWWdhWFFnWkc5bGMyNG5kQ0IxYzJVZ2RuSnRYRzRnSUNBZ1kyOXVjM1FnZG5KdFJYaDBJRDBnYW5OdmJpNWxlSFJsYm5OcGIyNXpQeTVXVWswZ1lYTWdWakJXVWswdVZsSk5JSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNnaGRuSnRSWGgwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6WTJobGJXRkdhWEp6ZEZCbGNuTnZiaUE5SUhaeWJVVjRkQzVtYVhKemRGQmxjbk52Ymp0Y2JpQWdJQ0JwWmlBb0lYTmphR1Z0WVVacGNuTjBVR1Z5YzI5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVZ1BTQnpZMmhsYldGR2FYSnpkRkJsY25OdmJpNXNiMjlyUVhSVWVYQmxUbUZ0WlNBOVBUMGdKMEpzWlc1a1UyaGhjR1VuSUQ4Z01TNHdJRG9nTVRBdU1EdGNibHh1SUNBZ0lHTnZibk4wSUcxaGNFaEpJRDBnZEdocGN5NWZkakJKYlhCdmNuUkVaV2R5WldWTllYQW9jMk5vWlcxaFJtbHljM1JRWlhKemIyNHViRzl2YTBGMFNHOXlhWHB2Ym5SaGJFbHVibVZ5TENCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVcE8xeHVJQ0FnSUdOdmJuTjBJRzFoY0VoUElEMGdkR2hwY3k1ZmRqQkpiWEJ2Y25SRVpXZHlaV1ZOWVhBb2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0dWJHOXZhMEYwU0c5eWFYcHZiblJoYkU5MWRHVnlMQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VwTzF4dUlDQWdJR052Ym5OMElHMWhjRlpFSUQwZ2RHaHBjeTVmZGpCSmJYQnZjblJFWldkeVpXVk5ZWEFvYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1Ykc5dmEwRjBWbVZ5ZEdsallXeEViM2R1TENCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVcE8xeHVJQ0FnSUdOdmJuTjBJRzFoY0ZaVklEMGdkR2hwY3k1ZmRqQkpiWEJ2Y25SRVpXZHlaV1ZOWVhBb2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0dWJHOXZhMEYwVm1WeWRHbGpZV3hWY0N3Z1pHVm1ZWFZzZEU5MWRIQjFkRk5qWVd4bEtUdGNibHh1SUNBZ0lHeGxkQ0JoY0hCc2FXVnlPMXh1WEc0Z0lDQWdhV1lnS0hOamFHVnRZVVpwY25OMFVHVnljMjl1TG14dmIydEJkRlI1Y0dWT1lXMWxJRDA5UFNBblFteGxibVJUYUdGd1pTY3BJSHRjYmlBZ0lDQWdJR0Z3Y0d4cFpYSWdQU0J1WlhjZ1ZsSk5URzl2YTBGMFJYaHdjbVZ6YzJsdmJrRndjR3hwWlhJb1pYaHdjbVZ6YzJsdmJuTXNJRzFoY0VoSkxDQnRZWEJJVHl3Z2JXRndWa1FzSUcxaGNGWlZLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYQndiR2xsY2lBOUlHNWxkeUJXVWsxTWIyOXJRWFJDYjI1bFFYQndiR2xsY2lob2RXMWhibTlwWkN3Z2JXRndTRWtzSUcxaGNFaFBMQ0J0WVhCV1JDd2diV0Z3VmxVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR3h2YjJ0QmRDQTlJSFJvYVhNdVgybHRjRzl5ZEV4dmIydEJkQ2hvZFcxaGJtOXBaQ3dnWVhCd2JHbGxjaWs3WEc1Y2JpQWdJQ0JwWmlBb2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0dVptbHljM1JRWlhKemIyNUNiMjVsVDJabWMyVjBLU0I3WEc0Z0lDQWdJQ0JzYjI5clFYUXViMlptYzJWMFJuSnZiVWhsWVdSQ2IyNWxMbk5sZENoY2JpQWdJQ0FnSUNBZ2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0dVptbHljM1JRWlhKemIyNUNiMjVsVDJabWMyVjBMbmdnUHo4Z01DNHdMRnh1SUNBZ0lDQWdJQ0J6WTJobGJXRkdhWEp6ZEZCbGNuTnZiaTVtYVhKemRGQmxjbk52YmtKdmJtVlBabVp6WlhRdWVTQS9QeUF3TGpBMkxGeHVJQ0FnSUNBZ0lDQXRLSE5qYUdWdFlVWnBjbk4wVUdWeWMyOXVMbVpwY25OMFVHVnljMjl1UW05dVpVOW1abk5sZEM1NklEOC9JREF1TUNrc1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JzYjI5clFYUXViMlptYzJWMFJuSnZiVWhsWVdSQ2IyNWxMbk5sZENnd0xqQXNJREF1TURZc0lEQXVNQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVmxKTklEQXVNQ0JoY21VZ1ptRmphVzVuSUZvdElHbHVjM1JsWVdRZ2IyWWdXaXRjYmlBZ0lDQnNiMjlyUVhRdVptRmpaVVp5YjI1MExuTmxkQ2d3TGpBc0lEQXVNQ3dnTFRFdU1DazdYRzVjYmlBZ0lDQnBaaUFvWVhCd2JHbGxjaUJwYm5OMFlXNWpaVzltSUZaU1RVeHZiMnRCZEVKdmJtVkJjSEJzYVdWeUtTQjdYRzRnSUNBZ0lDQmhjSEJzYVdWeUxtWmhZMlZHY205dWRDNXpaWFFvTUM0d0xDQXdMakFzSUMweExqQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCc2IyOXJRWFE3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5Mk1FbHRjRzl5ZEVSbFozSmxaVTFoY0NoY2JpQWdJQ0J6WTJobGJXRkVaV2R5WldWTllYQTZJRll3VmxKTkxrWnBjbk4wVUdWeWMyOXVSR1ZuY21WbFRXRndJSHdnZFc1a1pXWnBibVZrTEZ4dUlDQWdJR1JsWm1GMWJIUlBkWFJ3ZFhSVFkyRnNaVG9nYm5WdFltVnlMRnh1SUNBcE9pQldVazFNYjI5clFYUlNZVzVuWlUxaGNDQjdYRzRnSUNBZ1kyOXVjM1FnWTNWeWRtVWdQU0J6WTJobGJXRkVaV2R5WldWTllYQS9MbU4xY25abE8xeHVJQ0FnSUdsbUlDaEtVMDlPTG5OMGNtbHVaMmxtZVNoamRYSjJaU2tnSVQwOUlDZGJNQ3d3TERBc01Td3hMREVzTVN3d1hTY3BJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmlnblEzVnlkbVZ6SUc5bUlFeHZiMnRCZEVSbFozSmxaVTFoY0NCa1pXWnBibVZrSUdsdUlGWlNUU0F3TGpBZ1lYSmxJRzV2ZENCemRYQndiM0owWldRbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCc1pYUWdlRkpoYm1kbElEMGdjMk5vWlcxaFJHVm5jbVZsVFdGd1B5NTRVbUZ1WjJVZ1B6OGdPVEF1TUR0Y2JpQWdJQ0JqYjI1emRDQjVVbUZ1WjJVZ1BTQnpZMmhsYldGRVpXZHlaV1ZOWVhBL0xubFNZVzVuWlNBL1B5QmtaV1poZFd4MFQzVjBjSFYwVTJOaGJHVTdYRzVjYmlBZ0lDQXZMeUJKZENCdGFXZG9kQ0JqWVhWelpTQk9ZVTRnZDJobGJpQmdlRkpoYm1kbFlDQnBjeUIwYjI4Z2MyMWhiR3hjYmlBZ0lDQXZMeUIzYUdsamFDQnRZV3RsY3lCMGFHVWdiV1Z6YUNCdlppQjBhR1VnYUdWaFpDQmthWE5oY0hCbFlYSmNiaUFnSUNBdkx5QlRaV1U2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5d2FYaHBkaTkwYUhKbFpTMTJjbTB2YVhOemRXVnpMekV5TURGY2JpQWdJQ0JwWmlBb2VGSmhibWRsSUR3Z1NVNVFWVlJmVFVGWVgxWkJURlZGWDAxSlRrbE5WVTBwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpZ25WbEpOVEc5dmEwRjBURzloWkdWeVVHeDFaMmx1T2lCNFVtRnVaMlVnYjJZZ1lTQmtaV2R5WldVZ2JXRndJR2x6SUhSdmJ5QnpiV0ZzYkM0Z1EyOXVjMmxrWlhJZ2NtVjJhV1YzYVc1bklIUm9aU0JrWldkeVpXVWdiV0Z3SVNjcE8xeHVJQ0FnSUNBZ2VGSmhibWRsSUQwZ1NVNVFWVlJmVFVGWVgxWkJURlZGWDAxSlRrbE5WVTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjQ2g0VW1GdVoyVXNJSGxTWVc1blpTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlwYlhCdmNuUk1iMjlyUVhRb2FIVnRZVzV2YVdRNklGWlNUVWgxYldGdWIybGtMQ0JoY0hCc2FXVnlPaUJXVWsxTWIyOXJRWFJCY0hCc2FXVnlLVG9nVmxKTlRHOXZhMEYwSUh0Y2JpQWdJQ0JqYjI1emRDQnNiMjlyUVhRZ1BTQnVaWGNnVmxKTlRHOXZhMEYwS0doMWJXRnViMmxrTENCaGNIQnNhV1Z5S1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1obGJIQmxjbEp2YjNRcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdobGJIQmxjaUE5SUc1bGR5QldVazFNYjI5clFYUklaV3h3WlhJb2JHOXZhMEYwS1R0Y2JpQWdJQ0FnSUhSb2FYTXVhR1ZzY0dWeVVtOXZkQzVoWkdRb2FHVnNjR1Z5S1R0Y2JpQWdJQ0FnSUdobGJIQmxjaTV5Wlc1a1pYSlBjbVJsY2lBOUlIUm9hWE11YUdWc2NHVnlVbTl2ZEM1eVpXNWtaWEpQY21SbGNqdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYkc5dmEwRjBPMXh1SUNCOVhHNTlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1THlvcVhHNGdLaUJTWlhCeVpYTmxiblJ6SUdFZ2RIbHdaU0J2WmlCaGNIQnNhV1Z5TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1ZsSk5URzl2YTBGMFZIbHdaVTVoYldVZ1BTQjdYRzRnSUVKdmJtVTZJQ2RpYjI1bEp5eGNiaUFnUlhod2NtVnpjMmx2YmpvZ0oyVjRjSEpsYzNOcGIyNG5MRnh1ZlR0Y2JseHVaWGh3YjNKMElIUjVjR1VnVmxKTlRHOXZhMEYwVkhsd1pVNWhiV1VnUFNCMGVYQmxiMllnVmxKTlRHOXZhMEYwVkhsd1pVNWhiV1ZiYTJWNWIyWWdkSGx3Wlc5bUlGWlNUVXh2YjJ0QmRGUjVjR1ZPWVcxbFhUdGNiaUlzSWk4cUtseHVJQ29nV1c5cGJtdGxaQ0JtY205dElHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXRjbVJ2YjJJdmRHaHlaV1V1YW5NdllteHZZaTl0WVhOMFpYSXZaWGhoYlhCc1pYTXZhbk50TDJ4dllXUmxjbk12UjB4VVJreHZZV1JsY2k1cWMxeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WemIyeDJaVlZTVENoMWNtdzZJSE4wY21sdVp5d2djR0YwYURvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdMeThnU1c1MllXeHBaQ0JWVWt4Y2JpQWdhV1lnS0hSNWNHVnZaaUIxY213Z0lUMDlJQ2R6ZEhKcGJtY25JSHg4SUhWeWJDQTlQVDBnSnljcElISmxkSFZ5YmlBbkp6dGNibHh1SUNBdkx5QkliM04wSUZKbGJHRjBhWFpsSUZWU1RGeHVJQ0JwWmlBb0wxNW9kSFJ3Y3o4NlhGd3ZYRnd2TDJrdWRHVnpkQ2h3WVhSb0tTQW1KaUF2WGx4Y0x5OHVkR1Z6ZENoMWNtd3BLU0I3WEc0Z0lDQWdjR0YwYUNBOUlIQmhkR2d1Y21Wd2JHRmpaU2d2S0Y1b2RIUndjejg2WEZ3dlhGd3ZXMTR2WFNzcExpb3ZhU3dnSnlReEp5azdYRzRnSUgxY2JseHVJQ0F2THlCQlluTnZiSFYwWlNCVlVrd2dhSFIwY0Rvdkx5eG9kSFJ3Y3pvdkx5d3ZMMXh1SUNCcFppQW9MMTRvYUhSMGNITS9PaWsvWEZ3dlhGd3ZMMmt1ZEdWemRDaDFjbXdwS1NCeVpYUjFjbTRnZFhKc08xeHVYRzRnSUM4dklFUmhkR0VnVlZKSlhHNGdJR2xtSUNndlhtUmhkR0U2TGlvc0xpb2tMMmt1ZEdWemRDaDFjbXdwS1NCeVpYUjFjbTRnZFhKc08xeHVYRzRnSUM4dklFSnNiMklnVlZKTVhHNGdJR2xtSUNndlhtSnNiMkk2TGlva0wya3VkR1Z6ZENoMWNtd3BLU0J5WlhSMWNtNGdkWEpzTzF4dVhHNGdJQzh2SUZKbGJHRjBhWFpsSUZWU1RGeHVJQ0J5WlhSMWNtNGdjR0YwYUNBcklIVnliRHRjYm4xY2JpSXNJbWx0Y0c5eWRDQjBlWEJsSUhzZ1IweFVSaXdnUjB4VVJreHZZV1JsY2xCc2RXZHBiaXdnUjB4VVJsQmhjbk5sY2lCOUlHWnliMjBnSjNSb2NtVmxMMlY0WVcxd2JHVnpMMnB6YlM5c2IyRmtaWEp6TDBkTVZFWk1iMkZrWlhJdWFuTW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazB3VFdWMFlTQjlJR1p5YjIwZ0p5NHZWbEpOTUUxbGRHRW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazB4VFdWMFlTQjlJR1p5YjIwZ0p5NHZWbEpOTVUxbGRHRW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFOWlhSaElIMGdabkp2YlNBbkxpOVdVazFOWlhSaEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5UV1YwWVV4dllXUmxjbEJzZFdkcGJrOXdkR2x2Ym5NZ2ZTQm1jbTl0SUNjdUwxWlNUVTFsZEdGTWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1ekp6dGNibWx0Y0c5eWRDQjBlWEJsSUNvZ1lYTWdWakJXVWswZ1puSnZiU0FuUUhCcGVHbDJMM1I1Y0dWekxYWnliUzB3TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnS2lCaGN5QldNVlpTVFZOamFHVnRZU0JtY205dElDZEFjR2w0YVhZdmRIbHdaWE10ZG5KdFl5MTJjbTB0TVM0d0p6dGNibWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lISmxjMjlzZG1WVlVrd2dmU0JtY205dElDY3VMaTkxZEdsc2N5OXlaWE52YkhabFZWSk1KenRjYm1sdGNHOXlkQ0I3SUVkTVZFWWdZWE1nUjB4VVJsTmphR1Z0WVNCOUlHWnliMjBnSjBCbmJIUm1MWFJ5WVc1elptOXliUzlqYjNKbEp6dGNibHh1THlvcVhHNGdLaUJRYjNOemFXSnNaU0J6Y0dWaklIWmxjbk5wYjI1eklHbDBJSEpsWTI5bmJtbDZaWE11WEc0Z0tpOWNibU52Ym5OMElGQlBVMU5KUWt4RlgxTlFSVU5mVmtWU1UwbFBUbE1nUFNCdVpYY2dVMlYwS0Zzbk1TNHdKeXdnSnpFdU1DMWlaWFJoSjEwcE8xeHVYRzR2S2lwY2JpQXFJRUVnY0d4MVoybHVJRzltSUVkTVZFWk1iMkZrWlhJZ2RHaGhkQ0JwYlhCdmNuUnpJR0VnZTBCc2FXNXJJRlpTVFRGTlpYUmhmU0JtY205dElHRWdWbEpOSUdWNGRHVnVjMmx2YmlCdlppQmhJRWRNVkVZdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFOWlhSaFRHOWhaR1Z5VUd4MVoybHVJR2x0Y0d4bGJXVnVkSE1nUjB4VVJreHZZV1JsY2xCc2RXZHBiaUI3WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCd1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsbUlHQm1ZV3h6WldBc0lHbDBJSGR2YmlkMElHeHZZV1FnYVhSeklIUm9kVzFpYm1GcGJDQnBiV0ZuWlNBb2UwQnNhVzVySUZaU1RURk5aWFJoTG5Sb2RXMWlibUZwYkVsdFlXZGxmU2t1WEc0Z0lDQXFJR0IwY25WbFlDQmllU0JrWldaaGRXeDBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJRzVsWldSVWFIVnRZbTVoYVd4SmJXRm5aVG9nWW05dmJHVmhianRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0JzYVhOMElHOW1JR3hwWTJWdWMyVWdkWEpzY3k1Y2JpQWdJQ29nVkdocGN5QnRaWFJoSUd4dllXUmxjaUIzYVd4c0lHRmpZMlZ3ZENCMGFHVnpaU0JnYkdsalpXNXpaVlZ5YkdCekxseHVJQ0FnS2lCUGRHaGxjbmRwYzJVZ2FYUWdkMjl1SjNRZ1ltVWdiRzloWkdWa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHRmpZMlZ3ZEV4cFkyVnVjMlZWY214ek9pQnpkSEpwYm1kYlhUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1YyaGxkR2hsY2lCcGRDQnphRzkxYkdRZ1lXTmpaWEIwSUZaU1RUQXVNQ0J0WlhSaElHOXlJRzV2ZEM1Y2JpQWdJQ29nVG05MFpTQjBhR0YwSUdsMElHMXBaMmgwSUd4dllXUWdlMEJzYVc1cklGWlNUVEJOWlhSaGZTQnBibk4wWldGa0lHOW1JSHRBYkdsdWF5QldVazB4VFdWMFlYMGdkMmhsYmlCMGFHbHpJR2x6SUdCMGNuVmxZQzVjYmlBZ0lDb2dZSFJ5ZFdWZ0lHSjVJR1JsWm1GMWJIUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZV05qWlhCMFZqQk5aWFJoT2lCaWIyOXNaV0Z1TzF4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYm1GdFpTZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lDOHZJRmRsSUhOb2IzVnNaQ0IxYzJVZ2RHaGxJR1Y0ZEdWdWMybHZiaUJ1WVcxbElHbHVjM1JsWVdRZ1luVjBJSGRsSUdoaGRtVWdiWFZzZEdsd2JHVWdjR3gxWjJsdWN5Qm1iM0lnWVc0Z1pYaDBaVzV6YVc5dUxpNHVYRzRnSUNBZ2NtVjBkWEp1SUNkV1VrMU5aWFJoVEc5aFpHVnlVR3gxWjJsdUp6dGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWh3WVhKelpYSTZJRWRNVkVaUVlYSnpaWElzSUc5d2RHbHZibk0vT2lCV1VrMU5aWFJoVEc5aFpHVnlVR3gxWjJsdVQzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUhSb2FYTXVjR0Z5YzJWeUlEMGdjR0Z5YzJWeU8xeHVYRzRnSUNBZ2RHaHBjeTV1WldWa1ZHaDFiV0p1WVdsc1NXMWhaMlVnUFNCdmNIUnBiMjV6UHk1dVpXVmtWR2gxYldKdVlXbHNTVzFoWjJVZ1B6OGdkSEoxWlR0Y2JpQWdJQ0IwYUdsekxtRmpZMlZ3ZEV4cFkyVnVjMlZWY214eklEMGdiM0IwYVc5dWN6OHVZV05qWlhCMFRHbGpaVzV6WlZWeWJITWdQejhnV3lkb2RIUndjem92TDNaeWJTNWtaWFl2YkdsalpXNXpaWE12TVM0d0x5ZGRPMXh1SUNBZ0lIUm9hWE11WVdOalpYQjBWakJOWlhSaElEMGdiM0IwYVc5dWN6OHVZV05qWlhCMFZqQk5aWFJoSUQ4L0lIUnlkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZV1owWlhKU2IyOTBLR2RzZEdZNklFZE1WRVlwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVMWxkR0VnUFNCaGQyRnBkQ0IwYUdsekxsOXBiWEJ2Y25Rb1oyeDBaaWs3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJRjlwYlhCdmNuUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4VmxKTlRXVjBZU0I4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCMk1WSmxjM1ZzZENBOUlHRjNZV2wwSUhSb2FYTXVYM1l4U1cxd2IzSjBLR2RzZEdZcE8xeHVJQ0FnSUdsbUlDaDJNVkpsYzNWc2RDQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RqRlNaWE4xYkhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdkakJTWlhOMWJIUWdQU0JoZDJGcGRDQjBhR2x6TGw5Mk1FbHRjRzl5ZENobmJIUm1LVHRjYmlBZ0lDQnBaaUFvZGpCU1pYTjFiSFFnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFl3VW1WemRXeDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JoYzNsdVl5QmZkakZKYlhCdmNuUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4VmxKTk1VMWxkR0VnZkNCdWRXeHNQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhSb2FYTXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUM4dklHVmhjbXg1SUdGaWIzSjBJR2xtSUdsMElHUnZaWE51SjNRZ2RYTmxJSFp5YlZ4dUlDQWdJR052Ym5OMElHbHpWbEpOVlhObFpDQTlJR3B6YjI0dVpYaDBaVzV6YVc5dWMxVnpaV1EvTG1sdVpHVjRUMllvSjFaU1RVTmZkbkp0SnlrZ0lUMDlJQzB4TzF4dUlDQWdJR2xtSUNnaGFYTldVazFWYzJWa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCbGVIUmxibk5wYjI0Z1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5NL0xsc25WbEpOUTE5MmNtMG5YU0JoY3lCV01WWlNUVk5qYUdWdFlTNVdVazFEVmxKTklId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2hsZUhSbGJuTnBiMjRnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdjM0JsWTFabGNuTnBiMjRnUFNCbGVIUmxibk5wYjI0dWMzQmxZMVpsY25OcGIyNDdYRzRnSUNBZ2FXWWdLQ0ZRVDFOVFNVSk1SVjlUVUVWRFgxWkZVbE5KVDA1VExtaGhjeWh6Y0dWalZtVnljMmx2YmlrcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhnVmxKTlRXVjBZVXh2WVdSbGNsQnNkV2RwYmpvZ1ZXNXJibTkzYmlCV1VrMURYM1p5YlNCemNHVmpWbVZ5YzJsdmJpQmNJaVI3YzNCbFkxWmxjbk5wYjI1OVhDSmdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITmphR1Z0WVUxbGRHRWdQU0JsZUhSbGJuTnBiMjR1YldWMFlUdGNiaUFnSUNCcFppQW9JWE5qYUdWdFlVMWxkR0VwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklIUm9jbTkzSUdGdUlHVnljbTl5SUdsbUlHRmpZMlZ3ZEZZd1RXVjBZU0JwY3lCbVlXeHpaVnh1SUNBZ0lHTnZibk4wSUd4cFkyVnVjMlZWY213Z1BTQnpZMmhsYldGTlpYUmhMbXhwWTJWdWMyVlZjbXc3WEc0Z0lDQWdZMjl1YzNRZ1lXTmpaWEIwVEdsalpXNXpaVlZ5YkhOVFpYUWdQU0J1WlhjZ1UyVjBLSFJvYVhNdVlXTmpaWEIwVEdsalpXNXpaVlZ5YkhNcE8xeHVJQ0FnSUdsbUlDZ2hZV05qWlhCMFRHbGpaVzV6WlZWeWJITlRaWFF1YUdGektHeHBZMlZ1YzJWVmNtd3BLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlpTVFUxbGRHRk1iMkZrWlhKUWJIVm5hVzQ2SUZSb1pTQnNhV05sYm5ObElIVnliQ0JjSWlSN2JHbGpaVzV6WlZWeWJIMWNJaUJwY3lCdWIzUWdZV05qWlhCMFpXUmdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNaWFFnZEdoMWJXSnVZV2xzU1cxaFoyVTZJRWhVVFV4SmJXRm5aVVZzWlcxbGJuUWdmQ0IxYm1SbFptbHVaV1FnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbFpGUm9kVzFpYm1GcGJFbHRZV2RsSUNZbUlITmphR1Z0WVUxbGRHRXVkR2gxYldKdVlXbHNTVzFoWjJVZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RHaDFiV0p1WVdsc1NXMWhaMlVnUFNBb1lYZGhhWFFnZEdocGN5NWZaWGgwY21GamRFZE1WRVpKYldGblpTaHpZMmhsYldGTlpYUmhMblJvZFcxaWJtRnBiRWx0WVdkbEtTa2dQejhnZFc1a1pXWnBibVZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnRaWFJoVm1WeWMybHZiam9nSnpFbkxGeHVJQ0FnSUNBZ2JtRnRaVG9nYzJOb1pXMWhUV1YwWVM1dVlXMWxMRnh1SUNBZ0lDQWdkbVZ5YzJsdmJqb2djMk5vWlcxaFRXVjBZUzUyWlhKemFXOXVMRnh1SUNBZ0lDQWdZWFYwYUc5eWN6b2djMk5vWlcxaFRXVjBZUzVoZFhSb2IzSnpMRnh1SUNBZ0lDQWdZMjl3ZVhKcFoyaDBTVzVtYjNKdFlYUnBiMjQ2SUhOamFHVnRZVTFsZEdFdVkyOXdlWEpwWjJoMFNXNW1iM0p0WVhScGIyNHNYRzRnSUNBZ0lDQmpiMjUwWVdOMFNXNW1iM0p0WVhScGIyNDZJSE5qYUdWdFlVMWxkR0V1WTI5dWRHRmpkRWx1Wm05eWJXRjBhVzl1TEZ4dUlDQWdJQ0FnY21WbVpYSmxibU5sY3pvZ2MyTm9aVzFoVFdWMFlTNXlaV1psY21WdVkyVnpMRnh1SUNBZ0lDQWdkR2hwY21SUVlYSjBlVXhwWTJWdWMyVnpPaUJ6WTJobGJXRk5aWFJoTG5Sb2FYSmtVR0Z5ZEhsTWFXTmxibk5sY3l4Y2JpQWdJQ0FnSUhSb2RXMWlibUZwYkVsdFlXZGxMRnh1SUNBZ0lDQWdiR2xqWlc1elpWVnliRG9nYzJOb1pXMWhUV1YwWVM1c2FXTmxibk5sVlhKc0xGeHVJQ0FnSUNBZ1lYWmhkR0Z5VUdWeWJXbHpjMmx2YmpvZ2MyTm9aVzFoVFdWMFlTNWhkbUYwWVhKUVpYSnRhWE56YVc5dUxGeHVJQ0FnSUNBZ1lXeHNiM2RGZUdObGMzTnBkbVZzZVZacGIyeGxiblJWYzJGblpUb2djMk5vWlcxaFRXVjBZUzVoYkd4dmQwVjRZMlZ6YzJsMlpXeDVWbWx2YkdWdWRGVnpZV2RsTEZ4dUlDQWdJQ0FnWVd4c2IzZEZlR05sYzNOcGRtVnNlVk5sZUhWaGJGVnpZV2RsT2lCelkyaGxiV0ZOWlhSaExtRnNiRzkzUlhoalpYTnphWFpsYkhsVFpYaDFZV3hWYzJGblpTeGNiaUFnSUNBZ0lHTnZiVzFsY21OcFlXeFZjMkZuWlRvZ2MyTm9aVzFoVFdWMFlTNWpiMjF0WlhKamFXRnNWWE5oWjJVc1hHNGdJQ0FnSUNCaGJHeHZkMUJ2YkdsMGFXTmhiRTl5VW1Wc2FXZHBiM1Z6VlhOaFoyVTZJSE5qYUdWdFlVMWxkR0V1WVd4c2IzZFFiMnhwZEdsallXeFBjbEpsYkdsbmFXOTFjMVZ6WVdkbExGeHVJQ0FnSUNBZ1lXeHNiM2RCYm5ScGMyOWphV0ZzVDNKSVlYUmxWWE5oWjJVNklITmphR1Z0WVUxbGRHRXVZV3hzYjNkQmJuUnBjMjlqYVdGc1QzSklZWFJsVlhOaFoyVXNYRzRnSUNBZ0lDQmpjbVZrYVhST2IzUmhkR2x2YmpvZ2MyTm9aVzFoVFdWMFlTNWpjbVZrYVhST2IzUmhkR2x2Yml4Y2JpQWdJQ0FnSUdGc2JHOTNVbVZrYVhOMGNtbGlkWFJwYjI0NklITmphR1Z0WVUxbGRHRXVZV3hzYjNkU1pXUnBjM1J5YVdKMWRHbHZiaXhjYmlBZ0lDQWdJRzF2WkdsbWFXTmhkR2x2YmpvZ2MyTm9aVzFoVFdWMFlTNXRiMlJwWm1sallYUnBiMjRzWEc0Z0lDQWdJQ0J2ZEdobGNreHBZMlZ1YzJWVmNtdzZJSE5qYUdWdFlVMWxkR0V1YjNSb1pYSk1hV05sYm5ObFZYSnNMRnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOTJNRWx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWswd1RXVjBZU0I4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnZEdocGN5NXdZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnTHk4Z1pXRnliSGtnWVdKdmNuUWdhV1lnYVhRZ1pHOWxjMjRuZENCMWMyVWdkbkp0WEc0Z0lDQWdZMjl1YzNRZ2RuSnRSWGgwSUQwZ2FuTnZiaTVsZUhSbGJuTnBiMjV6UHk1V1VrMGdZWE1nVmpCV1VrMHVWbEpOSUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdsbUlDZ2hkbkp0UlhoMEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCelkyaGxiV0ZOWlhSaElEMGdkbkp0UlhoMExtMWxkR0U3WEc0Z0lDQWdhV1lnS0NGelkyaGxiV0ZOWlhSaEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUIwYUhKdmR5QmhiaUJsY25KdmNpQnBaaUJoWTJObGNIUldNRTFsZEdFZ2FYTWdabUZzYzJWY2JpQWdJQ0JwWmlBb0lYUm9hWE11WVdOalpYQjBWakJOWlhSaEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxWlNUVTFsZEdGTWIyRmtaWEpRYkhWbmFXNDZJRUYwZEdWdGNIUmxaQ0IwYnlCc2IyRmtJRlpTVFRBdU1DQnRaWFJoSUdKMWRDQmhZMk5sY0hSV01FMWxkR0VnYVhNZ1ptRnNjMlVuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCc2IyRmtJSFJvZFcxaWJtRnBiQ0IwWlhoMGRYSmxYRzRnSUNBZ2JHVjBJSFJsZUhSMWNtVTZJRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQnVkV3hzSUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFpXUlVhSFZ0WW01aGFXeEpiV0ZuWlNBbUppQnpZMmhsYldGTlpYUmhMblJsZUhSMWNtVWdJVDBnYm5Wc2JDQW1KaUJ6WTJobGJXRk5aWFJoTG5SbGVIUjFjbVVnSVQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0IwWlhoMGRYSmxJRDBnWVhkaGFYUWdkR2hwY3k1d1lYSnpaWEl1WjJWMFJHVndaVzVrWlc1amVTZ25kR1Y0ZEhWeVpTY3NJSE5qYUdWdFlVMWxkR0V1ZEdWNGRIVnlaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHMWxkR0ZXWlhKemFXOXVPaUFuTUNjc1hHNGdJQ0FnSUNCaGJHeHZkMlZrVlhObGNrNWhiV1U2SUhOamFHVnRZVTFsZEdFdVlXeHNiM2RsWkZWelpYSk9ZVzFsTEZ4dUlDQWdJQ0FnWVhWMGFHOXlPaUJ6WTJobGJXRk5aWFJoTG1GMWRHaHZjaXhjYmlBZ0lDQWdJR052YlcxbGNtTnBZV3hWYzNOaFoyVk9ZVzFsT2lCelkyaGxiV0ZOWlhSaExtTnZiVzFsY21OcFlXeFZjM05oWjJWT1lXMWxMRnh1SUNBZ0lDQWdZMjl1ZEdGamRFbHVabTl5YldGMGFXOXVPaUJ6WTJobGJXRk5aWFJoTG1OdmJuUmhZM1JKYm1admNtMWhkR2x2Yml4Y2JpQWdJQ0FnSUd4cFkyVnVjMlZPWVcxbE9pQnpZMmhsYldGTlpYUmhMbXhwWTJWdWMyVk9ZVzFsTEZ4dUlDQWdJQ0FnYjNSb1pYSk1hV05sYm5ObFZYSnNPaUJ6WTJobGJXRk5aWFJoTG05MGFHVnlUR2xqWlc1elpWVnliQ3hjYmlBZ0lDQWdJRzkwYUdWeVVHVnliV2x6YzJsdmJsVnliRG9nYzJOb1pXMWhUV1YwWVM1dmRHaGxjbEJsY20xcGMzTnBiMjVWY213c1hHNGdJQ0FnSUNCeVpXWmxjbVZ1WTJVNklITmphR1Z0WVUxbGRHRXVjbVZtWlhKbGJtTmxMRnh1SUNBZ0lDQWdjMlY0ZFdGc1ZYTnpZV2RsVG1GdFpUb2djMk5vWlcxaFRXVjBZUzV6WlhoMVlXeFZjM05oWjJWT1lXMWxMRnh1SUNBZ0lDQWdkR1Y0ZEhWeVpUb2dkR1Y0ZEhWeVpTQS9QeUIxYm1SbFptbHVaV1FzWEc0Z0lDQWdJQ0IwYVhSc1pUb2djMk5vWlcxaFRXVjBZUzUwYVhSc1pTeGNiaUFnSUNBZ0lIWmxjbk5wYjI0NklITmphR1Z0WVUxbGRHRXVkbVZ5YzJsdmJpeGNiaUFnSUNBZ0lIWnBiMnhsYm5SVmMzTmhaMlZPWVcxbE9pQnpZMmhsYldGTlpYUmhMblpwYjJ4bGJuUlZjM05oWjJWT1lXMWxMRnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOWxlSFJ5WVdOMFIweFVSa2x0WVdkbEtHbHVaR1Y0T2lCdWRXMWlaWElwT2lCUWNtOXRhWE5sUEVoVVRVeEpiV0ZuWlVWc1pXMWxiblFnZkNCdWRXeHNQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhSb2FYTXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUdOdmJuTjBJSE52ZFhKalpTQTlJR3B6YjI0dWFXMWhaMlZ6UHk1YmFXNWtaWGhkTzF4dVhHNGdJQ0FnYVdZZ0tITnZkWEpqWlNBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9YRzRnSUNBZ0lDQWdJR0JXVWsxTlpYUmhURzloWkdWeVVHeDFaMmx1T2lCQmRIUmxiWEIwSUhSdklIVnpaU0JwYldGblpYTmJKSHRwYm1SbGVIMWRJRzltSUdkc1ZFWWdZWE1nWVNCMGFIVnRZbTVoYVd3Z1luVjBJSFJvWlNCcGJXRm5aU0JrYjJWemJpZDBJR1Y0YVhOMFlDeGNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJTWldZNklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXRjbVJ2YjJJdmRHaHlaV1V1YW5NdllteHZZaTl5TVRJMEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5NalRESTBOamRjYmx4dUlDQWdJQzh2SUdCemIzVnlZMlV1ZFhKcFlDQnRhV2RvZENCaVpTQmhJSEpsWm1WeVpXNWpaU0IwYnlCaElHWnBiR1ZjYmlBZ0lDQnNaWFFnYzI5MWNtTmxWVkpKT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRZ1BTQnpiM1Z5WTJVdWRYSnBPMXh1WEc0Z0lDQWdMeThnVEc5aFpDQjBhR1VnWW1sdVlYSjVJR0Z6SUdFZ1lteHZZbHh1SUNBZ0lHbG1JQ2h6YjNWeVkyVXVZblZtWm1WeVZtbGxkeUFoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmlkV1ptWlhKV2FXVjNJRDBnWVhkaGFYUWdkR2hwY3k1d1lYSnpaWEl1WjJWMFJHVndaVzVrWlc1amVTZ25ZblZtWm1WeVZtbGxkeWNzSUhOdmRYSmpaUzVpZFdabVpYSldhV1YzS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR0pzYjJJZ1BTQnVaWGNnUW14dllpaGJZblZtWm1WeVZtbGxkMTBzSUhzZ2RIbHdaVG9nYzI5MWNtTmxMbTFwYldWVWVYQmxJSDBwTzF4dUlDQWdJQ0FnYzI5MWNtTmxWVkpKSUQwZ1ZWSk1MbU55WldGMFpVOWlhbVZqZEZWU1RDaGliRzlpS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2MyOTFjbU5sVlZKSklEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ0FnWUZaU1RVMWxkR0ZNYjJGa1pYSlFiSFZuYVc0NklFRjBkR1Z0Y0hRZ2RHOGdkWE5sSUdsdFlXZGxjMXNrZTJsdVpHVjRmVjBnYjJZZ1oyeFVSaUJoY3lCaElIUm9kVzFpYm1GcGJDQmlkWFFnZEdobElHbHRZV2RsSUdOdmRXeGtiaWQwSUd4dllXUWdjSEp2Y0dWeWJIbGdMRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHeHZZV1JsY2lBOUlHNWxkeUJVU0ZKRlJTNUpiV0ZuWlV4dllXUmxjaWdwTzF4dUlDQWdJSEpsZEhWeWJpQmhkMkZwZENCc2IyRmtaWEl1Ykc5aFpFRnplVzVqS0hKbGMyOXNkbVZWVWt3b2MyOTFjbU5sVlZKSkxDQW9kR2hwY3k1d1lYSnpaWElnWVhNZ1lXNTVLUzV2Y0hScGIyNXpMbkJoZEdncEtTNWpZWFJqYUNnb1pYSnliM0lwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk52YkdVdVpYSnliM0lvWlhKeWIzSXBPMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMU5aWFJoVEc5aFpHVnlVR3gxWjJsdU9pQkdZV2xzWldRZ2RHOGdiRzloWkNCaElIUm9kVzFpYm1GcGJDQnBiV0ZuWlNjcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5SUgwZ1puSnZiU0FuTGk5bGVIQnlaWE56YVc5dWN5OVdVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaWM3WEc1cGJYQnZjblFnZXlCV1VrMUdhWEp6ZEZCbGNuTnZiaUI5SUdaeWIyMGdKeTR2Wm1seWMzUlFaWEp6YjI0dlZsSk5SbWx5YzNSUVpYSnpiMjRuTzF4dWFXMXdiM0owSUhzZ1ZsSk5TSFZ0WVc1dmFXUWdmU0JtY205dElDY3VMMmgxYldGdWIybGtMMVpTVFVoMWJXRnViMmxrSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVXh2YjJ0QmRDQjlJR1p5YjIwZ0p5NHZiRzl2YTBGMEwxWlNUVXh2YjJ0QmRDYzdYRzVwYlhCdmNuUWdleUJXVWsxTlpYUmhJSDBnWm5KdmJTQW5MaTl0WlhSaEwxWlNUVTFsZEdFbk8xeHVhVzF3YjNKMElIc2dWbEpOUTI5eVpWQmhjbUZ0WlhSbGNuTWdmU0JtY205dElDY3VMMVpTVFVOdmNtVlFZWEpoYldWMFpYSnpKenRjYmx4dUx5b3FYRzRnS2lCQklHTnNZWE56SUhSb1lYUWdjbVZ3Y21WelpXNTBjeUJoSUhOcGJtZHNaU0JXVWswZ2JXOWtaV3d1WEc0Z0tpQlVhR2x6SUdOc1lYTnpJRzl1YkhrZ2FXNWpiSFZrWlhNZ1kyOXlaU0J6Y0dWaklHOW1JSFJvWlNCV1VrMGdLR0JXVWsxRFgzWnliV0FwTGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5RMjl5WlNCN1hHNGdJQzhxS2x4dUlDQWdLaUJnVkVoU1JVVXVSM0p2ZFhCZ0lIUm9ZWFFnWTI5dWRHRnBibk1nZEdobElHVnVkR2x5WlNCV1VrMHVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2djMk5sYm1VNklGUklVa1ZGTGtkeWIzVndPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjUwWVdsdWN5QnRaWFJoSUdacFpXeGtjeUJ2WmlCMGFHVWdWbEpOTGx4dUlDQWdLaUJaYjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJ5WldabGNpQjBhR1Z6WlNCc2FXTmxibk5sSUdacFpXeGtjeUJpWldadmNtVWdkWE5sSUhsdmRYSWdWbEpOY3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCdFpYUmhPaUJXVWsxTlpYUmhPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjUwWVdsdWN5QjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlJRzltSUhSb1pTQldVazB1WEc0Z0lDQXFJRmx2ZFNCallXNGdZMjl1ZEhKdmJDQmxZV05vSUdKdmJtVnpJSFZ6YVc1bklIdEFiR2x1YXlCV1VrMUlkVzFoYm05cFpDNW5aWFJPYjNKdFlXeHBlbVZrUW05dVpVNXZaR1Y5SUc5eUlIdEFiR2x1YXlCV1VrMUlkVzFoYm05cFpDNW5aWFJTWVhkQ2IyNWxUbTlrWlgwdVhHNGdJQ0FxWEc0Z0lDQXFJRUJVVDBSUElFRmtaQ0JoSUd4cGJtc2dkRzhnVmxKTklITndaV05jYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0JvZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOdmJuUmhhVzV6SUh0QWJHbHVheUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY24wZ2IyWWdkR2hsSUZaU1RTNWNiaUFnSUNvZ1dXOTFJRzFwWjJoMElIZGhiblFnZEc4Z1kyOXVkSEp2YkNCMGFHVnpaU0JtWVdOcFlXd2daWGh3Y21WemMybHZibk1nZG1saElIdEFiR2x1YXlCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpNXpaWFJXWVd4MVpYMHVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2daWGh3Y21WemMybHZiazFoYm1GblpYSS9PaUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTI5dWRHRnBibk1nZTBCc2FXNXJJRlpTVFVacGNuTjBVR1Z5YzI5dWZTQnZaaUIwYUdVZ1ZsSk5MbHh1SUNBZ0tpQldVazFHYVhKemRGQmxjbk52YmlCcGN5QnRiM04wYkhrZ2RYTmxaQ0JtYjNJZ2JXVnphQ0JqZFd4c2FXNW5JR1p2Y2lCbWFYSnpkQ0J3WlhKemIyNGdkbWxsZHk1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCbWFYSnpkRkJsY25OdmJqODZJRlpTVFVacGNuTjBVR1Z5YzI5dU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyNTBZV2x1Y3lCN1FHeHBibXNnVmxKTlRHOXZhMEYwZlNCdlppQjBhR1VnVmxKTkxseHVJQ0FnS2lCWmIzVWdiV2xuYUhRZ2QyRnVkQ0IwYnlCMWMyVWdlMEJzYVc1cklGWlNUVXh2YjJ0QmRDNTBZWEpuWlhSOUlIUnZJR052Ym5SeWIyd2dkR2hsSUdWNVpTQmthWEpsWTNScGIyNGdiMllnZVc5MWNpQldVazF6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUd4dmIydEJkRDg2SUZaU1RVeHZiMnRCZER0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnYm1WM0lGWlNUU0JwYm5OMFlXNWpaUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhCaGNtRnRjeUJiVzFaU1RWQmhjbUZ0WlhSbGNuTmRYU0IwYUdGMElISmxjSEpsYzJWdWRITWdZMjl0Y0c5dVpXNTBjeUJ2WmlCMGFHVWdWbEpOWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnlZVzF6T2lCV1VrMURiM0psVUdGeVlXMWxkR1Z5Y3lrZ2UxeHVJQ0FnSUhSb2FYTXVjMk5sYm1VZ1BTQndZWEpoYlhNdWMyTmxibVU3WEc0Z0lDQWdkR2hwY3k1dFpYUmhJRDBnY0dGeVlXMXpMbTFsZEdFN1hHNGdJQ0FnZEdocGN5NW9kVzFoYm05cFpDQTlJSEJoY21GdGN5NW9kVzFoYm05cFpEdGNiaUFnSUNCMGFHbHpMbVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJRDBnY0dGeVlXMXpMbVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlPMXh1SUNBZ0lIUm9hWE11Wm1seWMzUlFaWEp6YjI0Z1BTQndZWEpoYlhNdVptbHljM1JRWlhKemIyNDdYRzRnSUNBZ2RHaHBjeTVzYjI5clFYUWdQU0J3WVhKaGJYTXViRzl2YTBGME8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJQ29xV1c5MUlHNWxaV1FnZEc4Z1kyRnNiQ0IwYUdseklHOXVJSGx2ZFhJZ2RYQmtZWFJsSUd4dmIzQXVLaXBjYmlBZ0lDcGNiaUFnSUNvZ1ZHaHBjeUJtZFc1amRHbHZiaUIxY0dSaGRHVnpJR1YyWlhKNUlGWlNUU0JqYjIxd2IyNWxiblJ6TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1pHVnNkR0VnWkdWc2RHRlVhVzFsWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nZFhCa1lYUmxLR1JsYkhSaE9pQnVkVzFpWlhJcE9pQjJiMmxrSUh0Y2JpQWdJQ0IwYUdsekxtaDFiV0Z1YjJsa0xuVndaR0YwWlNncE8xeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHOXZhMEYwS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbXh2YjJ0QmRDNTFjR1JoZEdVb1pHVnNkR0VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUxuVndaR0YwWlNncE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElIc2dSMHhVUml3Z1IweFVSa3h2WVdSbGNsQnNkV2RwYml3Z1IweFVSbEJoY25ObGNpQjlJR1p5YjIwZ0ozUm9jbVZsTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1ZsSk5RMjl5WlV4dllXUmxjbEJzZFdkcGJrOXdkR2x2Ym5NZ2ZTQm1jbTl0SUNjdUwxWlNUVU52Y21WTWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdJRlpTVFVOdmNtVWdmU0JtY205dElDY3VMMVpTVFVOdmNtVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiaUI5SUdaeWIyMGdKeTR2Wlhod2NtVnpjMmx2Ym5NdlZsSk5SWGh3Y21WemMybHZia3h2WVdSbGNsQnNkV2RwYmljN1hHNXBiWEJ2Y25RZ2V5QldVazFHYVhKemRGQmxjbk52Ymt4dllXUmxjbEJzZFdkcGJpQjlJR1p5YjIwZ0p5NHZabWx5YzNSUVpYSnpiMjR2VmxKTlJtbHljM1JRWlhKemIyNU1iMkZrWlhKUWJIVm5hVzRuTzF4dWFXMXdiM0owSUhzZ1ZsSk5TSFZ0WVc1dmFXUk1iMkZrWlhKUWJIVm5hVzRnZlNCbWNtOXRJQ2N1TDJoMWJXRnViMmxrTDFaU1RVaDFiV0Z1YjJsa1RHOWhaR1Z5VUd4MVoybHVKenRjYm1sdGNHOXlkQ0I3SUZaU1RVMWxkR0ZNYjJGa1pYSlFiSFZuYVc0Z2ZTQm1jbTl0SUNjdUwyMWxkR0V2VmxKTlRXVjBZVXh2WVdSbGNsQnNkV2RwYmljN1hHNXBiWEJ2Y25RZ2V5QldVazFNYjI5clFYUk1iMkZrWlhKUWJIVm5hVzRnZlNCbWNtOXRJQ2N1TDJ4dmIydEJkQzlXVWsxTWIyOXJRWFJNYjJGa1pYSlFiSFZuYVc0bk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMUlkVzFoYm05cFpDQjlJR1p5YjIwZ0p5NHZhSFZ0WVc1dmFXUW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFOWlhSaElIMGdabkp2YlNBbkxpOXRaWFJoSnp0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZaU1RVTnZjbVZNYjJGa1pYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QkhURlJHVEc5aFpHVnlVR3gxWjJsdUlIdGNiaUFnY0hWaWJHbGpJR2RsZENCdVlXMWxLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdMeThnVjJVZ2MyaHZkV3hrSUhWelpTQjBhR1VnWlhoMFpXNXphVzl1SUc1aGJXVWdhVzV6ZEdWaFpDQmlkWFFnZDJVZ2FHRjJaU0J0ZFd4MGFYQnNaU0J3YkhWbmFXNXpJR1p2Y2lCaGJpQmxlSFJsYm5OcGIyNHVMaTVjYmlBZ0lDQnlaWFIxY200Z0oxWlNUVU5mZG5KdEp6dGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQndZWEp6WlhJNklFZE1WRVpRWVhKelpYSTdYRzVjYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUdWNGNISmxjM05wYjI1UWJIVm5hVzQ2SUZaU1RVVjRjSEpsYzNOcGIyNU1iMkZrWlhKUWJIVm5hVzQ3WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCbWFYSnpkRkJsY25OdmJsQnNkV2RwYmpvZ1ZsSk5SbWx5YzNSUVpYSnpiMjVNYjJGa1pYSlFiSFZuYVc0N1hHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQm9kVzFoYm05cFpGQnNkV2RwYmpvZ1ZsSk5TSFZ0WVc1dmFXUk1iMkZrWlhKUWJIVm5hVzQ3WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCc2IyOXJRWFJRYkhWbmFXNDZJRlpTVFV4dmIydEJkRXh2WVdSbGNsQnNkV2RwYmp0Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlHMWxkR0ZRYkhWbmFXNDZJRlpTVFUxbGRHRk1iMkZrWlhKUWJIVm5hVzQ3WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEJoY25ObGNqb2dSMHhVUmxCaGNuTmxjaXdnYjNCMGFXOXVjejg2SUZaU1RVTnZjbVZNYjJGa1pYSlFiSFZuYVc1UGNIUnBiMjV6S1NCN1hHNGdJQ0FnZEdocGN5NXdZWEp6WlhJZ1BTQndZWEp6WlhJN1hHNWNiaUFnSUNCamIyNXpkQ0JvWld4d1pYSlNiMjkwSUQwZ2IzQjBhVzl1Y3o4dWFHVnNjR1Z5VW05dmREdGNiaUFnSUNCamIyNXpkQ0JoZFhSdlZYQmtZWFJsU0hWdFlXNUNiMjVsY3lBOUlHOXdkR2x2Ym5NL0xtRjFkRzlWY0dSaGRHVklkVzFoYmtKdmJtVnpPMXh1WEc0Z0lDQWdkR2hwY3k1bGVIQnlaWE56YVc5dVVHeDFaMmx1SUQwZ2IzQjBhVzl1Y3o4dVpYaHdjbVZ6YzJsdmJsQnNkV2RwYmlBL1B5QnVaWGNnVmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiaWh3WVhKelpYSXBPMXh1SUNBZ0lIUm9hWE11Wm1seWMzUlFaWEp6YjI1UWJIVm5hVzRnUFNCdmNIUnBiMjV6UHk1bWFYSnpkRkJsY25OdmJsQnNkV2RwYmlBL1B5QnVaWGNnVmxKTlJtbHljM1JRWlhKemIyNU1iMkZrWlhKUWJIVm5hVzRvY0dGeWMyVnlLVHRjYmlBZ0lDQjBhR2x6TG1oMWJXRnViMmxrVUd4MVoybHVJRDFjYmlBZ0lDQWdJRzl3ZEdsdmJuTS9MbWgxYldGdWIybGtVR3gxWjJsdUlEOC9JRzVsZHlCV1VrMUlkVzFoYm05cFpFeHZZV1JsY2xCc2RXZHBiaWh3WVhKelpYSXNJSHNnYUdWc2NHVnlVbTl2ZEN3Z1lYVjBiMVZ3WkdGMFpVaDFiV0Z1UW05dVpYTWdmU2s3WEc0Z0lDQWdkR2hwY3k1c2IyOXJRWFJRYkhWbmFXNGdQU0J2Y0hScGIyNXpQeTVzYjI5clFYUlFiSFZuYVc0Z1B6OGdibVYzSUZaU1RVeHZiMnRCZEV4dllXUmxjbEJzZFdkcGJpaHdZWEp6WlhJc0lIc2dhR1ZzY0dWeVVtOXZkQ0I5S1R0Y2JpQWdJQ0IwYUdsekxtMWxkR0ZRYkhWbmFXNGdQU0J2Y0hScGIyNXpQeTV0WlhSaFVHeDFaMmx1SUQ4L0lHNWxkeUJXVWsxTlpYUmhURzloWkdWeVVHeDFaMmx1S0hCaGNuTmxjaWs3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZV1owWlhKU2IyOTBLR2RzZEdZNklFZE1WRVlwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbTFsZEdGUWJIVm5hVzR1WVdaMFpYSlNiMjkwS0dkc2RHWXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVhSFZ0WVc1dmFXUlFiSFZuYVc0dVlXWjBaWEpTYjI5MEtHZHNkR1lwTzF4dUlDQWdJR0YzWVdsMElIUm9hWE11Wlhod2NtVnpjMmx2YmxCc2RXZHBiaTVoWm5SbGNsSnZiM1FvWjJ4MFppazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXNiMjlyUVhSUWJIVm5hVzR1WVdaMFpYSlNiMjkwS0dkc2RHWXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVabWx5YzNSUVpYSnpiMjVRYkhWbmFXNHVZV1owWlhKU2IyOTBLR2RzZEdZcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYldWMFlTQTlJR2RzZEdZdWRYTmxja1JoZEdFdWRuSnRUV1YwWVNCaGN5QldVazFOWlhSaElId2diblZzYkR0Y2JpQWdJQ0JqYjI1emRDQm9kVzFoYm05cFpDQTlJR2RzZEdZdWRYTmxja1JoZEdFdWRuSnRTSFZ0WVc1dmFXUWdZWE1nVmxKTlNIVnRZVzV2YVdRZ2ZDQnVkV3hzTzF4dVhHNGdJQ0FnTHk4Z2JXVjBZU0JoYm1RZ2FIVnRZVzV2YVdRZ1lYSmxJSEpsY1hWcGNtVmtJSFJ2SUdKbElHRWdWbEpOTGx4dUlDQWdJQzh2SUVSdmJpZDBJR055WldGMFpTQldVazBnYVdZZ2RHaGxlU0JoY21VZ2JuVnNiRnh1SUNBZ0lHbG1JQ2h0WlhSaElDWW1JR2gxYldGdWIybGtLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjJjbTFEYjNKbElEMGdibVYzSUZaU1RVTnZjbVVvZTF4dUlDQWdJQ0FnSUNCelkyVnVaVG9nWjJ4MFppNXpZMlZ1WlN4Y2JpQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJrMWhibUZuWlhJNklHZHNkR1l1ZFhObGNrUmhkR0V1ZG5KdFJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJc1hHNGdJQ0FnSUNBZ0lHWnBjbk4wVUdWeWMyOXVPaUJuYkhSbUxuVnpaWEpFWVhSaExuWnliVVpwY25OMFVHVnljMjl1TEZ4dUlDQWdJQ0FnSUNCb2RXMWhibTlwWkN4Y2JpQWdJQ0FnSUNBZ2JHOXZhMEYwT2lCbmJIUm1MblZ6WlhKRVlYUmhMblp5YlV4dmIydEJkQ3hjYmlBZ0lDQWdJQ0FnYldWMFlTeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JuYkhSbUxuVnpaWEpFWVhSaExuWnliVU52Y21VZ1BTQjJjbTFEYjNKbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dUlsMHNJbTVoYldWeklqcGJJbEJQVTFOSlFreEZYMU5RUlVOZlZrVlNVMGxQVGxNaUxDSmZkak5CSWl3aVgzWXpRaUlzSWw5eGRXRjBRU0lzSWw5eGRXRjBRaUlzSWxaRlF6TmZVRTlUU1ZSSlZrVmZXaUlzSWw5bGRXeGxja0VpWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096czdRVUZKUVR0QlFVTkJPMEZCUTJFc1RVRkJRU3hoUVVGakxGTkJRVkVzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUVR0QlFXOURMME03T3p0QlFVZEhPMEZCUTBnc1NVRkJRU3hKUVVGWExHMUNRVUZ0UWl4SFFVRkJPMEZCUXpWQ0xGRkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNZVUZCWVN4TFFVRkxMRTlCUVU4c1JVRkJSVHRCUVVOc1F5eFpRVUZCTEU5QlFVOHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXp0QlFVTjBReXhUUVVGQk8wRkJRVTBzWVVGQlFTeEpRVUZKTEVsQlFVa3NRMEZCUXl4aFFVRmhMRXRCUVVzc1QwRkJUeXhGUVVGRk8xbEJRM3BETEU5QlFVOHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVOd1FpeFRRVUZCTzBGQlFVMHNZVUZCUVR0QlFVTk1MRmxCUVVFc1QwRkJUeXhIUVVGSExFTkJRVU03UVVGRFdpeFRRVUZCTzB0QlEwWTdRVUZGUkRzN08wRkJSMGM3UVVGRFNDeEpRVUZCTEVsQlFWY3NiMEpCUVc5Q0xFZEJRVUU3UVVGRE4wSXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFdEJRVXNzVDBGQlR5eEZRVUZGTzBGQlEyNURMRmxCUVVFc1QwRkJUeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJRM1JETEZOQlFVRTdRVUZCVFN4aFFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zUzBGQlN5eFBRVUZQTEVWQlFVVTdXVUZETVVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzBGQlEzQkNMRk5CUVVFN1FVRkJUU3hoUVVGQk8wRkJRMHdzV1VGQlFTeFBRVUZQTEVkQlFVY3NRMEZCUXp0QlFVTmFMRk5CUVVFN1MwRkRSanRCUVVWRU96czdRVUZIUnp0QlFVTklMRWxCUVVFc1NVRkJWeXh0UWtGQmJVSXNSMEZCUVR0QlFVTTFRaXhSUVVGQkxFbEJRVWtzU1VGQlNTeERRVUZETEdGQlFXRXNTMEZCU3l4UFFVRlBMRVZCUVVVN1FVRkRiRU1zV1VGQlFTeFBRVUZQTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZEZEVNc1UwRkJRVHRCUVVGTkxHRkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNZVUZCWVN4TFFVRkxMRTlCUVU4c1JVRkJSVHRaUVVONlF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1FVRkRjRUlzVTBGQlFUdEJRVUZOTEdGQlFVRTdRVUZEVEN4WlFVRkJMRTlCUVU4c1IwRkJSeXhEUVVGRE8wRkJRMW9zVTBGQlFUdExRVU5HTzBGQlJVUXNTVUZCUVN4WFFVRkJMRU5CUVZrc1kwRkJjMElzUlVGQlFUdEJRVU5vUXl4UlFVRkJMRXRCUVVzc1JVRkJSU3hEUVVGRE8wRkJlRVZXT3p0QlFVVkhPMUZCUTBrc1NVRkJUU3hEUVVGQkxFMUJRVUVzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZGY0VJN08wRkJSVWM3VVVGRFNTeEpRVUZSTEVOQlFVRXNVVUZCUVN4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVWNFFqczdRVUZGUnp0UlFVTkpMRWxCUVdFc1EwRkJRU3hoUVVGQkxFZEJRVGhDTEUxQlFVMHNRMEZCUXp0QlFVVjZSRHM3UVVGRlJ6dFJRVU5KTEVsQlFXTXNRMEZCUVN4alFVRkJMRWRCUVRoQ0xFMUJRVTBzUTBGQlF6dEJRVVV4UkRzN1FVRkZSenRSUVVOSkxFbEJRV0VzUTBGQlFTeGhRVUZCTEVkQlFUaENMRTFCUVUwc1EwRkJRenRSUVVWcVJDeEpRVUZOTEVOQlFVRXNUVUZCUVN4SFFVRjNRaXhGUVVGRkxFTkJRVU03UVVGcFJIWkRMRkZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZwUWl4alFVRkJMRVZCUVVFc1kwRkJZeXhGUVVGRkxFTkJRVU03UVVGRE9VTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExHTkJRV01zUTBGQlF6czdRVUZIY2tNc1VVRkJRU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEdWQlFXVXNRMEZCUXpzN08wRkJTVFZDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGRFSTdRVUZGVFN4SlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGMVFpeEZRVUZCTzBGQlEzQkRMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRlRUk3UVVGRlJEczdPMEZCUjBjN1FVRkRTU3hKUVVGQkxGZEJRVmNzUTBGQlF5eFBRVTlzUWl4RlFVRkJPenRCUVVORExGRkJRVUVzU1VGQlNTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1NVRkJTU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEYkVZc1dVRkJXU3hKUVVGSkxFTkJRVUVzUlVGQlFTeEhRVUZCTEU5QlFVOHNTMEZCVUN4SlFVRkJMRWxCUVVFc1QwRkJUeXhMUVVGUUxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRTlCUVU4c1EwRkJSU3hWUVVGVkxFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUjBGQlJ5eERRVUZETzBGQlJUTkRMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUXk5RU8wRkJSVVE3TzBGQlJVYzdTVUZEU1N4clFrRkJhMElzUjBGQlFUdEJRVU4yUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTVUZCU1N4TFFVRkxMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4RFFVRkRMRU5CUVVNN1MwRkRNVVE3UVVGRFJqczdRVU01U0VRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVzlIUVR0QlFVTlBMRk5CUVZNc1UwRkJVeXhEUVVGRExFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSVHRCUVVNM1JDeEpRVUZKTEZOQlFWTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFOUJRVThzUzBGQlN5eFpRVUZaTEVOQlFVTXNSMEZCUnl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zVlVGQlZTeFBRVUZQTEVWQlFVVXNSVUZCUlN4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlR0QlFVTm9TQ3hKUVVGSkxFOUJRVThzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhGUVVGRkxGVkJRVlVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlR0QlFVTXZSQ3hSUVVGUkxGTkJRVk1zVTBGQlV5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVTdRVUZEYmtjc1VVRkJVU3hUUVVGVExGRkJRVkVzUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVTdRVUZEZEVjc1VVRkJVU3hUUVVGVExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZEZEVnc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eFRRVUZUTEVkQlFVY3NVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzVlVGQlZTeEpRVUZKTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRE9VVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkRVRHM3UVVOMlNFRXNVMEZCVXl4NVFrRkJlVUlzUTBGQlF5eEpRVUZWTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hKUVVGdlFpeEZRVUZCT3p0QlFVTndSaXhKUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6dEJRVVZzUkRzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEJRV2xFUnpzN1NVRkhTQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRPMGxCUXpORExFbEJRVWtzVlVGQlZTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTjBRaXhSUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNiVVJCUVcxRUxGTkJRVk1zUTBGQlFTeHZRMEZCUVN4RFFVRnpReXhEUVVGRExFTkJRVU03UVVGRGFrZ3NVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxFdEJRVUU3UVVGRlJDeEpRVUZCTEUxQlFVMHNVMEZCVXl4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU03U1VGRGJFTXNTVUZCU1N4VFFVRlRMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRM0pDTEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhMUVVGQk96dEpRVWRFTEUxQlFVMHNWVUZCVlN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRE5VTXNTVUZCU1N4VlFVRlZMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRM1JDTEZGQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXh2UkVGQmIwUXNVMEZCVXl4RFFVRkJMRzlEUVVGQkxFTkJRWE5ETEVOQlFVTXNRMEZCUXp0QlFVTnNTQ3hSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNTMEZCUVR0QlFVVkVMRWxCUVVFc1RVRkJUU3hqUVVGakxFZEJRVWNzVlVGQlZTeERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNN08wbEJSM0JFTEUxQlFVMHNWVUZCVlN4SFFVRnBRaXhGUVVGRkxFTkJRVU03UVVGRGNFTXNTVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zVFVGQlRTeExRVUZKTzBGQlEzWkNMRkZCUVVFc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeEhRVUZITEdOQlFXTXNSVUZCUlR0WlFVTjBReXhKUVVGTExFMUJRV01zUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZETVVJc1owSkJRVUVzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRnZRaXhEUVVGRExFTkJRVU03UVVGRGRrTXNZVUZCUVR0QlFVTkdMRk5CUVVFN1FVRkRTQ3hMUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZJTEVsQlFVRXNUMEZCVHl4VlFVRlZMRU5CUVVNN1FVRkRjRUlzUTBGQlF6dEJRVVZFT3pzN096czdPenRCUVZGSE8wRkJRMjFDTEZOQlFVRXNOa0pCUVRaQ0xFTkJRVU1zU1VGQlZTeEZRVUZGTEZOQlFXbENMRVZCUVVFN08wRkJReTlGTEZGQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVcxQ0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4aFFVRmhMRU5CUVVNc1RVRkJUU3hGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETzFGQlEyaEdMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dExRVU42UkN4RFFVRkJMRU5CUVVFN1FVRkJRU3hEUVVGQk8wRkJSVVE3T3pzN096czdPMEZCVVVjN1FVRkRSeXhUUVVGblFpdzRRa0ZCT0VJc1EwRkJReXhKUVVGVkxFVkJRVUU3TzFGQlF6ZEVMRTFCUVUwc1MwRkJTeXhIUVVGeFFpeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1pVRkJaU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6RkZMRkZCUVVFc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYZENMRU5CUVVNN1VVRkZOVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFdEJRVWs3V1VGRE5VSXNUVUZCVFN4TlFVRk5MRWRCUVVjc2VVSkJRWGxDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU0xUkN4SlFVRkpMRTFCUVUwc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGJFSXNaMEpCUVVFc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRlRUlzWVVGQlFUdEJRVU5JTEZOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc1VVRkJRU3hQUVVGUExFZEJRVWNzUTBGQlF6dExRVU5hTEVOQlFVRXNRMEZCUVR0QlFVRkJPenRCUXpOSVJEczdPenM3TzBGQlRVYzdRVUZEWVN4VFFVRkJMRGhDUVVFNFFpeERRVUZETEUxQlFXdENMRVZCUVVVc1VVRkJkMElzUlVGQlFUczdTVUZEZWtZc1RVRkJUU3hoUVVGaExFZEJRVWNzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRmJrUXNTVUZCU1N4TFFVRkxMRWRCUVd0Q0xFbEJRVWtzUTBGQlF6dEpRVVZvUXl4SlFVRkpMR0ZCUVdFc1NVRkJTU3hIUVVGSExFVkJRVVU3UVVGRGVFSXNVVUZCUVN4TFFVRkxMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVVc1UwRkJVeXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFbEJRVWtzUTBGQlF6dEJRVU01UkN4TFFVRkJPMEZCUVUwc1UwRkJRVHRCUVZkTUxGRkJRVUVzVFVGQlRTeFpRVUZaTEVkQlFVY3NUVUZCVFN4RFFVRkRMRmxCUVhORExFTkJRVU03VVVGRmJrVXNUVUZCVFN4VFFVRlRMRWRCUVVjc1dVRkJXU3hEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVVTNReXhKUVVGSkxFTkJRVUVzVTBGQlV5eExRVUZCTEVsQlFVRXNTVUZCVkN4VFFVRlRMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFWUXNVMEZCVXl4RFFVRkZMRWxCUVVrc1RVRkJTeXhYUVVGWExFVkJRVVU3UVVGRGJrTXNXVUZCUVN4TFFVRkxMRWRCUVVjc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF6dEJRVU42UWl4VFFVRkJPMEZCUTBZc1MwRkJRVHRCUVVWRUxFbEJRVUVzVDBGQlR5eExRVUZMTEVOQlFVTTdRVUZEWmpzN1FVTjBRMEU3UVVGRllTeE5RVUZCTEhWQ1FVRjFRaXhIUVVGSE8wRkJRM0pETEVsQlFVRXNSVUZCUlN4RlFVRkZMRWxCUVVrN1FVRkRVaXhKUVVGQkxFVkJRVVVzUlVGQlJTeEpRVUZKTzBGQlExSXNTVUZCUVN4RlFVRkZMRVZCUVVVc1NVRkJTVHRCUVVOU0xFbEJRVUVzUlVGQlJTeEZRVUZGTEVsQlFVazdRVUZEVWl4SlFVRkJMRVZCUVVVc1JVRkJSU3hKUVVGSk8wRkJRMUlzU1VGQlFTeExRVUZMTEVWQlFVVXNUMEZCVHp0QlFVTmtMRWxCUVVFc1MwRkJTeXhGUVVGRkxFOUJRVTg3UVVGRFpDeEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hIUVVGSExFVkJRVVVzUzBGQlN6dEJRVU5XTEVsQlFVRXNUMEZCVHl4RlFVRkZMRk5CUVZNN1FVRkRiRUlzU1VGQlFTeE5RVUZOTEVWQlFVVXNVVUZCVVR0QlFVTm9RaXhKUVVGQkxGTkJRVk1zUlVGQlJTeFhRVUZYTzBGQlEzUkNMRWxCUVVFc1VVRkJVU3hGUVVGRkxGVkJRVlU3UVVGRGNFSXNTVUZCUVN4UlFVRlJMRVZCUVVVc1ZVRkJWVHRCUVVOd1FpeEpRVUZCTEZOQlFWTXNSVUZCUlN4WFFVRlhPMEZCUTNSQ0xFbEJRVUVzVTBGQlV5eEZRVUZGTEZkQlFWYzdRVUZEZEVJc1NVRkJRU3hWUVVGVkxFVkJRVVVzV1VGQldUdEJRVU40UWl4SlFVRkJMRTlCUVU4c1JVRkJSU3hUUVVGVE96czdRVU53UW5CQ096czdPMEZCU1VjN1FVRkRSeXhUUVVGVkxGRkJRVkVzUTBGQlF5eExRVUZoTEVWQlFVRTdRVUZEY0VNc1NVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkROME03TzAxRFNHRXNiMEpCUVc5Q0xFTkJRVUU3UVVGeFFpOUNMRWxCUVVFc1NVRkJWeXhYUVVGWExFZEJRVUU3UVVGRGNFSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdTMEZEYmtNN1FVRk5SQ3hKUVVGQkxFbEJRVmNzWVVGQllTeEhRVUZCTzFGQlEzUkNMRTlCUVU4c1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8wdEJReTlETzBGQlJVUTdPMEZCUlVjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzYlVKQlFXMUNMRWRCUVVFN1VVRkROVUlzVFVGQlRTeE5RVUZOTEVkQlFUQkVMRVZCUVVVc1EwRkJRenRCUVVWNlJTeFJRVUZCTEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGVExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJUbEZMRkZCUVVFc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNWVUZCVlN4RFFVRkRMRXRCUVVrN1FVRkRha1VzV1VGQlFTeEpRVUZKTEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVU3UVVGRE0wSXNaMEpCUVVFc1RVRkJUU3hEUVVGRExFbEJRU3RDTEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNN1FVRkRkRVFzWVVGQlFUdEJRVU5JTEZOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc1VVRkJRU3hQUVVGUExFMUJRVTBzUTBGQlF6dExRVU5tTzBGQlJVUTdPMEZCUlVjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzYlVKQlFXMUNMRWRCUVVFN1VVRkROVUlzVFVGQlRTeE5RVUZOTEVkQlFYTkRMRVZCUVVVc1EwRkJRenRCUVVWeVJDeFJRVUZCTEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGVExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJUbEZMRkZCUVVFc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNWVUZCVlN4RFFVRkRMRXRCUVVrN1FVRkRha1VzV1VGQlFTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdEJRVU0xUWl4blFrRkJRU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRPMEZCUXpOQ0xHRkJRVUU3UVVGRFNDeFRRVUZETEVOQlFVTXNRMEZCUXp0QlFVVklMRkZCUVVFc1QwRkJUeXhOUVVGTkxFTkJRVU03UzBGRFpqdEJRVVZFT3p0QlFVVkhPMEZCUTBnc1NVRkJRU3hYUVVGQkxFZEJRVUU3UVVGeVJVRTdPMEZCUlVjN1VVRkRTU3hKUVVGdlFpeERRVUZCTEc5Q1FVRkJMRWRCUVVjc1EwRkJReXhQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEZsQlFWa3NRMEZCUXl4RFFVRkRPMEZCUlc1Rk96dEJRVVZITzFGQlEwa3NTVUZCY1VJc1EwRkJRU3h4UWtGQlFTeEhRVUZITEVOQlFVTXNWVUZCVlN4RlFVRkZMRmRCUVZjc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdRVUZGTDBVN08wRkJSVWM3UVVGRFNTeFJRVUZCTEVsQlFVRXNRMEZCUVN4dlFrRkJiMElzUjBGQlJ5eERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVVTNSRHM3TzBGQlIwYzdVVUZEU3l4SlFVRlpMRU5CUVVFc1dVRkJRU3hIUVVGdlFpeEZRVUZGTEVOQlFVTTdRVUZMTTBNN08wRkJSVWM3VVVGRFN5eEpRVUZqTEVOQlFVRXNZMEZCUVN4SFFVRnpReXhGUVVGRkxFTkJRVU03TzB0Qk5FTTVSRHRCUVVWRU96czdPMEZCU1VjN1FVRkRTU3hKUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUUwUWl4RlFVRkJPenRSUVVWMFF5eE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzBGQlF5OURMRkZCUVVFc1YwRkJWeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZWQlFWVXNTMEZCU1R0QlFVTnFReXhaUVVGQkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU40UXl4VFFVRkRMRU5CUVVNc1EwRkJRenM3VVVGSFNDeE5RVUZOTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGVkJRVlVzUzBGQlNUdEJRVU42UXl4WlFVRkJMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVOMFF5eFRRVUZETEVOQlFVTXNRMEZCUXpzN1VVRkhTQ3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRWRCUVVjc1RVRkJUU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRMnBGTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUjBGQlJ5eE5RVUZOTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZEYmtVc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRTFCUVUwc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRCUVVWcVJTeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMHRCUTJJN1FVRkZSRHM3TzBGQlIwYzdTVUZEU1N4TFFVRkxMRWRCUVVFN1VVRkRWaXhQUVVGUExFbEJRVWtzYjBKQlFXOUNMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZET1VNN1FVRkZSRHM3T3pzN1FVRkxSenRCUVVOSkxFbEJRVUVzWVVGQllTeERRVUZETEVsQlFYTkRMRVZCUVVFN08xRkJRM3BFTEU5QlFVOHNRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNN1MwRkRNVU03UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeHJRa0ZCYTBJc1EwRkJReXhWUVVGNVFpeEZRVUZCTzBGQlEycEVMRkZCUVVFc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRia01zU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETzB0QlF6ZEVPMEZCUlVRN096czdRVUZKUnp0QlFVTkpMRWxCUVVFc2IwSkJRVzlDTEVOQlFVTXNWVUZCZVVJc1JVRkJRVHRSUVVOdVJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTndSQ3hSUVVGQkxFbEJRVWtzUzBGQlN5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTJoQ0xGbEJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4dFJVRkJiVVVzUTBGQlF5eERRVUZETzBGQlEyNUdMRk5CUVVFN1VVRkZSQ3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGJrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0TFFVTjJSRHRCUVVWRU96czdPenRCUVV0SE8wRkJRMGtzU1VGQlFTeFJRVUZSTEVOQlFVTXNTVUZCYzBNc1JVRkJRVHM3VVVGRGNFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhQUVVGUExFTkJRVUVzUlVGQlFTeEhRVUZCTEZWQlFWVXNTMEZCUVN4SlFVRkJMRWxCUVZZc1ZVRkJWU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRldMRlZCUVZVc1EwRkJSU3hOUVVGTkxFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETzB0QlEyNURPMEZCUlVRN096czdPMEZCUzBjN1NVRkRTU3hSUVVGUkxFTkJRVU1zU1VGQmMwTXNSVUZCUlN4TlFVRmpMRVZCUVVFN1VVRkRjRVVzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU0xUXl4UlFVRkJMRWxCUVVrc1ZVRkJWU3hGUVVGRk8wRkJRMlFzV1VGQlFTeFZRVUZWTEVOQlFVTXNUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEJRVU4wUXl4VFFVRkJPMHRCUTBZN1FVRkZSRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEJRWGxDUnp0QlFVTkpMRWxCUVVFc2MwSkJRWE5DTEVOQlFVTXNTVUZCYzBNc1JVRkJRVHRSUVVOc1JTeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlF6VkRMRkZCUVVFc1QwRkJUeXhWUVVGVkxFZEJRVWNzUTBGQlJ5eEZRVUZCTEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVZNc1QwRkJRU3hEUVVGQkxFZEJRVWNzU1VGQlNTeERRVUZETzB0QlEzaEVPMEZCUlVRN08wRkJSVWM3U1VGRFNTeE5RVUZOTEVkQlFVRTdPMEZCUlZnc1VVRkJRU3hOUVVGTkxHbENRVUZwUWl4SFFVRkhMRWxCUVVrc1EwRkJReXd5UWtGQk1rSXNSVUZCUlN4RFFVRkRPenRSUVVjM1JDeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGVkJRVlVzUzBGQlNUdFpRVU4yUXl4VlFVRlZMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0QlFVTnNReXhUUVVGRExFTkJRVU1zUTBGQlF6czdVVUZIU0N4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZWQlFWVXNTMEZCU1R0WlFVTjJReXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZEY2tJc1dVRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkRPMWxCUlhaRExFbEJRVWtzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1JVRkJSVHRCUVVOc1JDeG5Ra0ZCUVN4VlFVRlZMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMEZCUTNaRExHRkJRVUU3V1VGRlJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVU3UVVGRGJrUXNaMEpCUVVFc1ZVRkJWU3hKUVVGSkxHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVONFF5eGhRVUZCTzFsQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTzBGQlEyeEVMR2RDUVVGQkxGVkJRVlVzU1VGQlNTeHBRa0ZCYVVJc1EwRkJReXhMUVVGTExFTkJRVU03UVVGRGRrTXNZVUZCUVR0QlFVVkVMRmxCUVVFc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRla01zVTBGQlF5eERRVUZETEVOQlFVTTdTMEZEU2p0QlFVVkVPenRCUVVWSE8wbEJRMHNzTWtKQlFUSkNMRWRCUVVFN1VVRkxha01zU1VGQlNTeExRVUZMTEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUTJoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVTnFRaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZGYUVJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4VlFVRlZMRXRCUVVrN1FVRkRka01zV1VGQlFTeExRVUZMTEVsQlFVa3NWVUZCVlN4RFFVRkRMRzFDUVVGdFFpeERRVUZETzBGQlEzaERMRmxCUVVFc1RVRkJUU3hKUVVGSkxGVkJRVlVzUTBGQlF5eHZRa0ZCYjBJc1EwRkJRenRCUVVNeFF5eFpRVUZCTEV0QlFVc3NTVUZCU1N4VlFVRlZMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTTdRVUZETVVNc1UwRkJReXhEUVVGRExFTkJRVU03VVVGRlNDeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZETjBJc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJReTlDTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVVTNRaXhSUVVGQkxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRE8wdEJRMnBETzBGQlEwWTdPMEZEYkZGRU8wRkJSV0VzVFVGQlFTdzRRa0ZCT0VJc1IwRkJSenRCUVVNMVF5eEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hoUVVGaExFVkJRVVVzWlVGQlpUdEJRVU01UWl4SlFVRkJMRlZCUVZVc1JVRkJSU3haUVVGWk8wRkJRM2hDTEVsQlFVRXNWMEZCVnl4RlFVRkZMR0ZCUVdFN1FVRkRNVUlzU1VGQlFTeFJRVUZSTEVWQlFVVXNWVUZCVlR0QlFVTndRaXhKUVVGQkxGbEJRVmtzUlVGQlJTeGpRVUZqTzBWQlEyNUNPMEZCUzBvc1RVRkJUU3cwUWtGQk5FSXNSMEZCYTBVN1NVRkRla2NzVFVGQlRTeEZRVUZGTERoQ1FVRTRRaXhEUVVGRExFdEJRVXM3U1VGRE5VTXNZMEZCWXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEdGQlFXRTdTVUZETlVRc1YwRkJWeXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRlZCUVZVN1NVRkRkRVFzVTBGQlV5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExGRkJRVkU3U1VGRGJFUXNZVUZCWVN4RlFVRkZMRGhDUVVFNFFpeERRVUZETEZsQlFWazdRMEZETTBRN08wRkRhRUpFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzBGQlJXcERPenRCUVVWSE8wMUJRMVVzT0VKQlFUaENMRU5CUVVFN1FVRnBSSHBETEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhGUVVOcVFpeFJRVUZSTEVWQlExSXNTVUZCU1N4RlFVTktMRmRCUVZjc1IwRm5RbG9zUlVGQlFUczdRVUZEUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzBGQlEzcENMRkZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZEYWtJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEZkQlFWY3NRMEZCUXpzN1FVRkhMMElzVVVGQlFTeE5RVUZOTEdWQlFXVXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETERoQ1FVRTRRaXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVNM1JpeERRVUZETEVOQlFVTXNZVUZCWVN4RFFVRkRMRXRCUVVrN1FVRkRiRUlzV1VGQlFTeFBRVUZSTEZGQlFXZENMRU5CUVVNc1lVRkJZU3hEUVVGRExFdEJRVXNzU1VGQlNTeERRVUZETzBGQlEyNUVMRk5CUVVNc1EwRkRSaXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTFBc1VVRkJRU3hOUVVGTkxGbEJRVmtzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4bFFVRmxMRXRCUVdZc1NVRkJRU3hKUVVGQkxHVkJRV1VzUzBGQlppeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hsUVVGbExFTkJRVWNzU1VGQlNTeERRVUZETEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NTVUZCU1N4RFFVRkRPMUZCUlhKRUxFbEJRVWtzV1VGQldTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTjRRaXhaUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlExWXNRMEZCUVN4dFJFRkJRU3hGUVVORkxFMUJRVUVzVVVGQlVTeERRVUZETEVsQlFVa3NUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4WFFVTnVRaXhEUVVGQkxGZEJRVUVzUlVGQll5eEpRVUZKTEVOQlFVRXNLME5CUVVFc1EwRkJhVVFzUTBGRGNFVXNRMEZCUXp0QlFVVkdMRmxCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZEY0VJc1UwRkJRVHRCUVVGTkxHRkJRVUU3UVVGRFRDeFpRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkpMRkZCUVdkQ0xFTkJRVU1zV1VGQldTeERRVUZuUWl4RFFVRkRPMEZCUlRsRUxGbEJRVUVzVFVGQlRTeFpRVUZaTEVkQlFVY3NUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE96dEJRVWR3UXl4WlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZEYUVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RlFVTTVRaXhYUVVGWExFTkJRVU1zUTBGQlF5eEhRVUZITEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUXpsQ0xGZEJRVmNzUTBGQlF5eERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkRMMElzUTBGQlF6dFpRVVZHTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjN1owSkJRMW9zV1VGQldUdG5Ra0ZEV2l4WlFVRlpPMmRDUVVOYUxGVkJRVlU3WVVGRFdDeERRVUZETzBGQlEwZ3NVMEZCUVR0TFFVTkdPMEZCUlUwc1NVRkJRU3hYUVVGWExFTkJRVU1zVFVGQll5eEZRVUZCTzBGQlF5OUNMRkZCUVVFc1NVRkJTU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NSVUZCUlRzN1dVRkZka0lzVDBGQlR6dEJRVU5TTEZOQlFVRTdVVUZGUkN4TlFVRk5MRVZCUVVVc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkZha1FzVFVGQlRTeE5RVUZOTEVkQlFVa3NTVUZCU1N4RFFVRkRMRkZCUVdkQ0xFTkJRVU1zV1VGQldTeERRVUZuUWl4RFFVRkRPMUZCUTI1RkxFbEJRVWtzVFVGQlRTeExRVUZMTEZOQlFWTXNSVUZCUlR0WlFVTjRRaXhQUVVGUE8wRkJRMUlzVTBGQlFUdEJRVVZFTEZGQlFVRXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJUTkVMRWxCUVVrc1QwRkJVU3hKUVVGSkxFTkJRVU1zVVVGQlowSXNRMEZCUXl4dFFrRkJiVUlzUzBGQlN5eFRRVUZUTEVWQlFVVTdRVUZEYkVVc1dVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlowSXNRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZEYmtRc1UwRkJRVHRMUVVOR08wbEJSVTBzYTBKQlFXdENMRWRCUVVFN1FVRkRka0lzVVVGQlFTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWxCUVVrc1NVRkJTU3hGUVVGRk96dFpRVVYyUWl4UFFVRlBPMEZCUTFJc1UwRkJRVHRSUVVWRUxFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNXVUZCV1N4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVZ1UkN4TlFVRk5MRTFCUVUwc1IwRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlowSXNRMEZCUXl4WlFVRlpMRU5CUVdkQ0xFTkJRVU03VVVGRGJrVXNTVUZCU1N4TlFVRk5MRXRCUVVzc1UwRkJVeXhGUVVGRk8xbEJRM2hDTEU5QlFVODdRVUZEVWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUlRGQ0xFbEJRVWtzVDBGQlVTeEpRVUZKTEVOQlFVTXNVVUZCWjBJc1EwRkJReXh0UWtGQmJVSXNTMEZCU3l4VFFVRlRMRVZCUVVVN1FVRkRiRVVzV1VGQlFTeEpRVUZKTEVOQlFVTXNVVUZCWjBJc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkRia1FzVTBGQlFUdExRVU5HT3p0QlFXeEtSRHM3UVVGRlJ6dEJRVU5aTERoQ1FVRkJMRU5CUVVFc2JVSkJRVzFDTEVkQlJUbENPMEZCUTBZc1NVRkJRU3h6UWtGQmMwSXNSVUZCUlR0QlFVTjBRaXhSUVVGQkxFdEJRVXNzUlVGQlJTeFBRVUZQTzBGQlEyUXNVVUZCUVN4aFFVRmhMRVZCUVVVc1ZVRkJWVHRCUVVNeFFpeExRVUZCTzBGQlEwUXNTVUZCUVN4dFFrRkJiVUlzUlVGQlJUdEJRVU51UWl4UlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMllzUzBGQlFUdEJRVU5FTEVsQlFVRXNaVUZCWlN4RlFVRkZPMEZCUTJZc1VVRkJRU3hMUVVGTExFVkJRVVVzVDBGQlR6dEJRVU5rTEZGQlFVRXNZVUZCWVN4RlFVRkZMRlZCUVZVN1FVRkRla0lzVVVGQlFTeFpRVUZaTEVWQlFVVXNiMEpCUVc5Q08wRkJRMnhETEZGQlFVRXNWMEZCVnl4RlFVRkZMR05CUVdNN1FVRkRNMElzVVVGQlFTeFJRVUZSTEVWQlFVVXNNRUpCUVRCQ08wRkJRM0JETEZGQlFVRXNWVUZCVlN4RlFVRkZMR3RDUVVGclFqdEJRVU12UWl4TFFVRkJPME5CUTBZN08wRkROVUpJT3p0QlFVVkhPMDFCUTFVc05FSkJRVFJDTEVOQlFVRTdRVUZuUW5aRExFbEJRVUVzVjBGQlFTeERRVUZ0UWl4RlFVTnFRaXhWUVVGVkxFVkJRMVlzUzBGQlN5eEZRVU5NTEUxQlFVMHNSMEZuUWxBc1JVRkJRVHRCUVVORExGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4VlFVRlZMRU5CUVVNN1FVRkROMElzVVVGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVOdVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8wdEJRM1JDTzBGQlJVMHNTVUZCUVN4WFFVRlhMRU5CUVVNc1RVRkJZeXhGUVVGQk8xRkJReTlDTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zU1VGQlNTeExRVUZKT3p0QlFVTXZRaXhaUVVGQkxFbEJRVWtzUTBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTndSQ3huUWtGQlFTeEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETzBGQlEyaEZMR0ZCUVVFN1FVRkRTQ3hUUVVGRExFTkJRVU1zUTBGQlF6dExRVU5LTzBsQlJVMHNhMEpCUVd0Q0xFZEJRVUU3VVVGRGRrSXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eEpRVUZKTEV0QlFVazdPMEZCUXk5Q0xGbEJRVUVzU1VGQlNTeERRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVa3NTVUZCU1N4RlFVRkZPMmRDUVVOd1JDeEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJRenRCUVVNNVF5eGhRVUZCTzBGQlEwZ3NVMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRTanRCUVVOR096dEJRek5FUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVm9RenM3UVVGRlJ6dE5RVU5WTEdsRFFVRnBReXhEUVVGQk8wRkJhMFExUXl4SlFVRkJMRmRCUVVFc1EwRkJiVUlzUlVGRGFrSXNVVUZCVVN4RlFVTlNMRXRCUVVzc1JVRkRUQ3hOUVVGTkxFZEJaMEpRTEVWQlFVRTdPMEZCUTBNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEZGQlFWRXNRMEZCUXp0QlFVTjZRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMEZCUTI1Q0xGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1FVRkZja0lzVVVGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEdsRFFVRnBReXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVNMVJpeERRVUZETEVOQlFVTXNZVUZCWVN4RFFVRkRMRXRCUVVrN1FVRkRiRUlzV1VGQlFTeFBRVUZSTEZGQlFXZENMRU5CUVVNc1lVRkJZU3hEUVVGRExFdEJRVXNzU1VGQlNTeERRVUZETzBGQlEyNUVMRk5CUVVNc1EwRkRSaXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlZBc1NVRkJTU3hoUVVGaExFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEzcENMRmxCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGRFZpeERRVUZCTEhORVFVRkJMRVZCUTBVc1EwRkJRU3hGUVVGQkxFZEJRVUVzVVVGQlVTeERRVUZETEVsQlFVa3NUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4WFFVTnVRaXhEUVVGeFF5eHRRMEZCUVN4RFFVRkJMRU5CUTNSRExFTkJRVU03UVVGRlJpeFpRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1JVRkJSU3hEUVVGRE8wRkJRM1pDTEZOQlFVRTdRVUZCVFN4aFFVRkJPMEZCUTB3c1dVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVWQlFVVXNRMEZCUXp0QlFVVjBRaXhaUVVGQkxHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4WlFVRlpMRXRCUVVrN08yZENRVU55UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlJTeFJRVUZuUWl4RFFVRkRMRmxCUVZrc1EwRkJLMElzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4TFFVRkxMRVZCUVVVc1EwRkJRenRuUWtGRGVFWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSVHRCUVVOYUxHOUNRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc2FVSkJRVUU3UVVGRlFTeG5Ra0ZCUVN4UlFVRm5RaXhEUVVGRExGbEJRVmtzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXp0blFrRkZNVU1zVFVGQlRTeGhRVUZoTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dG5Ra0ZETjBNc1RVRkJUU3haUVVGWkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenRuUWtGRE5VTXNUVUZCVFN4WFFVRlhMRWRCUVVjc1RVRkJUU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRuUWtGRGRFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRCUVVWdVJDeG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF6dEJRVU53UWl4dlFrRkJRU3hKUVVGSkxFVkJRVVVzV1VGQldUdHZRa0ZEYkVJc1lVRkJZVHR2UWtGRFlpeFhRVUZYTzI5Q1FVTllMRmxCUVZrN2IwSkJRMW9zVlVGQlZUdEJRVU5ZTEdsQ1FVRkJMRU5CUVVNc1EwRkJRenRCUVVOTUxHRkJRVU1zUTBGQlF5eERRVUZETzBGQlEwb3NVMEZCUVR0TFFVTkdPMEZCUlUwc1NVRkJRU3hYUVVGWExFTkJRVU1zVFVGQll5eEZRVUZCTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNVVUZCVVN4TFFVRkpPMWxCUTNCRExFMUJRVTBzVFVGQlRTeEhRVUZKTEVsQlFVa3NRMEZCUXl4UlFVRm5RaXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFXdENMRU5CUVVNN1dVRkRkRVVzU1VGQlNTeE5RVUZOTEV0QlFVc3NVMEZCVXl4RlFVRkZPMmRDUVVONFFpeFBRVUZQTzBGQlExSXNZVUZCUVR0QlFVVkVMRmxCUVVFc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVrVXNXVUZCUVN4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWNFJTeFpRVUZCTEUxQlFVMHNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRelZDTEZOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTBvN1NVRkZUU3hyUWtGQmEwSXNSMEZCUVR0UlFVTjJRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRkZCUVZFc1MwRkJTVHRaUVVOd1F5eE5RVUZOTEUxQlFVMHNSMEZCU1N4SlFVRkpMRU5CUVVNc1VVRkJaMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRnJRaXhEUVVGRE8xbEJRM1JGTEVsQlFVa3NUVUZCVFN4TFFVRkxMRk5CUVZNc1JVRkJSVHRuUWtGRGVFSXNUMEZCVHp0QlFVTlNMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03V1VGRE0wTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMEZCUlRGRExGbEJRVUVzVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkROVUlzVTBGQlF5eERRVUZETEVOQlFVTTdTMEZEU2pzN1FVRTFTV01zYVVOQlFVRXNRMEZCUVN4cFFrRkJhVUlzUjBGQk1FTTdRVUZEZUVVc1NVRkJRU3h6UWtGQmMwSXNSVUZCUlR0UlFVTjBRaXhMUVVGTE8xRkJRMHdzWVVGQllUdFJRVU5pTEZOQlFWTTdVVUZEVkN4WFFVRlhPMUZCUTFnc2FVSkJRV2xDTzFGQlEycENMR05CUVdNN1VVRkRaQ3hqUVVGak8xRkJRMlFzVlVGQlZUdEJRVU5ZTEV0QlFVRTdRVUZEUkN4SlFVRkJMRzFDUVVGdFFpeEZRVUZGTEVOQlFVTXNTMEZCU3l4RlFVRkZMR0ZCUVdFc1JVRkJSU3hWUVVGVkxFTkJRVU03UVVGRGRrUXNTVUZCUVN4bFFVRmxMRVZCUVVVN1VVRkRaaXhMUVVGTE8xRkJRMHdzVjBGQlZ6dFJRVU5ZTEdGQlFXRTdVVUZEWWl4elFrRkJjMEk3VVVGRGRFSXNiMEpCUVc5Q08xRkJRM0JDTERaQ1FVRTJRanRSUVVNM1FpeDNRa0ZCZDBJN1FVRkRla0lzUzBGQlFUdERRVU5HT3p0QlEyWklPenRCUVVWSE8wRkJRMGdzVFVGQlRVRXNkMEpCUVhOQ0xFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVUxUkRzN1FVRkZSenROUVVOVkxIbENRVUY1UWl4RFFVRkJPMEZCZVVKd1F5eEpRVUZCTEVsQlFWY3NTVUZCU1N4SFFVRkJPenRCUVVWaUxGRkJRVUVzVDBGQlR5d3lRa0ZCTWtJc1EwRkJRenRMUVVOd1F6dEJRVVZFTEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhOUVVGclFpeEZRVUZCTzBGQlEyNURMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdTMEZEZEVJN1FVRkZXU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPMEZCUXk5Q0xGbEJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4dlFrRkJiMElzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VTBGREwwUXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkJRVHRCUVVWRU96czdPMEZCU1VjN1FVRkRWeXhKUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZWTEVWQlFVRTdPMWxCUXpsQ0xFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU0xUXl4WlFVRkJMRWxCUVVrc1VVRkJVU3hGUVVGRk8wRkJRMW9zWjBKQlFVRXNUMEZCVHl4UlFVRlJMRU5CUVVNN1FVRkRha0lzWVVGQlFUdFpRVVZFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTTFReXhaUVVGQkxFbEJRVWtzVVVGQlVTeEZRVUZGTzBGQlExb3NaMEpCUVVFc1QwRkJUeXhSUVVGUkxFTkJRVU03UVVGRGFrSXNZVUZCUVR0QlFVVkVMRmxCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03VTBGRFlpeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVRkJPMEZCUldFc1NVRkJRU3hUUVVGVExFTkJRVU1zU1VGQlZTeEZRVUZCT3pzN1FVRkRhRU1zV1VGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRWGRDTEVOQlFVTTdPMEZCUjJ4RUxGbEJRVUVzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eE5RVUZGTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlN5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzBGQlEyUXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzFsQlJVUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhWUVVGVkxFTkJRVzlETEVOQlFVTTdXVUZEYmtZc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJUdEJRVU5rTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4WFFVRlhMRWRCUVVjc1UwRkJVeXhEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU14UXl4WlFVRkJMRWxCUVVrc1EwRkJRMEVzZDBKQlFYTkNMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTzBGQlF6VkRMR2RDUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNORVJCUVRSRUxGZEJRVmNzUTBGQlFTeERRVUZCTEVOQlFVY3NRMEZCUXl4RFFVRkRPMEZCUTNwR0xHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETzFsQlEyaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlR0QlFVTjBRaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN08wRkJSMFFzV1VGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJVeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU01UlN4WlFVRkJMRTFCUVUwc2RVSkJRWFZDTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVd0RExFTkJRVU03UVVGRk1VVXNXVUZCUVN4SlFVRkpMR2xDUVVGcFFpeERRVUZETEUxQlFVMHNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRjRU1zWjBKQlFVRXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4blFrRkJaMElzUTBGQlF5eExRVUZKTzI5Q1FVTTFSU3hKUVVGSkxHZENRVUZuUWl4SlFVRkpMRWxCUVVrc1JVRkJSVHQzUWtGRE5VSXNUMEZCVHp0QlFVTlNMSEZDUVVGQk8wRkJSVVFzYjBKQlFVRXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVTdRVUZETlVJc2QwSkJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4dFJFRkJiVVFzU1VGQlNTeERRVUZCTEcxRFFVRkJMRU5CUVhGRExFTkJRVU1zUTBGQlF6dDNRa0ZETTBjc1QwRkJUenRCUVVOU0xIRkNRVUZCTzBGQlJVUXNiMEpCUVVFc2RVSkJRWFZDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4RFFVRkRPMEZCUTNSRUxHbENRVUZETEVOQlFVTXNRMEZCUXp0QlFVTktMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1RVRkJUU3hKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU53UXl4blFrRkJRU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxHZENRVUZuUWl4RFFVRkRMRXRCUVVrN1FVRkROVVVzYjBKQlFVRXNTVUZCU1N4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTzBGQlF6TkNMSGRDUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlExWXNlVVZCUVhsRkxFbEJRVWtzUTBGQlFTd3dRa0ZCUVN4RFFVRTBRaXhEUVVNeFJ5eERRVUZETzNkQ1FVTkdMRTlCUVU4N1FVRkRVaXh4UWtGQlFUdEJRVVZFTEc5Q1FVRkJMSFZDUVVGMVFpeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0QlFVTjBSQ3hwUWtGQlF5eERRVUZETEVOQlFVTTdRVUZEU2l4aFFVRkJPenRCUVVkRUxGbEJRVUVzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4dlFrRkJiMElzUlVGQlJTeERRVUZET3p0WlFVY3pReXhOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlEyWXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZQTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeERRVUZETEV0QlFVa3NVMEZCUVN4RFFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4aFFVRkJPenRCUVVOdVJpeG5Ra0ZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTXpReXhuUWtGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dG5Ra0ZGTTBJc1ZVRkJWU3hEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4blFrRkJaMElzUTBGQlF5eFJRVUZSTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNTMEZCU3l4RFFVRkRPMmRDUVVONlJDeFZRVUZWTEVOQlFVTXNZVUZCWVN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxHZENRVUZuUWl4RFFVRkRMR0ZCUVdFc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hOUVVGTkxFTkJRVU03WjBKQlEzQkZMRlZCUVZVc1EwRkJReXhqUVVGakxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNaMEpCUVdkQ0xFTkJRVU1zWTBGQll5eE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEUxQlFVMHNRMEZCUXp0blFrRkRkRVVzVlVGQlZTeERRVUZETEdGQlFXRXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUXl4aFFVRmhMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1RVRkJUU3hEUVVGRE8yZENRVVZ3UlN4RFFVRkJMRVZCUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUXl4blFrRkJaMElzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4UFFVRlBMRU5CUVVNc1EwRkJUeXhKUVVGSkxFdEJRVWtzVTBGQlFTeERRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeGhRVUZCT3p0dlFrRkRlRVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4TFFVRkxMRk5CUVZNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eExRVUZMTEZOQlFWTXNSVUZCUlR0M1FrRkRka1FzVDBGQlR6dEJRVU5TTEhGQ1FVRkJPMEZCUlVRc2IwSkJRVUVzVFVGQlRTeFZRVUZWTEVsQlFVa3NUVUZCVFN3MlFrRkJOa0lzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRkxFTkJRVU03UVVGRE0wVXNiMEpCUVVFc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRE96dEJRVWR3UXl4dlFrRkJRU3hKUVVORkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZEWml4RFFVRkRMRk5CUVZNc1MwRkRVaXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4eFFrRkJjVUlzUTBGQlF6dEJRVU01UXl4M1FrRkJRU3huUWtGQlowSXNSMEZCUnl4VFFVRlRMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFN4RFFVTTFSQ3hGUVVORU8zZENRVU5CTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc1EwRkJPRUlzTWtKQlFVRXNSVUZCUVN4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFUWkNMREJDUVVGQkxFVkJRVUVzWjBKQlFXZENMRU5CUVdsQ0xHVkJRVUVzUTBGQlFTeERRVU5zU0N4RFFVRkRPM2RDUVVOR0xFOUJRVTg3UVVGRFVpeHhRa0ZCUVR0QlFVVkVMRzlDUVVGQkxGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlEyaENMRWxCUVVrc05FSkJRVFJDTEVOQlFVTTdkMEpCUXk5Q0xGVkJRVlU3UVVGRFZpeDNRa0ZCUVN4TFFVRkxMRVZCUVVVc1owSkJRV2RDTzBGQlEzWkNMSGRDUVVGQkxFMUJRVTBzUlVGQlJTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3h0UTBGQlNTeEhRVUZITzBGQlF6TkNMSEZDUVVGQkxFTkJRVU1zUTBGRFNDeERRVUZETzJsQ1FVTklMRU5CUVVFc1EwRkJReXhEUVVGRE8wRkJSVWdzWjBKQlFVRXNTVUZCU1N4blFrRkJaMElzUTBGQlF5eHJRa0ZCYTBJc1NVRkJTU3huUWtGQlowSXNRMEZCUXl4eFFrRkJjVUlzUlVGQlJUczdiMEpCUldwR0xFMUJRVTBzWVVGQllTeEhRVUZ4UWl4RlFVRkZMRU5CUVVNN2IwSkJRek5ETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zVFVGQlRTeExRVUZKTzBGQlF6ZENMSGRDUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZKTEUxQlFXTXNRMEZCUXl4UlFVRnpReXhEUVVGRE8wRkJRM2hGTEhkQ1FVRkJMRWxCUVVrc1VVRkJVU3hGUVVGRk8wRkJRMW9zTkVKQlFVRXNZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU01UWl4NVFrRkJRVHRCUVVOSUxIRkNRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkZTQ3hEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1EwRkJReXhyUWtGQmEwSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hQUVVGUExFTkJRVU1zUTBGQlR5eEpRVUZKTEV0QlFVa3NVMEZCUVN4RFFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4aFFVRkJPM2RDUVVNeFJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZKT3pSQ1FVTnNSQ3hOUVVGTkxHRkJRV0VzUjBGQlJ5dzRRa0ZCT0VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpWRkxEUkNRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1MwRkJTeXhoUVVGaExFTkJRVU03UVVGRGVrTXNlVUpCUVVNc1EwRkJReXhEUVVGRE8wRkJSVWdzZDBKQlFVRXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUdEJRVU0zUWl3MFFrRkJRU3hWUVVGVkxFTkJRVU1zVDBGQlR5eERRVU5vUWl4SlFVRkpMRGhDUVVFNFFpeERRVUZETzJkRFFVTnFReXhSUVVGUk8yZERRVU5TTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1NVRkJTVHRCUVVObUxHZERRVUZCTEZkQlFWY3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVNelJDdzJRa0ZCUVN4RFFVRkRMRU5CUTBnc1EwRkJRenRCUVVOS0xIbENRVUZETEVOQlFVTXNRMEZCUXp0eFFrRkRTaXhEUVVGQkxFTkJRVU1zUTBGQlF6dHZRa0ZGU0N4RFFVRkJMRVZCUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUXl4eFFrRkJjVUlzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4UFFVRlBMRU5CUVVNc1EwRkJUeXhKUVVGSkxFdEJRVWtzVTBGQlFTeERRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeGhRVUZCTzNkQ1FVTTNSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1VVRkJVU3hMUVVGSk96UkNRVU5zUkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXc0UWtGQk9FSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6VkZMRFJDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNTMEZCU3l4aFFVRmhMRU5CUVVNN1FVRkRla01zZVVKQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc2QwSkJRVUVzVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRkZCUVZFc1MwRkJTVHM3UVVGRE4wSXNORUpCUVVFc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGRGFFSXNTVUZCU1N4cFEwRkJhVU1zUTBGQlF6dG5RMEZEY0VNc1VVRkJVVHRCUVVOU0xHZERRVUZCTEUxQlFVMHNSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUTJoRkxHZERRVUZCTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUXk5RUxEWkNRVUZCTEVOQlFVTXNRMEZEU0N4RFFVRkRPMEZCUTBvc2VVSkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTktMRU5CUVVFc1EwRkJReXhEUVVGRE8wRkJRMG9zYVVKQlFVRTdRVUZGUkN4blFrRkJRU3hQUVVGUExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03WVVGRGVFTXNRMEZCUVN4RFFVRkRMRU5CUTBnc1EwRkJRenRCUVVWR0xGbEJRVUVzVDBGQlR5eFBRVUZQTEVOQlFVTTdPMEZCUTJoQ0xFdEJRVUU3UVVGRllTeEpRVUZCTEZOQlFWTXNRMEZCUXl4SlFVRlZMRVZCUVVFN096dEJRVU5vUXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenM3V1VGSGJFUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hIUVVFMFFpeERRVUZETzFsQlF6ZEVMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVU3UVVGRFdDeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhEUVVGRE8xbEJRMnBFTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUlVGQlJUdEJRVU55UWl4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzYjBKQlFXOUNMRVZCUVVVc1EwRkJRenRCUVVVelF5eFpRVUZCTEUxQlFVMHNjMEpCUVhOQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdXVUZEYWtVc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RlFVRkZPMEZCUXpOQ0xHZENRVUZCTEU5QlFVOHNUMEZCVHl4RFFVRkRPMEZCUTJoQ0xHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFWVXNRMEZCUXp0WlFVVTFReXhOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlEyWXNjMEpCUVhOQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVOHNWMEZCVnl4TFFVRkpMRk5CUVVFc1EwRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeERRVUZCTEVWQlFVRXNTMEZCUVN4RFFVRkJMRVZCUVVFc1lVRkJRVHM3UVVGREwwTXNaMEpCUVVFc1RVRkJUU3haUVVGWkxFZEJRVWNzVjBGQlZ5eERRVUZETEZWQlFWVXNRMEZCUXp0QlFVTTFReXhuUWtGQlFTeE5RVUZOTEZsQlFWa3NSMEZEYUVJc1EwRkJReXhaUVVGWkxFbEJRVWtzU1VGQlNTeEpRVUZKTEhsQ1FVRjVRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRmxCUVZrc1EwRkJReXhMUVVGTExFbEJRVWtzUTBGQlF6dG5Ra0ZET1VZc1RVRkJUU3hKUVVGSkxFZEJRVWNzV1VGQldTeExRVUZhTEVsQlFVRXNTVUZCUVN4WlFVRlpMRXRCUVZvc1MwRkJRU3hEUVVGQkxFZEJRVUVzV1VGQldTeEhRVUZKTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJSVGxETEVsQlFVa3NTVUZCU1N4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOb1FpeHZRa0ZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExESkdRVUV5Uml4RFFVRkRMRU5CUVVNN2IwSkJRekZITEU5QlFVODdRVUZEVWl4cFFrRkJRVHM3UVVGSFJDeG5Ra0ZCUVN4SlFVRkpMR2xDUVVGcFFpeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSVHRCUVVNdlFpeHZRa0ZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xHMUVRVUZ0UkN4WlFVRlpMRU5CUVVFc1owUkJRVUVzUTBGQmEwUXNRMEZEYkVnc1EwRkJRenR2UWtGRFJpeFBRVUZQTzBGQlExSXNhVUpCUVVFN1FVRkZSQ3huUWtGQlFTeHBRa0ZCYVVJc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdRVUZGTlVJc1owSkJRVUVzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UVVGRE0wTXNaMEpCUVVFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1owSkJSVE5DTEZWQlFWVXNRMEZCUXl4UlFVRlJMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVjBGQlZ5eERRVUZETEZGQlFWRXNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4TFFVRkxMRU5CUVVNN096dG5Ra0ZKY0VRc1NVRkJTU3hYUVVGWExFTkJRVU1zUzBGQlN5eEZRVUZGTzI5Q1FVTnlRaXhYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRlBMRWxCUVVrc1MwRkJTU3hUUVVGQkxFTkJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNRMEZCUVN4RlFVRkJMRXRCUVVFc1EwRkJRU3hGUVVGQkxHRkJRVUU3TzNkQ1FVTjJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEV0QlFVc3NVMEZCVXl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFdEJRVXNzVTBGQlV5eEZRVUZGT3pSQ1FVTjJSQ3hQUVVGUE8wRkJRMUlzZVVKQlFVRTdkMEpCUlVRc1RVRkJUU3hqUVVGakxFZEJRV0VzUlVGQlJTeERRVUZETzNkQ1FVTndReXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4TlFVRkZMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxFOUJRVThzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRXRCUVVrN1FVRkRPVUlzTkVKQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hMUVVGTExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVTdRVUZETTBJc1owTkJRVUVzWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVONFFpdzJRa0ZCUVR0QlFVTklMSGxDUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZJTEhkQ1FVRkJMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJRenQzUWtGRmNFTXNUVUZCVFN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVObUxHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCVHl4VFFVRlRMRXRCUVVrc1UwRkJRU3hEUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hoUVVGQk96czBRa0ZEY2tNc1RVRkJUU3hWUVVGVkxFbEJRVWtzVFVGQlRTdzJRa0ZCTmtJc1EwRkJReXhKUVVGSkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVVXNRMEZCUXpzN1FVRkhNMFVzTkVKQlFVRXNTVUZEUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRMllzUTBGQlF5eFRRVUZUTEV0QlExSXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNN1FVRkRPVU1zWjBOQlFVRXNaMEpCUVdkQ0xFZEJRVWNzVTBGQlV5eERRVUZETEhGQ1FVRnhRaXhEUVVGRExFMUJRVTBzUTBGRE5VUXNSVUZEUkR0blEwRkRRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEVOQlFUaENMREpDUVVGQkxFVkJRVUVzVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCYzBJc2JVSkJRVUVzUlVGQlFTeG5Ra0ZCWjBJc1EwRkJlVUlzZFVKQlFVRXNRMEZCUVN4RFFVTTVSeXhEUVVGRE8yZERRVU5HTEU5QlFVODdRVUZEVWl3MlFrRkJRVHRCUVVWRUxEUkNRVUZCTEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUTJoQ0xFbEJRVWtzTkVKQlFUUkNMRU5CUVVNN1owTkJReTlDTEZWQlFWVTdRVUZEVml4blEwRkJRU3hMUVVGTExFVkJRVVVzWjBKQlFXZENPMEZCUTNaQ0xHZERRVUZCTEUxQlFVMHNSVUZCUlN4SlFVRkpMRWxCUVVrc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4SFFVRkhMRU5CUVVNN1FVRkRjRU1zTmtKQlFVRXNRMEZCUXl4RFFVTklMRU5CUVVNN2VVSkJRMGdzUTBGQlFTeERRVUZETEVOQlEwZ3NRMEZCUXp0eFFrRkRTQ3hEUVVGQkxFTkJRVU1zUTBGQlF6dEJRVU5LTEdsQ1FVRkJPenRCUVVkRUxHZENRVUZCTEUxQlFVMHNZMEZCWXl4SFFVRkhMRmRCUVZjc1EwRkJReXhqUVVGakxFTkJRVU03UVVGRGJFUXNaMEpCUVVFc1NVRkJTU3hqUVVGakxFbEJRVWtzWTBGQll5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVN1FVRkRha1FzYjBKQlFVRXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUzBGQlNUdEJRVU4yUXl4M1FrRkJRU3hKUVVORkxHRkJRV0VzUTBGQlF5eFpRVUZaTEV0QlFVc3NVMEZCVXpzMFFrRkRlRU1zWVVGQllTeERRVUZETEZsQlFWa3NTMEZCU3l4VFFVRlRPMEZCUTNoRExEUkNRVUZCTEdGQlFXRXNRMEZCUXl4WFFVRlhMRXRCUVVzc1UwRkJVeXhGUVVOMlF6czBRa0ZEUVN4UFFVRlBPMEZCUTFJc2VVSkJRVUU3UVVGRlJEczdPenM3TzBGQlRVYzdkMEpCUTBnc1RVRkJUU3hUUVVGVExFZEJRWEZDTEVWQlFVVXNRMEZCUXp0M1FrRkRka01zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhOUVVGTkxFdEJRVWs3TkVKQlF6ZENMRWxCUVVzc1RVRkJZeXhEUVVGRExGRkJRVkVzUlVGQlJUdEJRVU0xUWl4blEwRkJRU3hOUVVGTkxGRkJRVkVzUjBGQmRVTXNUVUZCWXl4RFFVRkRMRkZCUVZFc1EwRkJRenRCUVVNM1JTeG5RMEZCUVN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVTdiME5CUXpOQ0xGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlExb3NSMEZCUnl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVOb1FpeERRVUZETEVkQlFVY3NTMEZEUml4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFdEJRVXNzWVVGQllTeERRVUZETEZsQlFXRTdkME5CUTNaRExFZEJRVWNzUTBGQlF5eEpRVUZKTEV0QlFVc3NZVUZCWVN4RFFVRkRMRmxCUVdFc1IwRkJSeXhaUVVGWk8zZERRVU42UkN4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVTm9ReXhEUVVOR0xFTkJRVU03UVVGRFNDeHBRMEZCUVR0QlFVRk5MSEZEUVVGQkxFbEJRVWtzVVVGQlVTeERRVUZETEVsQlFVa3NTMEZCU3l4aFFVRmhMRU5CUVVNc1dVRkJXU3hKUVVGSkxGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVU3UVVGRE4wWXNiME5CUVVFc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0QlFVTXhRaXhwUTBGQlFUdEJRVU5HTERaQ1FVRkJPMEZCUTBnc2VVSkJRVU1zUTBGQlF5eERRVUZETzBGQlJVZ3NkMEpCUVVFc1RVRkJUU3h2UWtGQmIwSXNSMEZCUnl4aFFVRmhMRU5CUVVNc1dVRkJXU3hEUVVGRE8wRkJRM2hFTEhkQ1FVRkJMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eFJRVUZSTEV0QlFVazdPelJDUVVVM1FpeEpRVUZKTEc5Q1FVRnZRaXhMUVVGTExHRkJRV0VzUlVGQlJUdG5RMEZETVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMR0ZCUVdFc1EwRkJReXhYUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNZVUZCWVN4RFFVRkRMRmRCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkRFFVTTVSaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1lVRkJZU3hEUVVGRExGZEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4aFFVRmhMRU5CUVVNc1YwRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGTDBZc1owTkJRVUVzVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlhCRExHZERRVUZCTEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUTJoQ0xFbEJRVWtzYVVOQlFXbERMRU5CUVVNN2IwTkJRM0JETEZGQlFWRTdiME5CUTFJc1MwRkJTenR2UTBGRFRDeE5RVUZOTzBGQlExQXNhVU5CUVVFc1EwRkJReXhEUVVOSUxFTkJRVU03WjBOQlJVWXNUMEZCVHp0QlFVTlNMRFpDUVVGQk96dEJRVWRFTERSQ1FVRkJMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NORUpCUVRSQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1EwRkJRenRCUVVNM1JTdzBRa0ZCUVN4SlFVRkpMR2xDUVVGcFFpeEZRVUZGTzBGQlEzSkNMR2REUVVGQkxGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlEyaENMRWxCUVVrc09FSkJRVGhDTEVOQlFVTTdiME5CUTJwRExGRkJRVkU3UVVGRFVpeHZRMEZCUVN4SlFVRkpMRVZCUVVVc2FVSkJRV2xDTzBGQlEzWkNMRzlEUVVGQkxGZEJRVmNzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhoUVVGaExFTkJRVU1zVjBGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVFVXNhVU5CUVVFc1EwRkJReXhEUVVOSUxFTkJRVU03WjBOQlJVWXNUMEZCVHp0QlFVTlNMRFpDUVVGQk8wRkJSVVFzTkVKQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eERRVUZETzBGQlF6TkVMSGxDUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5NTEhGQ1FVRkRMRU5CUVVNc1EwRkJRenRCUVVOS0xHbENRVUZCTzBGQlJVUXNaMEpCUVVFc1QwRkJUeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8yRkJRM2hETEVOQlFVRXNRMEZCUXl4RFFVTklMRU5CUVVNN1FVRkZSaXhaUVVGQkxFOUJRVThzVDBGQlR5eERRVUZET3p0QlFVTm9RaXhMUVVGQk96dEJRWEpaYzBJc2VVSkJRVUVzUTBGQlFTeHBRa0ZCYVVJc1IwRkJlVVU3UVVGREwwY3NTVUZCUVN4RFFVRkRMRVZCUVVVc1NVRkJTVHRCUVVOUUxFbEJRVUVzUTBGQlF5eEZRVUZGTEVsQlFVazdRVUZEVUN4SlFVRkJMRU5CUVVNc1JVRkJSU3hKUVVGSk8wRkJRMUFzU1VGQlFTeERRVUZETEVWQlFVVXNTVUZCU1R0QlFVTlFMRWxCUVVFc1EwRkJReXhGUVVGRkxFbEJRVWs3UVVGRFVDeEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hIUVVGSExFVkJRVVVzVDBGQlR6dEJRVU5hTEVsQlFVRXNTMEZCU3l4RlFVRkZMRTlCUVU4N1FVRkRaQ3hKUVVGQkxFMUJRVTBzUlVGQlJTeExRVUZMTzBGQlEySXNTVUZCUVN4SFFVRkhMRVZCUVVVc1UwRkJVenRCUVVOa0xFbEJRVUVzVFVGQlRTeEZRVUZGTEZGQlFWRTdRVUZEYUVJc1NVRkJRU3hSUVVGUkxFVkJRVVVzVlVGQlZUdEJRVU53UWl4SlFVRkJMRkZCUVZFc1JVRkJSU3hWUVVGVk8wRkJRM0JDTEVsQlFVRXNVMEZCVXl4RlFVRkZMRmRCUVZjN08wRkJSWFJDTEVsQlFVRXNUMEZCVHl4RlFVRkZMRmRCUVZjN08wRkJSWEJDTEVsQlFVRXNUMEZCVHl4RlFVRkZMRmxCUVZrN1FVRkRja0lzU1VGQlFTeFBRVUZQTEVWQlFVVXNVMEZCVXp0RFFVTnVRanM3UVVNMVEwZzdRVUZGWVN4TlFVRkJMSGxDUVVGNVFpeEhRVUZITzBGQlEzWkRMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hMUVVGTExFVkJRVVVzVDBGQlR6czdPMDFEUkVnc1kwRkJZeXhEUVVGQk8wRkJNRUo2UWpzN096czdRVUZMUnp0SlFVTklMRmRCUVcxQ0xFTkJRVUVzVVVGQmNVSXNSVUZCUlN4bFFVRXJReXhGUVVGQk8wRkJXR3BHTEZGQlFVRXNTVUZCUVN4RFFVRkJMSEZDUVVGeFFpeEhRVUZITEdOQlFXTXNRMEZCUXl3NFFrRkJPRUlzUTBGQlF6dEJRVU4wUlN4UlFVRkJMRWxCUVVFc1EwRkJRU3h4UWtGQmNVSXNSMEZCUnl4alFVRmpMRU5CUVVNc09FSkJRVGhDTEVOQlFVTTdVVUZGZEVVc1NVRkJhMElzUTBGQlFTeHJRa0ZCUVN4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVZOcVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wRkJRM3BDTEZGQlFVRXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1IwRkJSeXhsUVVGbExFTkJRVU03UzBGRGVFTTdRVUZGUkRzN096czdRVUZMUnp0QlFVTkpMRWxCUVVFc1NVRkJTU3hEUVVGRExFMUJRWE5DTEVWQlFVRTdRVUZEYUVNc1VVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEV0QlFVc3NUVUZCVFN4RFFVRkRMRkZCUVZFc1JVRkJSVHRCUVVOeVF5eFpRVUZCTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc2QwUkJRWGRFTEVOQlFVTXNRMEZCUXp0QlFVTXpSU3hUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRTFCUVUwc1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNWVUZCVlN4TlFVRk5PMEZCUTJwRkxGbEJRVUVzVFVGQlRTeEZRVUZGTEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRk8xbEJRMnhETEVsQlFVa3NSVUZCUlN4VlFVRlZMRU5CUVVNc1NVRkJTVHRCUVVOMFFpeFRRVUZCTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVvc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dExRVU5pTzBGQlJVUTdPenRCUVVkSE8wbEJRMGtzUzBGQlN5eEhRVUZCTzBGQlExWXNVVUZCUVN4UFFVRlBMRWxCUVVrc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0TFFVTXpSVHRCUVVWRU96czdPenM3T3p0QlFWRkhPMEZCUTBnc1NVRkJRU3hKUVVGWExHOUNRVUZ2UWl4SFFVRkJPMUZCUXpkQ0xFOUJRVThzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wdEJRMjVETzBGQlJVUTdPenM3T3pzN08wRkJVVWM3UVVGRFNDeEpRVUZCTEVsQlFWY3NiMEpCUVc5Q0xFZEJRVUU3VVVGRE4wSXNUMEZCVHl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTTdTMEZEYmtNN1FVRkZSRHM3T3pzN096czdPenM3UVVGWFJ6dEJRVU5KTEVsQlFVRXNTMEZCU3l4RFFVRkRMRVZCUTFnc2IwSkJRVzlDTEVkQlFVY3NZMEZCWXl4RFFVRkRMRGhDUVVFNFFpeEZRVU53UlN4dlFrRkJiMElzUjBGQlJ5eGpRVUZqTEVOQlFVTXNPRUpCUVRoQ0xFZEJRM0pGTEVkQlFVY3NSVUZCUlN4RlFVRkJPMUZCUTBvc1NVRkJTU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVN1dVRkRNMElzVDBGQlR6dEJRVU5TTEZOQlFVRTdRVUZEUkN4UlFVRkJMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dEJRVU5zUkN4UlFVRkJMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dFJRVVZzUkN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU1R0WlFVTndReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTVHRCUVVNelFpeG5Ra0ZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhKUVVGSkxFdEJRVXNzYVVKQlFXbENMRVZCUVVVN2IwSkJRMjVETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8wRkJRelZETEc5Q1FVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eExRVUZMTEV0QlFVc3NTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU40UlN4cFFrRkJRVHRCUVVGTkxIRkNRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWxCUVVrc1MwRkJTeXhwUWtGQmFVSXNSVUZCUlR0dlFrRkRNVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNN1FVRkROVU1zYjBKQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFdEJRVXNzUzBGQlN5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM2hGTEdsQ1FVRkJPMEZCUVUwc2NVSkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4TFFVRkxMRTFCUVUwc1JVRkJSVHRCUVVNdlFpeHZRa0ZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkRha01zYVVKQlFVRTdRVUZEU0N4aFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOTUxGTkJRVU1zUTBGQlF5eERRVUZETzBGQlJVZ3NVVUZCUVN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUTJoRE8wRkJSVThzU1VGQlFTeHBRa0ZCYVVJc1EwRkJReXhUUVVGdFFpeEZRVUZGTEVkQlFXVXNSVUZCUlN4VFFVRnhRaXhGUVVGRkxFOUJRV2xDTEVWQlFVRTdVVUZEZEVjc1NVRkJTU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEyUXNTVUZCU1N4SFFVRkhMRWxCUVVrc1NVRkJTU3hKUVVGSkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZPMEZCUTJwRExGbEJRVUVzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSVHRCUVVNMVF5eG5Ra0ZCUVN4TlFVRk5MRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUTNaQ0xFMUJRVTBzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6TkNMRTFCUVUwc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRNMElzWjBKQlFVRXNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEyNUNMR2RDUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVVelFpeG5Ra0ZCUVN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUVVVc1UwRkJVenRCUVVOMlJDeG5Ra0ZCUVN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUVVVc1UwRkJVenRCUVVOMlJDeG5Ra0ZCUVN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUVVVc1UwRkJVenRCUVVOMlJDeG5Ra0ZCUVN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUVVVc1UwRkJVenRCUVVWMlJDeG5Ra0ZCUVN4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYmtJc1owSkJRVUVzVFVGQlRTeExRVUZMTEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRek5DTEdkQ1FVRkJMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkJSU3hUUVVGVE8wRkJRM1pFTEdkQ1FVRkJMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkJSU3hUUVVGVE8wRkJRM1pFTEdkQ1FVRkJMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkJSU3hUUVVGVE8wRkJRM1pFTEdkQ1FVRkJMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkJSU3hUUVVGVE8wRkJSWFpFTEdkQ1FVRkJMRTFCUVUwc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTnVRaXhuUWtGQlFTeE5RVUZOTEV0QlFVc3NSMEZCUnl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE0wSXNaMEpCUVVFc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVGRkxGTkJRVk03UVVGRGRrUXNaMEpCUVVFc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVGRkxGTkJRVk03UVVGRGRrUXNaMEpCUVVFc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVGRkxGTkJRVk03UVVGRGRrUXNaMEpCUVVFc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVGRkxGTkJRVk03UVVGRmRrUXNaMEpCUVVFc1UwRkJVeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUTNaQ0xHZENRVUZCTEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU4yUWl4blFrRkJRU3hUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRlRUlzWVVGQlFUdEJRVU5HTEZOQlFVRTdRVUZEUkN4UlFVRkJMRTlCUVU4c1MwRkJTeXhEUVVGRE8wdEJRMlE3U1VGRlR5eHBRa0ZCYVVJc1EwRkJReXhIUVVGelFpeEZRVUZGTEdsQ1FVRXlRaXhGUVVGQk8wRkJRek5GTEZGQlFVRXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNSRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUVN4RlFVRkhMRWRCUVVjc1EwRkJReXhKUVVGSkxGTkJRVk1zUTBGQlF6dEJRVU5vUXl4UlFVRkJMRWRCUVVjc1EwRkJReXhoUVVGaExFZEJRVWNzUjBGQlJ5eERRVUZETEdGQlFXRXNRMEZCUXp0UlFVTjBReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXp0QlFVVXpReXhSUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkZPVUlzVFVGQlRTeGhRVUZoTEVkQlFVY3NVVUZCVVN4RFFVRkRMRmxCUVZrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dEJRVU42UkN4UlFVRkJMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NZVUZCWVN4WlFVRlpMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4RlFVRkZMRWRCUVVjc1lVRkJZU3hEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU4yUnl4TlFVRk5MRk5CUVZNc1IwRkJSeXhGUVVGRkxFTkJRVU03UVVGRGNrSXNVVUZCUVN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRja1FzVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXp0blFrRkRZaXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRja0lzWjBKQlFVRXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTjZRaXhuUWtGQlFTeHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBGQlEzcENMR2RDUVVGQkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRE1VSXNZVUZCUVN4RFFVRkRMRU5CUVVNN1FVRkRTaXhUUVVGQk8xRkJSVVFzVFVGQlRTeGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRMRmxCUVZrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dEJRVU16UkN4UlFVRkJMRTFCUVUwc2JVSkJRVzFDTEVkQlFVY3NZMEZCWXl4WlFVRlpMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4RlFVRkZMRWRCUVVjc1kwRkJZeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU14Unl4TlFVRk5MRlZCUVZVc1IwRkJSeXhGUVVGRkxFTkJRVU03UVVGRGRFSXNVVUZCUVN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRkRVFzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXp0blFrRkRaQ3h0UWtGQmJVSXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRkRUlzWjBKQlFVRXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTXhRaXhuUWtGQlFTeHRRa0ZCYlVJc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBGQlF6RkNMR2RDUVVGQkxHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRE0wSXNZVUZCUVN4RFFVRkRMRU5CUVVNN1FVRkRTaXhUUVVGQk8wRkJSVVFzVVVGQlFTeE5RVUZOTEV0QlFVc3NSMEZCUnl4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSVHRCUVVOV0xGbEJRVUVzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl3eVEwRkJNa01zUTBGQlF5eERRVUZETzBGQlF6bEVMRk5CUVVFN1VVRkRSQ3hOUVVGTkxGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEJRVVUzUXl4UlFVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhaUVVGWkxFVkJRVVVzVlVGQlZTeEZRVUZGTEZOQlFWTXNSVUZCUlN4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlF6ZEdMRTFCUVUwc1YwRkJWeXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU5xUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRemxDTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYkVNc1UwRkJRVHRCUVVORUxGRkJRVUVzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenM3VVVGSEwwSXNTVUZCU1N4SFFVRkhMRU5CUVVNc1kwRkJZeXhGUVVGRk8wRkJRM1JDTEZsQlFVRXNSMEZCUnl4RFFVRkRMR05CUVdNc1IwRkJSeXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETzBGQlEzcERMRk5CUVVFN1VVRkRSQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NSVUZCUlN4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRGFrY3NVVUZCUVN4UFFVRlBMRWRCUVVjc1EwRkJRenRMUVVOYU8wbEJSVThzYTBOQlFXdERMRU5CUVVNc1RVRkJjMElzUlVGQlJTeEpRVUYxUWl4RlFVRkJPMUZCUTNoR0xFMUJRVTBzWjBKQlFXZENMRWRCUVdFc1JVRkJSU3hEUVVGRE8wRkJRM1JETEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1MwRkJTVHRCUVVNeFF5eFpRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU03UVVGQlJTeG5Ra0ZCUVN4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkRPVVFzVTBGQlF5eERRVUZETEVOQlFVTTdPMEZCUjBnc1VVRkJRU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hGUVVGRk8xbEJRelZDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8xbEJReTlETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8xbEJReTlETEU5QlFVODdRVUZEVWl4VFFVRkJPMUZCUTBRc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8wRkJReTlFTEZGQlFVRXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU55UWp0QlFVVlBMRWxCUVVFc2IwSkJRVzlDTEVOQlFVTXNTVUZCYjBJc1JVRkJRVHRCUVVNdlF5eFJRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWxCUVVrc1MwRkJTeXhQUVVGUExFVkJRVVU3V1VGRGVrSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU03UVVGRE5VTXNXVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVTdRVUZETjBJc1owSkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRXRCUVVzc1MwRkJTeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNoRkxHRkJRVUU3UVVGQlRTeHBRa0ZCUVR0QlFVTk1MR2RDUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8yZENRVU5xUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVUVzVlVGQlFTeEZRVUZoTEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRuUWtGRGRrTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU03UVVGRE9VTXNaMEpCUVVFc1NVRkJTU3hEUVVGRExFMUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRla0lzWjBKQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFN2NVSkJRMVlzVFVGQlRTeERRVUZETEVOQlFVTXNTMEZCU3l4TFFVRkxMRXRCUVVzc1EwRkJReXhKUVVGSkxFdEJRVXNzWVVGQllTeERRVUZETzBGQlF5OURMSEZDUVVGQkxFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NTMEZCU1R0dlFrRkRha0lzVFVGQlRTeFhRVUZYTEVkQlFVY3NTMEZCTUVJc1EwRkJRenRCUVVNdlF5eHZRa0ZCUVN4SlFVRkpMRU5CUVVNc2EwTkJRV3RETEVOQlFVTXNUVUZCVFN4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRE8wRkJReTlFTEdsQ1FVRkRMRU5CUVVNc1EwRkJRenRCUVVOT0xHRkJRVUU3UVVGRFJpeFRRVUZCTzBGQlFVMHNZVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhKUVVGSkxFdEJRVXNzWVVGQllTeEZRVUZGTzFsQlEzUkRMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRWGxDTEVOQlFVTTdXVUZET1VNc1NVRkJTU3hEUVVGRExHdERRVUZyUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGUExFVkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZEY0VVc1UwRkJRVHRCUVVGTkxHRkJRVUU3UVVGRFRDeFpRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdG5Ra0ZETjBJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdRVUZETlVNc1owSkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRXRCUVVzc1MwRkJTeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNoRkxHRkJRVUU3UVVGRFJpeFRRVUZCTzB0QlEwWTdRVUZGVHl4SlFVRkJMR05CUVdNc1EwRkJReXhKUVVGdlFpeEZRVUZCTzFGQlEzcERMRWxCUVVrc1NVRkJTU3hMUVVGTExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8wRkJRMnBFTEZsQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhUUVVGQk8wRkJRVTBzWVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSVHRCUVVOMlFpeFpRVUZCTEU5QlFVOHNTMEZCU3l4RFFVRkRPMEZCUTJRc1UwRkJRVHRCUVVGTkxHRkJRVUU3V1VGRFRDeFBRVUZQTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlEzcERMRk5CUVVFN1MwRkRSanM3UVVFdlVVUTdPenM3UVVGSlJ6dEJRVU52UWl4alFVRTRRaXhEUVVGQkxEaENRVUZCTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUlRGRU96czdPMEZCU1VjN1FVRkRiMElzWTBGQk9FSXNRMEZCUVN3NFFrRkJRU3hIUVVGSExFVkJRVVU3TzBGRFVEVkVPenRCUVVWSE8wRkJRMGdzVFVGQlRVRXNkMEpCUVhOQ0xFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVUxUkRzN1FVRkZSenROUVVOVkxEQkNRVUV3UWl4RFFVRkJPMEZCUjNKRExFbEJRVUVzU1VGQlZ5eEpRVUZKTEVkQlFVRTdPMEZCUldJc1VVRkJRU3hQUVVGUExEUkNRVUUwUWl4RFFVRkRPMHRCUTNKRE8wRkJSVVFzU1VGQlFTeFhRVUZCTEVOQlFXMUNMRTFCUVd0Q0xFVkJRVUU3UVVGRGJrTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dExRVU4wUWp0QlFVVlpMRWxCUVVFc1UwRkJVeXhEUVVGRExFbEJRVlVzUlVGQlFUczdRVUZETDBJc1dVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVhORExFTkJRVU03T3p0WlFVbDZSU3hKUVVGSkxGZEJRVmNzUzBGQlN5eEpRVUZKTEVWQlFVVTdaMEpCUTNoQ0xFOUJRVTg3UVVGRFVpeGhRVUZCTzJsQ1FVRk5MRWxCUVVrc1YwRkJWeXhMUVVGTExGTkJRVk1zUlVGQlJUdEJRVU53UXl4blFrRkJRU3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTEhGSFFVRnhSeXhEUVVOMFJ5eERRVUZETzBGQlEwZ3NZVUZCUVR0QlFVVkVMRmxCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eGpRVUZqTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0VFFVTjBSU3hEUVVGQkxFTkJRVUU3UVVGQlFTeExRVUZCTzBGQlJVUTdPenM3TzBGQlMwYzdTVUZGVnl4UFFVRlBMRU5CUVVNc1NVRkJWU3hGUVVGRkxGRkJRVFJDTEVWQlFVRTdPMWxCUXpWRUxFbEJRVWtzVVVGQlVTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTndRaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzBGQlEzUkVMRmxCUVVFc1NVRkJTU3hSUVVGUkxFVkJRVVU3UVVGRFdpeG5Ra0ZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRCUVVOcVFpeGhRVUZCTzFsQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVOMFJDeFpRVUZCTEVsQlFVa3NVVUZCVVN4RlFVRkZPMEZCUTFvc1owSkJRVUVzVDBGQlR5eFJRVUZSTEVOQlFVTTdRVUZEYWtJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdVMEZEWWl4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVGQk8wbEJSV0VzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUlN4UlFVRnhRaXhGUVVGQk96czdRVUZEZGtRc1dVRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVhkQ0xFTkJRVU03TzBGQlIyeEVMRmxCUVVFc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhOUVVGRkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRk8wRkJRMlFzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8xbEJSVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4VlFVRlZMRU5CUVc5RExFTkJRVU03V1VGRGJrWXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSVHRCUVVOa0xHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeFhRVUZYTEVkQlFVY3NVMEZCVXl4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVNeFF5eFpRVUZCTEVsQlFVa3NRMEZCUTBFc2QwSkJRWE5DTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRk8wRkJRelZETEdkQ1FVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zTmtSQlFUWkVMRmRCUVZjc1EwRkJRU3hEUVVGQkxFTkJRVWNzUTBGQlF5eERRVUZETzBGQlF6RkdMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVR0QlFVVkVMRmxCUVVFc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRE8xbEJRMmhFTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJUdEJRVU4wUWl4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdXVUZGUkN4TlFVRk5MR1ZCUVdVc1IwRkJiVU1zUlVGQlJTeERRVUZETzBGQlF6TkVMRmxCUVVFc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4TlFVRk5MRGhDUVVFNFFpeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNKRkxGbEJRVUVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEZWQlFWVXNRMEZCUXl4TFFVRkpPenRCUVVNeFJTeG5Ra0ZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4bFFVRmxPMEZCUTJ4RUxITkNRVUZGTEdsQ1FVRnBRaXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlN5eFRRVUZUTEVOQlFVTTdjMEpCUTI1RkxGTkJRVk1zUTBGQlF6dG5Ra0ZGWkN4bFFVRmxMRU5CUVVNc1NVRkJTU3hEUVVGRE8wRkJRMjVDTEc5Q1FVRkJMRTFCUVUwc1JVRkJSU3hWUVVGVk8yOUNRVU5zUWl4SlFVRkpMRVZCUVVVc1EwRkJRU3hGUVVGQkxFZEJRVUVzVlVGQlZTeExRVUZXTEVsQlFVRXNTVUZCUVN4VlFVRlZMSFZDUVVGV0xGVkJRVlVzUTBGQlJTeEpRVUZKTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NUVUZCVFR0QlFVTnFReXhwUWtGQlFTeERRVUZETEVOQlFVTTdRVUZEVEN4aFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWSUxGbEJRVUVzVDBGQlR5eEpRVUZKTEdOQlFXTXNRMEZCUXl4UlFVRlJMRVZCUVVVc1pVRkJaU3hEUVVGRExFTkJRVU03TzBGQlEzUkVMRXRCUVVFN1NVRkZZU3hUUVVGVExFTkJRVU1zU1VGQlZTeEZRVUZGTEZGQlFYRkNMRVZCUVVFN096dEJRVU4yUkN4WlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenRaUVVWc1JDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkZMRWRCUVRSQ0xFTkJRVU03V1VGRE4wUXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSVHRCUVVOWUxHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJhME1zVFVGQlRTeERRVUZETEZkQlFWY3NRMEZCUXp0WlFVTTFSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVN1FVRkRkRUlzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8xbEJSVVFzVFVGQlRTeGxRVUZsTEVkQlFXMURMRVZCUVVVc1EwRkJRenRCUVVNelJDeFpRVUZCTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzVFVGQlRTdzRRa0ZCT0VJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVVZ5UlN4WlFVRkJMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hWUVVGVkxFTkJRVU1zUzBGQlNUdG5Ra0ZETVVVc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRCUVVVeFF5eG5Ra0ZCUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4bFFVRmxPMEZCUXpWRExITkNRVUZGTEdsQ1FVRnBRaXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlN5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRPM05DUVVONlJTeFRRVUZUTEVOQlFVTTdaMEpCUldRc1pVRkJaU3hEUVVGRExFbEJRVWtzUTBGQlF6dEJRVU51UWl4dlFrRkJRU3hOUVVGTkxFVkJRVVVzVlVGQlZUdEJRVU5zUWl4dlFrRkJRU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFbEJRVWtzUzBGQlNpeEpRVUZCTEVsQlFVRXNTVUZCU1N4TFFVRktMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUlN4bFFVRmxMRU5CUVVNN1FVRkRla1FzYVVKQlFVRXNRMEZCUXl4RFFVRkRPMEZCUTB3c1lVRkJReXhEUVVGRExFTkJRVU03UVVGRlNDeFpRVUZCTEU5QlFVOHNTVUZCU1N4alFVRmpMRU5CUVVNc1VVRkJVU3hGUVVGRkxHVkJRV1VzUTBGQlF5eERRVUZET3p0QlFVTjBSQ3hMUVVGQk8wRkJSVThzU1VGQlFTeHpRa0ZCYzBJc1EwRkJReXhKUVVGM1FpeEZRVUZCTzFGQlEzSkVMRWxCUVVrc1NVRkJTU3hMUVVGTExHbENRVUZwUWl4RlFVRkZPMEZCUXpsQ0xGbEJRVUVzVDBGQlR5eHBRa0ZCYVVJc1EwRkJRenRCUVVNeFFpeFRRVUZCTzJGQlFVMHNTVUZCU1N4SlFVRkpMRXRCUVVzc2FVSkJRV2xDTEVWQlFVVTdRVUZEY2tNc1dVRkJRU3hQUVVGUExHbENRVUZwUWl4RFFVRkRPMEZCUXpGQ0xGTkJRVUU3WVVGQlRTeEpRVUZKTEVsQlFVa3NTMEZCU3l4TlFVRk5MRVZCUVVVN1FVRkRNVUlzV1VGQlFTeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm1MRk5CUVVFN1FVRkJUU3hoUVVGQk8wRkJRMHdzV1VGQlFTeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm1MRk5CUVVFN1MwRkRSanRCUVVOR096dEJRek5LUkR0QlFVVmhMRTFCUVVFc1owTkJRV2RETEVkQlFVYzdRVUZET1VNc1NVRkJRU3hKUVVGSkxFVkJRVVVzVFVGQlRUdEJRVU5hTEVsQlFVRXNTVUZCU1N4RlFVRkZMRTFCUVUwN1FVRkRXaXhKUVVGQkxHVkJRV1VzUlVGQlJTeHBRa0ZCYVVJN1FVRkRiRU1zU1VGQlFTeGxRVUZsTEVWQlFVVXNhVUpCUVdsQ096czdRVU5HY0VNc1RVRkJUVU1zVFVGQlNTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRMnBETEUxQlFVMURMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTlF5eFJRVUZOTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UVVGRmVrSXNUVUZCUVN4cFFrRkJhMElzVTBGQlVTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkJPMEZCU1doRUxFbEJRVUVzVjBGQlFTeERRVUZ0UWl4UlFVRnhRaXhGUVVGQk8wRkJRM1JETEZGQlFVRXNTMEZCU3l4RlFVRkZMRU5CUVVNN1FVRkZVaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NVVUZCVVN4RFFVRkRPMEZCUlRWQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8wRkJSVGxDTEZGQlFVRXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hMUVVGSk8xbEJRMnhFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVVjZReXhaUVVGQkxFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXhMUVVGTExFTkJRVU03UVVGRkwwSXNXVUZCUVN4TlFVRk5MRU5CUVVNc1VVRkJNa0lzUTBGQlF5eFRRVUZUTEVkQlFVY3NTMEZCU3l4RFFVRkRPMEZCUTNKRUxGbEJRVUVzVFVGQlRTeERRVUZETEZGQlFUSkNMRU5CUVVNc1ZVRkJWU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVYyUkN4WlFVRkJMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZGYWtJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRM1JETEZOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTBvN1NVRkZUU3hQUVVGUExFZEJRVUU3UVVGRFdpeFJRVUZCTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlNUdEJRVU4wUkN4WlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZEZGtJc1dVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQk1rSXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVNNVF5eFRRVUZETEVOQlFVTXNRMEZCUXp0TFFVTktPMEZCUlUwc1NVRkJRU3hwUWtGQmFVSXNRMEZCUXl4TFFVRmpMRVZCUVVFN1VVRkRja01zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVazdXVUZETDBRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdRVUZGZWtNc1dVRkJRU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVOR0xFMUJRVWtzUlVGQlJVVXNVVUZCVFN4RlFVRkZSQ3hOUVVGSkxFTkJRVU1zUTBGQlF6dEJRVVZ3UkN4WlFVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSFJDeE5RVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRReXhOUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU51UkN4WlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNaRUxGTkJRVU1zUTBGQlF5eERRVUZETzBGQlJVZ3NVVUZCUVN4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRhRU03UVVGRFJqczdRVU53UkVRN1FVRkpRVHM3UVVGRlJ6dEJRVU5WTEUxQlFVRXNaMEpCUVdkQ0xFZEJRWFZDTzBsQlEyeEVMRTFCUVUwN1NVRkRUaXhQUVVGUE8wbEJRMUFzVDBGQlR6dEpRVU5RTEZsQlFWazdTVUZEV2l4TlFVRk5PMGxCUlU0c1RVRkJUVHRKUVVOT0xGTkJRVk03U1VGRFZDeFZRVUZWTzBsQlExWXNTMEZCU3p0SlFVVk1MR05CUVdNN1NVRkRaQ3hqUVVGak8wbEJRMlFzVlVGQlZUdEpRVU5XTEZWQlFWVTdTVUZGVml4bFFVRmxPMGxCUTJZc1pVRkJaVHRKUVVObUxGZEJRVmM3U1VGRFdDeFhRVUZYTzBsQlJWZ3NZMEZCWXp0SlFVTmtMR05CUVdNN1NVRkRaQ3hqUVVGak8wbEJRMlFzVlVGQlZUdEpRVVZXTEdWQlFXVTdTVUZEWml4bFFVRmxPMGxCUTJZc1pVRkJaVHRKUVVObUxGZEJRVmM3U1VGRldDeHhRa0ZCY1VJN1NVRkRja0lzYlVKQlFXMUNPMGxCUTI1Q0xHbENRVUZwUWp0SlFVTnFRaXh0UWtGQmJVSTdTVUZEYmtJc2RVSkJRWFZDTzBsQlEzWkNMR2xDUVVGcFFqdEpRVU5xUWl4dlFrRkJiMEk3U1VGRGNFSXNkMEpCUVhkQ08wbEJRM2hDTEd0Q1FVRnJRanRKUVVOc1FpeHJRa0ZCYTBJN1NVRkRiRUlzYzBKQlFYTkNPMGxCUTNSQ0xHZENRVUZuUWp0SlFVTm9RaXh2UWtGQmIwSTdTVUZEY0VJc2QwSkJRWGRDTzBsQlEzaENMR3RDUVVGclFqdEpRVVZzUWl4elFrRkJjMEk3U1VGRGRFSXNiMEpCUVc5Q08wbEJRM0JDTEd0Q1FVRnJRanRKUVVOc1FpeHZRa0ZCYjBJN1NVRkRjRUlzZDBKQlFYZENPMGxCUTNoQ0xHdENRVUZyUWp0SlFVTnNRaXh4UWtGQmNVSTdTVUZEY2tJc2VVSkJRWGxDTzBsQlEzcENMRzFDUVVGdFFqdEpRVU51UWl4dFFrRkJiVUk3U1VGRGJrSXNkVUpCUVhWQ08wbEJRM1pDTEdsQ1FVRnBRanRKUVVOcVFpeHhRa0ZCY1VJN1NVRkRja0lzZVVKQlFYbENPMGxCUTNwQ0xHMUNRVUZ0UWpzN08wRkRja1Z5UWp0QlFVVkJPenM3TzBGQlNVYzdRVUZEVlN4TlFVRkJMR2RDUVVGblFpeEhRVUZITzBGQlF6bENMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hMUVVGTExFVkJRVVVzVDBGQlR6dEJRVU5rTEVsQlFVRXNWVUZCVlN4RlFVRkZMRmxCUVZrN1FVRkRlRUlzU1VGQlFTeEpRVUZKTEVWQlFVVXNUVUZCVFR0QlFVVmFMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEU5QlFVOHNSVUZCUlN4VFFVRlRPMEZCUTJ4Q0xFbEJRVUVzVVVGQlVTeEZRVUZGTEZWQlFWVTdRVUZEY0VJc1NVRkJRU3hIUVVGSExFVkJRVVVzUzBGQlN6dEJRVVZXTEVsQlFVRXNXVUZCV1N4RlFVRkZMR05CUVdNN1FVRkROVUlzU1VGQlFTeFpRVUZaTEVWQlFVVXNZMEZCWXp0QlFVTTFRaXhKUVVGQkxGRkJRVkVzUlVGQlJTeFZRVUZWTzBGQlEzQkNMRWxCUVVFc1VVRkJVU3hGUVVGRkxGVkJRVlU3UVVGRmNFSXNTVUZCUVN4aFFVRmhMRVZCUVVVc1pVRkJaVHRCUVVNNVFpeEpRVUZCTEdGQlFXRXNSVUZCUlN4bFFVRmxPMEZCUXpsQ0xFbEJRVUVzVTBGQlV5eEZRVUZGTEZkQlFWYzdRVUZEZEVJc1NVRkJRU3hUUVVGVExFVkJRVVVzVjBGQlZ6dEJRVVYwUWl4SlFVRkJMRmxCUVZrc1JVRkJSU3hqUVVGak8wRkJRelZDTEVsQlFVRXNXVUZCV1N4RlFVRkZMR05CUVdNN1FVRkROVUlzU1VGQlFTeFpRVUZaTEVWQlFVVXNZMEZCWXp0QlFVTTFRaXhKUVVGQkxGRkJRVkVzUlVGQlJTeFZRVUZWTzBGQlJYQkNMRWxCUVVFc1lVRkJZU3hGUVVGRkxHVkJRV1U3UVVGRE9VSXNTVUZCUVN4aFFVRmhMRVZCUVVVc1pVRkJaVHRCUVVNNVFpeEpRVUZCTEdGQlFXRXNSVUZCUlN4bFFVRmxPMEZCUXpsQ0xFbEJRVUVzVTBGQlV5eEZRVUZGTEZkQlFWYzdRVUZGZEVJc1NVRkJRU3h0UWtGQmJVSXNSVUZCUlN4eFFrRkJjVUk3UVVGRE1VTXNTVUZCUVN4cFFrRkJhVUlzUlVGQlJTeHRRa0ZCYlVJN1FVRkRkRU1zU1VGQlFTeGxRVUZsTEVWQlFVVXNhVUpCUVdsQ08wRkJRMnhETEVsQlFVRXNhVUpCUVdsQ0xFVkJRVVVzYlVKQlFXMUNPMEZCUTNSRExFbEJRVUVzY1VKQlFYRkNMRVZCUVVVc2RVSkJRWFZDTzBGQlF6bERMRWxCUVVFc1pVRkJaU3hGUVVGRkxHbENRVUZwUWp0QlFVTnNReXhKUVVGQkxHdENRVUZyUWl4RlFVRkZMRzlDUVVGdlFqdEJRVU40UXl4SlFVRkJMSE5DUVVGelFpeEZRVUZGTEhkQ1FVRjNRanRCUVVOb1JDeEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxHdENRVUZyUWp0QlFVTndReXhKUVVGQkxHZENRVUZuUWl4RlFVRkZMR3RDUVVGclFqdEJRVU53UXl4SlFVRkJMRzlDUVVGdlFpeEZRVUZGTEhOQ1FVRnpRanRCUVVNMVF5eEpRVUZCTEdOQlFXTXNSVUZCUlN4blFrRkJaMEk3UVVGRGFFTXNTVUZCUVN4clFrRkJhMElzUlVGQlJTeHZRa0ZCYjBJN1FVRkRlRU1zU1VGQlFTeHpRa0ZCYzBJc1JVRkJSU3gzUWtGQmQwSTdRVUZEYUVRc1NVRkJRU3huUWtGQlowSXNSVUZCUlN4clFrRkJhMEk3UVVGRmNFTXNTVUZCUVN4dlFrRkJiMElzUlVGQlJTeHpRa0ZCYzBJN1FVRkROVU1zU1VGQlFTeHJRa0ZCYTBJc1JVRkJSU3h2UWtGQmIwSTdRVUZEZUVNc1NVRkJRU3huUWtGQlowSXNSVUZCUlN4clFrRkJhMEk3UVVGRGNFTXNTVUZCUVN4clFrRkJhMElzUlVGQlJTeHZRa0ZCYjBJN1FVRkRlRU1zU1VGQlFTeHpRa0ZCYzBJc1JVRkJSU3gzUWtGQmQwSTdRVUZEYUVRc1NVRkJRU3huUWtGQlowSXNSVUZCUlN4clFrRkJhMEk3UVVGRGNFTXNTVUZCUVN4dFFrRkJiVUlzUlVGQlJTeHhRa0ZCY1VJN1FVRkRNVU1zU1VGQlFTeDFRa0ZCZFVJc1JVRkJSU3g1UWtGQmVVSTdRVUZEYkVRc1NVRkJRU3hwUWtGQmFVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRGRFTXNTVUZCUVN4cFFrRkJhVUlzUlVGQlJTeHRRa0ZCYlVJN1FVRkRkRU1zU1VGQlFTeHhRa0ZCY1VJc1JVRkJSU3gxUWtGQmRVSTdRVUZET1VNc1NVRkJRU3hsUVVGbExFVkJRVVVzYVVKQlFXbENPMEZCUTJ4RExFbEJRVUVzYlVKQlFXMUNMRVZCUVVVc2NVSkJRWEZDTzBGQlF6RkRMRWxCUVVFc2RVSkJRWFZDTEVWQlFVVXNlVUpCUVhsQ08wRkJRMnhFTEVsQlFVRXNhVUpCUVdsQ0xFVkJRVVVzYlVKQlFXMUNPenM3UVVOeVJYaERPMEZCU1VFN096czdRVUZKUnp0QlFVTlZMRTFCUVVFc2NVSkJRWEZDTEVkQlFUUkVPMEZCUXpWR0xFbEJRVUVzU1VGQlNTeEZRVUZGTEVsQlFVazdRVUZEVml4SlFVRkJMRXRCUVVzc1JVRkJSU3hOUVVGTk8wRkJRMklzU1VGQlFTeExRVUZMTEVWQlFVVXNUMEZCVHp0QlFVTmtMRWxCUVVFc1ZVRkJWU3hGUVVGRkxFOUJRVTg3UVVGRGJrSXNTVUZCUVN4SlFVRkpMRVZCUVVVc1dVRkJXVHRCUVVWc1FpeEpRVUZCTEVsQlFVa3NSVUZCUlN4TlFVRk5PMEZCUTFvc1NVRkJRU3hQUVVGUExFVkJRVVVzVFVGQlRUdEJRVU5tTEVsQlFVRXNVVUZCVVN4RlFVRkZMRTFCUVUwN1FVRkRhRUlzU1VGQlFTeEhRVUZITEVWQlFVVXNUVUZCVFR0QlFVVllMRWxCUVVFc1dVRkJXU3hGUVVGRkxFMUJRVTA3UVVGRGNFSXNTVUZCUVN4WlFVRlpMRVZCUVVVc1kwRkJZenRCUVVNMVFpeEpRVUZCTEZGQlFWRXNSVUZCUlN4alFVRmpPMEZCUTNoQ0xFbEJRVUVzVVVGQlVTeEZRVUZGTEZWQlFWVTdRVUZGY0VJc1NVRkJRU3hoUVVGaExFVkJRVVVzVFVGQlRUdEJRVU55UWl4SlFVRkJMR0ZCUVdFc1JVRkJSU3hsUVVGbE8wRkJRemxDTEVsQlFVRXNVMEZCVXl4RlFVRkZMR1ZCUVdVN1FVRkRNVUlzU1VGQlFTeFRRVUZUTEVWQlFVVXNWMEZCVnp0QlFVVjBRaXhKUVVGQkxGbEJRVmtzUlVGQlJTeFpRVUZaTzBGQlF6RkNMRWxCUVVFc1dVRkJXU3hGUVVGRkxHTkJRV003UVVGRE5VSXNTVUZCUVN4WlFVRlpMRVZCUVVVc1kwRkJZenRCUVVNMVFpeEpRVUZCTEZGQlFWRXNSVUZCUlN4alFVRmpPMEZCUlhoQ0xFbEJRVUVzWVVGQllTeEZRVUZGTEZsQlFWazdRVUZETTBJc1NVRkJRU3hoUVVGaExFVkJRVVVzWlVGQlpUdEJRVU01UWl4SlFVRkJMR0ZCUVdFc1JVRkJSU3hsUVVGbE8wRkJRemxDTEVsQlFVRXNVMEZCVXl4RlFVRkZMR1ZCUVdVN1FVRkZNVUlzU1VGQlFTeHRRa0ZCYlVJc1JVRkJSU3hWUVVGVk8wRkJReTlDTEVsQlFVRXNhVUpCUVdsQ0xFVkJRVVVzY1VKQlFYRkNPMEZCUTNoRExFbEJRVUVzWlVGQlpTeEZRVUZGTEcxQ1FVRnRRanRCUVVOd1F5eEpRVUZCTEdsQ1FVRnBRaXhGUVVGRkxGVkJRVlU3UVVGRE4wSXNTVUZCUVN4eFFrRkJjVUlzUlVGQlJTeHRRa0ZCYlVJN1FVRkRNVU1zU1VGQlFTeGxRVUZsTEVWQlFVVXNkVUpCUVhWQ08wRkJRM2hETEVsQlFVRXNhMEpCUVd0Q0xFVkJRVVVzVlVGQlZUdEJRVU01UWl4SlFVRkJMSE5DUVVGelFpeEZRVUZGTEc5Q1FVRnZRanRCUVVNMVF5eEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxIZENRVUYzUWp0QlFVTXhReXhKUVVGQkxHZENRVUZuUWl4RlFVRkZMRlZCUVZVN1FVRkROVUlzU1VGQlFTeHZRa0ZCYjBJc1JVRkJSU3hyUWtGQmEwSTdRVUZEZUVNc1NVRkJRU3hqUVVGakxFVkJRVVVzYzBKQlFYTkNPMEZCUTNSRExFbEJRVUVzYTBKQlFXdENMRVZCUVVVc1ZVRkJWVHRCUVVNNVFpeEpRVUZCTEhOQ1FVRnpRaXhGUVVGRkxHOUNRVUZ2UWp0QlFVTTFReXhKUVVGQkxHZENRVUZuUWl4RlFVRkZMSGRDUVVGM1FqdEJRVVV4UXl4SlFVRkJMRzlDUVVGdlFpeEZRVUZGTEZkQlFWYzdRVUZEYWtNc1NVRkJRU3hyUWtGQmEwSXNSVUZCUlN4elFrRkJjMEk3UVVGRE1VTXNTVUZCUVN4blFrRkJaMElzUlVGQlJTeHZRa0ZCYjBJN1FVRkRkRU1zU1VGQlFTeHJRa0ZCYTBJc1JVRkJSU3hYUVVGWE8wRkJReTlDTEVsQlFVRXNjMEpCUVhOQ0xFVkJRVVVzYjBKQlFXOUNPMEZCUXpWRExFbEJRVUVzWjBKQlFXZENMRVZCUVVVc2QwSkJRWGRDTzBGQlF6RkRMRWxCUVVFc2JVSkJRVzFDTEVWQlFVVXNWMEZCVnp0QlFVTm9ReXhKUVVGQkxIVkNRVUYxUWl4RlFVRkZMSEZDUVVGeFFqdEJRVU01UXl4SlFVRkJMR2xDUVVGcFFpeEZRVUZGTEhsQ1FVRjVRanRCUVVNMVF5eEpRVUZCTEdsQ1FVRnBRaXhGUVVGRkxGZEJRVmM3UVVGRE9VSXNTVUZCUVN4eFFrRkJjVUlzUlVGQlJTeHRRa0ZCYlVJN1FVRkRNVU1zU1VGQlFTeGxRVUZsTEVWQlFVVXNkVUpCUVhWQ08wRkJRM2hETEVsQlFVRXNiVUpCUVcxQ0xFVkJRVVVzVjBGQlZ6dEJRVU5vUXl4SlFVRkJMSFZDUVVGMVFpeEZRVUZGTEhGQ1FVRnhRanRCUVVNNVF5eEpRVUZCTEdsQ1FVRnBRaXhGUVVGRkxIbENRVUY1UWpzN08wRkRja1U1UXpzN096czdRVUZMUnp0QlFVTkhMRk5CUVZVc1owSkJRV2RDTEVOQlFUWkNMRTFCUVZNc1JVRkJRVHRKUVVOd1JTeEpRVUZMTEUxQlFXTXNRMEZCUXl4TlFVRk5MRVZCUVVVN1VVRkRNVUlzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMEZCUTJwQ0xFdEJRVUU3UVVGQlRTeFRRVUZCTzFGQlEwb3NUVUZCWXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRek5DTEV0QlFVRTdRVUZGUkN4SlFVRkJMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDT3p0QlExUkJMRTFCUVUxRUxFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOUlN4UlFVRk5MRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdRVUZGZEVNN08wRkJSVWM3VFVGRFZTeE5RVUZOTEVOQlFVRTdRVUZoYWtJN096dEJRVWRITzBGQlEwZ3NTVUZCUVN4WFFVRkJMRU5CUVcxQ0xGVkJRWGxDTEVWQlFVRTdRVUZETVVNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEZWQlFWVXNRMEZCUXp0QlFVVTNRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1JVRkJSU3hEUVVGRE8wdEJRM2hETzBGQlJVUTdPenM3UVVGSlJ6dEpRVU5KTEdWQlFXVXNSMEZCUVR0UlFVTndRaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEZRVUZoTEVOQlFVTTdRVUZGTTBJc1VVRkJRU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eHBRa0ZCYVVJc1MwRkJTVHRaUVVONlJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4cFFrRkJjVU1zUTBGQlF6dFpRVU14UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPenRaUVVjelF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RlFVRkZPMmRDUVVOVUxFOUJRVTg3UVVGRFVpeGhRVUZCT3p0QlFVZEVMRmxCUVVGR0xFMUJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM3BDTEZsQlFVRkZMRkZCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPenRaUVVjM1FpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjN1FVRkRiRUlzWjBKQlFVRXNVVUZCVVN4RlFVRkZSaXhOUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUU0UWp0QlFVTndSQ3huUWtGQlFTeFJRVUZSTEVWQlFVVkZMRkZCUVUwc1EwRkJReXhQUVVGUExFVkJRWE5ETzJGQlF5OUVMRU5CUVVNN1FVRkRTaXhUUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZJTEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRCUVVWRU96czdPMEZCU1VjN1NVRkRTU3hQUVVGUExFZEJRVUU3VVVGRFdpeE5RVUZOTEVsQlFVa3NSMEZCUnl4RlFVRmhMRU5CUVVNN1FVRkZNMElzVVVGQlFTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4alFVRmpMRXRCUVVrN1dVRkRkRVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NZMEZCYTBNc1EwRkJRenRaUVVOd1JDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZET3p0WlFVZDRReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTzJkQ1FVTlVMRTlCUVU4N1FVRkRVaXhoUVVGQk96dFpRVWRFUml4TlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRiRUpGTEZGQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVWc1FpeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6RkRMRmxCUVVFc1NVRkJTU3hUUVVGVExFdEJRVlFzU1VGQlFTeEpRVUZCTEZOQlFWTXNkVUpCUVZRc1UwRkJVeXhEUVVGRkxGRkJRVkVzUlVGQlJUdG5Ra0ZEZGtKR0xFMUJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzBGQlF6ZERMR0ZCUVVFN1FVRkRSQ3haUVVGQkxFbEJRVWtzVTBGQlV5eExRVUZVTEVsQlFVRXNTVUZCUVN4VFFVRlRMSFZDUVVGVUxGTkJRVk1zUTBGQlJTeFJRVUZSTEVWQlFVVTdaMEpCUTNaQ0xHZENRVUZuUWl4RFFVRkRSU3hSUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEZOQlFWTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM2hFTEdGQlFVRTdPMEZCUjBRc1dVRkJRVVlzVFVGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRGVFSXNXVUZCUVVVc1VVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN08xbEJSM0JETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSenRCUVVObUxHZENRVUZCTEZGQlFWRXNSVUZCUlVZc1RVRkJTU3hEUVVGRExFOUJRVThzUlVGQk9FSTdRVUZEY0VRc1owSkJRVUVzVVVGQlVTeEZRVUZGUlN4UlFVRk5MRU5CUVVNc1QwRkJUeXhGUVVGelF6dGhRVU12UkN4RFFVRkRPMEZCUTBvc1UwRkJReXhEUVVGRExFTkJRVU03UVVGRlNDeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMHRCUTJJN1FVRkZSRHM3T3pzN096dEJRVTlITzBGQlEwa3NTVUZCUVN4UFFVRlBMRU5CUVVNc1ZVRkJiVUlzUlVGQlFUdEJRVU5vUXl4UlFVRkJMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhqUVVGakxFVkJRVVVzUzBGQlN5eERRVUZETEV0QlFVazdXVUZETjBRc1RVRkJUU3hSUVVGUkxFZEJRVWNzWTBGQmEwTXNRMEZCUXp0WlFVTndSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE96dFpRVWQ0UXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRk8yZENRVU5VTEU5QlFVODdRVUZEVWl4aFFVRkJPMWxCUlVRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRaUVVNeFF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPenRuUWtGRlpDeFBRVUZQTzBGQlExSXNZVUZCUVRzN1FVRkhSQ3haUVVGQkxFbEJRVWtzUzBGQlN5eExRVUZNTEVsQlFVRXNTVUZCUVN4TFFVRkxMSFZDUVVGTUxFdEJRVXNzUTBGQlJTeFJRVUZSTEVWQlFVVTdaMEpCUTI1Q0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dG5Ra0ZGZUVNc1NVRkJTU3hUUVVGVExFTkJRVU1zVVVGQlVTeEZRVUZGTzBGQlEzUkNMRzlDUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNSMEZCUnl4RFFVRkRSaXhOUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEZOQlFWTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM1pFTEdsQ1FVRkJPMEZCUTBZc1lVRkJRVHRCUVVWRUxGbEJRVUVzU1VGQlNTeExRVUZMTEV0QlFVd3NTVUZCUVN4SlFVRkJMRXRCUVVzc2RVSkJRVXdzUzBGQlN5eERRVUZGTEZGQlFWRXNSVUZCUlR0blFrRkRia0lzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzJkQ1FVVXhReXhKUVVGSkxGTkJRVk1zUTBGQlF5eFJRVUZSTEVWQlFVVTdRVUZEZEVJc2IwSkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVORkxGRkJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGFFVXNhVUpCUVVFN1FVRkRSaXhoUVVGQk8wRkJRMGdzVTBGQlF5eERRVUZETEVOQlFVTTdTMEZEU2p0QlFVVkVPenRCUVVWSE8wbEJRMGtzVTBGQlV5eEhRVUZCTzBGQlEyUXNVVUZCUVN4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU1R0WlFVTjZSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVRSQ0xFTkJRVU1zUTBGQlF6dFpRVVUxUkN4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRk8yZENRVU5VTEU5QlFVODdRVUZEVWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hKUVVGSkxFbEJRVWtzUzBGQlNpeEpRVUZCTEVsQlFVRXNTVUZCU1N4MVFrRkJTaXhKUVVGSkxFTkJRVVVzVVVGQlVTeEZRVUZGTzJkQ1FVTnNRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRGVFTXNZVUZCUVR0QlFVVkVMRmxCUVVFc1NVRkJTU3hKUVVGSkxFdEJRVW9zU1VGQlFTeEpRVUZCTEVsQlFVa3NkVUpCUVVvc1NVRkJTU3hEUVVGRkxGRkJRVkVzUlVGQlJUdG5Ra0ZEYkVJc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRekZETEdGQlFVRTdRVUZEU0N4VFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOS08wRkJSVVE3T3pzN1FVRkpSenRCUVVOSkxFbEJRVUVzVDBGQlR5eERRVUZETEVsQlFYTkNMRVZCUVVFN08xRkJRMjVETEU5QlFVOHNRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4VFFVRlRMRU5CUVVNN1MwRkRNME03UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeFhRVUZYTEVOQlFVTXNTVUZCYzBJc1JVRkJRVHM3UVVGRGRrTXNVVUZCUVN4UFFVRlBMRU5CUVVFc1JVRkJRU3hIUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNTVUZCU1N4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJRenRMUVVNMVF6dEJRVU5HT3p0QlEzcE1SQ3hOUVVGTlJpeE5RVUZKTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRGFrTXNUVUZCVFVVc1VVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJSVEZET3p0QlFVVkhPMEZCUTBjc1RVRkJUeXhqUVVGbExGTkJRVkVzVFVGQlRTeERRVUZCTzBsQlF6bENMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNVVUZCWjBJc1JVRkJRVHRCUVUxb1JDeFJRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBGQlEyeERMRkZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJRenM3VVVGSE4wSXNUVUZCVFN4clFrRkJhMElzUjBGQmRVUXNSVUZCUlN4RFFVRkRPMUZCUTJ4R0xFMUJRVTBzYTBKQlFXdENMRWRCUVRCRUxFVkJRVVVzUTBGQlF6dFJRVU55Uml4TlFVRk5MR0ZCUVdFc1IwRkJNRVFzUlVGQlJTeERRVUZETzBGQlJXaEdMRkZCUVVFc1owSkJRV2RDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1VVRkJVU3hMUVVGSk8xbEJRM0JETEUxQlFVMHNVVUZCVVN4SFFVRkhMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZGYUVRc1dVRkJRU3hKUVVGSkxGRkJRVkVzUlVGQlJUdEJRVU5hTEdkQ1FVRkJMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRE9VTXNaMEpCUVVFc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dEJRVVZxUkN4blFrRkJRU3hSUVVGUkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzJkQ1FVTjRReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSVVlzVFVGQlNTeERRVUZETEVOQlFVTTdRVUZGTTBVc1owSkJRVUVzYTBKQlFXdENMRU5CUVVNc1VVRkJVU3hEUVVGRExFZEJRVWNzYVVKQlFXbENMRU5CUVVNN1FVRkRha1FzWjBKQlFVRXNhMEpCUVd0Q0xFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU03WjBKQlEycEVMR0ZCUVdFc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8wRkJRM1pFTEdGQlFVRTdRVUZEU0N4VFFVRkRMRU5CUVVNc1EwRkJRenM3VVVGSFNDeE5RVUZOTEc5Q1FVRnZRaXhIUVVFd1JDeEZRVUZGTEVOQlFVTTdVVUZGZGtZc1RVRkJUU3hSUVVGUkxFZEJRVEpDTEVWQlFVVXNRMEZCUXp0QlFVTTFReXhSUVVGQkxHZENRVUZuUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUczdXVUZEY0VNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVWb1JDeFpRVUZCTEVsQlFVa3NVVUZCVVN4RlFVRkZPMEZCUTFvc1owSkJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4UlFVRlJMRU5CUVd0Q0xFTkJRVU03TzJkQ1FVZDRSU3hKUVVGSkxHVkJRV1VzUjBGQk5FSXNVVUZCVVN4RFFVRkRPMEZCUTNoRUxHZENRVUZCTEVsQlFVa3NiVUpCUVRoRExFTkJRVU03UVVGRGJrUXNaMEpCUVVFc1NVRkJTU3h0UWtGQmFVUXNRMEZCUXp0blFrRkRkRVFzVDBGQlR5eHRRa0ZCYlVJc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGJFTXNiMEpCUVVFc1pVRkJaU3hIUVVGSExIRkNRVUZ4UWl4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8yOUNRVU42UkN4SlFVRkpMR1ZCUVdVc1NVRkJTU3hKUVVGSkxFVkJRVVU3ZDBKQlF6TkNMRTFCUVUwN1FVRkRVQ3h4UWtGQlFUdEJRVU5FTEc5Q1FVRkJMRzFDUVVGdFFpeEhRVUZITEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETzBGQlF6RkVMRzlDUVVGQkxHMUNRVUZ0UWl4SFFVRkhMR3RDUVVGclFpeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRPMEZCUXpORUxHbENRVUZCT3p0QlFVZEVMR2RDUVVGQkxFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRE8yZENRVU42UXl4WFFVRlhMRU5CUVVNc1NVRkJTU3hIUVVGSExHRkJRV0VzUjBGQlJ5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRPMEZCUldwRUxHZENRVUZCTEUxQlFVMHNhVUpCUVdsQ0xFbEJRVWtzWlVGQlpTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRkZCUVZFc1EwRkJReXhsUVVGbExFTkJRVU1zTUVOQlFVVXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJiVUlzUTBGQlF6dEJRVVYyUnl4blFrRkJRU3hwUWtGQmFVSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03UVVGRGJrTXNaMEpCUVVFc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEJRVU0zUXl4blFrRkJRU3hKUVVGSkxHMUNRVUZ0UWl4RlFVRkZPMEZCUTNaQ0xHOUNRVUZCTEZkQlFWY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN1FVRkRMME1zYVVKQlFVRTdaMEpCUlVRc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4RlFVRkZMRmRCUVZjc1JVRkJSU3hEUVVGRE96dEJRVWN6UXl4blFrRkJRU3h2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXh0UWtGQmJVSXNTMEZCYmtJc1NVRkJRU3hKUVVGQkxHMUNRVUZ0UWl4TFFVRnVRaXhMUVVGQkxFTkJRVUVzUjBGQlFTeHRRa0ZCYlVJc1IwRkJTU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0QlFVTm9SaXhoUVVGQk8wRkJRMGdzVTBGQlF5eERRVUZETEVOQlFVTTdVVUZGU0N4UFFVRlBPMEZCUTB3c1dVRkJRU3hSUVVGUkxFVkJRVVVzVVVGQmVVSTdXVUZEYmtNc1NVRkJTVHRaUVVOS0xHOUNRVUZ2UWp0WlFVTndRaXhoUVVGaE8xTkJRMlFzUTBGQlF6dExRVU5JTzBGQlQwUXNTVUZCUVN4WFFVRkJMRU5CUVcxQ0xGRkJRV2RDTEVWQlFVRTdRVUZEYWtNc1VVRkJRU3hOUVVGTkxFVkJRVVVzVVVGQlVTeEZRVUZGTEVsQlFVa3NSVUZCUlN4dlFrRkJiMElzUlVGQlJTeGhRVUZoTEVWQlFVVXNSMEZCUnl4alFVRmpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkZNVWNzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUldoQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNN1FVRkRla0lzVVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVOcVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUjBGQlJ5eHZRa0ZCYjBJc1EwRkJRenRCUVVOc1JDeFJRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1lVRkJZU3hEUVVGRE8wdEJRM0pETzBGQlJVUTdPMEZCUlVjN1NVRkRTU3hOUVVGTkxFZEJRVUU3UVVGRFdDeFJRVUZCTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1R0WlFVTndReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFpRVVZ5UkN4SlFVRkpMRkZCUVZFc1NVRkJTU3hKUVVGSkxFVkJRVVU3WjBKQlEzQkNMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVNN1owSkJRMmhFTEUxQlFVMHNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExGRkJRVkVzUTBGQlJTeERRVUZETzJkQ1FVTnNSU3hOUVVGTkxITkNRVUZ6UWl4SFFVRkhSU3hSUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdaMEpCUTNwRkxFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVU03UVVGRmNFUXNaMEpCUVVFc1VVRkJVU3hEUVVGRExGVkJRVlU3UVVGRGFFSXNjVUpCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eFZRVUZWTEVOQlFVTTdjVUpCUXpWQ0xGRkJRVkVzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenR4UWtGRE4wSXNWMEZCVnl4RFFVRkRMSE5DUVVGelFpeERRVUZETzNGQ1FVTnVReXhSUVVGUkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdPMmRDUVVjeFFpeEpRVUZKTEZGQlFWRXNTMEZCU3l4TlFVRk5MRVZCUVVVN2IwSkJRM1pDTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzVjBGQlZ5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzI5Q1FVTjBSU3hSUVVGUkxFTkJRVU1zVFVGQlR5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTm9SQ3h2UWtGQlFTeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZQTEVOQlFVTXNWMEZCVnl4RFFVRkRPMjlDUVVOMlJDeE5RVUZOTEdGQlFXRXNSMEZCUnl4cFFrRkJhVUlzUTBGQlF5eFpRVUZaTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnFSaXh2UWtGQlFTeFJRVUZSTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dEJRVU4yUXl4cFFrRkJRVHRCUVVOR0xHRkJRVUU3UVVGRFNDeFRRVUZETEVOQlFVTXNRMEZCUXp0TFFVTktPMEZCUTBZN08wRkRjRWxFT3p0QlFVVkhPMDFCUTFVc1YwRkJWeXhEUVVGQk8wRkJiVUowUWpzN1FVRkZSenRCUVVOSUxFbEJRVUVzU1VGQlZ5eFJRVUZSTEVkQlFVRTdRVUZEYWtJc1VVRkJRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETERSR1FVRTBSaXhEUVVGRExFTkJRVU03VVVGRk0wY3NUMEZCVHl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRE8wdEJRM3BDTzBGQlJVUTdPenRCUVVkSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEZkQlFWY3NSMEZCUVR0QlFVTndRaXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4UlFVRlJMRU5CUVVNN1MwRkRja003UVVGRlJEczdPMEZCUjBjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzYTBKQlFXdENMRWRCUVVFN1FVRkRNMElzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eFJRVUZSTEVOQlFVTTdTMEZETlVNN1FVRkZSRHM3UVVGRlJ6dEJRVU5JTEVsQlFVRXNTVUZCVnl4VlFVRlZMRWRCUVVFN08wRkJSVzVDTEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExGVkJRVlVzUTBGQlF6dExRVU4yUXp0QlFVVkVPenRCUVVWSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEdGQlFXRXNSMEZCUVR0QlFVTjBRaXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4VlFVRlZMRU5CUVVNN1MwRkRka003UVVGRlJEczdRVUZGUnp0QlFVTklMRWxCUVVFc1NVRkJWeXh2UWtGQmIwSXNSMEZCUVR0QlFVTTNRaXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExGVkJRVlVzUTBGQlF6dExRVU01UXp0QlFVVkVPenRCUVVWSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEhkQ1FVRjNRaXhIUVVGQk8wRkJRMnBETEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRPMHRCUTNoRE8wRkJSVVE3T3pzN1FVRkpSenRKUVVOSUxGZEJRVzFDTEVOQlFVRXNWVUZCZVVJc1JVRkJSU3hQUVVFMFF5eEZRVUZCT3p0QlFVTjRSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEV0QlFVRXNTVUZCUVN4SlFVRlFMRTlCUVU4c1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCVUN4UFFVRlBMRU5CUVVVc2IwSkJRVzlDTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NTVUZCU1N4RFFVRkRPMUZCUTJ4RkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NTVUZCU1N4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE4wTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeEhRVUZITEVsQlFVa3NZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dExRVU4wUlR0QlFVVkVPenM3TzBGQlNVYzdRVUZEU1N4SlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGdFFpeEZRVUZCTzBGQlF6ZENMRkZCUVVFc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRTFCUVUwc1EwRkJReXh2UWtGQmIwSXNRMEZCUXp0UlFVTjRSQ3hKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU53UkN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVkQlFVY3NTVUZCU1N4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzBGQlJYSkZMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UzBGRFlqdEJRVVZFT3pzN1FVRkhSenRKUVVOSkxFdEJRVXNzUjBGQlFUdFJRVU5XTEU5QlFVOHNTVUZCU1N4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMHRCUTNwSE8wRkJSVVE3TzBGQlJVYzdTVUZEU1N4bFFVRmxMRWRCUVVFN1FVRkRjRUlzVVVGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMSFZJUVVGMVNDeERRVU40U0N4RFFVRkRPMEZCUlVZc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8wdEJRMnhETzBGQlJVUTdPenM3UVVGSlJ6dEpRVU5KTEd0Q1FVRnJRaXhIUVVGQk8wRkJRM1pDTEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExHVkJRV1VzUlVGQlJTeERRVUZETzB0QlF6bERPMEZCUlVRN096czdRVUZKUnp0SlFVTkpMSGxDUVVGNVFpeEhRVUZCTzBGQlF6bENMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1pVRkJaU3hGUVVGRkxFTkJRVU03UzBGRGNrUTdRVUZGUkRzN1FVRkZSenRKUVVOSkxFOUJRVThzUjBGQlFUdEJRVU5hTEZGQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXdyUmtGQkswWXNRMEZCUXl4RFFVRkRPMEZCUlRsSExGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1MwRkRNVUk3UVVGRlJEczdPenRCUVVsSE8wbEJRMGtzVlVGQlZTeEhRVUZCTzBGQlEyWXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTMEZEZEVNN1FVRkZSRHM3T3p0QlFVbEhPMGxCUTBrc2FVSkJRV2xDTEVkQlFVRTdRVUZEZEVJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dExRVU0zUXp0QlFVVkVPenRCUVVWSE8wRkJRMGtzU1VGQlFTeFBRVUZQTEVOQlFVTXNWVUZCYlVJc1JVRkJRVHRCUVVOb1F5eFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc0swWkJRU3RHTEVOQlFVTXNRMEZCUXp0QlFVVTVSeXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRMUVVOd1F6dEJRVVZFT3pzN096czdPenM3UVVGVFJ6dEJRVU5KTEVsQlFVRXNWVUZCVlN4RFFVRkRMRlZCUVcxQ0xFVkJRVUU3VVVGRGJrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0TFFVTm9SRHRCUVVWRU96czdPenM3TzBGQlQwYzdRVUZEU1N4SlFVRkJMR2xDUVVGcFFpeERRVUZETEZWQlFXMUNMRVZCUVVFN1VVRkRNVU1zVDBGQlR5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMHRCUTNaRU8wRkJSVVE3TzBGQlJVYzdTVUZEU1N4VFFVRlRMRWRCUVVFN1FVRkRaQ3hSUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNjVWRCUVhGSExFTkJRVU1zUTBGQlF6dEJRVVZ3U0N4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzB0QlF6VkNPMEZCUlVRN096czdRVUZKUnp0SlFVTkpMRmxCUVZrc1IwRkJRVHRCUVVOcVFpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dExRVU40UXp0QlFVVkVPenRCUVVWSE8wbEJRMGtzYlVKQlFXMUNMRWRCUVVFN1FVRkRlRUlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0TFFVTXZRenRCUVVWRU96dEJRVVZITzBGQlEwa3NTVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJjMElzUlVGQlFUdEJRVU51UXl4UlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zSzBaQlFTdEdMRU5CUVVNc1EwRkJRenRCUVVVNVJ5eFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dExRVU01UWp0QlFVVkVPenM3TzBGQlNVYzdRVUZEU1N4SlFVRkJMRlZCUVZVc1EwRkJReXhKUVVGelFpeEZRVUZCTzFGQlEzUkRMRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRNVU03UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeHBRa0ZCYVVJc1EwRkJReXhKUVVGelFpeEZRVUZCTzFGQlF6ZERMRTlCUVU4c1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dExRVU5xUkR0QlFVVkVPenRCUVVWSE8wRkJRMGtzU1VGQlFTeFhRVUZYTEVOQlFVTXNTVUZCYzBJc1JVRkJRVHRCUVVOMlF5eFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc01rZEJRVEpITEVOQlF6VkhMRU5CUVVNN1FVRkZSaXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRMUVVOc1F6dEJRVVZFT3pzN08wRkJTVWM3UVVGRFNTeEpRVUZCTEdOQlFXTXNRMEZCUXl4SlFVRnpRaXhGUVVGQk8xRkJRekZETEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZET1VNN1FVRkZSRHM3T3p0QlFVbEhPMEZCUTBrc1NVRkJRU3h4UWtGQmNVSXNRMEZCUXl4SlFVRnpRaXhGUVVGQk8xRkJRMnBFTEU5QlFVOHNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRMUVVOeVJEdEJRVVZFT3pzN08wRkJTVWM3U1VGRFNTeE5RVUZOTEVkQlFVRTdVVUZEV0N4SlFVRkpMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSVUZCUlR0QlFVTTNRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEJRVU55UXl4VFFVRkJPMHRCUTBZN1FVRkRSanM3UVVNeFUwUTdRVUZGWVN4TlFVRkJMSGRDUVVGM1FpeEhRVUZITzBGQlEzUkRMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1NVRkJRU3hKUVVGSkxFVkJRVVVzVFVGQlRUdEJRVU5hTEVsQlFVRXNXVUZCV1N4RlFVRkZMR05CUVdNN1FVRkROVUlzU1VGQlFTeFpRVUZaTEVWQlFVVXNZMEZCWXp0QlFVTTFRaXhKUVVGQkxGRkJRVkVzUlVGQlJTeFZRVUZWTzBGQlEzQkNMRWxCUVVFc1lVRkJZU3hGUVVGRkxHVkJRV1U3UVVGRE9VSXNTVUZCUVN4aFFVRmhMRVZCUVVVc1pVRkJaVHRCUVVNNVFpeEpRVUZCTEZOQlFWTXNSVUZCUlN4WFFVRlhPMEZCUTNSQ0xFbEJRVUVzV1VGQldTeEZRVUZGTEdOQlFXTTdRVUZETlVJc1NVRkJRU3haUVVGWkxFVkJRVVVzWTBGQll6dEJRVU0xUWl4SlFVRkJMRkZCUVZFc1JVRkJSU3hWUVVGVk8wRkJRM0JDTEVsQlFVRXNZVUZCWVN4RlFVRkZMR1ZCUVdVN1FVRkRPVUlzU1VGQlFTeGhRVUZoTEVWQlFVVXNaVUZCWlR0QlFVTTVRaXhKUVVGQkxGTkJRVk1zUlVGQlJTeFhRVUZYT3pzN1FVTlFlRUk3TzBGQlJVYzdRVUZEU0N4TlFVRk5TQ3gzUWtGQmMwSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRWRU96dEJRVVZITzBGQlEwZ3NUVUZCVFN4blFrRkJaMElzUjBGQmNVVTdRVUZEZWtZc1NVRkJRU3hwUWtGQmFVSXNSVUZCUlN4eFFrRkJjVUk3UVVGRGVFTXNTVUZCUVN4eFFrRkJjVUlzUlVGQlJTeHRRa0ZCYlVJN1FVRkRNVU1zU1VGQlFTeHJRa0ZCYTBJc1JVRkJSU3h6UWtGQmMwSTdRVUZETVVNc1NVRkJRU3h6UWtGQmMwSXNSVUZCUlN4dlFrRkJiMEk3UTBGRE4wTXNRMEZCUXp0QlFVVkdPenRCUVVWSE8wMUJRMVVzZFVKQlFYVkNMRU5CUVVFN1FVRlpiRU1zU1VGQlFTeEpRVUZYTEVsQlFVa3NSMEZCUVRzN1FVRkZZaXhSUVVGQkxFOUJRVThzZVVKQlFYbENMRU5CUVVNN1MwRkRiRU03U1VGRlJDeFhRVUZ0UWl4RFFVRkJMRTFCUVd0Q0xFVkJRVVVzVDBGQmQwTXNSVUZCUVR0QlFVTTNSU3hSUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUlhKQ0xFbEJRVWtzUTBGQlF5eFZRVUZWTEVkQlFVY3NUMEZCVHl4TFFVRkJMRWxCUVVFc1NVRkJVQ3hQUVVGUExFdEJRVkFzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1QwRkJUeXhEUVVGRkxGVkJRVlVzUTBGQlF6dFJRVU4wUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVkQlFVY3NUMEZCVHl4TFFVRkJMRWxCUVVFc1NVRkJVQ3hQUVVGUExFdEJRVkFzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1QwRkJUeXhEUVVGRkxHOUNRVUZ2UWl4RFFVRkRPMHRCUXpORU8wRkJSVmtzU1VGQlFTeFRRVUZUTEVOQlFVTXNTVUZCVlN4RlFVRkJPenRCUVVNdlFpeFpRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOMFJDeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVRkJPMEZCUlVRN096czdRVUZKUnp0QlFVTlhMRWxCUVVFc1QwRkJUeXhEUVVGRExFbEJRVlVzUlVGQlFUczdXVUZET1VJc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRelZETEZsQlFVRXNTVUZCU1N4UlFVRlJMRVZCUVVVN1FVRkRXaXhuUWtGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXp0QlFVTnFRaXhoUVVGQk8xbEJSVVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlF6VkRMRmxCUVVFc1NVRkJTU3hSUVVGUkxFVkJRVVU3UVVGRFdpeG5Ra0ZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRCUVVOcVFpeGhRVUZCTzBGQlJVUXNXVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRUUVVOaUxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlFVRTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3T3p0QlFVTm9ReXhaUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6czdRVUZIYkVRc1dVRkJRU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFMUJRVVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNUMEZCVHl4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeEZMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVU3UVVGRFpDeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3V1VGRlJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRlZCUVZVc1EwRkJiME1zUTBGQlF6dFpRVU51Uml4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRk8wRkJRMlFzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRE8wRkJRekZETEZsQlFVRXNTVUZCU1N4RFFVRkRRU3gzUWtGQmMwSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVU3UVVGRE5VTXNaMEpCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5d3dSRUZCTUVRc1YwRkJWeXhEUVVGQkxFTkJRVUVzUTBGQlJ5eERRVUZETEVOQlFVTTdRVUZEZGtZc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxHTkJRV01zUjBGQlJ5eFRRVUZUTEVOQlFVTXNVVUZCVVN4RFFVRkRPMWxCUXpGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVTdRVUZEYmtJc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRN096czdRVUZKUnp0WlFVTklMRTFCUVUwc2RVSkJRWFZDTEVkQlF6RkNMR05CUVdNc1EwRkJReXhWUVVGclFpeERRVUZETEhGQ1FVRnhRaXhKUVVGSkxFbEJRVWs3UVVGREwwUXNaMEpCUVVFc1kwRkJZeXhEUVVGRExGVkJRV3RDTEVOQlFVTXNjMEpCUVhOQ0xFbEJRVWtzU1VGQlNTeERRVUZETzFsQlJYQkZMRTFCUVUwc1ZVRkJWU3hIUVVFeVFpeEZRVUZGTEVOQlFVTTdRVUZET1VNc1dVRkJRU3hKUVVGSkxHTkJRV01zUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RlFVRkZPMmRDUVVOeVF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUTJZc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eGpRVUZqTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVThzUTBGQlF5eGpRVUZqTEVWQlFVVXNaVUZCWlN4RFFVRkRMRXRCUVVrc1UwRkJRU3hEUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hoUVVGQk8yOUNRVU40Uml4SlFVRkpMRkZCUVZFc1IwRkJSeXhqUVVGdFJDeERRVUZETzBGQlEyNUZMRzlDUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNN08wRkJSMjVETEc5Q1FVRkJMRWxCUVVrc2RVSkJRWFZDTEVWQlFVVTdRVUZETTBJc2QwSkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdkMEpCUTJwRUxFbEJRVWtzWVVGQllTeEpRVUZKTEVsQlFVa3NSVUZCUlRzMFFrRkRla0lzVVVGQlVTeEhRVUZITEdGQlFXRXNRMEZCUXp0QlFVTXhRaXg1UWtGQlFUdEJRVU5HTEhGQ1FVRkJPMEZCUlVRc2IwSkJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZOTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN08yOUNRVWMxUkN4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFVkJRVVU3ZDBKQlEyaENMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlFTeDFRMEZCUVN4RlFVRXdReXhSUVVGUkxFTkJRV0VzVlVGQlFTeEZRVUZCTEV0QlFVc3NRMEZCYTBJc1owSkJRVUVzUTBGQlFTeERRVUZETEVOQlFVTTdkMEpCUTNKSExFOUJRVTg3UVVGRFVpeHhRa0ZCUVRzN1FVRkhSQ3h2UWtGQlFTeFZRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF6dHBRa0ZEYWtNc1EwRkJRU3hEUVVGRExFTkJRMGdzUTBGQlF6dEJRVU5JTEdGQlFVRTdXVUZGUkN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVTdaMEpCUXpORkxHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXh2UWtGQmIwSTdRVUZEYUVRc1lVRkJRU3hEUVVGRExFTkJRVU03V1VGRFNDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1EwRkJRenRaUVVWc1JDeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVN1FVRkRia0lzWjBKQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hwUWtGQmFVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVNdlF5eG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0blFrRkROVUlzVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU5zUkN4aFFVRkJPMEZCUlVRc1dVRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6czdRVUZEYWtJc1MwRkJRVHRCUVVWaExFbEJRVUVzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUVRzN08wRkJRMmhETEZsQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUYzUWl4RFFVRkRPMWxCUld4RUxFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVVXNSMEZCTkVJc1EwRkJRenRaUVVNM1JDeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMEZCUTFnc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxHTkJRV01zUjBGQkswSXNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJRenRaUVVOdVJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZPMEZCUTI1Q0xHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRaUVVWRUxFMUJRVTBzVlVGQlZTeEhRVUV5UWl4RlFVRkZMRU5CUVVNN1FVRkRPVU1zV1VGQlFTeEpRVUZKTEdOQlFXTXNRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRM0pETEdkQ1FVRkJMRTFCUVUwc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGRFppeGpRVUZqTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGUExFbEJRVWtzUzBGQlNTeFRRVUZCTEVOQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1EwRkJRU3hGUVVGQkxFdEJRVUVzUTBGQlFTeEZRVUZCTEdGQlFVRTdRVUZETTBNc2IwSkJRVUVzVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJRenRCUVVNelFpeHZRa0ZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETzBGQlJYaENMRzlDUVVGQkxFbEJRVWtzVVVGQlVTeEpRVUZKTEVsQlFVa3NTVUZCU1N4TFFVRkxMRWxCUVVrc1NVRkJTU3hGUVVGRk8zZENRVU55UXl4UFFVRlBPMEZCUTFJc2NVSkJRVUU3UVVGRlJDeHZRa0ZCUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6czdiMEpCUnpWRUxFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NSVUZCUlR0M1FrRkRhRUlzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkJMSFZEUVVGQkxFVkJRVEJETEZGQlFWRXNRMEZCWVN4VlFVRkJMRVZCUVVFc1MwRkJTeXhEUVVGclFpeG5Ra0ZCUVN4RFFVRkJMRU5CUVVNc1EwRkJRenQzUWtGRGNrY3NUMEZCVHp0QlFVTlNMSEZDUVVGQk96dEJRVWRFTEc5Q1FVRkJMRTFCUVUwc1lVRkJZU3hIUVVGSExHZENRVUZuUWl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8yOUNRVU5xUkN4TlFVRk5MRmRCUVZjc1NVRkJTU3hoUVVGaExFdEJRVUVzU1VGQlFTeEpRVUZpTEdGQlFXRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJZaXhoUVVGaExFZEJRVWtzVVVGQlVTeERRVUZ6UXl4RFFVRkRPenM3UVVGSmNrWXNiMEpCUVVFc1NVRkJTU3hWUVVGVkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NTVUZCU1N4RlFVRkZPM2RDUVVOdVF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMRU5CUVVFc01FSkJRVUVzUlVGQk5rSXNWMEZCVnl4RFFVRnpRaXh0UWtGQlFTeEZRVUZCTEV0QlFVc3NRMEZCYVVNc0swSkJRVUVzUTBGQlFTeERRVU55Unl4RFFVRkRPM2RDUVVOR0xFOUJRVTg3UVVGRFVpeHhRa0ZCUVRzN1FVRkhSQ3h2UWtGQlFTeFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF6dHBRa0ZEY0VNc1EwRkJRU3hEUVVGRExFTkJRMGdzUTBGQlF6dEJRVU5JTEdGQlFVRTdXVUZGUkN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVTdaMEpCUXpORkxHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXh2UWtGQmIwSTdRVUZEYUVRc1lVRkJRU3hEUVVGRExFTkJRVU03V1VGRFNDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1EwRkJRenRaUVVWc1JDeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVN1FVRkRia0lzWjBKQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hwUWtGQmFVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVNdlF5eG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0blFrRkROVUlzVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU5zUkN4aFFVRkJPMEZCUlVRc1dVRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6czdRVUZEYWtJc1MwRkJRVHRCUVVWRU96czdPMEZCU1VjN1FVRkRTeXhKUVVGQkxIbENRVUY1UWl4RFFVRkRMRlZCUVd0RExFVkJRVUU3TzFGQlJXeEZMRTFCUVUwc2IwSkJRVzlDTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkRla1VzUTBGQlF5eG5Ra0ZCWjBJc1MwRkJTeXhWUVVGVkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRek5FTEVOQlFVTTdPMEZCUjBZc1VVRkJRU3hKUVVGSkxHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFVkJRVVU3UVVGRGJrTXNXVUZCUVN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxFTkJRVUVzTUVWQlFVRXNSVUZCTmtVc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRkxFTkJRVUVzUTBGREwwY3NRMEZCUXp0QlFVTklMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzVlVGQk1rSXNRMEZCUXp0TFFVTndRenRCUVVOR096dEJRek5QV1N4TlFVRkJMR2xDUVVGclFpeFRRVUZSTEV0QlFVc3NRMEZCUXl4alFVRmpMRU5CUVVFN1FVRlJla1FzU1VGQlFTeFhRVUZCTEVkQlFVRTdRVUZEUlN4UlFVRkJMRXRCUVVzc1JVRkJSU3hEUVVGRE8xRkJUa1lzU1VGQllTeERRVUZCTEdGQlFVRXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRiRUlzU1VGQll5eERRVUZCTEdOQlFVRXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRlBla0lzVVVGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRWRCUVVjc1EwRkJRenRCUVVOcVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJRMnhDTEZGQlFVRXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRGVrSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFZEJRVWNzUTBGQlF6dEJRVVV4UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZGTjBNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxGZEJRVmNzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVFVXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVVXZRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEYmtJc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzB0QlEyWTdTVUZGVFN4TlFVRk5MRWRCUVVFN1VVRkRXQ3hKUVVGSkxHOUNRVUZ2UWl4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVWcVF5eFJRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1MwRkJTeXhKUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZGTzBGQlEzSkRMRmxCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRPMWxCUTJoRExHOUNRVUZ2UWl4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVNM1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFdEJRVXNzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlR0QlFVTjJReXhaUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVOc1F5eHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1NVRkJTU3h2UWtGQmIwSXNSVUZCUlR0WlFVTjRRaXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdRVUZEZGtJc1UwRkJRVHRMUVVOR08wbEJSVThzWTBGQll5eEhRVUZCTzBGQlEzQkNMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZGZGtNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU16UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRCUVVVeFF5eFpRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU40Unl4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1MwRkRiRU03U1VGRlR5eFhRVUZYTEVkQlFVRTdVVUZEYWtJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdEJRVU16UWl4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMmhFTEZOQlFVRTdRVUZGUkN4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTndRenRCUVVOR096dEJReTlFV1N4TlFVRkJMREpDUVVFMFFpeFRRVUZSTEV0QlFVc3NRMEZCUXl4alFVRmpMRU5CUVVFN1FVRlJia1VzU1VGQlFTeFhRVUZCTEVkQlFVRTdRVUZEUlN4UlFVRkJMRXRCUVVzc1JVRkJSU3hEUVVGRE8wRkJSVklzVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1EwRkJRenRCUVVOc1FpeFJRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1IwRkJSeXhEUVVGRE8xRkJSVEZDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdVVUZEYUVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWNFF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NXVUZCV1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzQkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVVM1F5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzSkZMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkZMMElzU1VGQlNTeERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRPMUZCUTI1Q0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0TFFVTm1PMGxCUlUwc1RVRkJUU3hIUVVGQk8xRkJRMWdzU1VGQlNTeHZRa0ZCYjBJc1IwRkJSeXhMUVVGTExFTkJRVU03UVVGRmFrTXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFdEJRVXNzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlR0QlFVTjJReXhaUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVOc1F5eHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0UlFVVkVMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRGVFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTJ4RExHOUNRVUZ2UWl4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVNM1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4SlFVRkpMRzlDUVVGdlFpeEZRVUZGTzFsQlEzaENMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF6dEJRVU4yUWl4VFFVRkJPMHRCUTBZN1NVRkZUeXhqUVVGakxFZEJRVUU3VVVGRGNFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNelFpeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXp0WlFVVXZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNaRUxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRelZFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6ZEVMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRSUVVNeFJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZPVVVzVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOc1F5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFVkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVY0Uml4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTnNRenRKUVVWUExGZEJRVmNzUjBGQlFUdFJRVU5xUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5DTEUxQlFVMHNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdRVUZGZUVJc1dVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTndReXhaUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzBGQlEyNUVMRmxCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRGNrUXNVMEZCUVR0UlFVTkVMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRmJrTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdTMEZEY0VNN1FVRkRSanM3UVVONFJVUXNUVUZCVFVjc1VVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTFETEZGQlFVMHNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dEJRVU4wUXl4TlFVRk5TQ3hOUVVGSkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkRha01zVFVGQlRVTXNUVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlJXcERMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJRek5ETEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1lVRkJZU3hGUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETzBGQlF5OUZMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBGQlJUVkRMRTFCUVVFc1pVRkJaMElzVTBGQlVTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkJPMEZCVFRsRExFbEJRVUVzVjBGQlFTeERRVUZ0UWl4TlFVRnBRaXhGUVVGQk8wRkJRMnhETEZGQlFVRXNTMEZCU3l4RlFVRkZMRU5CUVVNN1FVRkRVaXhSUVVGQkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXhMUVVGTExFTkJRVU03UVVGRk9VSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFMUJRVTBzUTBGQlF6dEJRVVY0UWl4UlFVRkJPMEZCUTBVc1dVRkJRU3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEdsQ1FVRnBRaXhGUVVGRkxFTkJRVU03UVVGRGVrTXNXVUZCUVN4UlFVRlJMRU5CUVVNc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVVYwUWl4WlFVRkJMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wRkJRek5ETEdkQ1FVRkJMRXRCUVVzc1JVRkJSU3hSUVVGUk8wRkJRMllzWjBKQlFVRXNWMEZCVnl4RlFVRkZMRWxCUVVrN1FVRkRha0lzWjBKQlFVRXNUMEZCVHl4RlFVRkZMRWRCUVVjN1owSkJRMW9zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4VlFVRlZPMEZCUTNSQ0xHZENRVUZCTEZOQlFWTXNSVUZCUlN4TFFVRkxPMEZCUTJoQ0xHZENRVUZCTEZWQlFWVXNSVUZCUlN4TFFVRkxPMEZCUTJ4Q0xHRkJRVUVzUTBGQlF5eERRVUZETzBGQlJVZ3NXVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRGNrUXNXVUZCUVN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTXpRaXhUUVVGQk8wRkJSVVFzVVVGQlFUdEJRVU5GTEZsQlFVRXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMEZCUTNwRExGbEJRVUVzVVVGQlVTeERRVUZETEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkZkRUlzV1VGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0QlFVTXpReXhuUWtGQlFTeExRVUZMTEVWQlFVVXNVVUZCVVR0QlFVTm1MR2RDUVVGQkxGZEJRVmNzUlVGQlJTeEpRVUZKTzBGQlEycENMR2RDUVVGQkxFOUJRVThzUlVGQlJTeEhRVUZITzJkQ1FVTmFMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zVlVGQlZUdEJRVU4wUWl4blFrRkJRU3hUUVVGVExFVkJRVVVzUzBGQlN6dEJRVU5vUWl4blFrRkJRU3hWUVVGVkxFVkJRVVVzUzBGQlN6dEJRVU5zUWl4aFFVRkJMRU5CUVVNc1EwRkJRenRCUVVWSUxGbEJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUTI1RUxGbEJRVUVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRGVrSXNVMEZCUVR0QlFVVkVMRkZCUVVFN1FVRkRSU3haUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NNa0pCUVRKQ0xFVkJRVVVzUTBGQlF6dEJRVU51UkN4WlFVRkJMRkZCUVZFc1EwRkJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlJYUkNMRmxCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU03UVVGRE0wTXNaMEpCUVVFc1MwRkJTeXhGUVVGRkxGRkJRVkU3UVVGRFppeG5Ra0ZCUVN4VFFVRlRMRVZCUVVVc1MwRkJTenRCUVVOb1FpeG5Ra0ZCUVN4VlFVRlZMRVZCUVVVc1MwRkJTenRCUVVOc1FpeGhRVUZCTEVOQlFVTXNRMEZCUXp0QlFVVklMRmxCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNc1VVRkJVU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6bEVMRmxCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eGhRVUZoTEVkQlFVY3NTMEZCU3l4RFFVRkRPMEZCUTNaRExGbEJRVUVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03UVVGRE5VSXNVMEZCUVR0TFFVTkdPMGxCUlUwc1QwRkJUeXhIUVVGQk8wRkJRMW9zVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMEZCUldwRExGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRGJrTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVnVReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRM0JETEZGQlFVRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTMEZEY2tNN1FVRkZUU3hKUVVGQkxHbENRVUZwUWl4RFFVRkRMRXRCUVdNc1JVRkJRVHM3UVVGRmNrTXNVVUZCUVN4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF6dFJRVU42UkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUTI1RExGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UVVGRmFFTXNVVUZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU0zUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMEZCUTNaRExGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03TzBGQlIyeERMRkZCUVVFc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eHpRa0ZCYzBJc1EwRkJRMFFzVFVGQlNTeERRVUZETEVOQlFVTTdRVUZETlVNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEhkQ1FVRjNRaXhEUVVGRFJTeFJRVUZOTEVOQlFVTXNRMEZCUXpzN1FVRkhhRVFzVVVGQlFVRXNVVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEhOQ1FVRnpRaXhEUVVGRFF5eFJRVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRPenRSUVVjdlJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU5JTEUxQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJ4RExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJRMFVzVVVGQlRTeERRVUZETEVOQlFVTTdVVUZGZEVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRSaXhOUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU53UXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTkZMRkZCUVUwc1EwRkJReXhEUVVGRE8wRkJRM2hETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZEUXl4UlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNaVUZCWlN4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGJrWXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPenRSUVVkc1JDeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRlZCUVZVc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdRVUZET1VNc1VVRkJRU3hKUVVGSkxFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NWVUZCVlN4RlFVRkZPMWxCUTJoRExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJRMFlzVFVGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRSQ3hOUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU40UXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRReXhOUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU14UXl4WlFVRkJMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTI1RExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJRMFFzVFVGQlNTeERRVUZETEVOQlFVTTdRVUZEZEVNc1UwRkJRVHM3UVVGSFJDeFJRVUZCTEV0QlFVc3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0TFFVTm9RenRCUVVOR096dEJRek5JUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTjBReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWdVF6czdPenM3T3p0QlFVOUhPMEZCUTJFc1UwRkJRU3h6UWtGQmMwSXNRMEZCUXl4TlFVRnpRaXhGUVVGRkxFZEJRWEZDTEVWQlFVRTdTVUZEYkVZc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dEJRVU55UkN4SlFVRkJMRTlCUVU4c1IwRkJSeXhEUVVGRE8wRkJRMkk3TzBGRFpFRTdPenM3T3pzN096czdRVUZWUnp0QlFVTkhMRk5CUVZVc2JVSkJRVzFDTEVOQlFVTXNUVUZCY1VJc1JVRkJRVHRKUVVOMlJDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZGtnN08wRkRaa0U3T3pzN096czdPenRCUVZOSE8wRkJRMGNzVTBGQlZTeGhRVUZoTEVOQlFVTXNTMEZCWVN4RlFVRkJPMEZCUTNwRExFbEJRVUVzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFZEJRVWNzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOd1JDeFBRVUZQTEV0QlFVc3NSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFVkJRVVVzUjBGQlJ5eFRRVUZUTEVOQlFVTTdRVUZETTBNN08wRkRURUVzVFVGQlRVa3NhVUpCUVdVc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVVY2UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5SaXhSUVVGTkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1FVRkRkRU1zVFVGQlRVTXNVVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlEzUkRMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJRM1JETEUxQlFVMUZMRk5CUVU4c1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0QlFVVnNRenM3UVVGRlJ6dE5RVU5WTEZOQlFWTXNRMEZCUVR0QlFUaERjRUk3TzBGQlJVYzdRVUZEU0N4SlFVRkJMRWxCUVZjc1IwRkJSeXhIUVVGQk8xRkJRMW9zVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRPMHRCUTJ4Q08wRkJSVVE3TzBGQlJVYzdTVUZEU0N4SlFVRlhMRWRCUVVjc1EwRkJReXhMUVVGaExFVkJRVUU3UVVGRE1VSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVU5zUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETzB0QlF6RkNPMEZCVDBRN08wRkJSVWM3UVVGRFNDeEpRVUZCTEVsQlFWY3NTMEZCU3l4SFFVRkJPMUZCUTJRc1QwRkJUeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzB0QlEzQkNPMEZCUlVRN08wRkJSVWM3U1VGRFNDeEpRVUZYTEV0QlFVc3NRMEZCUXl4TFFVRmhMRVZCUVVFN1FVRkROVUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVOd1FpeFJRVUZCTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRE8wdEJRekZDTzBGQldVUTdPMEZCUlVjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzUzBGQlN5eEhRVUZCTzBGQlEyUXNVVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExIbEVRVUY1UkN4RFFVRkRMRU5CUVVNN1VVRkZlRVVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTTdTMEZEZWtNN1FVRkZSRHM3T3pzN1FVRkxSenRKUVVOSUxGZEJRVzFDTEVOQlFVRXNVVUZCY1VJc1JVRkJSU3hQUVVGNVFpeEZRVUZCTzBGQmRrZHVSVHM3UVVGRlJ6dEJRVU5KTEZGQlFVRXNTVUZCUVN4RFFVRkJMR3RDUVVGclFpeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJXV2hFT3pzN096dEJRVXRITzFGQlEwa3NTVUZCVlN4RFFVRkJMRlZCUVVFc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGVmVrSTdPenM3UVVGSlJ6dEJRVU5KTEZGQlFVRXNTVUZCUVN4RFFVRkJMRk5CUVZNc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVzlGYkVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEZGQlFWRXNRMEZCUXp0QlFVTjZRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NUMEZCVHl4RFFVRkRPMEZCUlhaQ0xGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRhRUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1EwRkJRenRCUVVOc1FpeFJRVUZCTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJSWHBDTEZGQlFVRXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeEhRVUZITEVsQlFVa3NRMEZCUXl4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJReXhEUVVGRE8wdEJRM1pHTzBGQlJVUTdPenM3TzBGQlMwYzdRVUZEU1N4SlFVRkJMRkZCUVZFc1EwRkJReXhOUVVGdFFpeEZRVUZCTzBGQlEycERMRkZCUVVFc1QwRkJUeXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRE0wYzdRVUZGUkRzN096czdPMEZCVFVjN1FVRkRTU3hKUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZwUWl4RlFVRkJPMEZCUXpOQ0xGRkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVN4TFFVRkxMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVU3UVVGRGNrTXNXVUZCUVN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHMUVRVUZ0UkN4RFFVRkRMRU5CUVVNN1FVRkRkRVVzVTBGQlFUdFJRVVZFTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZEZUVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNN1FVRkRPVUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU03UVVGRGNFTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZETlVJc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8wRkJSWFJETEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRCUVVWRU96czdPMEZCU1VjN1NVRkRTU3hMUVVGTExFZEJRVUU3UVVGRFZpeFJRVUZCTEU5QlFVOHNTVUZCU1N4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzB0QlF6bEVPMEZCUlVRN08wRkJSVWM3U1VGRFNTeExRVUZMTEVkQlFVRTdRVUZEVml4UlFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEyaENMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZEYkVJc1VVRkJRU3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTXhRanRCUVVWRU96czdPMEZCU1VjN1FVRkRTU3hKUVVGQkxITkNRVUZ6UWl4RFFVRkRMRTFCUVhGQ0xFVkJRVUU3VVVGRGFrUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkZMRU5CUVVNN1FVRkZia1FzVVVGQlFTeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0TFFVTTFSVHRCUVVWRU96czdPenRCUVV0SE8wRkJRMGtzU1VGQlFTeDNRa0ZCZDBJc1EwRkJReXhOUVVGM1FpeEZRVUZCTzFGQlEzUkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRE8wRkJSVzVFTEZGQlFVRXNUMEZCVHl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1MwRkROME03UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeHpRa0ZCYzBJc1EwRkJReXhOUVVGM1FpeEZRVUZCTzFGQlEzQkVMRWxCUVVrc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eHBRa0ZCYVVJc1EwRkJRMFFzYVVKQlFXVXNRMEZCUXl4SFFVRkhMRWxCUVVrc1JVRkJSVHRaUVVNMVJDeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExIZENRVUYzUWl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UVVGRE5VUXNVMEZCUVR0QlFVVkVMRkZCUVVFc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4RlFVRkZMR2xDUVVGcFFpeERRVUZETEVkQlFVY3NiVUpCUVcxQ0xFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMEZCUTJ4R0xGRkJRVUZETEZOQlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSVUZCUlN4SFFVRkhMR2RDUVVGblFpeEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlJUZEZMRTlCUVU4c1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGQlEwRXNVMEZCVHl4RFFVRkRMRU5CUVVNc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRMUVVOMFJ6dEJRVVZFT3pzN08wRkJTVWM3UVVGRFNTeEpRVUZCTEhWQ1FVRjFRaXhEUVVGRExFMUJRWEZDTEVWQlFVRTdRVUZEYkVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zZDBKQlFYZENMRU5CUVVOR0xGRkJRVTBzUTBGQlF5eERRVUZETzBGQlEzUkRMRkZCUVVFc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJSWEJETEZGQlFVRXNUMEZCVHl4TlFVRk5PMkZCUTFZc1NVRkJTU3hEUVVGRFF5eHBRa0ZCWlN4RFFVRkRPMkZCUTNKQ0xHVkJRV1VzUTBGQlEwUXNVVUZCVFN4RFFVRkRPMkZCUTNaQ0xHVkJRV1VzUTBGQlF5eE5RVUZOTEVOQlFVTTdZVUZEZGtJc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTkZMRk5CUVU4c1EwRkJReXhEUVVGRExFTkJRVU03UzBGRGRrTTdRVUZGUkRzN096czdPenM3UVVGUlJ6dEJRVU5KTEVsQlFVRXNUVUZCVFN4RFFVRkRMRkZCUVhWQ0xFVkJRVUU3TzFGQlJXNURMRTFCUVUwc1kwRkJZeXhIUVVGSFNDeFJRVUZOTzBGQlF6RkNMR0ZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eDNRa0ZCZDBJc1EwRkJRenRoUVVOdVF5eFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEhkQ1FVRjNRaXhEUVVGRFF5eFJRVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja1VzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJ4RUxFMUJRVTBzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMR1ZCUVdVc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXpzN1FVRkhMMFlzVVVGQlFTeE5RVUZOTEVOQlFVTXNWMEZCVnl4RlFVRkZMRmxCUVZrc1EwRkJReXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVU40UlN4TlFVRk5MRU5CUVVNc1UwRkJVeXhGUVVGRkxGVkJRVlVzUTBGQlF5eEhRVUZITEcxQ1FVRnRRaXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlF5OUVMRTFCUVUwc1IwRkJSeXhIUVVGSExHRkJRV0VzUTBGQlF5eFRRVUZUTEVkQlFVY3NWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRia1FzVFVGQlRTeExRVUZMTEVkQlFVY3NZVUZCWVN4RFFVRkRMRmxCUVZrc1IwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF6czdVVUZIZGtRc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRE1VTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkZPVU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVNeFFqdEJRVVZFT3pzN096dEJRVXRITzBGQlEwa3NTVUZCUVN4TlFVRk5MRU5CUVVNc1MwRkJZU3hGUVVGQk8xRkJRM3BDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlR0QlFVTXhReXhaUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMnBFTEZOQlFVRTdVVUZGUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVU3UVVGRGNrSXNXVUZCUVN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVV4UWl4WlFVRkJMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlEzQkVMRk5CUVVFN1MwRkRSanM3UVVFeFVYTkNMRk5CUVVFc1EwRkJRU3hYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZET3p0QlEyaENOME1zVFVGQlRTeGxRVUZsTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkZla1FzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UVVGRGRFTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdRVUZEZEVNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUlhSRU96czdRVUZIUnp0TlFVTlZMRzlDUVVGdlFpeERRVUZCTzBGQk1FUXZRanM3T3pzN096czdRVUZSUnp0SlFVTklMRmRCUTBVc1EwRkJRU3hSUVVGeFFpeEZRVU55UWl4MVFrRkJNRU1zUlVGRE1VTXNkVUpCUVRCRExFVkJRekZETEc5Q1FVRjFReXhGUVVOMlF5eHJRa0ZCY1VNc1JVRkJRVHRCUVVWeVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wRkJSWHBDTEZGQlFVRXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeEhRVUZITEhWQ1FVRjFRaXhEUVVGRE8wRkJRM1pFTEZGQlFVRXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeEhRVUZITEhWQ1FVRjFRaXhEUVVGRE8wRkJRM1pFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEhRVUZITEc5Q1FVRnZRaXhEUVVGRE8wRkJRMnBFTEZGQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEhRVUZITEd0Q1FVRnJRaXhEUVVGRE8wRkJSVGRETEZGQlFVRXNTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6czdVVUZIYkVRc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFGQlF5OURMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU5vUkN4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03VVVGRE1VUXNTVUZCU1N4RFFVRkRMRFJDUVVFMFFpeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8xRkJSVE5FTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNoRUxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1kwRkJZeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlJURkVMRkZCUVVFc1NVRkJTU3hQUVVGUExFVkJRVVU3V1VGRFdDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRaUVVNdlF5eHpRa0ZCYzBJc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlR5eEZRVUZGTEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUTBGQlF5eERRVUZETzBGQlF6TkZMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzVVVGQlVTeEZRVUZGTzFsQlExb3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03V1VGRGFrUXNjMEpCUVhOQ0xFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVOHNSVUZCUlN4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNRMEZCUXp0QlFVTTNSU3hUUVVGQk8wdEJRMFk3UVVGRlJEczdPenM3UVVGTFJ6dEpRVU5KTEdGQlFXRXNRMEZCUXl4SFFVRlhMRVZCUVVVc1MwRkJZU3hGUVVGQk8xRkJRemRETEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNoRUxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1kwRkJZeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzFGQlF6RkVMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRSUVVONlJTeE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdPMEZCUlRORkxGRkJRVUVzU1VGQlNTeFBRVUZQTEVWQlFVVTdXVUZEV0N4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFVkJRVVU3UVVGRFppeG5Ra0ZCUVN4UFFVRlBMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlF6bEZMR0ZCUVVFN1FVRkJUU3hwUWtGQlFUdEJRVU5NTEdkQ1FVRkJMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU14UlN4aFFVRkJPMWxCUlVRc1NVRkJTU3hIUVVGSExFZEJRVWNzUjBGQlJ5eEZRVUZGTzBGQlEySXNaMEpCUVVFc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTXZSU3hoUVVGQk8wRkJRVTBzYVVKQlFVRTdRVUZEVEN4blFrRkJRU3hQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETjBVc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeERRVUZETEZsQlFWa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVNM1FpeFpRVUZCTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXpzN096dFpRVXR3UXl4cFFrRkJhMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZGZEVZc1dVRkJRU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUTBGQlF5eERRVUZET3pzN1FVRkpPVU1zV1VGQlFTeFBRVUZQTEVOQlFVTXNWVUZCVlR0QlFVTm1MR2xDUVVGQkxFbEJRVWtzUTBGQlF5eHBRa0ZCYTBJc1EwRkJReXhWUVVGVkxFTkJRVU03YVVKQlEyNURMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU03UVVGRGFFSXNhVUpCUVVFc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0QlFVTTFRaXhwUWtGQlFTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTTdRVUZEY0VNc1UwRkJRVHM3UVVGSFJDeFJRVUZCTEVsQlFVa3NVVUZCVVN4RlFVRkZPMWxCUTFvc1NVRkJTU3hMUVVGTExFZEJRVWNzUjBGQlJ5eEZRVUZGTzBGQlEyWXNaMEpCUVVFc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTTVSU3hoUVVGQk8wRkJRVTBzYVVKQlFVRTdRVUZEVEN4blFrRkJRU3hQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdRVUZETVVVc1lVRkJRVHRaUVVWRUxFbEJRVWtzUjBGQlJ5eEhRVUZITEVkQlFVY3NSVUZCUlR0QlFVTmlMR2RDUVVGQkxFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRMMFVzWVVGQlFUdEJRVUZOTEdsQ1FVRkJPMEZCUTB3c1owSkJRVUVzVDBGQlR5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUXpkRkxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGRE4wSXNXVUZCUVN4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN096czdXVUZMY0VNc2EwSkJRVzFDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCUlhaR0xGbEJRVUVzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNRMEZCUXpzN08wRkJTUzlETEZsQlFVRXNVVUZCVVN4RFFVRkRMRlZCUVZVN1FVRkRhRUlzYVVKQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGdFFpeERRVUZETEZWQlFWVXNRMEZCUXp0cFFrRkRjRU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhwUWtGQlFTeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8wRkJRelZDTEdsQ1FVRkJMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRCUVVOeVF5eFRRVUZCTzB0QlEwWTdRVUZGUkRzN1FVRkZSenRCUVVOSkxFbEJRVUVzVFVGQlRTeERRVUZETEV0QlFXdENMRVZCUVVFN1FVRkRPVUlzVVVGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzlGUVVGdlJTeERRVUZETEVOQlFVTTdVVUZGYmtZc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU01UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSV2hFTEZGQlFVRXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdTMEZEYUVNN1FVRkZSRHM3T3p0QlFVbEhPMEZCUTBzc1NVRkJRU3h6UWtGQmMwSXNRMEZCUXl4TlFVRjNRaXhGUVVGQk8xRkJRM0pFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXhKUVVGSkxFVkJRVVU3UVVGRE5VUXNXVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dEJRVU14UWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hOUVVGTkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc2FVSkJRV2xDTEVOQlFVTXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkRiRVlzVVVGQlFTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVWQlFVVXNSMEZCUnl4blFrRkJaMElzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEJRVVUzUlN4UlFVRkJMRTlCUVU4c1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0TFFVTnlRenM3UVVFNVRVUTdPMEZCUlVjN1FVRkRiMElzYjBKQlFVa3NRMEZCUVN4SlFVRkJMRWRCUVVjc1RVRkJUVHM3UVVOb1FuUkRPenM3UVVGSFJ6dE5RVU5WTERCQ1FVRXdRaXhEUVVGQk8wRkJaME55UXpzN096czdPenM3UVVGUlJ6dEpRVU5JTEZkQlEwVXNRMEZCUVN4WFFVRnBReXhGUVVOcVF5eDFRa0ZCTUVNc1JVRkRNVU1zZFVKQlFUQkRMRVZCUXpGRExHOUNRVUYxUXl4RlFVTjJReXhyUWtGQmNVTXNSVUZCUVR0QlFVVnlReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRPMEZCUlM5Q0xGRkJRVUVzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhIUVVGSExIVkNRVUYxUWl4RFFVRkRPMEZCUTNaRUxGRkJRVUVzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhIUVVGSExIVkNRVUYxUWl4RFFVRkRPMEZCUTNaRUxGRkJRVUVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExHOUNRVUZ2UWl4RFFVRkRPMEZCUTJwRUxGRkJRVUVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExHdENRVUZyUWl4RFFVRkRPMHRCUXpsRE8wRkJSVVE3T3pzN08wRkJTMGM3U1VGRFNTeGhRVUZoTEVOQlFVTXNSMEZCVnl4RlFVRkZMRXRCUVdFc1JVRkJRVHRSUVVNM1F5eEpRVUZKTEV0QlFVc3NSMEZCUnl4SFFVRkhMRVZCUVVVN1dVRkRaaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRE0wTXNXVUZCUVN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE1VVXNVMEZCUVR0QlFVRk5MR0ZCUVVFN1dVRkRUQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRGVrTXNXVUZCUVN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRemRGTEZOQlFVRTdVVUZGUkN4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFVkJRVVU3V1VGRFlpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETTBNc1dVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYUVZc1UwRkJRVHRCUVVGTkxHRkJRVUU3V1VGRFRDeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETlVNc1dVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6bEZMRk5CUVVFN1MwRkRSanRCUVVWRU96dEJRVVZITzBGQlEwa3NTVUZCUVN4TlFVRk5MRU5CUVVNc1MwRkJhMElzUlVGQlFUdEJRVU01UWl4UlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zYjBWQlFXOUZMRU5CUVVNc1EwRkJRenRSUVVWdVJpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpsRExFMUJRVTBzUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGYUVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRMUVVOb1F6czdRVUY2UmtRN08wRkJSVWM3UVVGRGIwSXNNRUpCUVVrc1EwRkJRU3hKUVVGQkxFZEJRVWNzV1VGQldUczdUVU5ZTDBJc2FVSkJRV2xDTEVOQlFVRTdRVUZaTlVJN096czdPMEZCUzBjN1NVRkRTQ3hYUVVGdFFpeERRVUZCTEdGQlFYRkNMRVZCUVVVc1YwRkJiVUlzUlVGQlFUdEJRVU16UkN4UlFVRkJMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzWVVGQllTeERRVUZETzBGQlEyNURMRkZCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eFhRVUZYTEVOQlFVTTdTMEZEYUVNN1FVRkZSRHM3TzBGQlIwYzdRVUZEU1N4SlFVRkJMRWRCUVVjc1EwRkJReXhIUVVGWExFVkJRVUU3UVVGRGNFSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzVVVGQlVTeERRVUZETEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UzBGRE9VUTdRVUZEUmpzN1FVTnNRa1E3TzBGQlJVYzdRVUZEU0N4TlFVRk5TaXgzUWtGQmMwSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRWRU96czdRVUZIUnp0QlFVTklMRTFCUVUwc2RVSkJRWFZDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMEZCUlhKRE96dEJRVVZITzAxQlExVXNjVUpCUVhGQ0xFTkJRVUU3UVVGVmFFTXNTVUZCUVN4SlFVRlhMRWxCUVVrc1IwRkJRVHM3UVVGRllpeFJRVUZCTEU5QlFVOHNkVUpCUVhWQ0xFTkJRVU03UzBGRGFFTTdTVUZGUkN4WFFVRnRRaXhEUVVGQkxFMUJRV3RDTEVWQlFVVXNUMEZCYzBNc1JVRkJRVHRCUVVNelJTeFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJSWEpDTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1QwRkJUeXhMUVVGQkxFbEJRVUVzU1VGQlVDeFBRVUZQTEV0QlFWQXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzVDBGQlR5eERRVUZGTEZWQlFWVXNRMEZCUXp0TFFVTjJRenRCUVVWWkxFbEJRVUVzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUVRzN1FVRkRMMElzV1VGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRWE5ETEVOQlFVTTdPenRaUVVsNlJTeEpRVUZKTEZkQlFWY3NTMEZCU3l4SlFVRkpMRVZCUVVVN1owSkJRM2hDTEU5QlFVODdRVUZEVWl4aFFVRkJPMmxDUVVGTkxFbEJRVWtzVjBGQlZ5eExRVUZMTEZOQlFWTXNSVUZCUlR0QlFVTndReXhuUWtGQlFTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2RIUVVGblJ5eERRVUZETEVOQlFVTTdRVUZEYmtnc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEc5Q1FVRjNSQ3hEUVVGRE8xbEJSWEJITEVsQlFVa3NiMEpCUVc5Q0xFdEJRVXNzU1VGQlNTeEZRVUZGTzJkQ1FVTnFReXhQUVVGUE8wRkJRMUlzWVVGQlFUdHBRa0ZCVFN4SlFVRkpMRzlDUVVGdlFpeExRVUZMTEZOQlFWTXNSVUZCUlR0QlFVTTNReXhuUWtGQlFTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVTmlMREpIUVVFeVJ5eERRVU0xUnl4RFFVRkRPMEZCUTBnc1lVRkJRVHRCUVVWRUxGbEJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4VFFVRlRMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXp0VFFVTjJSaXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVUZCTzBGQlJVUTdPenM3T3p0QlFVMUhPMEZCUTFjc1NVRkJRU3hQUVVGUExFTkJRMjVDTEVsQlFWVXNSVUZEVml4UlFVRTBRaXhGUVVNMVFpeFhRVUYzUXl4RlFVRkJPenRCUVVWNFF5eFpRVUZCTEVsQlFVa3NVVUZCVVN4SlFVRkpMRWxCUVVrc1NVRkJTU3hYUVVGWExFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlF6TkRMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVR0QlFVVkVMRmxCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZEYmtVc1dVRkJRU3hKUVVGSkxGRkJRVkVzUlVGQlJUdEJRVU5hTEdkQ1FVRkJMRTlCUVU4c1VVRkJVU3hEUVVGRE8wRkJRMnBDTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1VVRkJVU3hGUVVGRkxGZEJRVmNzUTBGQlF5eERRVUZETzBGQlEyNUZMRmxCUVVFc1NVRkJTU3hSUVVGUkxFVkJRVVU3UVVGRFdpeG5Ra0ZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRCUVVOcVFpeGhRVUZCTzBGQlJVUXNXVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRUUVVOaUxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlFVRTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkRja0lzU1VGQlZTeEZRVU5XTEZGQlFYRkNMRVZCUTNKQ0xGZEJRV2xETEVWQlFVRTdPenRCUVVWcVF5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1FVRkhiRVFzV1VGQlFTeE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVTdRVUZEWkN4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdXVUZGUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExGVkJRVlVzUTBGQmIwTXNRMEZCUXp0WlFVTnVSaXhKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzBGQlEyUXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MRmRCUVZjc1IwRkJSeXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETzBGQlF6RkRMRmxCUVVFc1NVRkJTU3hEUVVGRFFTeDNRa0ZCYzBJc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVTdRVUZETlVNc1owSkJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4M1JFRkJkMFFzVjBGQlZ5eERRVUZCTEVOQlFVRXNRMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRja1lzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEZsQlFWa3NSMEZCUnl4VFFVRlRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRM1JETEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVN1FVRkRha0lzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExGbEJRVmtzUTBGQlF5eEpRVUZKTEV0QlFVc3NXVUZCV1N4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRk0wVXNXVUZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1dVRkJXU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZETDBZc1dVRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zV1VGQldTeERRVUZETEhWQ1FVRjFRaXhGUVVGRkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRMMFlzV1VGQlFTeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNXVUZCV1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03UVVGRE5VWXNXVUZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1dVRkJXU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZGTVVZc1dVRkJRU3hKUVVGSkxFOUJRVThzUTBGQlF6dEJRVVZhTEZsQlFVRXNTVUZCU1N4WlFVRlpMRU5CUVVNc1NVRkJTU3hMUVVGTExGbEJRVmtzUlVGQlJUdEJRVU4wUXl4blFrRkJRU3hQUVVGUExFZEJRVWNzU1VGQlNTd3dRa0ZCTUVJc1EwRkJReXhYUVVGWExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRGJrWXNZVUZCUVR0QlFVRk5MR2xDUVVGQk8wRkJRMHdzWjBKQlFVRXNUMEZCVHl4SFFVRkhMRWxCUVVrc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUXpGRkxHRkJRVUU3V1VGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVVnlSQ3haUVVGQkxFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlFTeEZRVUZCTEVkQlFVRXNXVUZCV1N4RFFVRkRMR3RDUVVGclFpeE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJYcEdMRmxCUVVFc1QwRkJUeXhOUVVGTkxFTkJRVU03TzBGQlEyWXNTMEZCUVR0SlFVVlBMR2xDUVVGcFFpeERRVU4yUWl4alFVRnpSQ3hGUVVOMFJDeHJRa0ZCTUVJc1JVRkJRVHM3UVVGRk1VSXNVVUZCUVN4SlFVRkpMR0ZCUVdFc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeGpRVUZqTEV0QlFXUXNTVUZCUVN4SlFVRkJMR05CUVdNc1MwRkJaQ3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4alFVRmpMRU5CUVVVc1lVRkJZU3hOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF6dEJRVU14UkN4UlFVRkJMRTFCUVUwc1YwRkJWeXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEdOQlFXTXNTMEZCWkN4SlFVRkJMRWxCUVVFc1kwRkJZeXhMUVVGa0xFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMR05CUVdNc1EwRkJSU3hYUVVGWExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNN096czdVVUZMZEVVc1NVRkJTU3hoUVVGaExFZEJRVWNzZFVKQlFYVkNMRVZCUVVVN1FVRkRNME1zV1VGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMSEZIUVVGeFJ5eERRVU4wUnl4RFFVRkRPMWxCUTBZc1lVRkJZU3hIUVVGSExIVkNRVUYxUWl4RFFVRkRPMEZCUTNwRExGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNTVUZCU1N4cFFrRkJhVUlzUTBGQlF5eGhRVUZoTEVWQlFVVXNWMEZCVnl4RFFVRkRMRU5CUVVNN1MwRkRNVVE3UVVGRllTeEpRVUZCTEZOQlFWTXNRMEZEY2tJc1NVRkJWU3hGUVVOV0xGRkJRWEZDTEVWQlEzSkNMRmRCUVdsRExFVkJRVUU3T3p0QlFVVnFReXhaUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6czdXVUZIYkVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeEhRVUUwUWl4RFFVRkRPMWxCUXpkRUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZEV0N4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJRenRaUVVNM1F5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVU3UVVGRGRFSXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MR3RDUVVGclFpeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExHTkJRV01zUzBGQlN5eFpRVUZaTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVVeFJpeFpRVUZCTEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSU3hyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMEZCUTI1SExGbEJRVUVzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEdsQ1FVRnBRaXhEUVVGRExIRkNRVUZ4UWl4RlFVRkZMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZEYmtjc1dVRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dEJRVU5vUnl4WlFVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSVGxHTEZsQlFVRXNTVUZCU1N4UFFVRlBMRU5CUVVNN1FVRkZXaXhaUVVGQkxFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1kwRkJZeXhMUVVGTExGbEJRVmtzUlVGQlJUdEJRVU55UkN4blFrRkJRU3hQUVVGUExFZEJRVWNzU1VGQlNTd3dRa0ZCTUVJc1EwRkJReXhYUVVGWExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRGJrWXNZVUZCUVR0QlFVRk5MR2xDUVVGQk8wRkJRMHdzWjBKQlFVRXNUMEZCVHl4SFFVRkhMRWxCUVVrc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUXpGRkxHRkJRVUU3V1VGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0WlFVVnlSQ3hKUVVGSkxHbENRVUZwUWl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTzBGQlF6TkRMR2RDUVVGQkxFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhIUVVGSExFTkJRek5DTEVOQlFVRXNSVUZCUVN4SFFVRkJMR2xDUVVGcFFpeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU1zVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlNTeEhRVUZITEVWQlEyaEVMRTFCUVVFc2FVSkJRV2xDTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlF5eE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NSVUZEYWtRc1JVRkJSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeHBRa0ZCYVVJc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4RFFVRkRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1IwRkJSeXhEUVVGRExFTkJRM0JFTEVOQlFVTTdRVUZEU0N4aFFVRkJPMEZCUVUwc2FVSkJRVUU3WjBKQlEwd3NUVUZCVFN4RFFVRkRMR3RDUVVGclFpeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBGQlF5OURMR0ZCUVVFN08wRkJSMFFzV1VGQlFTeE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkZja01zU1VGQlNTeFBRVUZQTEZsQlFWa3NiMEpCUVc5Q0xFVkJRVVU3UVVGRE0wTXNaMEpCUVVFc1QwRkJUeXhEUVVGRExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBGQlEzWkRMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFOUJRVThzVFVGQlRTeERRVUZET3p0QlFVTm1MRXRCUVVFN1NVRkZUeXhyUWtGQmEwSXNRMEZEZUVJc1pVRkJkVVFzUlVGRGRrUXNhMEpCUVRCQ0xFVkJRVUU3TzFGQlJURkNMRTFCUVUwc1MwRkJTeXhIUVVGSExHVkJRV1VzUzBGQlFTeEpRVUZCTEVsQlFXWXNaVUZCWlN4TFFVRm1MRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEdWQlFXVXNRMEZCUlN4TFFVRkxMRU5CUVVNN1VVRkRja01zU1VGQlNTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExHMUNRVUZ0UWl4RlFVRkZPMEZCUTJwRUxGbEJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4blJVRkJaMFVzUTBGQlF5eERRVUZETzBGQlEyaEdMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMR1ZCUVdVc1MwRkJaaXhKUVVGQkxFbEJRVUVzWlVGQlpTeExRVUZtTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxHVkJRV1VzUTBGQlJTeE5RVUZOTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRPMEZCUXpkRExGRkJRVUVzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1pVRkJaU3hMUVVGbUxFbEJRVUVzU1VGQlFTeGxRVUZsTEV0QlFXWXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzWlVGQlpTeERRVUZGTEUxQlFVMHNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF6czdPenRSUVVzM1JDeEpRVUZKTEUxQlFVMHNSMEZCUnl4MVFrRkJkVUlzUlVGQlJUdEJRVU53UXl4WlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zWjBkQlFXZEhMRU5CUVVNc1EwRkJRenRaUVVNdlJ5eE5RVUZOTEVkQlFVY3NkVUpCUVhWQ0xFTkJRVU03UVVGRGJFTXNVMEZCUVR0QlFVVkVMRkZCUVVFc1QwRkJUeXhKUVVGSkxHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dExRVU01UXp0SlFVVlBMR0ZCUVdFc1EwRkJReXhSUVVGeFFpeEZRVUZGTEU5QlFYbENMRVZCUVVFN1VVRkRjRVVzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VFFVRlRMRU5CUVVNc1VVRkJVU3hGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETzFGQlJXaEVMRWxCUVVrc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJUdEJRVU51UWl4WlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzWlVGQlpTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpORExGbEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRE5VSXNUVUZCVFN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXp0QlFVTnNSQ3hUUVVGQk8wRkJSVVFzVVVGQlFTeFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMEZCUTBZN08wRkRkRkZFTzBGQlJVRTdPMEZCUlVjN1FVRkRWU3hOUVVGQkxHbENRVUZwUWl4SFFVRkhPMEZCUXk5Q0xFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMRlZCUVZVc1JVRkJSU3haUVVGWk96czdRVU5RTVVJN08wRkJSVWM3UVVGRFlTeFRRVUZCTEZWQlFWVXNRMEZCUXl4SFFVRlhMRVZCUVVVc1NVRkJXU3hGUVVGQk96dEJRVVZzUkN4SlFVRkJMRWxCUVVrc1QwRkJUeXhIUVVGSExFdEJRVXNzVVVGQlVTeEpRVUZKTEVkQlFVY3NTMEZCU3l4RlFVRkZPMEZCUVVVc1VVRkJRU3hQUVVGUExFVkJRVVVzUTBGQlF6czdRVUZIY2tRc1NVRkJRU3hKUVVGSkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTnFSQ3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4M1FrRkJkMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTnlSQ3hMUVVGQk96dEJRVWRFTEVsQlFVRXNTVUZCU1N4clFrRkJhMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRPMEZCUVVVc1VVRkJRU3hQUVVGUExFZEJRVWNzUTBGQlF6czdRVUZITjBNc1NVRkJRU3hKUVVGSkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRPMEZCUVVVc1VVRkJRU3hQUVVGUExFZEJRVWNzUTBGQlF6czdRVUZITVVNc1NVRkJRU3hKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRPMEZCUVVVc1VVRkJRU3hQUVVGUExFZEJRVWNzUTBGQlF6czdTVUZIZGtNc1QwRkJUeXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEzQkNPenRCUTFwQk96dEJRVVZITzBGQlEwZ3NUVUZCVFN4elFrRkJjMElzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJUVkVPenRCUVVWSE8wMUJRMVVzYlVKQlFXMUNMRU5CUVVFN1FVRjFRamxDTEVsQlFVRXNTVUZCVnl4SlFVRkpMRWRCUVVFN08wRkJSV0lzVVVGQlFTeFBRVUZQTEhGQ1FVRnhRaXhEUVVGRE8wdEJRemxDTzBsQlJVUXNWMEZCYlVJc1EwRkJRU3hOUVVGclFpeEZRVUZGTEU5QlFXOURMRVZCUVVFN08wRkJRM3BGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRmNrSXNVVUZCUVN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1QwRkJUeXhMUVVGQkxFbEJRVUVzU1VGQlVDeFBRVUZQTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVkFzVDBGQlR5eERRVUZGTEd0Q1FVRnJRaXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFbEJRVWtzUTBGQlF6dEJRVU01UkN4UlFVRkJMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hQUVVGUExFdEJRVkFzU1VGQlFTeEpRVUZCTEU5QlFVOHNTMEZCVUN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFBRVUZQTEVOQlFVVXNhVUpCUVdsQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVWtzUTBGQlF5d3JRa0ZCSzBJc1EwRkJReXhEUVVGRE8wRkJRM3BHTEZGQlFVRXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEV0QlFVRXNTVUZCUVN4SlFVRlFMRTlCUVU4c1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCVUN4UFFVRlBMRU5CUVVVc1dVRkJXU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFbEJRVWtzUTBGQlF6dExRVU51UkR0QlFVVlpMRWxCUVVFc1UwRkJVeXhEUVVGRExFbEJRVlVzUlVGQlFUczdRVUZETDBJc1dVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVMEZEYkVRc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGQlFUdEJRVVZoTEVsQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVZVc1JVRkJRVHM3V1VGRE9VSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUXpWRExFbEJRVWtzVVVGQlVTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTndRaXhuUWtGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXp0QlFVTnFRaXhoUVVGQk8xbEJSVVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6VkRMRWxCUVVrc1VVRkJVU3hKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU53UWl4blFrRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6dEJRVU5xUWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5pTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZZU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPenRCUVVOb1F5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1FVRkhiRVFzV1VGQlFTeE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVTdRVUZEWkN4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdXVUZGUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExGVkJRVlVzUTBGQmIwTXNRMEZCUXp0WlFVTnVSaXhKUVVGSkxGTkJRVk1zU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEY2tJc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUXpGRExGbEJRVUVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlR0QlFVTTFReXhuUWtGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMSE5FUVVGelJDeFhRVUZYTEVOQlFVRXNRMEZCUVN4RFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOdVJpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNWVUZCVlN4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU03V1VGRGJFTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHRCUVVObUxHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHM3UVVGSFJDeFpRVUZCTEUxQlFVMHNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGVrTXNUVUZCVFN4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0QlFVTTNSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVTdRVUZEZWtNc1owSkJRVUVzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4NVEwRkJlVU1zVlVGQlZTeERRVUZCTEdsQ1FVRkJMRU5CUVcxQ0xFTkJRVU1zUTBGQlF6dEJRVU42Uml4aFFVRkJPMWxCUlVRc1NVRkJTU3hqUVVGakxFZEJRV2xETEZOQlFWTXNRMEZCUXp0WlFVTTNSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1NVRkJTU3hWUVVGVkxFTkJRVU1zWTBGQll5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTm9SU3huUWtGQlFTeGpRVUZqTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWxCUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1ZVRkJWU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NVMEZCVXl4RFFVRkRPMEZCUTNwR0xHRkJRVUU3V1VGRlJDeFBRVUZQTzBGQlEwd3NaMEpCUVVFc1YwRkJWeXhGUVVGRkxFZEJRVWM3WjBKQlEyaENMRWxCUVVrc1JVRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNUdG5Ra0ZEY2tJc1QwRkJUeXhGUVVGRkxGVkJRVlVzUTBGQlF5eFBRVUZQTzJkQ1FVTXpRaXhQUVVGUExFVkJRVVVzVlVGQlZTeERRVUZETEU5QlFVODdaMEpCUXpOQ0xHOUNRVUZ2UWl4RlFVRkZMRlZCUVZVc1EwRkJReXh2UWtGQmIwSTdaMEpCUTNKRUxHdENRVUZyUWl4RlFVRkZMRlZCUVZVc1EwRkJReXhyUWtGQmEwSTdaMEpCUTJwRUxGVkJRVlVzUlVGQlJTeFZRVUZWTEVOQlFVTXNWVUZCVlR0blFrRkRha01zYTBKQlFXdENMRVZCUVVVc1ZVRkJWU3hEUVVGRExHdENRVUZyUWp0blFrRkRha1FzWTBGQll6dG5Ra0ZEWkN4VlFVRlZMRVZCUVVVc1ZVRkJWU3hEUVVGRExGVkJRVlU3WjBKQlEycERMR2RDUVVGblFpeEZRVUZGTEZWQlFWVXNRMEZCUXl4blFrRkJaMEk3WjBKQlF6ZERMRFJDUVVFMFFpeEZRVUZGTEZWQlFWVXNRMEZCUXl3MFFrRkJORUk3WjBKQlEzSkZMREpDUVVFeVFpeEZRVUZGTEZWQlFWVXNRMEZCUXl3eVFrRkJNa0k3WjBKQlEyNUZMR1ZCUVdVc1JVRkJSU3hWUVVGVkxFTkJRVU1zWlVGQlpUdG5Ra0ZETTBNc09FSkJRVGhDTEVWQlFVVXNWVUZCVlN4RFFVRkRMRGhDUVVFNFFqdG5Ra0ZEZWtVc01FSkJRVEJDTEVWQlFVVXNWVUZCVlN4RFFVRkRMREJDUVVFd1FqdG5Ra0ZEYWtVc1kwRkJZeXhGUVVGRkxGVkJRVlVzUTBGQlF5eGpRVUZqTzJkQ1FVTjZReXh0UWtGQmJVSXNSVUZCUlN4VlFVRlZMRU5CUVVNc2JVSkJRVzFDTzJkQ1FVTnVSQ3haUVVGWkxFVkJRVVVzVlVGQlZTeERRVUZETEZsQlFWazdaMEpCUTNKRExHVkJRV1VzUlVGQlJTeFZRVUZWTEVOQlFVTXNaVUZCWlR0aFFVTTFReXhEUVVGRE96dEJRVU5JTEV0QlFVRTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3T3p0QlFVTm9ReXhaUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6czdXVUZIYkVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeEhRVUUwUWl4RFFVRkRPMWxCUXpkRUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZEV0N4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTTdXVUZETDBJc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJUdEJRVU5tTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUczdRVUZIUkN4WlFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTzBGQlEzUkNMR2RDUVVGQkxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNPRVZCUVRoRkxFTkJRVU1zUTBGQlF6dEJRVU5xUnl4aFFVRkJPenRCUVVkRUxGbEJRVUVzU1VGQlNTeFBRVUY1UXl4RFFVRkRPMEZCUXpsRExGbEJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFbEJRVWtzVlVGQlZTeERRVUZETEU5QlFVOHNTVUZCU1N4SlFVRkpMRWxCUVVrc1ZVRkJWU3hEUVVGRExFOUJRVThzUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlR0QlFVTjBSaXhuUWtGQlFTeFBRVUZQTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHRkJRV0VzUTBGQlF5eFRRVUZUTEVWQlFVVXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wRkJRekZGTEdGQlFVRTdXVUZGUkN4UFFVRlBPMEZCUTB3c1owSkJRVUVzVjBGQlZ5eEZRVUZGTEVkQlFVYzdaMEpCUTJoQ0xHVkJRV1VzUlVGQlJTeFZRVUZWTEVOQlFVTXNaVUZCWlR0blFrRkRNME1zVFVGQlRTeEZRVUZGTEZWQlFWVXNRMEZCUXl4TlFVRk5PMmRDUVVONlFpeHZRa0ZCYjBJc1JVRkJSU3hWUVVGVkxFTkJRVU1zYjBKQlFXOUNPMmRDUVVOeVJDeHJRa0ZCYTBJc1JVRkJSU3hWUVVGVkxFTkJRVU1zYTBKQlFXdENPMmRDUVVOcVJDeFhRVUZYTEVWQlFVVXNWVUZCVlN4RFFVRkRMRmRCUVZjN1owSkJRMjVETEdWQlFXVXNSVUZCUlN4VlFVRlZMRU5CUVVNc1pVRkJaVHRuUWtGRE0wTXNhMEpCUVd0Q0xFVkJRVVVzVlVGQlZTeERRVUZETEd0Q1FVRnJRanRuUWtGRGFrUXNVMEZCVXl4RlFVRkZMRlZCUVZVc1EwRkJReXhUUVVGVE8yZENRVU12UWl4blFrRkJaMElzUlVGQlJTeFZRVUZWTEVOQlFVTXNaMEpCUVdkQ08wRkJRemRETEdkQ1FVRkJMRTlCUVU4c1JVRkJSU3hQUVVGUExFdEJRVUVzU1VGQlFTeEpRVUZRTEU5QlFVOHNTMEZCVUN4TFFVRkJMRU5CUVVFc1IwRkJRU3hQUVVGUExFZEJRVWtzVTBGQlV6dG5Ra0ZETjBJc1MwRkJTeXhGUVVGRkxGVkJRVlVzUTBGQlF5eExRVUZMTzJkQ1FVTjJRaXhQUVVGUExFVkJRVVVzVlVGQlZTeERRVUZETEU5QlFVODdaMEpCUXpOQ0xHbENRVUZwUWl4RlFVRkZMRlZCUVZVc1EwRkJReXhwUWtGQmFVSTdZVUZEYUVRc1EwRkJRenM3UVVGRFNDeExRVUZCTzBGQlJXRXNTVUZCUVN4cFFrRkJhVUlzUTBGQlF5eExRVUZoTEVWQlFVRTdPenRCUVVNelF5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXp0WlFVVnNSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUlhCRExFbEJRVWtzVFVGQlRTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTnNRaXhuUWtGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMRGhEUVVFNFF5eExRVUZMTEVOQlFVRXNiMFJCUVVFc1EwRkJjMFFzUTBGRE1VY3NRMEZCUXp0QlFVTkdMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVRzN08wRkJTMFFzV1VGQlFTeEpRVUZKTEZOQlFWTXNSMEZCZFVJc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF6czdRVUZITDBNc1dVRkJRU3hKUVVGSkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUXpkQ0xHZENRVUZCTEUxQlFVMHNWVUZCVlN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eGhRVUZoTEVOQlFVTXNXVUZCV1N4RlFVRkZMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU53Uml4blFrRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJReTlFTEdkQ1FVRkJMRk5CUVZNc1IwRkJSeXhIUVVGSExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNaRExHRkJRVUU3V1VGRlJDeEpRVUZKTEZOQlFWTXNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRja0lzWjBKQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkRWaXc0UTBGQk9FTXNTMEZCU3l4RFFVRkJMRFpFUVVGQkxFTkJRU3RFTEVOQlEyNUlMRU5CUVVNN1FVRkRSaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRM1pETEU5QlFVOHNUVUZCVFN4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExGVkJRVlVzUTBGQlF5eFRRVUZUTEVWQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhMUVVGTExFdEJRVWs3UVVGRGRFY3NaMEpCUVVFc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTnlRaXhuUWtGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMSFZFUVVGMVJDeERRVUZETEVOQlFVTTdRVUZEZEVVc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWkN4aFFVRkRMRU5CUVVNc1EwRkJRenM3UVVGRFNpeExRVUZCTzBGQlEwWTdPMEZETDAxRU96czdRVUZIUnp0TlFVTlZMRTlCUVU4c1EwRkJRVHRCUVhORGJFSTdPenM3UVVGSlJ6dEJRVU5JTEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhOUVVGNVFpeEZRVUZCTzBGQlF6RkRMRkZCUVVFc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRPMEZCUXpGQ0xGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRE8wRkJRM2hDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETzBGQlEyaERMRkZCUVVFc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0QlFVTnNSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVOMFF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF6dExRVU0zUWp0QlFVVkVPenM3T3pzN1FVRk5SenRCUVVOSkxFbEJRVUVzVFVGQlRTeERRVUZETEV0QlFXRXNSVUZCUVR0QlFVTjZRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkZka0lzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMEZCUTJZc1dVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNelFpeFRRVUZCTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVTdRVUZETVVJc1dVRkJRU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UVVGRGFrTXNVMEZCUVR0TFFVTkdPMEZCUTBZN08wMURka1ZaTEcxQ1FVRnRRaXhEUVVGQk8wRkJRemxDTEVsQlFVRXNTVUZCVnl4SlFVRkpMRWRCUVVFN08wRkJSV0lzVVVGQlFTeFBRVUZQTEZWQlFWVXNRMEZCUXp0TFFVTnVRanRKUVZWRUxGZEJRVzFDTEVOQlFVRXNUVUZCYTBJc1JVRkJSU3hQUVVGdlF5eEZRVUZCT3p0QlFVTjZSU3hSUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUlhKQ0xFMUJRVTBzVlVGQlZTeEhRVUZITEU5QlFVOHNTMEZCUVN4SlFVRkJMRWxCUVZBc1QwRkJUeXhMUVVGUUxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRTlCUVU4c1EwRkJSU3hWUVVGVkxFTkJRVU03VVVGRGRrTXNUVUZCVFN4dlFrRkJiMElzUjBGQlJ5eFBRVUZQTEV0QlFVRXNTVUZCUVN4SlFVRlFMRTlCUVU4c1MwRkJVQ3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4UFFVRlBMRU5CUVVVc2IwSkJRVzlDTEVOQlFVTTdRVUZGTTBRc1VVRkJRU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVDBGQlR5eGhRVUZRTEU5QlFVOHNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlVDeFBRVUZQTEVOQlFVVXNaMEpCUVdkQ0xFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeDVRa0ZCZVVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEJRVU16Uml4UlFVRkJMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hQUVVGUExHRkJRVkFzVDBGQlR5eExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGUUxFOUJRVThzUTBGQlJTeHBRa0ZCYVVJc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxEQkNRVUV3UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRemxHTEZGQlFVRXNTVUZCU1N4RFFVRkRMR05CUVdNN1FVRkRha0lzV1VGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4UFFVRlBMRXRCUVZBc1NVRkJRU3hKUVVGQkxFOUJRVThzZFVKQlFWQXNUMEZCVHl4RFFVRkZMR05CUVdNc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxGVkJRVlVzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGRrY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEV0QlFWQXNTVUZCUVN4SlFVRkJMRTlCUVU4c2RVSkJRVkFzVDBGQlR5eERRVUZGTEZsQlFWa3NUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMSEZDUVVGeFFpeERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGREwwWXNVVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEU5QlFVOHNZVUZCVUN4UFFVRlBMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFWQXNUMEZCVHl4RFFVRkZMRlZCUVZVc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxHMUNRVUZ0UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wdEJRekZGTzBGQlJWa3NTVUZCUVN4VFFVRlRMRU5CUVVNc1NVRkJWU3hGUVVGQk96dFpRVU12UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTNSRExFMUJRVTBzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE1VTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRelZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZEZUVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlJUZERMRmxCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4UFFVRjVRaXhEUVVGRE8wRkJRM0pFTEZsQlFVRXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZwUXl4RFFVRkRPenM3V1VGSmFrVXNTVUZCU1N4SlFVRkpMRWxCUVVrc1VVRkJVU3hGUVVGRk8wRkJRM0JDTEdkQ1FVRkJMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETzI5Q1FVTXhRaXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVczdRVUZEYWtJc2IwSkJRVUVzYVVKQlFXbENMRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHZRa0ZCYjBJN1FVRkRja1FzYjBKQlFVRXNWMEZCVnl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWTBGQll6dHZRa0ZEZWtNc1VVRkJVVHRCUVVOU0xHOUNRVUZCTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk03YjBKQlF5OUNMRWxCUVVrN1FVRkRUQ3hwUWtGQlFTeERRVUZETEVOQlFVTTdRVUZGU0N4blFrRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNN1FVRkRha01zWVVGQlFUdFRRVU5HTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkRSanM3T3pzaWZRPT1cbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFZSTUNvcmUgfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLWNvcmUnO1xuaW1wb3J0IHsgVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyIH0gZnJvbSAnQHBpeGl2L3RocmVlLXZybS1ub2RlLWNvbnN0cmFpbnQnO1xuaW1wb3J0IHsgVlJNU3ByaW5nQm9uZU1hbmFnZXIgfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLXNwcmluZ2JvbmUnO1xuaW1wb3J0IHsgVlJNUGFyYW1ldGVycyB9IGZyb20gJy4vVlJNUGFyYW1ldGVycyc7XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgVlJNIG1vZGVsLlxuICovXG5leHBvcnQgY2xhc3MgVlJNIGV4dGVuZHMgVlJNQ29yZSB7XG4gIC8qKlxuICAgKiBDb250YWlucyBtYXRlcmlhbHMgb2YgdGhlIFZSTS5cbiAgICogYHVwZGF0ZWAgbWV0aG9kIG9mIHRoZXNlIG1hdGVyaWFscyB3aWxsIGJlIGNhbGxlZCB2aWEgaXRzIHtAbGluayBWUk0udXBkYXRlfSBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWF0ZXJpYWxzPzogVEhSRUUuTWF0ZXJpYWxbXTtcblxuICAvKipcbiAgICogQSB7QGxpbmsgVlJNU3ByaW5nQm9uZU1hbmFnZXJ9IG1hbmlwdWxhdGVzIGFsbCBzcHJpbmcgYm9uZXMgYXR0YWNoZWQgb24gdGhlIFZSTS5cbiAgICogVXN1YWxseSB5b3UgZG9uJ3QgaGF2ZSB0byBjYXJlIGFib3V0IHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3ByaW5nQm9uZU1hbmFnZXI/OiBWUk1TcHJpbmdCb25lTWFuYWdlcjtcblxuICAvKipcbiAgICogQSB7QGxpbmsgVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyfSBtYW5pcHVsYXRlcyBhbGwgY29uc3RyYWludHMgYXR0YWNoZWQgb24gdGhlIFZSTS5cbiAgICogVXN1YWxseSB5b3UgZG9uJ3QgaGF2ZSB0byBjYXJlIGFib3V0IHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZUNvbnN0cmFpbnRNYW5hZ2VyPzogVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgVlJNIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIFtbVlJNUGFyYW1ldGVyc11dIHRoYXQgcmVwcmVzZW50cyBjb21wb25lbnRzIG9mIHRoZSBWUk1cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFZSTVBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuXG4gICAgdGhpcy5tYXRlcmlhbHMgPSBwYXJhbXMubWF0ZXJpYWxzO1xuICAgIHRoaXMuc3ByaW5nQm9uZU1hbmFnZXIgPSBwYXJhbXMuc3ByaW5nQm9uZU1hbmFnZXI7XG4gICAgdGhpcy5ub2RlQ29uc3RyYWludE1hbmFnZXIgPSBwYXJhbXMubm9kZUNvbnN0cmFpbnRNYW5hZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqICoqWW91IG5lZWQgdG8gY2FsbCB0aGlzIG9uIHlvdXIgdXBkYXRlIGxvb3AuKipcbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB1cGRhdGVzIGV2ZXJ5IFZSTSBjb21wb25lbnRzLlxuICAgKlxuICAgKiBAcGFyYW0gZGVsdGEgZGVsdGFUaW1lXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlKGRlbHRhOiBudW1iZXIpOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGUoZGVsdGEpO1xuXG4gICAgaWYgKHRoaXMubm9kZUNvbnN0cmFpbnRNYW5hZ2VyKSB7XG4gICAgICB0aGlzLm5vZGVDb25zdHJhaW50TWFuYWdlci51cGRhdGUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zcHJpbmdCb25lTWFuYWdlcikge1xuICAgICAgdGhpcy5zcHJpbmdCb25lTWFuYWdlci51cGRhdGUoZGVsdGEpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1hdGVyaWFscykge1xuICAgICAgdGhpcy5tYXRlcmlhbHMuZm9yRWFjaCgobWF0ZXJpYWw6IGFueSkgPT4ge1xuICAgICAgICBpZiAobWF0ZXJpYWwudXBkYXRlKSB7XG4gICAgICAgICAgbWF0ZXJpYWwudXBkYXRlKGRlbHRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXNEZWNvcmF0ZShjdG9yLCBkZXNjcmlwdG9ySW4sIGRlY29yYXRvcnMsIGNvbnRleHRJbiwgaW5pdGlhbGl6ZXJzLCBleHRyYUluaXRpYWxpemVycykge1xyXG4gICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRnVuY3Rpb24gZXhwZWN0ZWRcIik7IHJldHVybiBmOyB9XHJcbiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJbltcInN0YXRpY1wiXSA/IGN0b3IgOiBjdG9yLnByb3RvdHlwZSA6IG51bGw7XHJcbiAgICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JJbiB8fCAodGFyZ2V0ID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGNvbnRleHRJbi5uYW1lKSA6IHt9KTtcclxuICAgIHZhciBfLCBkb25lID0gZmFsc2U7XHJcbiAgICBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgIHZhciBjb250ZXh0ID0ge307XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4uYWNjZXNzKSBjb250ZXh0LmFjY2Vzc1twXSA9IGNvbnRleHRJbi5hY2Nlc3NbcF07XHJcbiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkXCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcclxuICAgICAgICBpZiAoa2luZCA9PT0gXCJhY2Nlc3NvclwiKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmdldCkpIGRlc2NyaXB0b3IuZ2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LnNldCkpIGRlc2NyaXB0b3Iuc2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMucHVzaChfKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoXyA9IGFjY2VwdChyZXN1bHQpKSB7XHJcbiAgICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy5wdXNoKF8pO1xyXG4gICAgICAgICAgICBlbHNlIGRlc2NyaXB0b3Jba2V5XSA9IF87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldCkgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgY29udGV4dEluLm5hbWUsIGRlc2NyaXB0b3IpO1xyXG4gICAgZG9uZSA9IHRydWU7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19ydW5Jbml0aWFsaXplcnModGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkge1xyXG4gICAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcHJvcEtleSh4KSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHggPT09IFwic3ltYm9sXCIgPyB4IDogXCJcIi5jb25jYXQoeCk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zZXRGdW5jdGlvbk5hbWUoZiwgbmFtZSwgcHJlZml4KSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIFwibmFtZVwiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHByZWZpeCA/IFwiXCIuY29uY2F0KHByZWZpeCwgXCIgXCIsIG5hbWUpIDogbmFtZSB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19jcmVhdGVCaW5kaW5nID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcclxuICAgIGlmICghZGVzYyB8fCAoXCJnZXRcIiBpbiBkZXNjID8gIW0uX19lc01vZHVsZSA6IGRlc2Mud3JpdGFibGUgfHwgZGVzYy5jb25maWd1cmFibGUpKSB7XHJcbiAgICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBrMiwgZGVzYyk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IGZhbHNlIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiAoa2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEluKHN0YXRlLCByZWNlaXZlcikge1xyXG4gICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XHJcbiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xyXG59XHJcbiIsIi8qIVxuICogQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtbXRvb24gdjIuMC42XG4gKiBNVG9vbiAodG9vbiBtYXRlcmlhbCkgbW9kdWxlIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtbXRvb24gaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxudmFyIHZlcnRleFNoYWRlciA9IFwiLy8gI2RlZmluZSBQSE9OR1xcblxcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xcblxcbiNpZm5kZWYgRkxBVF9TSEFERURcXG4gIHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xcbiNlbmRpZlxcblxcbiNpbmNsdWRlIDxjb21tb24+XFxuXFxuLy8gI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxcbiNpZmRlZiBNVE9PTl9VU0VfVVZcXG4gIHZhcnlpbmcgdmVjMiB2VXY7XFxuXFxuICAvLyBDT01QQVQ6IHByZS1yMTUxIHVzZXMgYSBjb21tb24gdXZUcmFuc2Zvcm1cXG4gICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPCAxNTFcXG4gICAgdW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xcbiAgI2VuZGlmXFxuI2VuZGlmXFxuXFxuLy8gI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cXG4vLyBDT01BUFQ6IHByZS1yMTUxIHVzZXMgdXYyIGZvciBsaWdodE1hcCBhbmQgYW9NYXBcXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTUxXFxuICAjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcXG4gICAgYXR0cmlidXRlIHZlYzIgdXYyO1xcbiAgICB2YXJ5aW5nIHZlYzIgdlV2MjtcXG4gICAgdW5pZm9ybSBtYXQzIHV2MlRyYW5zZm9ybTtcXG4gICNlbmRpZlxcbiNlbmRpZlxcblxcbi8vICNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XFxuLy8gI2luY2x1ZGUgPGVudm1hcF9wYXJzX3ZlcnRleD5cXG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XFxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cXG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XFxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxcbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XFxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxcbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XFxuXFxuI2lmZGVmIFVTRV9PVVRMSU5FV0lEVEhNVUxUSVBMWVRFWFRVUkVcXG4gIHVuaWZvcm0gc2FtcGxlcjJEIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZTtcXG4gIHVuaWZvcm0gbWF0MyBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybTtcXG4jZW5kaWZcXG5cXG51bmlmb3JtIGZsb2F0IG91dGxpbmVXaWR0aEZhY3RvcjtcXG5cXG52b2lkIG1haW4oKSB7XFxuXFxuICAvLyAjaW5jbHVkZSA8dXZfdmVydGV4PlxcbiAgI2lmZGVmIE1UT09OX1VTRV9VVlxcbiAgICAvLyBDT01QQVQ6IHByZS1yMTUxIHVzZXMgYSBjb21tb24gdXZUcmFuc2Zvcm1cXG4gICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTFcXG4gICAgICB2VXYgPSB1djtcXG4gICAgI2Vsc2VcXG4gICAgICB2VXYgPSAoIHV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xcbiAgICAjZW5kaWZcXG4gICNlbmRpZlxcblxcbiAgLy8gI2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XFxuICAvLyBDT01BUFQ6IHByZS1yMTUxIHVzZXMgdXYyIGZvciBsaWdodE1hcCBhbmQgYW9NYXBcXG4gICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPCAxNTFcXG4gICAgI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXFxuICAgICAgdlV2MiA9ICggdXYyVHJhbnNmb3JtICogdmVjMyggdXYyLCAxICkgKS54eTtcXG4gICAgI2VuZGlmXFxuICAjZW5kaWZcXG5cXG4gICNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XFxuXFxuICAjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxcbiAgI2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cXG4gICNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XFxuICAjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XFxuXFxuICAvLyB3ZSBuZWVkIHRoaXMgdG8gY29tcHV0ZSB0aGUgb3V0bGluZSBwcm9wZXJseVxcbiAgb2JqZWN0Tm9ybWFsID0gbm9ybWFsaXplKCBvYmplY3ROb3JtYWwgKTtcXG5cXG4gICNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cXG5cXG4gICNpZm5kZWYgRkxBVF9TSEFERUQgLy8gTm9ybWFsIGNvbXB1dGVkIHdpdGggZGVyaXZhdGl2ZXMgd2hlbiBGTEFUX1NIQURFRFxcbiAgICB2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xcbiAgI2VuZGlmXFxuXFxuICAjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxcblxcbiAgI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cXG4gICNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XFxuICAvLyAjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cXG4gICNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cXG4gICNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XFxuICAjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cXG5cXG4gIHZWaWV3UG9zaXRpb24gPSAtIG12UG9zaXRpb24ueHl6O1xcblxcbiAgZmxvYXQgb3V0bGluZVRleCA9IDEuMDtcXG5cXG4gICNpZmRlZiBPVVRMSU5FXFxuICAgICNpZmRlZiBVU0VfT1VUTElORVdJRFRITVVMVElQTFlURVhUVVJFXFxuICAgICAgdmVjMiBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdiA9ICggb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm0gKiB2ZWMzKCB2VXYsIDEgKSApLnh5O1xcbiAgICAgIG91dGxpbmVUZXggPSB0ZXh0dXJlMkQoIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZSwgb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlVXYgKS5nO1xcbiAgICAjZW5kaWZcXG5cXG4gICAgI2lmZGVmIE9VVExJTkVfV0lEVEhfV09STERcXG4gICAgICBmbG9hdCB3b3JsZE5vcm1hbExlbmd0aCA9IGxlbmd0aCggdHJhbnNmb3JtZWROb3JtYWwgKTtcXG4gICAgICB2ZWMzIG91dGxpbmVPZmZzZXQgPSBvdXRsaW5lV2lkdGhGYWN0b3IgKiBvdXRsaW5lVGV4ICogd29ybGROb3JtYWxMZW5ndGggKiBvYmplY3ROb3JtYWw7XFxuICAgICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbW9kZWxWaWV3TWF0cml4ICogdmVjNCggb3V0bGluZU9mZnNldCArIHRyYW5zZm9ybWVkLCAxLjAgKTtcXG4gICAgI2VuZGlmXFxuXFxuICAgICNpZmRlZiBPVVRMSU5FX1dJRFRIX1NDUkVFTlxcbiAgICAgIHZlYzMgY2xpcE5vcm1hbCA9ICggcHJvamVjdGlvbk1hdHJpeCAqIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIG9iamVjdE5vcm1hbCwgMC4wICkgKS54eXo7XFxuICAgICAgdmVjMiBwcm9qZWN0ZWROb3JtYWwgPSBub3JtYWxpemUoIGNsaXBOb3JtYWwueHkgKTtcXG4gICAgICBwcm9qZWN0ZWROb3JtYWwueCAqPSBwcm9qZWN0aW9uTWF0cml4WyAwIF0ueCAvIHByb2plY3Rpb25NYXRyaXhbIDEgXS55O1xcbiAgICAgIGdsX1Bvc2l0aW9uLnh5ICs9IDIuMCAqIG91dGxpbmVXaWR0aEZhY3RvciAqIG91dGxpbmVUZXggKiBwcm9qZWN0ZWROb3JtYWwueHk7XFxuICAgICNlbmRpZlxcblxcbiAgICBnbF9Qb3NpdGlvbi56ICs9IDFFLTYgKiBnbF9Qb3NpdGlvbi53OyAvLyBhbnRpLWFydGlmYWN0IG1hZ2ljXFxuICAjZW5kaWZcXG5cXG4gICNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XFxuICAvLyAjaW5jbHVkZSA8ZW52bWFwX3ZlcnRleD5cXG4gICNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxcbiAgI2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XFxuXFxufVwiO1xuXG52YXIgZnJhZ21lbnRTaGFkZXIgPSBcIi8vICNkZWZpbmUgUEhPTkdcXG5cXG51bmlmb3JtIHZlYzMgbGl0RmFjdG9yO1xcblxcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcXG5cXG51bmlmb3JtIHZlYzMgc2hhZGVDb2xvckZhY3RvcjtcXG4jaWZkZWYgVVNFX1NIQURFTVVMVElQTFlURVhUVVJFXFxuICB1bmlmb3JtIHNhbXBsZXIyRCBzaGFkZU11bHRpcGx5VGV4dHVyZTtcXG4gIHVuaWZvcm0gbWF0MyBzaGFkZU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcblxcbnVuaWZvcm0gZmxvYXQgc2hhZGluZ1NoaWZ0RmFjdG9yO1xcbnVuaWZvcm0gZmxvYXQgc2hhZGluZ1Rvb255RmFjdG9yO1xcblxcbiNpZmRlZiBVU0VfU0hBRElOR1NISUZUVEVYVFVSRVxcbiAgdW5pZm9ybSBzYW1wbGVyMkQgc2hhZGluZ1NoaWZ0VGV4dHVyZTtcXG4gIHVuaWZvcm0gbWF0MyBzaGFkaW5nU2hpZnRUZXh0dXJlVXZUcmFuc2Zvcm07XFxuICB1bmlmb3JtIGZsb2F0IHNoYWRpbmdTaGlmdFRleHR1cmVTY2FsZTtcXG4jZW5kaWZcXG5cXG51bmlmb3JtIGZsb2F0IGdpRXF1YWxpemF0aW9uRmFjdG9yO1xcblxcbnVuaWZvcm0gdmVjMyBwYXJhbWV0cmljUmltQ29sb3JGYWN0b3I7XFxuI2lmZGVmIFVTRV9SSU1NVUxUSVBMWVRFWFRVUkVcXG4gIHVuaWZvcm0gc2FtcGxlcjJEIHJpbU11bHRpcGx5VGV4dHVyZTtcXG4gIHVuaWZvcm0gbWF0MyByaW1NdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybTtcXG4jZW5kaWZcXG51bmlmb3JtIGZsb2F0IHJpbUxpZ2h0aW5nTWl4RmFjdG9yO1xcbnVuaWZvcm0gZmxvYXQgcGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvcjtcXG51bmlmb3JtIGZsb2F0IHBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yO1xcblxcbiNpZmRlZiBVU0VfTUFUQ0FQVEVYVFVSRVxcbiAgdW5pZm9ybSB2ZWMzIG1hdGNhcEZhY3RvcjtcXG4gIHVuaWZvcm0gc2FtcGxlcjJEIG1hdGNhcFRleHR1cmU7XFxuICB1bmlmb3JtIG1hdDMgbWF0Y2FwVGV4dHVyZVV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcblxcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcXG51bmlmb3JtIGZsb2F0IGVtaXNzaXZlSW50ZW5zaXR5O1xcblxcbnVuaWZvcm0gdmVjMyBvdXRsaW5lQ29sb3JGYWN0b3I7XFxudW5pZm9ybSBmbG9hdCBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3I7XFxuXFxuI2lmZGVmIFVTRV9VVkFOSU1BVElPTk1BU0tURVhUVVJFXFxuICB1bmlmb3JtIHNhbXBsZXIyRCB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlO1xcbiAgdW5pZm9ybSBtYXQzIHV2QW5pbWF0aW9uTWFza1RleHR1cmVVdlRyYW5zZm9ybTtcXG4jZW5kaWZcXG5cXG51bmlmb3JtIGZsb2F0IHV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldDtcXG51bmlmb3JtIGZsb2F0IHV2QW5pbWF0aW9uU2Nyb2xsWU9mZnNldDtcXG51bmlmb3JtIGZsb2F0IHV2QW5pbWF0aW9uUm90YXRpb25QaGFzZTtcXG5cXG4jaW5jbHVkZSA8Y29tbW9uPlxcbiNpbmNsdWRlIDxwYWNraW5nPlxcbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cXG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cXG5cXG4vLyAjaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cXG4jaWYgKCBkZWZpbmVkKCBNVE9PTl9VU0VfVVYgKSAmJiAhZGVmaW5lZCggTVRPT05fVVZTX1ZFUlRFWF9PTkxZICkgKVxcbiAgdmFyeWluZyB2ZWMyIHZVdjtcXG4jZW5kaWZcXG5cXG4vLyAjaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XFxuLy8gQ09NQVBUOiBwcmUtcjE1MSB1c2VzIHV2MiBmb3IgbGlnaHRNYXAgYW5kIGFvTWFwXFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDE1MVxcbiAgI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXFxuICAgIHZhcnlpbmcgdmVjMiB2VXYyO1xcbiAgI2VuZGlmXFxuI2VuZGlmXFxuXFxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxcblxcbiNpZmRlZiBVU0VfTUFQXFxuICB1bmlmb3JtIG1hdDMgbWFwVXZUcmFuc2Zvcm07XFxuI2VuZGlmXFxuXFxuLy8gI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XFxuXFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMzJcXG4gICNpbmNsdWRlIDxhbHBoYXRlc3RfcGFyc19mcmFnbWVudD5cXG4jZW5kaWZcXG5cXG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cXG4vLyAjaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cXG4jaW5jbHVkZSA8ZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudD5cXG5cXG4jaWZkZWYgVVNFX0VNSVNTSVZFTUFQXFxuICB1bmlmb3JtIG1hdDMgZW1pc3NpdmVNYXBVdlRyYW5zZm9ybTtcXG4jZW5kaWZcXG5cXG4vLyAjaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50Plxcbi8vICNpbmNsdWRlIDxlbnZtYXBfcGFyc19mcmFnbWVudD5cXG4vLyAjaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxcbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cXG5cXG4vLyAjaW5jbHVkZSA8YnNkZnM+XFxuLy8gQ09NUEFUOiBwcmUtcjE1MSBkb2Vzbid0IGhhdmUgQlJERl9MYW1iZXJ0IGluIDxjb21tb24+XFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDE1MVxcbiAgdmVjMyBCUkRGX0xhbWJlcnQoIGNvbnN0IGluIHZlYzMgZGlmZnVzZUNvbG9yICkge1xcbiAgICByZXR1cm4gUkVDSVBST0NBTF9QSSAqIGRpZmZ1c2VDb2xvcjtcXG4gIH1cXG4jZW5kaWZcXG5cXG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XFxuXFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMzJcXG4gICNpbmNsdWRlIDxub3JtYWxfcGFyc19mcmFnbWVudD5cXG4jZW5kaWZcXG5cXG4vLyAjaW5jbHVkZSA8bGlnaHRzX3Bob25nX3BhcnNfZnJhZ21lbnQ+XFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XFxuXFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDEzMlxcbiAgI2lmbmRlZiBGTEFUX1NIQURFRFxcbiAgICB2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcXG4gICNlbmRpZlxcbiNlbmRpZlxcblxcbnN0cnVjdCBNVG9vbk1hdGVyaWFsIHtcXG4gIHZlYzMgZGlmZnVzZUNvbG9yO1xcbiAgdmVjMyBzaGFkZUNvbG9yO1xcbiAgZmxvYXQgc2hhZGluZ1NoaWZ0O1xcbn07XFxuXFxuZmxvYXQgbGluZWFyc3RlcCggZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgdCApIHtcXG4gIHJldHVybiBjbGFtcCggKCB0IC0gYSApIC8gKCBiIC0gYSApLCAwLjAsIDEuMCApO1xcbn1cXG5cXG4vKipcXG4gKiBDb252ZXJ0IE5kb3RMIGludG8gdG9vbiBzaGFkaW5nIGZhY3RvciB1c2luZyBzaGFkaW5nU2hpZnQgYW5kIHNoYWRpbmdUb29ueVxcbiAqL1xcbmZsb2F0IGdldFNoYWRpbmcoXFxuICBjb25zdCBpbiBmbG9hdCBkb3ROTCxcXG4gIGNvbnN0IGluIGZsb2F0IHNoYWRvdyxcXG4gIGNvbnN0IGluIGZsb2F0IHNoYWRpbmdTaGlmdFxcbikge1xcbiAgZmxvYXQgc2hhZGluZyA9IGRvdE5MO1xcbiAgc2hhZGluZyA9IHNoYWRpbmcgKyBzaGFkaW5nU2hpZnQ7XFxuICBzaGFkaW5nID0gbGluZWFyc3RlcCggLTEuMCArIHNoYWRpbmdUb29ueUZhY3RvciwgMS4wIC0gc2hhZGluZ1Rvb255RmFjdG9yLCBzaGFkaW5nICk7XFxuICBzaGFkaW5nICo9IHNoYWRvdztcXG4gIHJldHVybiBzaGFkaW5nO1xcbn1cXG5cXG4vKipcXG4gKiBNaXggZGlmZnVzZUNvbG9yIGFuZCBzaGFkZUNvbG9yIHVzaW5nIHNoYWRpbmcgZmFjdG9yIGFuZCBsaWdodCBjb2xvclxcbiAqL1xcbnZlYzMgZ2V0RGlmZnVzZShcXG4gIGNvbnN0IGluIE1Ub29uTWF0ZXJpYWwgbWF0ZXJpYWwsXFxuICBjb25zdCBpbiBmbG9hdCBzaGFkaW5nLFxcbiAgaW4gdmVjMyBsaWdodENvbG9yXFxuKSB7XFxuICAjaWZkZWYgREVCVUdfTElUU0hBREVSQVRFXFxuICAgIHJldHVybiB2ZWMzKCBCUkRGX0xhbWJlcnQoIHNoYWRpbmcgKiBsaWdodENvbG9yICkgKTtcXG4gICNlbmRpZlxcblxcbiAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDEzMlxcbiAgICAjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcXG4gICAgICBsaWdodENvbG9yICo9IFBJO1xcbiAgICAjZW5kaWZcXG4gICNlbmRpZlxcblxcbiAgdmVjMyBjb2wgPSBsaWdodENvbG9yICogQlJERl9MYW1iZXJ0KCBtaXgoIG1hdGVyaWFsLnNoYWRlQ29sb3IsIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciwgc2hhZGluZyApICk7XFxuXFxuICAvLyBUaGUgXFxcImNvbW1lbnQgb3V0IGlmIHlvdSB3YW50IHRvIFBCUiBhYnNvbHV0ZWx5XFxcIiBsaW5lXFxuICAjaWZkZWYgVjBfQ09NUEFUX1NIQURFXFxuICAgIGNvbCA9IG1pbiggY29sLCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcXG4gICNlbmRpZlxcblxcbiAgcmV0dXJuIGNvbDtcXG59XFxuXFxuI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gIHZvaWQgUkVfRGlyZWN0X01Ub29uKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiB2ZWMzIGdlb21ldHJ5UG9zaXRpb24sIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlOb3JtYWwsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlWaWV3RGlyLCBjb25zdCBpbiB2ZWMzIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsLCBjb25zdCBpbiBNVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBjb25zdCBpbiBmbG9hdCBzaGFkb3csIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xcbiAgICBmbG9hdCBkb3ROTCA9IGNsYW1wKCBkb3QoIGdlb21ldHJ5Tm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSwgLTEuMCwgMS4wICk7XFxuICAgIHZlYzMgaXJyYWRpYW5jZSA9IGRpcmVjdExpZ2h0LmNvbG9yO1xcblxcbiAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTMyXFxuICAgICAgI2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXFxuICAgICAgICBpcnJhZGlhbmNlICo9IFBJO1xcbiAgICAgICNlbmRpZlxcbiAgICAjZW5kaWZcXG5cXG4gICAgLy8gZGlyZWN0U3BlY3VsYXIgd2lsbCBiZSB1c2VkIGZvciByaW0gbGlnaHRpbmcsIG5vdCBhbiBhY3R1YWwgc3BlY3VsYXJcXG4gICAgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gaXJyYWRpYW5jZTtcXG5cXG4gICAgaXJyYWRpYW5jZSAqPSBkb3ROTDtcXG5cXG4gICAgZmxvYXQgc2hhZGluZyA9IGdldFNoYWRpbmcoIGRvdE5MLCBzaGFkb3csIG1hdGVyaWFsLnNoYWRpbmdTaGlmdCApO1xcblxcbiAgICAvLyB0b29uIHNoYWRlZCBkaWZmdXNlXFxuICAgIHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gZ2V0RGlmZnVzZSggbWF0ZXJpYWwsIHNoYWRpbmcsIGRpcmVjdExpZ2h0LmNvbG9yICk7XFxuICB9XFxuXFxuICB2b2lkIFJFX0luZGlyZWN0RGlmZnVzZV9NVG9vbiggY29uc3QgaW4gdmVjMyBpcnJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGdlb21ldHJ5UG9zaXRpb24sIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlOb3JtYWwsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlWaWV3RGlyLCBjb25zdCBpbiB2ZWMzIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsLCBjb25zdCBpbiBNVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcXG4gICAgLy8gaW5kaXJlY3QgZGlmZnVzZSB3aWxsIHVzZSBkaWZmdXNlQ29sb3IsIG5vIHNoYWRlQ29sb3IgaW52b2x2ZWRcXG4gICAgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xcblxcbiAgICAvLyBkaXJlY3RTcGVjdWxhciB3aWxsIGJlIHVzZWQgZm9yIHJpbSBsaWdodGluZywgbm90IGFuIGFjdHVhbCBzcGVjdWxhclxcbiAgICByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBpcnJhZGlhbmNlO1xcbiAgfVxcbiNlbHNlXFxuICB2b2lkIFJFX0RpcmVjdF9NVG9vbiggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gTVRvb25NYXRlcmlhbCBtYXRlcmlhbCwgY29uc3QgaW4gZmxvYXQgc2hhZG93LCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcXG4gICAgZmxvYXQgZG90TkwgPSBjbGFtcCggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApLCAtMS4wLCAxLjAgKTtcXG4gICAgdmVjMyBpcnJhZGlhbmNlID0gZGlyZWN0TGlnaHQuY29sb3I7XFxuXFxuICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPCAxMzJcXG4gICAgICAjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcXG4gICAgICAgIGlycmFkaWFuY2UgKj0gUEk7XFxuICAgICAgI2VuZGlmXFxuICAgICNlbmRpZlxcblxcbiAgICAvLyBkaXJlY3RTcGVjdWxhciB3aWxsIGJlIHVzZWQgZm9yIHJpbSBsaWdodGluZywgbm90IGFuIGFjdHVhbCBzcGVjdWxhclxcbiAgICByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBpcnJhZGlhbmNlO1xcblxcbiAgICBpcnJhZGlhbmNlICo9IGRvdE5MO1xcblxcbiAgICBmbG9hdCBzaGFkaW5nID0gZ2V0U2hhZGluZyggZG90TkwsIHNoYWRvdywgbWF0ZXJpYWwuc2hhZGluZ1NoaWZ0ICk7XFxuXFxuICAgIC8vIHRvb24gc2hhZGVkIGRpZmZ1c2VcXG4gICAgcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArPSBnZXREaWZmdXNlKCBtYXRlcmlhbCwgc2hhZGluZywgZGlyZWN0TGlnaHQuY29sb3IgKTtcXG4gIH1cXG5cXG4gIHZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX01Ub29uKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIE1Ub29uTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xcbiAgICAvLyBpbmRpcmVjdCBkaWZmdXNlIHdpbGwgdXNlIGRpZmZ1c2VDb2xvciwgbm8gc2hhZGVDb2xvciBpbnZvbHZlZFxcbiAgICByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XFxuXFxuICAgIC8vIGRpcmVjdFNwZWN1bGFyIHdpbGwgYmUgdXNlZCBmb3IgcmltIGxpZ2h0aW5nLCBub3QgYW4gYWN0dWFsIHNwZWN1bGFyXFxuICAgIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9IGlycmFkaWFuY2U7XFxuICB9XFxuI2VuZGlmXFxuXFxuI2RlZmluZSBSRV9EaXJlY3QgUkVfRGlyZWN0X01Ub29uXFxuI2RlZmluZSBSRV9JbmRpcmVjdERpZmZ1c2UgUkVfSW5kaXJlY3REaWZmdXNlX01Ub29uXFxuI2RlZmluZSBNYXRlcmlhbF9MaWdodFByb2JlTE9EKCBtYXRlcmlhbCApICgwKVxcblxcbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cXG4vLyAjaW5jbHVkZSA8YnVtcG1hcF9wYXJzX2ZyYWdtZW50Plxcblxcbi8vICNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cXG4jaWZkZWYgVVNFX05PUk1BTE1BUFxcblxcbiAgdW5pZm9ybSBzYW1wbGVyMkQgbm9ybWFsTWFwO1xcbiAgdW5pZm9ybSBtYXQzIG5vcm1hbE1hcFV2VHJhbnNmb3JtO1xcbiAgdW5pZm9ybSB2ZWMyIG5vcm1hbFNjYWxlO1xcblxcbiNlbmRpZlxcblxcbi8vIENPTVBBVDogVVNFX05PUk1BTE1BUF9PQkpFQ1RTUEFDRSB1c2VkIHRvIGJlIE9CSkVDVFNQQUNFX05PUk1BTE1BUCBpbiBwcmUtcjE1MVxcbiNpZiBkZWZpbmVkKCBVU0VfTk9STUFMTUFQX09CSkVDVFNQQUNFICkgfHwgZGVmaW5lZCggT0JKRUNUU1BBQ0VfTk9STUFMTUFQIClcXG5cXG4gIHVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7XFxuXFxuI2VuZGlmXFxuXFxuLy8gQ09NUEFUOiBVU0VfTk9STUFMTUFQX1RBTkdFTlRTUEFDRSB1c2VkIHRvIGJlIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgaW4gcHJlLXIxNTFcXG4jaWYgISBkZWZpbmVkICggVVNFX1RBTkdFTlQgKSAmJiAoIGRlZmluZWQgKCBVU0VfTk9STUFMTUFQX1RBTkdFTlRTUEFDRSApIHx8IGRlZmluZWQgKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQICkgKVxcblxcbiAgLy8gUGVyLVBpeGVsIFRhbmdlbnQgU3BhY2UgTm9ybWFsIE1hcHBpbmdcXG4gIC8vIGh0dHA6Ly9oYWNrc29mbGlmZS5ibG9nc3BvdC5jaC8yMDA5LzExL3Blci1waXhlbC10YW5nZW50LXNwYWNlLW5vcm1hbC1tYXBwaW5nLmh0bWxcXG5cXG4gIC8vIHRocmVlLXZybSBzcGVjaWZpYyBjaGFuZ2U6IGl0IHJlcXVpcmVzIGB1dmAgYXMgYW4gaW5wdXQgaW4gb3JkZXIgdG8gc3VwcG9ydCB1diBzY3JvbGxzXFxuXFxuICAvLyBUZW1wb3JhcnkgY29tcGF0IGFnYWluc3Qgc2hhZGVyIGNoYW5nZSBAIFRocmVlLmpzIHIxMjYsIHIxNTFcXG4gICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTUxXFxuXFxuICAgIG1hdDMgZ2V0VGFuZ2VudEZyYW1lKCB2ZWMzIGV5ZV9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMyIHV2ICkge1xcblxcbiAgICAgIHZlYzMgcTAgPSBkRmR4KCBleWVfcG9zLnh5eiApO1xcbiAgICAgIHZlYzMgcTEgPSBkRmR5KCBleWVfcG9zLnh5eiApO1xcbiAgICAgIHZlYzIgc3QwID0gZEZkeCggdXYuc3QgKTtcXG4gICAgICB2ZWMyIHN0MSA9IGRGZHkoIHV2LnN0ICk7XFxuXFxuICAgICAgdmVjMyBOID0gc3VyZl9ub3JtO1xcblxcbiAgICAgIHZlYzMgcTFwZXJwID0gY3Jvc3MoIHExLCBOICk7XFxuICAgICAgdmVjMyBxMHBlcnAgPSBjcm9zcyggTiwgcTAgKTtcXG5cXG4gICAgICB2ZWMzIFQgPSBxMXBlcnAgKiBzdDAueCArIHEwcGVycCAqIHN0MS54O1xcbiAgICAgIHZlYzMgQiA9IHExcGVycCAqIHN0MC55ICsgcTBwZXJwICogc3QxLnk7XFxuXFxuICAgICAgZmxvYXQgZGV0ID0gbWF4KCBkb3QoIFQsIFQgKSwgZG90KCBCLCBCICkgKTtcXG4gICAgICBmbG9hdCBzY2FsZSA9ICggZGV0ID09IDAuMCApID8gMC4wIDogaW52ZXJzZXNxcnQoIGRldCApO1xcblxcbiAgICAgIHJldHVybiBtYXQzKCBUICogc2NhbGUsIEIgKiBzY2FsZSwgTiApO1xcblxcbiAgICB9XFxuXFxuICAjZWxpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTI2XFxuXFxuICAgIHZlYzMgcGVydHVyYk5vcm1hbDJBcmIoIHZlYzIgdXYsIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzMgbWFwTiwgZmxvYXQgZmFjZURpcmVjdGlvbiApIHtcXG5cXG4gICAgICB2ZWMzIHEwID0gdmVjMyggZEZkeCggZXllX3Bvcy54ICksIGRGZHgoIGV5ZV9wb3MueSApLCBkRmR4KCBleWVfcG9zLnogKSApO1xcbiAgICAgIHZlYzMgcTEgPSB2ZWMzKCBkRmR5KCBleWVfcG9zLnggKSwgZEZkeSggZXllX3Bvcy55ICksIGRGZHkoIGV5ZV9wb3MueiApICk7XFxuICAgICAgdmVjMiBzdDAgPSBkRmR4KCB1di5zdCApO1xcbiAgICAgIHZlYzIgc3QxID0gZEZkeSggdXYuc3QgKTtcXG5cXG4gICAgICB2ZWMzIE4gPSBub3JtYWxpemUoIHN1cmZfbm9ybSApO1xcblxcbiAgICAgIHZlYzMgcTFwZXJwID0gY3Jvc3MoIHExLCBOICk7XFxuICAgICAgdmVjMyBxMHBlcnAgPSBjcm9zcyggTiwgcTAgKTtcXG5cXG4gICAgICB2ZWMzIFQgPSBxMXBlcnAgKiBzdDAueCArIHEwcGVycCAqIHN0MS54O1xcbiAgICAgIHZlYzMgQiA9IHExcGVycCAqIHN0MC55ICsgcTBwZXJwICogc3QxLnk7XFxuXFxuICAgICAgLy8gdGhyZWUtdnJtIHNwZWNpZmljIGNoYW5nZTogV29ya2Fyb3VuZCBmb3IgdGhlIGlzc3VlIHRoYXQgaGFwcGVucyB3aGVuIGRlbHRhIG9mIHV2ID0gMC4wXFxuICAgICAgLy8gVE9ETzogSXMgdGhpcyBzdGlsbCByZXF1aXJlZD8gT3Igc2hhbGwgSSBtYWtlIGEgUFIgYWJvdXQgaXQ/XFxuICAgICAgaWYgKCBsZW5ndGgoIFQgKSA9PSAwLjAgfHwgbGVuZ3RoKCBCICkgPT0gMC4wICkge1xcbiAgICAgICAgcmV0dXJuIHN1cmZfbm9ybTtcXG4gICAgICB9XFxuXFxuICAgICAgZmxvYXQgZGV0ID0gbWF4KCBkb3QoIFQsIFQgKSwgZG90KCBCLCBCICkgKTtcXG4gICAgICBmbG9hdCBzY2FsZSA9ICggZGV0ID09IDAuMCApID8gMC4wIDogZmFjZURpcmVjdGlvbiAqIGludmVyc2VzcXJ0KCBkZXQgKTtcXG5cXG4gICAgICByZXR1cm4gbm9ybWFsaXplKCBUICogKCBtYXBOLnggKiBzY2FsZSApICsgQiAqICggbWFwTi55ICogc2NhbGUgKSArIE4gKiBtYXBOLnogKTtcXG5cXG4gICAgfVxcblxcbiAgI2Vsc2VcXG5cXG4gICAgdmVjMyBwZXJ0dXJiTm9ybWFsMkFyYiggdmVjMiB1diwgdmVjMyBleWVfcG9zLCB2ZWMzIHN1cmZfbm9ybSwgdmVjMyBtYXBOICkge1xcblxcbiAgICAgIC8vIFdvcmthcm91bmQgZm9yIEFkcmVubyAzWFggZEZkKiggdmVjMyApIGJ1Zy4gU2VlICM5OTg4XFxuXFxuICAgICAgdmVjMyBxMCA9IHZlYzMoIGRGZHgoIGV5ZV9wb3MueCApLCBkRmR4KCBleWVfcG9zLnkgKSwgZEZkeCggZXllX3Bvcy56ICkgKTtcXG4gICAgICB2ZWMzIHExID0gdmVjMyggZEZkeSggZXllX3Bvcy54ICksIGRGZHkoIGV5ZV9wb3MueSApLCBkRmR5KCBleWVfcG9zLnogKSApO1xcbiAgICAgIHZlYzIgc3QwID0gZEZkeCggdXYuc3QgKTtcXG4gICAgICB2ZWMyIHN0MSA9IGRGZHkoIHV2LnN0ICk7XFxuXFxuICAgICAgZmxvYXQgc2NhbGUgPSBzaWduKCBzdDEudCAqIHN0MC5zIC0gc3QwLnQgKiBzdDEucyApOyAvLyB3ZSBkbyBub3QgY2FyZSBhYm91dCB0aGUgbWFnbml0dWRlXFxuXFxuICAgICAgdmVjMyBTID0gKCBxMCAqIHN0MS50IC0gcTEgKiBzdDAudCApICogc2NhbGU7XFxuICAgICAgdmVjMyBUID0gKCAtIHEwICogc3QxLnMgKyBxMSAqIHN0MC5zICkgKiBzY2FsZTtcXG5cXG4gICAgICAvLyB0aHJlZS12cm0gc3BlY2lmaWMgY2hhbmdlOiBXb3JrYXJvdW5kIGZvciB0aGUgaXNzdWUgdGhhdCBoYXBwZW5zIHdoZW4gZGVsdGEgb2YgdXYgPSAwLjBcXG4gICAgICAvLyBUT0RPOiBJcyB0aGlzIHN0aWxsIHJlcXVpcmVkPyBPciBzaGFsbCBJIG1ha2UgYSBQUiBhYm91dCBpdD9cXG5cXG4gICAgICBpZiAoIGxlbmd0aCggUyApID09IDAuMCB8fCBsZW5ndGgoIFQgKSA9PSAwLjAgKSB7XFxuICAgICAgICByZXR1cm4gc3VyZl9ub3JtO1xcbiAgICAgIH1cXG5cXG4gICAgICBTID0gbm9ybWFsaXplKCBTICk7XFxuICAgICAgVCA9IG5vcm1hbGl6ZSggVCApO1xcbiAgICAgIHZlYzMgTiA9IG5vcm1hbGl6ZSggc3VyZl9ub3JtICk7XFxuXFxuICAgICAgI2lmZGVmIERPVUJMRV9TSURFRFxcblxcbiAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgQWRyZW5vIEdQVXMgZ2xfRnJvbnRGYWNpbmcgYnVnLiBTZWUgIzE1ODUwIGFuZCAjMTAzMzFcXG5cXG4gICAgICAgIGJvb2wgZnJvbnRGYWNpbmcgPSBkb3QoIGNyb3NzKCBTLCBUICksIE4gKSA+IDAuMDtcXG5cXG4gICAgICAgIG1hcE4ueHkgKj0gKCBmbG9hdCggZnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xcblxcbiAgICAgICNlbHNlXFxuXFxuICAgICAgICBtYXBOLnh5ICo9ICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcXG5cXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICBtYXQzIHRzbiA9IG1hdDMoIFMsIFQsIE4gKTtcXG4gICAgICByZXR1cm4gbm9ybWFsaXplKCB0c24gKiBtYXBOICk7XFxuXFxuICAgIH1cXG5cXG4gICNlbmRpZlxcblxcbiNlbmRpZlxcblxcbi8vICNpbmNsdWRlIDxzcGVjdWxhcm1hcF9wYXJzX2ZyYWdtZW50PlxcbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxcbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cXG5cXG4vLyA9PSBwb3N0IGNvcnJlY3Rpb24gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbnZvaWQgcG9zdENvcnJlY3Rpb24oKSB7XFxuICAjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XFxuICAjaW5jbHVkZSA8Y29sb3JzcGFjZV9mcmFnbWVudD5cXG4gICNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XFxuICAjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cXG4gICNpbmNsdWRlIDxkaXRoZXJpbmdfZnJhZ21lbnQ+XFxufVxcblxcbi8vID09IG1haW4gcHJvY2VkdXJlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxudm9pZCBtYWluKCkge1xcbiAgI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cXG5cXG4gIHZlYzIgdXYgPSB2ZWMyKDAuNSwgMC41KTtcXG5cXG4gICNpZiAoIGRlZmluZWQoIE1UT09OX1VTRV9VViApICYmICFkZWZpbmVkKCBNVE9PTl9VVlNfVkVSVEVYX09OTFkgKSApXFxuICAgIHV2ID0gdlV2O1xcblxcbiAgICBmbG9hdCB1dkFuaW1NYXNrID0gMS4wO1xcbiAgICAjaWZkZWYgVVNFX1VWQU5JTUFUSU9OTUFTS1RFWFRVUkVcXG4gICAgICB2ZWMyIHV2QW5pbWF0aW9uTWFza1RleHR1cmVVdiA9ICggdXZBbmltYXRpb25NYXNrVGV4dHVyZVV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xcbiAgICAgIHV2QW5pbU1hc2sgPSB0ZXh0dXJlMkQoIHV2QW5pbWF0aW9uTWFza1RleHR1cmUsIHV2QW5pbWF0aW9uTWFza1RleHR1cmVVdiApLmI7XFxuICAgICNlbmRpZlxcblxcbiAgICB1diA9IHV2ICsgdmVjMiggdXZBbmltYXRpb25TY3JvbGxYT2Zmc2V0LCB1dkFuaW1hdGlvblNjcm9sbFlPZmZzZXQgKSAqIHV2QW5pbU1hc2s7XFxuICAgIGZsb2F0IHV2Um90Q29zID0gY29zKCB1dkFuaW1hdGlvblJvdGF0aW9uUGhhc2UgKiB1dkFuaW1NYXNrICk7XFxuICAgIGZsb2F0IHV2Um90U2luID0gc2luKCB1dkFuaW1hdGlvblJvdGF0aW9uUGhhc2UgKiB1dkFuaW1NYXNrICk7XFxuICAgIHV2ID0gbWF0MiggdXZSb3RDb3MsIC11dlJvdFNpbiwgdXZSb3RTaW4sIHV2Um90Q29zICkgKiAoIHV2IC0gMC41ICkgKyAwLjU7XFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBERUJVR19VVlxcbiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcXG4gICAgI2lmICggZGVmaW5lZCggTVRPT05fVVNFX1VWICkgJiYgIWRlZmluZWQoIE1UT09OX1VWU19WRVJURVhfT05MWSApIClcXG4gICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KCB1diwgMC4wLCAxLjAgKTtcXG4gICAgI2VuZGlmXFxuICAgIHJldHVybjtcXG4gICNlbmRpZlxcblxcbiAgdmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBsaXRGYWN0b3IsIG9wYWNpdHkgKTtcXG4gIFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XFxuICB2ZWMzIHRvdGFsRW1pc3NpdmVSYWRpYW5jZSA9IGVtaXNzaXZlICogZW1pc3NpdmVJbnRlbnNpdHk7XFxuXFxuICAjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XFxuXFxuICAvLyAjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxcbiAgI2lmZGVmIFVTRV9NQVBcXG4gICAgdmVjMiBtYXBVdiA9ICggbWFwVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgIHZlYzQgc2FtcGxlZERpZmZ1c2VDb2xvciA9IHRleHR1cmUyRCggbWFwLCBtYXBVdiApO1xcbiAgICAjaWZkZWYgREVDT0RFX1ZJREVPX1RFWFRVUkVcXG4gICAgICBzYW1wbGVkRGlmZnVzZUNvbG9yID0gdmVjNCggbWl4KCBwb3coIHNhbXBsZWREaWZmdXNlQ29sb3IucmdiICogMC45NDc4NjcyOTg2ICsgdmVjMyggMC4wNTIxMzI3MDE0ICksIHZlYzMoIDIuNCApICksIHNhbXBsZWREaWZmdXNlQ29sb3IucmdiICogMC4wNzczOTkzODA4LCB2ZWMzKCBsZXNzVGhhbkVxdWFsKCBzYW1wbGVkRGlmZnVzZUNvbG9yLnJnYiwgdmVjMyggMC4wNDA0NSApICkgKSApLCBzYW1wbGVkRGlmZnVzZUNvbG9yLncgKTtcXG4gICAgI2VuZGlmXFxuICAgIGRpZmZ1c2VDb2xvciAqPSBzYW1wbGVkRGlmZnVzZUNvbG9yO1xcbiAgI2VuZGlmXFxuXFxuICAvLyAjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XFxuICAjaWYgKCBkZWZpbmVkKCBVU0VfQ09MT1IgKSAmJiAhZGVmaW5lZCggSUdOT1JFX1ZFUlRFWF9DT0xPUiApIClcXG4gICAgZGlmZnVzZUNvbG9yLnJnYiAqPSB2Q29sb3I7XFxuICAjZW5kaWZcXG5cXG4gIC8vICNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cXG5cXG4gICNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XFxuXFxuICAvLyAjaW5jbHVkZSA8c3BlY3VsYXJtYXBfZnJhZ21lbnQ+XFxuXFxuICAvLyAjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X2JlZ2luPlxcbiAgZmxvYXQgZmFjZURpcmVjdGlvbiA9IGdsX0Zyb250RmFjaW5nID8gMS4wIDogLTEuMDtcXG5cXG4gICNpZmRlZiBGTEFUX1NIQURFRFxcblxcbiAgICB2ZWMzIGZkeCA9IGRGZHgoIHZWaWV3UG9zaXRpb24gKTtcXG4gICAgdmVjMyBmZHkgPSBkRmR5KCB2Vmlld1Bvc2l0aW9uICk7XFxuICAgIHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKCBjcm9zcyggZmR4LCBmZHkgKSApO1xcblxcbiAgI2Vsc2VcXG5cXG4gICAgdmVjMyBub3JtYWwgPSBub3JtYWxpemUoIHZOb3JtYWwgKTtcXG5cXG4gICAgI2lmZGVmIERPVUJMRV9TSURFRFxcblxcbiAgICAgIG5vcm1hbCAqPSBmYWNlRGlyZWN0aW9uO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICNlbmRpZlxcblxcbiAgI2lmZGVmIFVTRV9OT1JNQUxNQVBcXG5cXG4gICAgdmVjMiBub3JtYWxNYXBVdiA9ICggbm9ybWFsTWFwVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuXFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBVU0VfTk9STUFMTUFQX1RBTkdFTlRTUEFDRVxcblxcbiAgICAjaWZkZWYgVVNFX1RBTkdFTlRcXG5cXG4gICAgICBtYXQzIHRibiA9IG1hdDMoIG5vcm1hbGl6ZSggdlRhbmdlbnQgKSwgbm9ybWFsaXplKCB2Qml0YW5nZW50ICksIG5vcm1hbCApO1xcblxcbiAgICAjZWxzZVxcblxcbiAgICAgIG1hdDMgdGJuID0gZ2V0VGFuZ2VudEZyYW1lKCAtIHZWaWV3UG9zaXRpb24sIG5vcm1hbCwgbm9ybWFsTWFwVXYgKTtcXG5cXG4gICAgI2VuZGlmXFxuXFxuICAgICNpZiBkZWZpbmVkKCBET1VCTEVfU0lERUQgKSAmJiAhIGRlZmluZWQoIEZMQVRfU0hBREVEIClcXG5cXG4gICAgICB0Ym5bMF0gKj0gZmFjZURpcmVjdGlvbjtcXG4gICAgICB0Ym5bMV0gKj0gZmFjZURpcmVjdGlvbjtcXG5cXG4gICAgI2VuZGlmXFxuXFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBVU0VfQ0xFQVJDT0FUX05PUk1BTE1BUFxcblxcbiAgICAjaWZkZWYgVVNFX1RBTkdFTlRcXG5cXG4gICAgICBtYXQzIHRibjIgPSBtYXQzKCBub3JtYWxpemUoIHZUYW5nZW50ICksIG5vcm1hbGl6ZSggdkJpdGFuZ2VudCApLCBub3JtYWwgKTtcXG5cXG4gICAgI2Vsc2VcXG5cXG4gICAgICBtYXQzIHRibjIgPSBnZXRUYW5nZW50RnJhbWUoIC0gdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCB2Q2xlYXJjb2F0Tm9ybWFsTWFwVXYgKTtcXG5cXG4gICAgI2VuZGlmXFxuXFxuICAgICNpZiBkZWZpbmVkKCBET1VCTEVfU0lERUQgKSAmJiAhIGRlZmluZWQoIEZMQVRfU0hBREVEIClcXG5cXG4gICAgICB0Ym4yWzBdICo9IGZhY2VEaXJlY3Rpb247XFxuICAgICAgdGJuMlsxXSAqPSBmYWNlRGlyZWN0aW9uO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICNlbmRpZlxcblxcbiAgLy8gbm9uIHBlcnR1cmJlZCBub3JtYWwgZm9yIGNsZWFyY29hdCBhbW9uZyBvdGhlcnNcXG5cXG4gIHZlYzMgbm9uUGVydHVyYmVkTm9ybWFsID0gbm9ybWFsO1xcblxcbiAgI2lmZGVmIE9VVExJTkVcXG4gICAgbm9ybWFsICo9IC0xLjA7XFxuICAjZW5kaWZcXG5cXG4gIC8vICNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cXG5cXG4gIC8vIENPTVBBVDogVVNFX05PUk1BTE1BUF9PQkpFQ1RTUEFDRSB1c2VkIHRvIGJlIE9CSkVDVFNQQUNFX05PUk1BTE1BUCBpbiBwcmUtcjE1MVxcbiAgI2lmIGRlZmluZWQoIFVTRV9OT1JNQUxNQVBfT0JKRUNUU1BBQ0UgKSB8fCBkZWZpbmVkKCBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAgKVxcblxcbiAgICBub3JtYWwgPSB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgbm9ybWFsTWFwVXYgKS54eXogKiAyLjAgLSAxLjA7IC8vIG92ZXJyaWRlcyBib3RoIGZsYXRTaGFkaW5nIGFuZCBhdHRyaWJ1dGUgbm9ybWFsc1xcblxcbiAgICAjaWZkZWYgRkxJUF9TSURFRFxcblxcbiAgICAgIG5vcm1hbCA9IC0gbm9ybWFsO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICAgI2lmZGVmIERPVUJMRV9TSURFRFxcblxcbiAgICAgIC8vIFRlbXBvcmFyeSBjb21wYXQgYWdhaW5zdCBzaGFkZXIgY2hhbmdlIEAgVGhyZWUuanMgcjEyNlxcbiAgICAgIC8vIFNlZTogIzIxMjA1LCAjMjEzMDcsICMyMTI5OVxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTI2XFxuXFxuICAgICAgICBub3JtYWwgPSBub3JtYWwgKiBmYWNlRGlyZWN0aW9uO1xcblxcbiAgICAgICNlbHNlXFxuXFxuICAgICAgICBub3JtYWwgPSBub3JtYWwgKiAoIGZsb2F0KCBnbF9Gcm9udEZhY2luZyApICogMi4wIC0gMS4wICk7XFxuXFxuICAgICAgI2VuZGlmXFxuXFxuICAgICNlbmRpZlxcblxcbiAgICBub3JtYWwgPSBub3JtYWxpemUoIG5vcm1hbE1hdHJpeCAqIG5vcm1hbCApO1xcblxcbiAgLy8gQ09NUEFUOiBVU0VfTk9STUFMTUFQX1RBTkdFTlRTUEFDRSB1c2VkIHRvIGJlIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgaW4gcHJlLXIxNTFcXG4gICNlbGlmIGRlZmluZWQoIFVTRV9OT1JNQUxNQVBfVEFOR0VOVFNQQUNFICkgfHwgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXFxuXFxuICAgIHZlYzMgbWFwTiA9IHRleHR1cmUyRCggbm9ybWFsTWFwLCBub3JtYWxNYXBVdiApLnh5eiAqIDIuMCAtIDEuMDtcXG4gICAgbWFwTi54eSAqPSBub3JtYWxTY2FsZTtcXG5cXG4gICAgLy8gQ09NUEFUOiBwcmUtcjE1MVxcbiAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1MSB8fCBkZWZpbmVkKCBVU0VfVEFOR0VOVCApXFxuXFxuICAgICAgbm9ybWFsID0gbm9ybWFsaXplKCB0Ym4gKiBtYXBOICk7XFxuXFxuICAgICNlbHNlXFxuXFxuICAgICAgLy8gcHJlLXIxMjZcXG4gICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEyNlxcblxcbiAgICAgICAgbm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIHV2LCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBtYXBOLCBmYWNlRGlyZWN0aW9uICk7XFxuXFxuICAgICAgI2Vsc2VcXG5cXG4gICAgICAgIG5vcm1hbCA9IHBlcnR1cmJOb3JtYWwyQXJiKCB1diwgLXZWaWV3UG9zaXRpb24sIG5vcm1hbCwgbWFwTiApO1xcblxcbiAgICAgICNlbmRpZlxcblxcbiAgICAjZW5kaWZcXG5cXG4gICNlbmRpZlxcblxcbiAgLy8gI2luY2x1ZGUgPGVtaXNzaXZlbWFwX2ZyYWdtZW50PlxcbiAgI2lmZGVmIFVTRV9FTUlTU0lWRU1BUFxcbiAgICB2ZWMyIGVtaXNzaXZlTWFwVXYgPSAoIGVtaXNzaXZlTWFwVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgIHRvdGFsRW1pc3NpdmVSYWRpYW5jZSAqPSB0ZXh0dXJlMkQoIGVtaXNzaXZlTWFwLCBlbWlzc2l2ZU1hcFV2ICkucmdiO1xcbiAgI2VuZGlmXFxuXFxuICAjaWZkZWYgREVCVUdfTk9STUFMXFxuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuNSArIDAuNSAqIG5vcm1hbCwgMS4wICk7XFxuICAgIHJldHVybjtcXG4gICNlbmRpZlxcblxcbiAgLy8gLS0gTVRvb246IGxpZ2h0aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuICAvLyBhY2N1bXVsYXRpb25cXG4gIC8vICNpbmNsdWRlIDxsaWdodHNfcGhvbmdfZnJhZ21lbnQ+XFxuICBNVG9vbk1hdGVyaWFsIG1hdGVyaWFsO1xcblxcbiAgbWF0ZXJpYWwuZGlmZnVzZUNvbG9yID0gZGlmZnVzZUNvbG9yLnJnYjtcXG5cXG4gIG1hdGVyaWFsLnNoYWRlQ29sb3IgPSBzaGFkZUNvbG9yRmFjdG9yO1xcbiAgI2lmZGVmIFVTRV9TSEFERU1VTFRJUExZVEVYVFVSRVxcbiAgICB2ZWMyIHNoYWRlTXVsdGlwbHlUZXh0dXJlVXYgPSAoIHNoYWRlTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgIG1hdGVyaWFsLnNoYWRlQ29sb3IgKj0gdGV4dHVyZTJEKCBzaGFkZU11bHRpcGx5VGV4dHVyZSwgc2hhZGVNdWx0aXBseVRleHR1cmVVdiApLnJnYjtcXG4gICNlbmRpZlxcblxcbiAgI2lmICggZGVmaW5lZCggVVNFX0NPTE9SICkgJiYgIWRlZmluZWQoIElHTk9SRV9WRVJURVhfQ09MT1IgKSApXFxuICAgIG1hdGVyaWFsLnNoYWRlQ29sb3IucmdiICo9IHZDb2xvcjtcXG4gICNlbmRpZlxcblxcbiAgbWF0ZXJpYWwuc2hhZGluZ1NoaWZ0ID0gc2hhZGluZ1NoaWZ0RmFjdG9yO1xcbiAgI2lmZGVmIFVTRV9TSEFESU5HU0hJRlRURVhUVVJFXFxuICAgIHZlYzIgc2hhZGluZ1NoaWZ0VGV4dHVyZVV2ID0gKCBzaGFkaW5nU2hpZnRUZXh0dXJlVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgIG1hdGVyaWFsLnNoYWRpbmdTaGlmdCArPSB0ZXh0dXJlMkQoIHNoYWRpbmdTaGlmdFRleHR1cmUsIHNoYWRpbmdTaGlmdFRleHR1cmVVdiApLnIgKiBzaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGU7XFxuICAjZW5kaWZcXG5cXG4gIC8vICNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfYmVnaW4+XFxuXFxuICAvLyBNVG9vbiBTcGVjaWZpYyBjaGFuZ2VzOlxcbiAgLy8gU2luY2Ugd2Ugd2FudCB0byB0YWtlIHNoYWRvd3MgaW50byBhY2NvdW50IG9mIHNoYWRpbmcgaW5zdGVhZCBvZiBpcnJhZGlhbmNlLFxcbiAgLy8gd2UgaGFkIHRvIG1vZGlmeSB0aGUgY29kZXMgdGhhdCBtdWx0aXBsaWVzIHRoZSByZXN1bHRzIG9mIHNoYWRvd21hcCBpbnRvIGNvbG9yIG9mIGRpcmVjdCBsaWdodHMuXFxuXFxuICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICB2ZWMzIGdlb21ldHJ5UG9zaXRpb24gPSAtIHZWaWV3UG9zaXRpb247XFxuICAgIHZlYzMgZ2VvbWV0cnlOb3JtYWwgPSBub3JtYWw7XFxuICAgIHZlYzMgZ2VvbWV0cnlWaWV3RGlyID0gKCBpc09ydGhvZ3JhcGhpYyApID8gdmVjMyggMCwgMCwgMSApIDogbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XFxuICAgIFxcbiAgICB2ZWMzIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsO1xcblxcbiAgICAjaWZkZWYgVVNFX0NMRUFSQ09BVFxcblxcbiAgICAgIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsID0gY2xlYXJjb2F0Tm9ybWFsO1xcblxcbiAgICAjZW5kaWZcXG4gICNlbHNlXFxuICAgIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnk7XFxuXFxuICAgIGdlb21ldHJ5LnBvc2l0aW9uID0gLSB2Vmlld1Bvc2l0aW9uO1xcbiAgICBnZW9tZXRyeS5ub3JtYWwgPSBub3JtYWw7XFxuICAgIGdlb21ldHJ5LnZpZXdEaXIgPSAoIGlzT3J0aG9ncmFwaGljICkgPyB2ZWMzKCAwLCAwLCAxICkgOiBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcXG5cXG4gICAgI2lmZGVmIFVTRV9DTEVBUkNPQVRcXG5cXG4gICAgICBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwgPSBjbGVhcmNvYXROb3JtYWw7XFxuXFxuICAgICNlbmRpZlxcbiAgI2VuZGlmXFxuXFxuICBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0O1xcblxcbiAgLy8gc2luY2UgdGhlc2UgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBpbiB1bnJvbGxlZCBsb29wLCB3ZSBoYXZlIHRvIGRlZmluZSBpbiBwcmlvclxcbiAgZmxvYXQgc2hhZG93O1xcblxcbiAgI2lmICggTlVNX1BPSU5UX0xJR0hUUyA+IDAgKSAmJiBkZWZpbmVkKCBSRV9EaXJlY3QgKVxcblxcbiAgICBQb2ludExpZ2h0IHBvaW50TGlnaHQ7XFxuICAgICNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXFxuICAgIFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodFNoYWRvdztcXG4gICAgI2VuZGlmXFxuXFxuICAgICNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcXG4gICAgZm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1BPSU5UX0xJR0hUUzsgaSArKyApIHtcXG5cXG4gICAgICBwb2ludExpZ2h0ID0gcG9pbnRMaWdodHNbIGkgXTtcXG5cXG4gICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICAgICAgZ2V0UG9pbnRMaWdodEluZm8oIHBvaW50TGlnaHQsIGdlb21ldHJ5UG9zaXRpb24sIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2VsaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEzMlxcbiAgICAgICAgZ2V0UG9pbnRMaWdodEluZm8oIHBvaW50TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xcbiAgICAgICNlbHNlXFxuICAgICAgICBnZXRQb2ludERpcmVjdExpZ2h0SXJyYWRpYW5jZSggcG9pbnRMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgICAgc2hhZG93ID0gMS4wO1xcbiAgICAgICNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgKVxcbiAgICAgIHBvaW50TGlnaHRTaGFkb3cgPSBwb2ludExpZ2h0U2hhZG93c1sgaSBdO1xcbiAgICAgIHNoYWRvdyA9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0UG9pbnRTaGFkb3coIHBvaW50U2hhZG93TWFwWyBpIF0sIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93TWFwU2l6ZSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlBvaW50U2hhZG93Q29vcmRbIGkgXSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dDYW1lcmFOZWFyLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd0NhbWVyYUZhciApIDogMS4wO1xcbiAgICAgICNlbmRpZlxcblxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgICBSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeVBvc2l0aW9uLCBnZW9tZXRyeU5vcm1hbCwgZ2VvbWV0cnlWaWV3RGlyLCBnZW9tZXRyeUNsZWFyY29hdE5vcm1hbCwgbWF0ZXJpYWwsIHNoYWRvdywgcmVmbGVjdGVkTGlnaHQgKTtcXG4gICAgICAjZWxzZVxcbiAgICAgICAgUkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCBzaGFkb3csIHJlZmxlY3RlZExpZ2h0ICk7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgIH1cXG4gICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcXG5cXG4gICNlbmRpZlxcblxcbiAgI2lmICggTlVNX1NQT1RfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXFxuXFxuICAgIFNwb3RMaWdodCBzcG90TGlnaHQ7XFxuICAgICNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcXG4gICAgU3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodFNoYWRvdztcXG4gICAgI2VuZGlmXFxuXFxuICAgICNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcXG4gICAgZm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xcblxcbiAgICAgIHNwb3RMaWdodCA9IHNwb3RMaWdodHNbIGkgXTtcXG5cXG4gICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICAgICAgZ2V0U3BvdExpZ2h0SW5mbyggc3BvdExpZ2h0LCBnZW9tZXRyeVBvc2l0aW9uLCBkaXJlY3RMaWdodCApO1xcbiAgICAgICNlbGlmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMzJcXG4gICAgICAgIGdldFNwb3RMaWdodEluZm8oIHNwb3RMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2Vsc2VcXG4gICAgICAgIGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgICAgc2hhZG93ID0gMS4wO1xcbiAgICAgICNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyApXFxuICAgICAgc3BvdExpZ2h0U2hhZG93ID0gc3BvdExpZ2h0U2hhZG93c1sgaSBdO1xcbiAgICAgIHNoYWRvdyA9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBzcG90U2hhZG93TWFwWyBpIF0sIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93Qmlhcywgc3BvdExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlNwb3RTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gICAgICAgIFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5UG9zaXRpb24sIGdlb21ldHJ5Tm9ybWFsLCBnZW9tZXRyeVZpZXdEaXIsIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbCwgc2hhZG93LCByZWZsZWN0ZWRMaWdodCApO1xcbiAgICAgICNlbHNlXFxuICAgICAgICBSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHNoYWRvdywgcmVmbGVjdGVkTGlnaHQgKTtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgfVxcbiAgICAjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxcblxcbiAgI2VuZGlmXFxuXFxuICAjaWYgKCBOVU1fRElSX0xJR0hUUyA+IDAgKSAmJiBkZWZpbmVkKCBSRV9EaXJlY3QgKVxcblxcbiAgICBEaXJlY3Rpb25hbExpZ2h0IGRpcmVjdGlvbmFsTGlnaHQ7XFxuICAgICNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgTlVNX0RJUl9MSUdIVF9TSEFET1dTID4gMFxcbiAgICBEaXJlY3Rpb25hbExpZ2h0U2hhZG93IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3c7XFxuICAgICNlbmRpZlxcblxcbiAgICAjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XFxuICAgIGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9ESVJfTElHSFRTOyBpICsrICkge1xcblxcbiAgICAgIGRpcmVjdGlvbmFsTGlnaHQgPSBkaXJlY3Rpb25hbExpZ2h0c1sgaSBdO1xcblxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgICBnZXREaXJlY3Rpb25hbExpZ2h0SW5mbyggZGlyZWN0aW9uYWxMaWdodCwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZWxpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTMyXFxuICAgICAgICBnZXREaXJlY3Rpb25hbExpZ2h0SW5mbyggZGlyZWN0aW9uYWxMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2Vsc2VcXG4gICAgICAgIGdldERpcmVjdGlvbmFsRGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBkaXJlY3Rpb25hbExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICBzaGFkb3cgPSAxLjA7XFxuICAgICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fRElSX0xJR0hUX1NIQURPV1MgKVxcbiAgICAgIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cgPSBkaXJlY3Rpb25hbExpZ2h0U2hhZG93c1sgaSBdO1xcbiAgICAgIHNoYWRvdyA9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgaSBdLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93QmlhcywgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dSYWRpdXMsIHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICAgICAgUkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnlQb3NpdGlvbiwgZ2VvbWV0cnlOb3JtYWwsIGdlb21ldHJ5Vmlld0RpciwgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWwsIG1hdGVyaWFsLCBzaGFkb3csIHJlZmxlY3RlZExpZ2h0ICk7XFxuICAgICAgI2Vsc2VcXG4gICAgICAgIFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgc2hhZG93LCByZWZsZWN0ZWRMaWdodCApO1xcbiAgICAgICNlbmRpZlxcblxcbiAgICB9XFxuICAgICNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXFxuXFxuICAjZW5kaWZcXG5cXG4gIC8vICNpZiAoIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdF9SZWN0QXJlYSApXFxuXFxuICAvLyAgIFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodDtcXG5cXG4gIC8vICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxcbiAgLy8gICBmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUkVDVF9BUkVBX0xJR0hUUzsgaSArKyApIHtcXG5cXG4gIC8vICAgICByZWN0QXJlYUxpZ2h0ID0gcmVjdEFyZWFMaWdodHNbIGkgXTtcXG4gIC8vICAgICBSRV9EaXJlY3RfUmVjdEFyZWEoIHJlY3RBcmVhTGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgcmVmbGVjdGVkTGlnaHQgKTtcXG5cXG4gIC8vICAgfVxcbiAgLy8gICAjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxcblxcbiAgLy8gI2VuZGlmXFxuXFxuICAjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcXG5cXG4gICAgdmVjMyBpYmxJcnJhZGlhbmNlID0gdmVjMyggMC4wICk7XFxuXFxuICAgIHZlYzMgaXJyYWRpYW5jZSA9IGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGFtYmllbnRMaWdodENvbG9yICk7XFxuXFxuICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgI2lmIGRlZmluZWQoIFVTRV9MSUdIVF9QUk9CRVMgKVxcbiAgICAgICAgaXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnlOb3JtYWwgKTtcXG4gICAgICAjZW5kaWZcXG4gICAgI2VsaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEzM1xcbiAgICAgIGlycmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5Lm5vcm1hbCApO1xcbiAgICAjZWxzZVxcbiAgICAgIGlycmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5ICk7XFxuICAgICNlbmRpZlxcblxcbiAgICAjaWYgKCBOVU1fSEVNSV9MSUdIVFMgPiAwIClcXG5cXG4gICAgICAjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XFxuICAgICAgZm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0hFTUlfTElHSFRTOyBpICsrICkge1xcblxcbiAgICAgICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gICAgICAgICAgaXJyYWRpYW5jZSArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGdlb21ldHJ5Tm9ybWFsICk7XFxuICAgICAgICAjZWxpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTMzXFxuICAgICAgICAgIGlycmFkaWFuY2UgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeS5ub3JtYWwgKTtcXG4gICAgICAgICNlbHNlXFxuICAgICAgICAgIGlycmFkaWFuY2UgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xcbiAgICAgICAgI2VuZGlmXFxuXFxuICAgICAgfVxcbiAgICAgICNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXFxuXFxuICAgICNlbmRpZlxcblxcbiAgI2VuZGlmXFxuXFxuICAvLyAjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXFxuXFxuICAvLyAgIHZlYzMgcmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcXG4gIC8vICAgdmVjMyBjbGVhcmNvYXRSYWRpYW5jZSA9IHZlYzMoIDAuMCApO1xcblxcbiAgLy8gI2VuZGlmXFxuXFxuICAjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X21hcHM+XFxuICAjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cXG5cXG4gIC8vIG1vZHVsYXRpb25cXG4gICNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cXG5cXG4gIHZlYzMgY29sID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZTtcXG5cXG4gICNpZmRlZiBERUJVR19MSVRTSEFERVJBVEVcXG4gICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCggY29sLCBkaWZmdXNlQ29sb3IuYSApO1xcbiAgICBwb3N0Q29ycmVjdGlvbigpO1xcbiAgICByZXR1cm47XFxuICAjZW5kaWZcXG5cXG4gIC8vIC0tIE1Ub29uOiByaW0gbGlnaHRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG4gIHZlYzMgdmlld0RpciA9IG5vcm1hbGl6ZSggdlZpZXdQb3NpdGlvbiApO1xcblxcbiAgI2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXFxuICAgIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyIC89IFBJO1xcbiAgI2VuZGlmXFxuICB2ZWMzIHJpbU1peCA9IG1peCggdmVjMyggMS4wICksIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyLCAxLjAgKTtcXG5cXG4gIHZlYzMgcmltID0gcGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yICogcG93KCBzYXR1cmF0ZSggMS4wIC0gZG90KCB2aWV3RGlyLCBub3JtYWwgKSArIHBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yICksIHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IgKTtcXG5cXG4gICNpZmRlZiBVU0VfTUFUQ0FQVEVYVFVSRVxcbiAgICB7XFxuICAgICAgdmVjMyB4ID0gbm9ybWFsaXplKCB2ZWMzKCB2aWV3RGlyLnosIDAuMCwgLXZpZXdEaXIueCApICk7XFxuICAgICAgdmVjMyB5ID0gY3Jvc3MoIHZpZXdEaXIsIHggKTsgLy8gZ3VhcmFudGVlZCB0byBiZSBub3JtYWxpemVkXFxuICAgICAgdmVjMiBzcGhlcmVVdiA9IDAuNSArIDAuNSAqIHZlYzIoIGRvdCggeCwgbm9ybWFsICksIC1kb3QoIHksIG5vcm1hbCApICk7XFxuICAgICAgc3BoZXJlVXYgPSAoIG1hdGNhcFRleHR1cmVVdlRyYW5zZm9ybSAqIHZlYzMoIHNwaGVyZVV2LCAxICkgKS54eTtcXG4gICAgICB2ZWMzIG1hdGNhcCA9IHRleHR1cmUyRCggbWF0Y2FwVGV4dHVyZSwgc3BoZXJlVXYgKS5yZ2I7XFxuICAgICAgcmltICs9IG1hdGNhcEZhY3RvciAqIG1hdGNhcDtcXG4gICAgfVxcbiAgI2VuZGlmXFxuXFxuICAjaWZkZWYgVVNFX1JJTU1VTFRJUExZVEVYVFVSRVxcbiAgICB2ZWMyIHJpbU11bHRpcGx5VGV4dHVyZVV2ID0gKCByaW1NdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG4gICAgcmltICo9IHRleHR1cmUyRCggcmltTXVsdGlwbHlUZXh0dXJlLCByaW1NdWx0aXBseVRleHR1cmVVdiApLnJnYjtcXG4gICNlbmRpZlxcblxcbiAgY29sICs9IHJpbU1peCAqIHJpbTtcXG5cXG4gIC8vIC0tIE1Ub29uOiBFbWlzc2lvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbiAgY29sICs9IHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcXG5cXG4gIC8vICNpbmNsdWRlIDxlbnZtYXBfZnJhZ21lbnQ+XFxuXFxuICAvLyAtLSBBbG1vc3QgZG9uZSEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG4gICNpZiBkZWZpbmVkKCBPVVRMSU5FIClcXG4gICAgY29sID0gb3V0bGluZUNvbG9yRmFjdG9yLnJnYiAqIG1peCggdmVjMyggMS4wICksIGNvbCwgb3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yICk7XFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBPUEFRVUVcXG4gICAgZGlmZnVzZUNvbG9yLmEgPSAxLjA7XFxuICAjZW5kaWZcXG5cXG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQoIGNvbCwgZGlmZnVzZUNvbG9yLmEgKTtcXG4gIHBvc3RDb3JyZWN0aW9uKCk7XFxufVxcblwiO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8qKlxuICogU3BlY2lmaWVycyBvZiBkZWJ1ZyBtb2RlIG9mIHtAbGluayBNVG9vbk1hdGVyaWFsfS5cbiAqXG4gKiBTZWU6IHtAbGluayBNVG9vbk1hdGVyaWFsLmRlYnVnTW9kZX1cbiAqL1xuY29uc3QgTVRvb25NYXRlcmlhbERlYnVnTW9kZSA9IHtcbiAgICAvKipcbiAgICAgKiBSZW5kZXIgbm9ybWFsbHkuXG4gICAgICovXG4gICAgTm9uZTogJ25vbmUnLFxuICAgIC8qKlxuICAgICAqIFZpc3VhbGl6ZSBub3JtYWxzIG9mIHRoZSBzdXJmYWNlLlxuICAgICAqL1xuICAgIE5vcm1hbDogJ25vcm1hbCcsXG4gICAgLyoqXG4gICAgICogVmlzdWFsaXplIGxpdC9zaGFkZSBvZiB0aGUgc3VyZmFjZS5cbiAgICAgKi9cbiAgICBMaXRTaGFkZVJhdGU6ICdsaXRTaGFkZVJhdGUnLFxuICAgIC8qKlxuICAgICAqIFZpc3VhbGl6ZSBVViBvZiB0aGUgc3VyZmFjZS5cbiAgICAgKi9cbiAgICBVVjogJ3V2Jyxcbn07XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgTVRvb25NYXRlcmlhbE91dGxpbmVXaWR0aE1vZGUgPSB7XG4gICAgTm9uZTogJ25vbmUnLFxuICAgIFdvcmxkQ29vcmRpbmF0ZXM6ICd3b3JsZENvb3JkaW5hdGVzJyxcbiAgICBTY3JlZW5Db29yZGluYXRlczogJ3NjcmVlbkNvb3JkaW5hdGVzJyxcbn07XG5cbmNvbnN0IGVuY29kaW5nQ29sb3JTcGFjZU1hcCA9IHtcbiAgICAzMDAwOiAnJyxcbiAgICAzMDAxOiAnc3JnYicsXG59O1xuLyoqXG4gKiBBIGNvbXBhdCBmdW5jdGlvbiB0byBnZXQgdGV4dHVyZSBjb2xvciBzcGFjZS5cbiAqXG4gKiBDT01QQVQ6IHByZS1yMTUyXG4gKiBTdGFydGluZyBmcm9tIFRocmVlLmpzIHIxNTIsIGB0ZXh0dXJlLmVuY29kaW5nYCBpcyByZW5hbWVkIHRvIGB0ZXh0dXJlLmNvbG9yU3BhY2VgLlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIGhhbmRsZSB0aGUgY29tYXB0LlxuICpcbiAqIEBwYXJhbSB0ZXh0dXJlIFRoZSB0ZXh0dXJlIHlvdSB3YW50IHRvIGdldCB0aGUgY29sb3Igc3BhY2UgZnJvbVxuICovXG5mdW5jdGlvbiBnZXRUZXh0dXJlQ29sb3JTcGFjZSh0ZXh0dXJlKSB7XG4gICAgaWYgKHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCkgPj0gMTUyKSB7XG4gICAgICAgIHJldHVybiB0ZXh0dXJlLmNvbG9yU3BhY2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZW5jb2RpbmdDb2xvclNwYWNlTWFwW3RleHR1cmUuZW5jb2RpbmddO1xuICAgIH1cbn1cblxuLyogdHNsaW50OmRpc2FibGU6bWVtYmVyLW9yZGVyaW5nICovXG4vKipcbiAqIE1Ub29uIGlzIGEgbWF0ZXJpYWwgc3BlY2lmaWNhdGlvbiB0aGF0IGhhcyB2YXJpb3VzIGZlYXR1cmVzLlxuICogVGhlIHNwZWMgYW5kIGltcGxlbWVudGF0aW9uIGFyZSBvcmlnaW5hbGx5IGZvdW5kZWQgZm9yIFVuaXR5IGVuZ2luZSBhbmQgdGhpcyBpcyBhIHBvcnQgb2YgdGhlIG1hdGVyaWFsLlxuICpcbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL1NhbnRhcmgvTVRvb25cbiAqL1xuY2xhc3MgTVRvb25NYXRlcmlhbCBleHRlbmRzIFRIUkVFLlNoYWRlck1hdGVyaWFsIHtcbiAgICBnZXQgY29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLmxpdEZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGNvbG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMubGl0RmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBtYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm1hcC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG1hcCh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm1hcC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbm9ybWFsTWFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5ub3JtYWxNYXAudmFsdWU7XG4gICAgfVxuICAgIHNldCBub3JtYWxNYXAodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5ub3JtYWxNYXAudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IG5vcm1hbFNjYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5ub3JtYWxTY2FsZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG5vcm1hbFNjYWxlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMubm9ybWFsU2NhbGUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGVtaXNzaXZlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGVtaXNzaXZlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuZW1pc3NpdmUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGVtaXNzaXZlSW50ZW5zaXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZUludGVuc2l0eS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGVtaXNzaXZlSW50ZW5zaXR5KHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuZW1pc3NpdmVJbnRlbnNpdHkudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGVtaXNzaXZlTWFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZU1hcC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGVtaXNzaXZlTWFwKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuZW1pc3NpdmVNYXAudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHNoYWRlQ29sb3JGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnNoYWRlQ29sb3JGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkZUNvbG9yRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuc2hhZGVDb2xvckZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGVNdWx0aXBseVRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnNoYWRlTXVsdGlwbHlUZXh0dXJlLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgc2hhZGVNdWx0aXBseVRleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkZU11bHRpcGx5VGV4dHVyZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGluZ1NoaWZ0RmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkaW5nU2hpZnRGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHNoYWRpbmdTaGlmdFRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdFRleHR1cmUudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkaW5nU2hpZnRUZXh0dXJlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuc2hhZGluZ1NoaWZ0VGV4dHVyZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGluZ1NoaWZ0VGV4dHVyZVNjYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGUudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHNoYWRpbmdUb29ueUZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMuc2hhZGluZ1Rvb255RmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgc2hhZGluZ1Rvb255RmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuc2hhZGluZ1Rvb255RmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBnaUVxdWFsaXphdGlvbkZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMuZ2lFcXVhbGl6YXRpb25GYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBnaUVxdWFsaXphdGlvbkZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLmdpRXF1YWxpemF0aW9uRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBtYXRjYXBGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm1hdGNhcEZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG1hdGNhcEZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm1hdGNhcEZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbWF0Y2FwVGV4dHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMubWF0Y2FwVGV4dHVyZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG1hdGNhcFRleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5tYXRjYXBUZXh0dXJlLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwYXJhbWV0cmljUmltQ29sb3JGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnBhcmFtZXRyaWNSaW1Db2xvckZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHBhcmFtZXRyaWNSaW1Db2xvckZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnBhcmFtZXRyaWNSaW1Db2xvckZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcmltTXVsdGlwbHlUZXh0dXJlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5yaW1NdWx0aXBseVRleHR1cmUudmFsdWU7XG4gICAgfVxuICAgIHNldCByaW1NdWx0aXBseVRleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5yaW1NdWx0aXBseVRleHR1cmUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHJpbUxpZ2h0aW5nTWl4RmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5yaW1MaWdodGluZ01peEZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHJpbUxpZ2h0aW5nTWl4RmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMucmltTGlnaHRpbmdNaXhGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBwYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMucGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5wYXJhbWV0cmljUmltTGlmdEZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUudmFsdWU7XG4gICAgfVxuICAgIHNldCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IG91dGxpbmVXaWR0aEZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMub3V0bGluZVdpZHRoRmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3V0bGluZVdpZHRoRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMub3V0bGluZVdpZHRoRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBvdXRsaW5lQ29sb3JGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm91dGxpbmVDb2xvckZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG91dGxpbmVDb2xvckZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm91dGxpbmVDb2xvckZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgb3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5vdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5vdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHV2QW5pbWF0aW9uTWFza1RleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uTWFza1RleHR1cmUudmFsdWU7XG4gICAgfVxuICAgIHNldCB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25NYXNrVGV4dHVyZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdXZBbmltYXRpb25TY3JvbGxYT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQudmFsdWU7XG4gICAgfVxuICAgIHNldCB1dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHV2QW5pbWF0aW9uU2Nyb2xsWU9mZnNldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgdXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0KHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB1dkFuaW1hdGlvblJvdGF0aW9uUGhhc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uUm90YXRpb25QaGFzZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHV2QW5pbWF0aW9uUm90YXRpb25QaGFzZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uUm90YXRpb25QaGFzZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBXaGVuIHRoaXMgaXMgYHRydWVgLCB2ZXJ0ZXggY29sb3JzIHdpbGwgYmUgaWdub3JlZC5cbiAgICAgKiBgdHJ1ZWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBnZXQgaWdub3JlVmVydGV4Q29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZ25vcmVWZXJ0ZXhDb2xvcjtcbiAgICB9XG4gICAgc2V0IGlnbm9yZVZlcnRleENvbG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lnbm9yZVZlcnRleENvbG9yID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGVyZSBpcyBhIGxpbmUgb2YgdGhlIHNoYWRlciBjYWxsZWQgXCJjb21tZW50IG91dCBpZiB5b3Ugd2FudCB0byBQQlIgYWJzb2x1dGVseVwiIGluIFZSTTAuMCBNVG9vbi5cbiAgICAgKiBXaGVuIHRoaXMgaXMgdHJ1ZSwgdGhlIG1hdGVyaWFsIGVuYWJsZXMgdGhlIGxpbmUgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggdGhlIGxlZ2FjeSByZW5kZXJpbmcgb2YgVlJNLlxuICAgICAqIFVzdWFsbHkgbm90IHJlY29tbWVuZGVkIHRvIHR1cm4gdGhpcyBvbi5cbiAgICAgKiBgZmFsc2VgIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgZ2V0IHYwQ29tcGF0U2hhZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92MENvbXBhdFNoYWRlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGVyZSBpcyBhIGxpbmUgb2YgdGhlIHNoYWRlciBjYWxsZWQgXCJjb21tZW50IG91dCBpZiB5b3Ugd2FudCB0byBQQlIgYWJzb2x1dGVseVwiIGluIFZSTTAuMCBNVG9vbi5cbiAgICAgKiBXaGVuIHRoaXMgaXMgdHJ1ZSwgdGhlIG1hdGVyaWFsIGVuYWJsZXMgdGhlIGxpbmUgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggdGhlIGxlZ2FjeSByZW5kZXJpbmcgb2YgVlJNLlxuICAgICAqIFVzdWFsbHkgbm90IHJlY29tbWVuZGVkIHRvIHR1cm4gdGhpcyBvbi5cbiAgICAgKiBgZmFsc2VgIGJ5IGRlZmF1bHQuXG4gICAgICovXG4gICAgc2V0IHYwQ29tcGF0U2hhZGUodikge1xuICAgICAgICB0aGlzLl92MENvbXBhdFNoYWRlID0gdjtcbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIERlYnVnIG1vZGUgZm9yIHRoZSBtYXRlcmlhbC5cbiAgICAgKiBZb3UgY2FuIHZpc3VhbGl6ZSBzZXZlcmFsIGNvbXBvbmVudHMgZm9yIGRpYWdub3NpcyB1c2luZyBkZWJ1ZyBtb2RlLlxuICAgICAqXG4gICAgICogU2VlOiB7QGxpbmsgTVRvb25NYXRlcmlhbERlYnVnTW9kZX1cbiAgICAgKi9cbiAgICBnZXQgZGVidWdNb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVidWdNb2RlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWJ1ZyBtb2RlIGZvciB0aGUgbWF0ZXJpYWwuXG4gICAgICogWW91IGNhbiB2aXN1YWxpemUgc2V2ZXJhbCBjb21wb25lbnRzIGZvciBkaWFnbm9zaXMgdXNpbmcgZGVidWcgbW9kZS5cbiAgICAgKlxuICAgICAqIFNlZToge0BsaW5rIE1Ub29uTWF0ZXJpYWxEZWJ1Z01vZGV9XG4gICAgICovXG4gICAgc2V0IGRlYnVnTW9kZShtKSB7XG4gICAgICAgIHRoaXMuX2RlYnVnTW9kZSA9IG07XG4gICAgICAgIHRoaXMubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBnZXQgb3V0bGluZVdpZHRoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX291dGxpbmVXaWR0aE1vZGU7XG4gICAgfVxuICAgIHNldCBvdXRsaW5lV2lkdGhNb2RlKG0pIHtcbiAgICAgICAgdGhpcy5fb3V0bGluZVdpZHRoTW9kZSA9IG07XG4gICAgICAgIHRoaXMubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBnZXQgaXNPdXRsaW5lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNPdXRsaW5lO1xuICAgIH1cbiAgICBzZXQgaXNPdXRsaW5lKGIpIHtcbiAgICAgICAgdGhpcy5faXNPdXRsaW5lID0gYjtcbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlYWRvbmx5IGJvb2xlYW4gdGhhdCBpbmRpY2F0ZXMgdGhpcyBpcyBhIFtbTVRvb25NYXRlcmlhbF1dLlxuICAgICAqL1xuICAgIGdldCBpc01Ub29uTWF0ZXJpYWwoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzID0ge30pIHtcbiAgICAgICAgc3VwZXIoeyB2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyIH0pO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yID0gMC4wO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yID0gMC4wO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvciA9IDAuMDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdoZXRoZXIgdGhlIG1hdGVyaWFsIGlzIGFmZmVjdGVkIGJ5IGZvZy5cbiAgICAgICAgICogYHRydWVgIGJ5IGRlZmF1bHQuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmZvZyA9IHRydWU7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaWxsIGJlIHJlYWQgaW4gV2ViR0xQcm9ncmFtc1xuICAgICAgICAgKlxuICAgICAgICAgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvYmxvYi80ZjUyMzZhYzNkNmY0MWQ5MDRhYTU4NDAxYjQwNTU0ZThmYmRjYjE1L3NyYy9yZW5kZXJlcnMvd2ViZ2wvV2ViR0xQcm9ncmFtcy5qcyNMMTkwLUwxOTFcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubm9ybWFsTWFwVHlwZSA9IFRIUkVFLlRhbmdlbnRTcGFjZU5vcm1hbE1hcDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdoZW4gdGhpcyBpcyBgdHJ1ZWAsIHZlcnRleCBjb2xvcnMgd2lsbCBiZSBpZ25vcmVkLlxuICAgICAgICAgKiBgdHJ1ZWAgYnkgZGVmYXVsdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2lnbm9yZVZlcnRleENvbG9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fdjBDb21wYXRTaGFkZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9kZWJ1Z01vZGUgPSBNVG9vbk1hdGVyaWFsRGVidWdNb2RlLk5vbmU7XG4gICAgICAgIHRoaXMuX291dGxpbmVXaWR0aE1vZGUgPSBNVG9vbk1hdGVyaWFsT3V0bGluZVdpZHRoTW9kZS5Ob25lO1xuICAgICAgICB0aGlzLl9pc091dGxpbmUgPSBmYWxzZTtcbiAgICAgICAgLy8gb3ZlcnJpZGUgZGVwdGhXcml0ZSB3aXRoIHRyYW5zcGFyZW50V2l0aFpXcml0ZVxuICAgICAgICBpZiAocGFyYW1ldGVycy50cmFuc3BhcmVudFdpdGhaV3JpdGUpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMuZGVwdGhXcml0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIHBhcmFtZXRlcnMudHJhbnNwYXJlbnRXaXRoWldyaXRlO1xuICAgICAgICAvLyA9PSBlbmFibGluZyBidW5jaCBvZiBzdHVmZiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgcGFyYW1ldGVycy5mb2cgPSB0cnVlO1xuICAgICAgICBwYXJhbWV0ZXJzLmxpZ2h0cyA9IHRydWU7XG4gICAgICAgIHBhcmFtZXRlcnMuY2xpcHBpbmcgPSB0cnVlO1xuICAgICAgICAvLyBDT01QQVQ6IHByZS1yMTI5XG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9wdWxsLzIxNzg4XG4gICAgICAgIGlmIChwYXJzZUludChUSFJFRS5SRVZJU0lPTiwgMTApIDwgMTI5KSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzLnNraW5uaW5nID0gcGFyYW1ldGVycy5za2lubmluZyB8fCBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDT01QQVQ6IHByZS1yMTMxXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9wdWxsLzIyMTY5XG4gICAgICAgIGlmIChwYXJzZUludChUSFJFRS5SRVZJU0lPTiwgMTApIDwgMTMxKSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzLm1vcnBoVGFyZ2V0cyA9IHBhcmFtZXRlcnMubW9ycGhUYXJnZXRzIHx8IGZhbHNlO1xuICAgICAgICAgICAgcGFyYW1ldGVycy5tb3JwaE5vcm1hbHMgPSBwYXJhbWV0ZXJzLm1vcnBoTm9ybWFscyB8fCBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyA9PSB1bmlmb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgdGhpcy51bmlmb3JtcyA9IFRIUkVFLlVuaWZvcm1zVXRpbHMubWVyZ2UoW1xuICAgICAgICAgICAgVEhSRUUuVW5pZm9ybXNMaWIuY29tbW9uLFxuICAgICAgICAgICAgVEhSRUUuVW5pZm9ybXNMaWIubm9ybWFsbWFwLFxuICAgICAgICAgICAgVEhSRUUuVW5pZm9ybXNMaWIuZW1pc3NpdmVtYXAsXG4gICAgICAgICAgICBUSFJFRS5Vbmlmb3Jtc0xpYi5mb2csXG4gICAgICAgICAgICBUSFJFRS5Vbmlmb3Jtc0xpYi5saWdodHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGl0RmFjdG9yOiB7IHZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoMS4wLCAxLjAsIDEuMCkgfSxcbiAgICAgICAgICAgICAgICBtYXBVdlRyYW5zZm9ybTogeyB2YWx1ZTogbmV3IFRIUkVFLk1hdHJpeDMoKSB9LFxuICAgICAgICAgICAgICAgIGNvbG9yQWxwaGE6IHsgdmFsdWU6IDEuMCB9LFxuICAgICAgICAgICAgICAgIG5vcm1hbE1hcFV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgc2hhZGVDb2xvckZhY3RvcjogeyB2YWx1ZTogbmV3IFRIUkVFLkNvbG9yKDAuOTcsIDAuODEsIDAuODYpIH0sXG4gICAgICAgICAgICAgICAgc2hhZGVNdWx0aXBseVRleHR1cmU6IHsgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgICAgICAgICBzaGFkZU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgc2hhZGluZ1NoaWZ0RmFjdG9yOiB7IHZhbHVlOiAwLjAgfSxcbiAgICAgICAgICAgICAgICBzaGFkaW5nU2hpZnRUZXh0dXJlOiB7IHZhbHVlOiBudWxsIH0sXG4gICAgICAgICAgICAgICAgc2hhZGluZ1NoaWZ0VGV4dHVyZVV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgc2hhZGluZ1NoaWZ0VGV4dHVyZVNjYWxlOiB7IHZhbHVlOiAxLjAgfSxcbiAgICAgICAgICAgICAgICBzaGFkaW5nVG9vbnlGYWN0b3I6IHsgdmFsdWU6IDAuOSB9LFxuICAgICAgICAgICAgICAgIGdpRXF1YWxpemF0aW9uRmFjdG9yOiB7IHZhbHVlOiAwLjkgfSxcbiAgICAgICAgICAgICAgICBtYXRjYXBGYWN0b3I6IHsgdmFsdWU6IG5ldyBUSFJFRS5Db2xvcigwLjAsIDAuMCwgMC4wKSB9LFxuICAgICAgICAgICAgICAgIG1hdGNhcFRleHR1cmU6IHsgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgICAgICAgICBtYXRjYXBUZXh0dXJlVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0cmljUmltQ29sb3JGYWN0b3I6IHsgdmFsdWU6IG5ldyBUSFJFRS5Db2xvcigwLjAsIDAuMCwgMC4wKSB9LFxuICAgICAgICAgICAgICAgIHJpbU11bHRpcGx5VGV4dHVyZTogeyB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgICAgIHJpbU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgcmltTGlnaHRpbmdNaXhGYWN0b3I6IHsgdmFsdWU6IDAuMCB9LFxuICAgICAgICAgICAgICAgIHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3I6IHsgdmFsdWU6IDEuMCB9LFxuICAgICAgICAgICAgICAgIHBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yOiB7IHZhbHVlOiAwLjAgfSxcbiAgICAgICAgICAgICAgICBlbWlzc2l2ZTogeyB2YWx1ZTogbmV3IFRIUkVFLkNvbG9yKDAuMCwgMC4wLCAwLjApIH0sXG4gICAgICAgICAgICAgICAgZW1pc3NpdmVJbnRlbnNpdHk6IHsgdmFsdWU6IDEuMCB9LFxuICAgICAgICAgICAgICAgIGVtaXNzaXZlTWFwVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmU6IHsgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybTogeyB2YWx1ZTogbmV3IFRIUkVFLk1hdHJpeDMoKSB9LFxuICAgICAgICAgICAgICAgIG91dGxpbmVXaWR0aEZhY3RvcjogeyB2YWx1ZTogMC41IH0sXG4gICAgICAgICAgICAgICAgb3V0bGluZUNvbG9yRmFjdG9yOiB7IHZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoMC4wLCAwLjAsIDAuMCkgfSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3I6IHsgdmFsdWU6IDEuMCB9LFxuICAgICAgICAgICAgICAgIHV2QW5pbWF0aW9uTWFza1RleHR1cmU6IHsgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgICAgICAgICB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICB1dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQ6IHsgdmFsdWU6IDAuMCB9LFxuICAgICAgICAgICAgICAgIHV2QW5pbWF0aW9uU2Nyb2xsWU9mZnNldDogeyB2YWx1ZTogMC4wIH0sXG4gICAgICAgICAgICAgICAgdXZBbmltYXRpb25Sb3RhdGlvblBoYXNlOiB7IHZhbHVlOiAwLjAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYXJhbWV0ZXJzLnVuaWZvcm1zLFxuICAgICAgICBdKTtcbiAgICAgICAgLy8gPT0gZmluYWxseSBjb21waWxlIHRoZSBzaGFkZXIgcHJvZ3JhbSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKHBhcmFtZXRlcnMpO1xuICAgICAgICAvLyA9PSB1cGxvYWQgdW5pZm9ybXMgdGhhdCBuZWVkIHRvIHVwbG9hZCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgdGhpcy5fdXBsb2FkVW5pZm9ybXNXb3JrYXJvdW5kKCk7XG4gICAgICAgIC8vID09IHVwZGF0ZSBzaGFkZXIgc3R1ZmYgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGlzLmN1c3RvbVByb2dyYW1DYWNoZUtleSA9ICgpID0+IFtcbiAgICAgICAgICAgIC4uLk9iamVjdC5lbnRyaWVzKHRoaXMuX2dlbmVyYXRlRGVmaW5lcygpKS5tYXAoKFt0b2tlbiwgbWFjcm9dKSA9PiBgJHt0b2tlbn06JHttYWNyb31gKSxcbiAgICAgICAgICAgIHRoaXMubWF0Y2FwVGV4dHVyZSA/IGBtYXRjYXBUZXh0dXJlQ29sb3JTcGFjZToke2dldFRleHR1cmVDb2xvclNwYWNlKHRoaXMubWF0Y2FwVGV4dHVyZSl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5zaGFkZU11bHRpcGx5VGV4dHVyZVxuICAgICAgICAgICAgICAgID8gYHNoYWRlTXVsdGlwbHlUZXh0dXJlQ29sb3JTcGFjZToke2dldFRleHR1cmVDb2xvclNwYWNlKHRoaXMuc2hhZGVNdWx0aXBseVRleHR1cmUpfWBcbiAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgdGhpcy5yaW1NdWx0aXBseVRleHR1cmUgPyBgcmltTXVsdGlwbHlUZXh0dXJlQ29sb3JTcGFjZToke2dldFRleHR1cmVDb2xvclNwYWNlKHRoaXMucmltTXVsdGlwbHlUZXh0dXJlKX1gIDogJycsXG4gICAgICAgIF0uam9pbignLCcpO1xuICAgICAgICB0aGlzLm9uQmVmb3JlQ29tcGlsZSA9IChzaGFkZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRocmVlUmV2aXNpb24gPSBwYXJzZUludChUSFJFRS5SRVZJU0lPTiwgMTApO1xuICAgICAgICAgICAgY29uc3QgZGVmaW5lcyA9IE9iamVjdC5lbnRyaWVzKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fZ2VuZXJhdGVEZWZpbmVzKCkpLCB0aGlzLmRlZmluZXMpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKFt0b2tlbiwgbWFjcm9dKSA9PiAhIW1hY3JvKVxuICAgICAgICAgICAgICAgIC5tYXAoKFt0b2tlbiwgbWFjcm9dKSA9PiBgI2RlZmluZSAke3Rva2VufSAke21hY3JvfWApXG4gICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpICsgJ1xcbic7XG4gICAgICAgICAgICAvLyAtLSBnZW5lcmF0ZSBzaGFkZXIgY29kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBzaGFkZXIudmVydGV4U2hhZGVyID0gZGVmaW5lcyArIHNoYWRlci52ZXJ0ZXhTaGFkZXI7XG4gICAgICAgICAgICBzaGFkZXIuZnJhZ21lbnRTaGFkZXIgPSBkZWZpbmVzICsgc2hhZGVyLmZyYWdtZW50U2hhZGVyO1xuICAgICAgICAgICAgLy8gLS0gY29tcGF0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gQ09NUEFUOiBwcmUtcjE1NFxuICAgICAgICAgICAgLy8gVGhyZWUuanMgcjE1NCByZW5hbWVzIHRoZSBzaGFkZXIgY2h1bmsgPGNvbG9yc3BhY2VfZnJhZ21lbnQ+IHRvIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG4gICAgICAgICAgICBpZiAodGhyZWVSZXZpc2lvbiA8IDE1NCkge1xuICAgICAgICAgICAgICAgIHNoYWRlci5mcmFnbWVudFNoYWRlciA9IHNoYWRlci5mcmFnbWVudFNoYWRlci5yZXBsYWNlKCcjaW5jbHVkZSA8Y29sb3JzcGFjZV9mcmFnbWVudD4nLCAnI2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENPTVBBVDogcHJlLXIxMzJcbiAgICAgICAgICAgIC8vIFRocmVlLmpzIHIxMzIgaW50cm9kdWNlcyBuZXcgc2hhZGVyIGNodW5rcyA8bm9ybWFsX3BhcnNfZnJhZ21lbnQ+IGFuZCA8YWxwaGF0ZXN0X3BhcnNfZnJhZ21lbnQ+XG4gICAgICAgICAgICBpZiAodGhyZWVSZXZpc2lvbiA8IDEzMikge1xuICAgICAgICAgICAgICAgIHNoYWRlci5mcmFnbWVudFNoYWRlciA9IHNoYWRlci5mcmFnbWVudFNoYWRlci5yZXBsYWNlKCcjaW5jbHVkZSA8bm9ybWFsX3BhcnNfZnJhZ21lbnQ+JywgJycpO1xuICAgICAgICAgICAgICAgIHNoYWRlci5mcmFnbWVudFNoYWRlciA9IHNoYWRlci5mcmFnbWVudFNoYWRlci5yZXBsYWNlKCcjaW5jbHVkZSA8YWxwaGF0ZXN0X3BhcnNfZnJhZ21lbnQ+JywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhpcyBtYXRlcmlhbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZWx0YSBkZWx0YVRpbWUgc2luY2UgbGFzdCB1cGRhdGVcbiAgICAgKi9cbiAgICB1cGRhdGUoZGVsdGEpIHtcbiAgICAgICAgdGhpcy5fdXBsb2FkVW5pZm9ybXNXb3JrYXJvdW5kKCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVVWQW5pbWF0aW9uKGRlbHRhKTtcbiAgICB9XG4gICAgY29weShzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIuY29weShzb3VyY2UpO1xuICAgICAgICAvLyB1bmlmb3JtcyBhcmUgYWxyZWFkeSBjb3BpZWQgYXQgdGhpcyBtb21lbnRcbiAgICAgICAgLy8gQmVnaW5uaW5nIGZyb20gcjEzMywgdW5pZm9ybSB0ZXh0dXJlcyB3aWxsIGJlIGNsb25lZCBpbnN0ZWFkIG9mIHJlZmVyZW5jZVxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvYmxvYi9hODgxM2JlMDRhODQ5YmQxNTVmN2NmNmYxYjIzZDhlZTJlMGZiNDhiL2V4YW1wbGVzL2pzbS9sb2FkZXJzL0dMVEZMb2FkZXIuanMjTDMwNDdcbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL2Jsb2IvYTg4MTNiZTA0YTg0OWJkMTU1ZjdjZjZmMWIyM2Q4ZWUyZTBmYjQ4Yi9zcmMvcmVuZGVyZXJzL3NoYWRlcnMvVW5pZm9ybXNVdGlscy5qcyNMMjJcbiAgICAgICAgLy8gVGhpcyB3aWxsIGxlYXZlIHRoZWlyIGAudmVyc2lvbmAgdG8gYmUgYDBgXG4gICAgICAgIC8vIGFuZCB0aGVzZSB0ZXh0dXJlcyB3b24ndCBiZSB1cGxvYWRlZCB0byBHUFVcbiAgICAgICAgLy8gV2UgYXJlIGdvaW5nIHRvIHdvcmthcm91bmQgdGhpcyBpbiBoZXJlXG4gICAgICAgIC8vIEkndmUgb3BlbmVkIGFuIGlzc3VlIGZvciB0aGlzOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL2lzc3Vlcy8yMjcxOFxuICAgICAgICB0aGlzLm1hcCA9IHNvdXJjZS5tYXA7XG4gICAgICAgIHRoaXMubm9ybWFsTWFwID0gc291cmNlLm5vcm1hbE1hcDtcbiAgICAgICAgdGhpcy5lbWlzc2l2ZU1hcCA9IHNvdXJjZS5lbWlzc2l2ZU1hcDtcbiAgICAgICAgdGhpcy5zaGFkZU11bHRpcGx5VGV4dHVyZSA9IHNvdXJjZS5zaGFkZU11bHRpcGx5VGV4dHVyZTtcbiAgICAgICAgdGhpcy5zaGFkaW5nU2hpZnRUZXh0dXJlID0gc291cmNlLnNoYWRpbmdTaGlmdFRleHR1cmU7XG4gICAgICAgIHRoaXMubWF0Y2FwVGV4dHVyZSA9IHNvdXJjZS5tYXRjYXBUZXh0dXJlO1xuICAgICAgICB0aGlzLnJpbU11bHRpcGx5VGV4dHVyZSA9IHNvdXJjZS5yaW1NdWx0aXBseVRleHR1cmU7XG4gICAgICAgIHRoaXMub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlID0gc291cmNlLm91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZTtcbiAgICAgICAgdGhpcy51dkFuaW1hdGlvbk1hc2tUZXh0dXJlID0gc291cmNlLnV2QW5pbWF0aW9uTWFza1RleHR1cmU7XG4gICAgICAgIC8vID09IGNvcHkgbWVtYmVycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGlzLm5vcm1hbE1hcFR5cGUgPSBzb3VyY2Uubm9ybWFsTWFwVHlwZTtcbiAgICAgICAgdGhpcy51dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3RvciA9IHNvdXJjZS51dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3RvcjtcbiAgICAgICAgdGhpcy51dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvciA9IHNvdXJjZS51dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvcjtcbiAgICAgICAgdGhpcy51dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3IgPSBzb3VyY2UudXZBbmltYXRpb25Sb3RhdGlvblNwZWVkRmFjdG9yO1xuICAgICAgICB0aGlzLmlnbm9yZVZlcnRleENvbG9yID0gc291cmNlLmlnbm9yZVZlcnRleENvbG9yO1xuICAgICAgICB0aGlzLnYwQ29tcGF0U2hhZGUgPSBzb3VyY2UudjBDb21wYXRTaGFkZTtcbiAgICAgICAgdGhpcy5kZWJ1Z01vZGUgPSBzb3VyY2UuZGVidWdNb2RlO1xuICAgICAgICB0aGlzLm91dGxpbmVXaWR0aE1vZGUgPSBzb3VyY2Uub3V0bGluZVdpZHRoTW9kZTtcbiAgICAgICAgdGhpcy5pc091dGxpbmUgPSBzb3VyY2UuaXNPdXRsaW5lO1xuICAgICAgICAvLyA9PSB1cGRhdGUgc2hhZGVyIHN0dWZmID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgVVYgYW5pbWF0aW9uIHN0YXRlLlxuICAgICAqIEludGVuZGVkIHRvIGJlIGNhbGxlZCB2aWEge0BsaW5rIHVwZGF0ZX0uXG4gICAgICogQHBhcmFtIGRlbHRhIGRlbHRhVGltZVxuICAgICAqL1xuICAgIF91cGRhdGVVVkFuaW1hdGlvbihkZWx0YSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldC52YWx1ZSArPSBkZWx0YSAqIHRoaXMudXZBbmltYXRpb25TY3JvbGxYU3BlZWRGYWN0b3I7XG4gICAgICAgIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0LnZhbHVlICs9IGRlbHRhICogdGhpcy51dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvcjtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblJvdGF0aW9uUGhhc2UudmFsdWUgKz0gZGVsdGEgKiB0aGlzLnV2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvcjtcbiAgICAgICAgdGhpcy51bmlmb3Jtc05lZWRVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGxvYWQgdW5pZm9ybXMgdGhhdCBuZWVkIHRvIHVwbG9hZCBidXQgZG9lc24ndCBhdXRvbWF0aWNhbGx5IGJlY2F1c2Ugb2YgcmVhc29ucy5cbiAgICAgKiBJbnRlbmRlZCB0byBiZSBjYWxsZWQgdmlhIHtAbGluayBjb25zdHJ1Y3Rvcn0gYW5kIHtAbGluayB1cGRhdGV9LlxuICAgICAqL1xuICAgIF91cGxvYWRVbmlmb3Jtc1dvcmthcm91bmQoKSB7XG4gICAgICAgIC8vIHdvcmthcm91bmQ6IHNpbmNlIG9wYWNpdHkgaXMgZGVmaW5lZCBhcyBhIHByb3BlcnR5IGluIFRIUkVFLk1hdGVyaWFsXG4gICAgICAgIC8vIGFuZCBjYW5ub3QgYmUgb3ZlcnJpZGRlbiBhcyBhbiBhY2Nlc3NvcixcbiAgICAgICAgLy8gV2UgYXJlIGdvaW5nIHRvIHVwZGF0ZSBvcGFjaXR5IGhlcmVcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5vcGFjaXR5LnZhbHVlID0gdGhpcy5vcGFjaXR5O1xuICAgICAgICAvLyB3b3JrYXJvdW5kOiB0ZXh0dXJlIHRyYW5zZm9ybXMgYXJlIG5vdCB1cGRhdGVkIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLm1hcCwgdGhpcy51bmlmb3Jtcy5tYXBVdlRyYW5zZm9ybSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRleHR1cmVNYXRyaXgodGhpcy51bmlmb3Jtcy5ub3JtYWxNYXAsIHRoaXMudW5pZm9ybXMubm9ybWFsTWFwVXZUcmFuc2Zvcm0pO1xuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMuZW1pc3NpdmVNYXAsIHRoaXMudW5pZm9ybXMuZW1pc3NpdmVNYXBVdlRyYW5zZm9ybSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRleHR1cmVNYXRyaXgodGhpcy51bmlmb3Jtcy5zaGFkZU11bHRpcGx5VGV4dHVyZSwgdGhpcy51bmlmb3Jtcy5zaGFkZU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdFRleHR1cmUsIHRoaXMudW5pZm9ybXMuc2hhZGluZ1NoaWZ0VGV4dHVyZVV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLm1hdGNhcFRleHR1cmUsIHRoaXMudW5pZm9ybXMubWF0Y2FwVGV4dHVyZVV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLnJpbU11bHRpcGx5VGV4dHVyZSwgdGhpcy51bmlmb3Jtcy5yaW1NdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRleHR1cmVNYXRyaXgodGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUsIHRoaXMudW5pZm9ybXMub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm0pO1xuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25NYXNrVGV4dHVyZSwgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvbk1hc2tUZXh0dXJlVXZUcmFuc2Zvcm0pO1xuICAgICAgICAvLyBDT01QQVQgd29ya2Fyb3VuZDogc3RhcnRpbmcgZnJvbSByMTMyLCBhbHBoYVRlc3QgYmVjb21lcyBhIHVuaWZvcm0gaW5zdGVhZCBvZiBwcmVwcm9jZXNzb3IgdmFsdWVcbiAgICAgICAgY29uc3QgdGhyZWVSZXZpc2lvbiA9IHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCk7XG4gICAgICAgIGlmICh0aHJlZVJldmlzaW9uID49IDEzMikge1xuICAgICAgICAgICAgdGhpcy51bmlmb3Jtcy5hbHBoYVRlc3QudmFsdWUgPSB0aGlzLmFscGhhVGVzdDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuaWZvcm1zTmVlZFVwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBtYXAgb2JqZWN0IG9mIHByZXByb2Nlc3NvciB0b2tlbiBhbmQgbWFjcm8gb2YgdGhlIHNoYWRlciBwcm9ncmFtLlxuICAgICAqL1xuICAgIF9nZW5lcmF0ZURlZmluZXMoKSB7XG4gICAgICAgIGNvbnN0IHRocmVlUmV2aXNpb24gPSBwYXJzZUludChUSFJFRS5SRVZJU0lPTiwgMTApO1xuICAgICAgICBjb25zdCB1c2VVdkluVmVydCA9IHRoaXMub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsO1xuICAgICAgICBjb25zdCB1c2VVdkluRnJhZyA9IHRoaXMubWFwICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLmVtaXNzaXZlTWFwICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLnNoYWRlTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLnNoYWRpbmdTaGlmdFRleHR1cmUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMucmltTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLnV2QW5pbWF0aW9uTWFza1RleHR1cmUgIT09IG51bGw7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAvLyBUZW1wb3JhcnkgY29tcGF0IGFnYWluc3Qgc2hhZGVyIGNoYW5nZSBAIFRocmVlLmpzIHIxMjZcbiAgICAgICAgICAgIC8vIFNlZTogIzIxMjA1LCAjMjEzMDcsICMyMTI5OVxuICAgICAgICAgICAgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OOiB0aHJlZVJldmlzaW9uLFxuICAgICAgICAgICAgT1VUTElORTogdGhpcy5faXNPdXRsaW5lLFxuICAgICAgICAgICAgTVRPT05fVVNFX1VWOiB1c2VVdkluVmVydCB8fCB1c2VVdkluRnJhZyxcbiAgICAgICAgICAgIE1UT09OX1VWU19WRVJURVhfT05MWTogdXNlVXZJblZlcnQgJiYgIXVzZVV2SW5GcmFnLFxuICAgICAgICAgICAgVjBfQ09NUEFUX1NIQURFOiB0aGlzLl92MENvbXBhdFNoYWRlLFxuICAgICAgICAgICAgVVNFX1NIQURFTVVMVElQTFlURVhUVVJFOiB0aGlzLnNoYWRlTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsLFxuICAgICAgICAgICAgVVNFX1NIQURJTkdTSElGVFRFWFRVUkU6IHRoaXMuc2hhZGluZ1NoaWZ0VGV4dHVyZSAhPT0gbnVsbCxcbiAgICAgICAgICAgIFVTRV9NQVRDQVBURVhUVVJFOiB0aGlzLm1hdGNhcFRleHR1cmUgIT09IG51bGwsXG4gICAgICAgICAgICBVU0VfUklNTVVMVElQTFlURVhUVVJFOiB0aGlzLnJpbU11bHRpcGx5VGV4dHVyZSAhPT0gbnVsbCxcbiAgICAgICAgICAgIFVTRV9PVVRMSU5FV0lEVEhNVUxUSVBMWVRFWFRVUkU6IHRoaXMuX2lzT3V0bGluZSAmJiB0aGlzLm91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZSAhPT0gbnVsbCxcbiAgICAgICAgICAgIFVTRV9VVkFOSU1BVElPTk1BU0tURVhUVVJFOiB0aGlzLnV2QW5pbWF0aW9uTWFza1RleHR1cmUgIT09IG51bGwsXG4gICAgICAgICAgICBJR05PUkVfVkVSVEVYX0NPTE9SOiB0aGlzLl9pZ25vcmVWZXJ0ZXhDb2xvciA9PT0gdHJ1ZSxcbiAgICAgICAgICAgIERFQlVHX05PUk1BTDogdGhpcy5fZGVidWdNb2RlID09PSAnbm9ybWFsJyxcbiAgICAgICAgICAgIERFQlVHX0xJVFNIQURFUkFURTogdGhpcy5fZGVidWdNb2RlID09PSAnbGl0U2hhZGVSYXRlJyxcbiAgICAgICAgICAgIERFQlVHX1VWOiB0aGlzLl9kZWJ1Z01vZGUgPT09ICd1dicsXG4gICAgICAgICAgICBPVVRMSU5FX1dJRFRIX1dPUkxEOiB0aGlzLl9pc091dGxpbmUgJiYgdGhpcy5fb3V0bGluZVdpZHRoTW9kZSA9PT0gTVRvb25NYXRlcmlhbE91dGxpbmVXaWR0aE1vZGUuV29ybGRDb29yZGluYXRlcyxcbiAgICAgICAgICAgIE9VVExJTkVfV0lEVEhfU0NSRUVOOiB0aGlzLl9pc091dGxpbmUgJiYgdGhpcy5fb3V0bGluZVdpZHRoTW9kZSA9PT0gTVRvb25NYXRlcmlhbE91dGxpbmVXaWR0aE1vZGUuU2NyZWVuQ29vcmRpbmF0ZXMsXG4gICAgICAgIH07XG4gICAgfVxuICAgIF91cGRhdGVUZXh0dXJlTWF0cml4KHNyYywgZHN0KSB7XG4gICAgICAgIGlmIChzcmMudmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChzcmMudmFsdWUubWF0cml4QXV0b1VwZGF0ZSkge1xuICAgICAgICAgICAgICAgIHNyYy52YWx1ZS51cGRhdGVNYXRyaXgoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRzdC52YWx1ZS5jb3B5KHNyYy52YWx1ZS5tYXRyaXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jb25zdCBjb2xvclNwYWNlRW5jb2RpbmdNYXAgPSB7XG4gICAgJyc6IDMwMDAsXG4gICAgc3JnYjogMzAwMSxcbn07XG4vKipcbiAqIEEgY29tcGF0IGZ1bmN0aW9uIHRvIHNldCB0ZXh0dXJlIGNvbG9yIHNwYWNlLlxuICpcbiAqIENPTVBBVDogcHJlLXIxNTJcbiAqIFN0YXJ0aW5nIGZyb20gVGhyZWUuanMgcjE1MiwgYHRleHR1cmUuZW5jb2RpbmdgIGlzIHJlbmFtZWQgdG8gYHRleHR1cmUuY29sb3JTcGFjZWAuXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgaGFuZGxlIHRoZSBjb21hcHQuXG4gKlxuICogQHBhcmFtIHRleHR1cmUgVGhlIHRleHR1cmUgeW91IHdhbnQgdG8gc2V0IHRoZSBjb2xvciBzcGFjZSB0b1xuICogQHBhcmFtIGNvbG9yU3BhY2UgVGhlIGNvbG9yIHNwYWNlIHlvdSB3YW50IHRvIHNldCB0byB0aGUgdGV4dHVyZVxuICovXG5mdW5jdGlvbiBzZXRUZXh0dXJlQ29sb3JTcGFjZSh0ZXh0dXJlLCBjb2xvclNwYWNlKSB7XG4gICAgaWYgKHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCkgPj0gMTUyKSB7XG4gICAgICAgIHRleHR1cmUuY29sb3JTcGFjZSA9IGNvbG9yU3BhY2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0ZXh0dXJlLmVuY29kaW5nID0gY29sb3JTcGFjZUVuY29kaW5nTWFwW2NvbG9yU3BhY2VdO1xuICAgIH1cbn1cblxuLyoqXG4gKiBNYXRlcmlhbFBhcmFtZXRlcnMgaGF0ZXMgYHVuZGVmaW5lZGAuIFRoaXMgaGVscGVyIGF1dG9tYXRpY2FsbHkgcmVqZWN0cyBhc3NpZ24gb2YgdGhlc2UgYHVuZGVmaW5lZGAuXG4gKiBJdCBhbHNvIGhhbmRsZXMgYXN5bmNocm9ub3VzIHByb2Nlc3Mgb2YgdGV4dHVyZXMuXG4gKiBNYWtlIHN1cmUgYXdhaXQgZm9yIHtAbGluayBHTFRGTVRvb25NYXRlcmlhbFBhcmFtc0Fzc2lnbkhlbHBlci5wZW5kaW5nfS5cbiAqL1xuY2xhc3MgR0xURk1Ub29uTWF0ZXJpYWxQYXJhbXNBc3NpZ25IZWxwZXIge1xuICAgIGdldCBwZW5kaW5nKCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwodGhpcy5fcGVuZGluZ3MpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIsIG1hdGVyaWFsUGFyYW1zKSB7XG4gICAgICAgIHRoaXMuX3BhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5fbWF0ZXJpYWxQYXJhbXMgPSBtYXRlcmlhbFBhcmFtcztcbiAgICAgICAgdGhpcy5fcGVuZGluZ3MgPSBbXTtcbiAgICB9XG4gICAgYXNzaWduUHJpbWl0aXZlKGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX21hdGVyaWFsUGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3NpZ25Db2xvcihrZXksIHZhbHVlLCBjb252ZXJ0U1JHQlRvTGluZWFyKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9tYXRlcmlhbFBhcmFtc1trZXldID0gbmV3IFRIUkVFLkNvbG9yKCkuZnJvbUFycmF5KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjb252ZXJ0U1JHQlRvTGluZWFyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbWF0ZXJpYWxQYXJhbXNba2V5XS5jb252ZXJ0U1JHQlRvTGluZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXNzaWduVGV4dHVyZShrZXksIHRleHR1cmUsIGlzQ29sb3JUZXh0dXJlKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gKCgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGV4dHVyZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMuX3BhcnNlci5hc3NpZ25UZXh0dXJlKHRoaXMuX21hdGVyaWFsUGFyYW1zLCBrZXksIHRleHR1cmUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNDb2xvclRleHR1cmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRleHR1cmVDb2xvclNwYWNlKHRoaXMuX21hdGVyaWFsUGFyYW1zW2tleV0sICdzcmdiJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSkoKTtcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdzLnB1c2gocHJvbWlzZSk7XG4gICAgICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzc2lnblRleHR1cmVCeUluZGV4KGtleSwgdGV4dHVyZUluZGV4LCBpc0NvbG9yVGV4dHVyZSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWduVGV4dHVyZShrZXksIHRleHR1cmVJbmRleCAhPSBudWxsID8geyBpbmRleDogdGV4dHVyZUluZGV4IH0gOiB1bmRlZmluZWQsIGlzQ29sb3JUZXh0dXJlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG5jbGFzcyBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUU7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5yZW5kZXJPcmRlck9mZnNldCA9IChfYSA9IG9wdGlvbnMucmVuZGVyT3JkZXJPZmZzZXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDA7XG4gICAgICAgIHRoaXMudjBDb21wYXRTaGFkZSA9IChfYiA9IG9wdGlvbnMudjBDb21wYXRTaGFkZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZmFsc2U7XG4gICAgICAgIHRoaXMuZGVidWdNb2RlID0gKF9jID0gb3B0aW9ucy5kZWJ1Z01vZGUpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICdub25lJztcbiAgICAgICAgdGhpcy5fbVRvb25NYXRlcmlhbFNldCA9IG5ldyBTZXQoKTtcbiAgICB9XG4gICAgYmVmb3JlUm9vdCgpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZVVubGl0RXh0ZW5zaW9uSWZNVG9vbkV4aXN0cygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtTVRvb25NYXRlcmlhbHMgPSBBcnJheS5mcm9tKHRoaXMuX21Ub29uTWF0ZXJpYWxTZXQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0TWF0ZXJpYWxUeXBlKG1hdGVyaWFsSW5kZXgpIHtcbiAgICAgICAgY29uc3QgdjFFeHRlbnNpb24gPSB0aGlzLl9nZXRNVG9vbkV4dGVuc2lvbihtYXRlcmlhbEluZGV4KTtcbiAgICAgICAgaWYgKHYxRXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gTVRvb25NYXRlcmlhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZXh0ZW5kTWF0ZXJpYWxQYXJhbXMobWF0ZXJpYWxJbmRleCwgbWF0ZXJpYWxQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5fZ2V0TVRvb25FeHRlbnNpb24obWF0ZXJpYWxJbmRleCk7XG4gICAgICAgIGlmIChleHRlbnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9leHRlbmRNYXRlcmlhbFBhcmFtcyhleHRlbnNpb24sIG1hdGVyaWFsUGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgbG9hZE1lc2gobWVzaEluZGV4KSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlciA9IHRoaXMucGFyc2VyO1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHBhcnNlci5qc29uO1xuICAgICAgICAgICAgY29uc3QgbWVzaERlZiA9IChfYSA9IGpzb24ubWVzaGVzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbbWVzaEluZGV4XTtcbiAgICAgICAgICAgIGlmIChtZXNoRGVmID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW46IEF0dGVtcHQgdG8gdXNlIG1lc2hlc1ske21lc2hJbmRleH1dIG9mIGdsVEYgYnV0IHRoZSBtZXNoIGRvZXNuJ3QgZXhpc3RgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHByaW1pdGl2ZXNEZWYgPSBtZXNoRGVmLnByaW1pdGl2ZXM7XG4gICAgICAgICAgICBjb25zdCBtZXNoT3JHcm91cCA9IHlpZWxkIHBhcnNlci5sb2FkTWVzaChtZXNoSW5kZXgpO1xuICAgICAgICAgICAgaWYgKHByaW1pdGl2ZXNEZWYubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzaCA9IG1lc2hPckdyb3VwO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsSW5kZXggPSBwcmltaXRpdmVzRGVmWzBdLm1hdGVyaWFsO1xuICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBQcmltaXRpdmUobWVzaCwgbWF0ZXJpYWxJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBtZXNoT3JHcm91cDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByaW1pdGl2ZXNEZWYubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzaCA9IGdyb3VwLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbEluZGV4ID0gcHJpbWl0aXZlc0RlZltpXS5tYXRlcmlhbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsSW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBQcmltaXRpdmUobWVzaCwgbWF0ZXJpYWxJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWVzaE9yR3JvdXA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWxldGUgdXNlIG9mIGBLSFJfbWF0ZXJpYWxzX3VubGl0YCBmcm9tIGl0cyBgbWF0ZXJpYWxzYCBpZiB0aGUgbWF0ZXJpYWwgaXMgdXNpbmcgTVRvb24uXG4gICAgICpcbiAgICAgKiBTaW5jZSBHTFRGTG9hZGVyIGhhdmUgc28gbWFueSBoYXJkY29kZWQgcHJvY2VkdXJlIHJlbGF0ZWQgdG8gYEtIUl9tYXRlcmlhbHNfdW5saXRgXG4gICAgICogd2UgaGF2ZSB0byBkZWxldGUgdGhlIGV4dGVuc2lvbiBiZWZvcmUgd2Ugc3RhcnQgdG8gcGFyc2UgdGhlIGdsVEYuXG4gICAgICovXG4gICAgX3JlbW92ZVVubGl0RXh0ZW5zaW9uSWZNVG9vbkV4aXN0cygpIHtcbiAgICAgICAgY29uc3QgcGFyc2VyID0gdGhpcy5wYXJzZXI7XG4gICAgICAgIGNvbnN0IGpzb24gPSBwYXJzZXIuanNvbjtcbiAgICAgICAgY29uc3QgbWF0ZXJpYWxEZWZzID0ganNvbi5tYXRlcmlhbHM7XG4gICAgICAgIG1hdGVyaWFsRGVmcyA9PT0gbnVsbCB8fCBtYXRlcmlhbERlZnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG1hdGVyaWFsRGVmcy5tYXAoKG1hdGVyaWFsRGVmLCBpTWF0ZXJpYWwpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMuX2dldE1Ub29uRXh0ZW5zaW9uKGlNYXRlcmlhbCk7XG4gICAgICAgICAgICBpZiAoZXh0ZW5zaW9uICYmICgoX2EgPSBtYXRlcmlhbERlZi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbJ0tIUl9tYXRlcmlhbHNfdW5saXQnXSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgbWF0ZXJpYWxEZWYuZXh0ZW5zaW9uc1snS0hSX21hdGVyaWFsc191bmxpdCddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2dldE1Ub29uRXh0ZW5zaW9uKG1hdGVyaWFsSW5kZXgpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgcGFyc2VyID0gdGhpcy5wYXJzZXI7XG4gICAgICAgIGNvbnN0IGpzb24gPSBwYXJzZXIuanNvbjtcbiAgICAgICAgY29uc3QgbWF0ZXJpYWxEZWYgPSAoX2EgPSBqc29uLm1hdGVyaWFscykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW21hdGVyaWFsSW5kZXhdO1xuICAgICAgICBpZiAobWF0ZXJpYWxEZWYgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luOiBBdHRlbXB0IHRvIHVzZSBtYXRlcmlhbHNbJHttYXRlcmlhbEluZGV4fV0gb2YgZ2xURiBidXQgdGhlIG1hdGVyaWFsIGRvZXNuJ3QgZXhpc3RgKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gKF9iID0gbWF0ZXJpYWxEZWYuZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iW01Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUVdO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BlY1ZlcnNpb24gPSBleHRlbnNpb24uc3BlY1ZlcnNpb247XG4gICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUy5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW46IFVua25vd24gJHtNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FfSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgICB9XG4gICAgX2V4dGVuZE1hdGVyaWFsUGFyYW1zKGV4dGVuc2lvbiwgbWF0ZXJpYWxQYXJhbXMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgLy8gUmVtb3ZpbmcgbWF0ZXJpYWwgcGFyYW1zIHRoYXQgaXMgbm90IHJlcXVpcmVkIHRvIHN1cHJlc3Mgd2FybmluZ3MuXG4gICAgICAgICAgICBkZWxldGUgbWF0ZXJpYWxQYXJhbXMubWV0YWxuZXNzO1xuICAgICAgICAgICAgZGVsZXRlIG1hdGVyaWFsUGFyYW1zLnJvdWdobmVzcztcbiAgICAgICAgICAgIGNvbnN0IGFzc2lnbkhlbHBlciA9IG5ldyBHTFRGTVRvb25NYXRlcmlhbFBhcmFtc0Fzc2lnbkhlbHBlcih0aGlzLnBhcnNlciwgbWF0ZXJpYWxQYXJhbXMpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgndHJhbnNwYXJlbnRXaXRoWldyaXRlJywgZXh0ZW5zaW9uLnRyYW5zcGFyZW50V2l0aFpXcml0ZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduQ29sb3IoJ3NoYWRlQ29sb3JGYWN0b3InLCBleHRlbnNpb24uc2hhZGVDb2xvckZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduVGV4dHVyZSgnc2hhZGVNdWx0aXBseVRleHR1cmUnLCBleHRlbnNpb24uc2hhZGVNdWx0aXBseVRleHR1cmUsIHRydWUpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnc2hhZGluZ1NoaWZ0RmFjdG9yJywgZXh0ZW5zaW9uLnNoYWRpbmdTaGlmdEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduVGV4dHVyZSgnc2hhZGluZ1NoaWZ0VGV4dHVyZScsIGV4dGVuc2lvbi5zaGFkaW5nU2hpZnRUZXh0dXJlLCB0cnVlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3NoYWRpbmdTaGlmdFRleHR1cmVTY2FsZScsIChfYSA9IGV4dGVuc2lvbi5zaGFkaW5nU2hpZnRUZXh0dXJlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2NhbGUpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnc2hhZGluZ1Rvb255RmFjdG9yJywgZXh0ZW5zaW9uLnNoYWRpbmdUb29ueUZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdnaUVxdWFsaXphdGlvbkZhY3RvcicsIGV4dGVuc2lvbi5naUVxdWFsaXphdGlvbkZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduQ29sb3IoJ21hdGNhcEZhY3RvcicsIGV4dGVuc2lvbi5tYXRjYXBGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblRleHR1cmUoJ21hdGNhcFRleHR1cmUnLCBleHRlbnNpb24ubWF0Y2FwVGV4dHVyZSwgdHJ1ZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduQ29sb3IoJ3BhcmFtZXRyaWNSaW1Db2xvckZhY3RvcicsIGV4dGVuc2lvbi5wYXJhbWV0cmljUmltQ29sb3JGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblRleHR1cmUoJ3JpbU11bHRpcGx5VGV4dHVyZScsIGV4dGVuc2lvbi5yaW1NdWx0aXBseVRleHR1cmUsIHRydWUpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgncmltTGlnaHRpbmdNaXhGYWN0b3InLCBleHRlbnNpb24ucmltTGlnaHRpbmdNaXhGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgncGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvcicsIGV4dGVuc2lvbi5wYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3BhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yJywgZXh0ZW5zaW9uLnBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ291dGxpbmVXaWR0aE1vZGUnLCBleHRlbnNpb24ub3V0bGluZVdpZHRoTW9kZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdvdXRsaW5lV2lkdGhGYWN0b3InLCBleHRlbnNpb24ub3V0bGluZVdpZHRoRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25UZXh0dXJlKCdvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUnLCBleHRlbnNpb24ub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlLCBmYWxzZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduQ29sb3IoJ291dGxpbmVDb2xvckZhY3RvcicsIGV4dGVuc2lvbi5vdXRsaW5lQ29sb3JGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnb3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yJywgZXh0ZW5zaW9uLm91dGxpbmVMaWdodGluZ01peEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduVGV4dHVyZSgndXZBbmltYXRpb25NYXNrVGV4dHVyZScsIGV4dGVuc2lvbi51dkFuaW1hdGlvbk1hc2tUZXh0dXJlLCBmYWxzZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCd1dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3RvcicsIGV4dGVuc2lvbi51dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCd1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvcicsIGV4dGVuc2lvbi51dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCd1dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3InLCBleHRlbnNpb24udXZBbmltYXRpb25Sb3RhdGlvblNwZWVkRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3YwQ29tcGF0U2hhZGUnLCB0aGlzLnYwQ29tcGF0U2hhZGUpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnZGVidWdNb2RlJywgdGhpcy5kZWJ1Z01vZGUpO1xuICAgICAgICAgICAgeWllbGQgYXNzaWduSGVscGVyLnBlbmRpbmc7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGlzIHdpbGwgZG8gdHdvIHByb2Nlc3NlcyB0aGF0IGlzIHJlcXVpcmVkIHRvIHJlbmRlciBNVG9vbiBwcm9wZXJseS5cbiAgICAgKlxuICAgICAqIC0gU2V0IHJlbmRlciBvcmRlclxuICAgICAqIC0gR2VuZXJhdGUgb3V0bGluZVxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc2ggQSB0YXJnZXQgR0xURiBwcmltaXRpdmVcbiAgICAgKiBAcGFyYW0gbWF0ZXJpYWxJbmRleCBUaGUgbWF0ZXJpYWwgaW5kZXggb2YgdGhlIHByaW1pdGl2ZVxuICAgICAqL1xuICAgIF9zZXR1cFByaW1pdGl2ZShtZXNoLCBtYXRlcmlhbEluZGV4KSB7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMuX2dldE1Ub29uRXh0ZW5zaW9uKG1hdGVyaWFsSW5kZXgpO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJPcmRlciA9IHRoaXMuX3BhcnNlUmVuZGVyT3JkZXIoZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIG1lc2gucmVuZGVyT3JkZXIgPSByZW5kZXJPcmRlciArIHRoaXMucmVuZGVyT3JkZXJPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZU91dGxpbmUobWVzaCk7XG4gICAgICAgICAgICB0aGlzLl9hZGRUb01hdGVyaWFsU2V0KG1lc2gpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIG91dGxpbmUgZm9yIHRoZSBnaXZlbiBtZXNoLCBpZiBpdCBuZWVkcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZXNoIFRoZSB0YXJnZXQgbWVzaFxuICAgICAqL1xuICAgIF9nZW5lcmF0ZU91dGxpbmUobWVzaCkge1xuICAgICAgICAvLyBPSywgaXQncyB0aGUgaGFja3kgcGFydC5cbiAgICAgICAgLy8gV2UgYXJlIGdvaW5nIHRvIGR1cGxpY2F0ZSB0aGUgTVRvb25NYXRlcmlhbCBmb3Igb3V0bGluZSB1c2UuXG4gICAgICAgIC8vIFRoZW4gd2UgYXJlIGdvaW5nIHRvIGNyZWF0ZSB0d28gZ2VvbWV0cnkgZ3JvdXBzIGFuZCByZWZlciBzYW1lIGJ1ZmZlciBidXQgZGlmZmVyZW50IG1hdGVyaWFsLlxuICAgICAgICAvLyBJdCdzIGhvdyB3ZSBkcmF3IHR3byBtYXRlcmlhbHMgYXQgb25jZSB1c2luZyBhIHNpbmdsZSBtZXNoLlxuICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIG1hdGVyaWFsIGlzIG10b29uXG4gICAgICAgIGNvbnN0IHN1cmZhY2VNYXRlcmlhbCA9IG1lc2gubWF0ZXJpYWw7XG4gICAgICAgIGlmICghKHN1cmZhY2VNYXRlcmlhbCBpbnN0YW5jZW9mIE1Ub29uTWF0ZXJpYWwpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgd2hldGhlciB3ZSByZWFsbHkgaGF2ZSB0byBwcmVwYXJlIG91dGxpbmUgb3Igbm90XG4gICAgICAgIGlmIChzdXJmYWNlTWF0ZXJpYWwub3V0bGluZVdpZHRoTW9kZSA9PT0gJ25vbmUnIHx8IHN1cmZhY2VNYXRlcmlhbC5vdXRsaW5lV2lkdGhGYWN0b3IgPD0gMC4wKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWFrZSBpdHMgbWF0ZXJpYWwgYW4gYXJyYXlcbiAgICAgICAgbWVzaC5tYXRlcmlhbCA9IFtzdXJmYWNlTWF0ZXJpYWxdOyAvLyBtZXNoLm1hdGVyaWFsIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBNYXRlcmlhbCBpbiBHTFRGTG9hZGVyXG4gICAgICAgIC8vIGR1cGxpY2F0ZSB0aGUgbWF0ZXJpYWwgZm9yIG91dGxpbmUgdXNlXG4gICAgICAgIGNvbnN0IG91dGxpbmVNYXRlcmlhbCA9IHN1cmZhY2VNYXRlcmlhbC5jbG9uZSgpO1xuICAgICAgICBvdXRsaW5lTWF0ZXJpYWwubmFtZSArPSAnIChPdXRsaW5lKSc7XG4gICAgICAgIG91dGxpbmVNYXRlcmlhbC5pc091dGxpbmUgPSB0cnVlO1xuICAgICAgICBvdXRsaW5lTWF0ZXJpYWwuc2lkZSA9IFRIUkVFLkJhY2tTaWRlO1xuICAgICAgICBtZXNoLm1hdGVyaWFsLnB1c2gob3V0bGluZU1hdGVyaWFsKTtcbiAgICAgICAgLy8gbWFrZSB0d28gZ2VvbWV0cnkgZ3JvdXBzIG91dCBvZiBhIHNhbWUgYnVmZmVyXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gbWVzaC5nZW9tZXRyeTsgLy8gbWVzaC5nZW9tZXRyeSBpcyBndWFyYW50ZWVkIHRvIGJlIGEgQnVmZmVyR2VvbWV0cnkgaW4gR0xURkxvYWRlclxuICAgICAgICBjb25zdCBwcmltaXRpdmVWZXJ0aWNlcyA9IGdlb21ldHJ5LmluZGV4ID8gZ2VvbWV0cnkuaW5kZXguY291bnQgOiBnZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLmNvdW50IC8gMztcbiAgICAgICAgZ2VvbWV0cnkuYWRkR3JvdXAoMCwgcHJpbWl0aXZlVmVydGljZXMsIDApO1xuICAgICAgICBnZW9tZXRyeS5hZGRHcm91cCgwLCBwcmltaXRpdmVWZXJ0aWNlcywgMSk7XG4gICAgfVxuICAgIF9hZGRUb01hdGVyaWFsU2V0KG1lc2gpIHtcbiAgICAgICAgY29uc3QgbWF0ZXJpYWxPck1hdGVyaWFscyA9IG1lc2gubWF0ZXJpYWw7XG4gICAgICAgIGNvbnN0IG1hdGVyaWFsU2V0ID0gbmV3IFNldCgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtYXRlcmlhbE9yTWF0ZXJpYWxzKSkge1xuICAgICAgICAgICAgbWF0ZXJpYWxPck1hdGVyaWFscy5mb3JFYWNoKChtYXRlcmlhbCkgPT4gbWF0ZXJpYWxTZXQuYWRkKG1hdGVyaWFsKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtYXRlcmlhbFNldC5hZGQobWF0ZXJpYWxPck1hdGVyaWFscyk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBtYXRlcmlhbCBvZiBtYXRlcmlhbFNldCkge1xuICAgICAgICAgICAgaWYgKG1hdGVyaWFsIGluc3RhbmNlb2YgTVRvb25NYXRlcmlhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX21Ub29uTWF0ZXJpYWxTZXQuYWRkKG1hdGVyaWFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBfcGFyc2VSZW5kZXJPcmRlcihleHRlbnNpb24pIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAvLyB0cmFuc3BhcmVudFdpdGhaV3JpdGUgcmFuZ2VzIGZyb20gMCB0byArOVxuICAgICAgICAvLyBtZXJlIHRyYW5zcGFyZW50IHJhbmdlcyBmcm9tIC05IHRvIDBcbiAgICAgICAgY29uc3QgZW5hYmxlZFpXcml0ZSA9IGV4dGVuc2lvbi50cmFuc3BhcmVudFdpdGhaV3JpdGU7XG4gICAgICAgIHJldHVybiAoZW5hYmxlZFpXcml0ZSA/IDAgOiAxOSkgKyAoKF9hID0gZXh0ZW5zaW9uLnJlbmRlclF1ZXVlT2Zmc2V0TnVtYmVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKTtcbiAgICB9XG59XG5NVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FID0gJ1ZSTUNfbWF0ZXJpYWxzX210b29uJztcblxuZXhwb3J0IHsgTVRvb25NYXRlcmlhbCwgTVRvb25NYXRlcmlhbERlYnVnTW9kZSwgTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbiwgTVRvb25NYXRlcmlhbE91dGxpbmVXaWR0aE1vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFcxaGRHVnlhV0ZzY3kxdGRHOXZiaTV0YjJSMWJHVXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk1pTENJdUxpOXpjbU12VFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pTNTBjeUlzSWk0dUwzTnlZeTlOVkc5dmJrMWhkR1Z5YVdGc1QzVjBiR2x1WlZkcFpIUm9UVzlrWlM1MGN5SXNJaTR1TDNOeVl5OTFkR2xzY3k5blpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTNTBjeUlzSWk0dUwzTnlZeTlOVkc5dmJrMWhkR1Z5YVdGc0xuUnpJaXdpTGk0dmMzSmpMM1YwYVd4ekwzTmxkRlJsZUhSMWNtVkRiMnh2Y2xOd1lXTmxMblJ6SWl3aUxpNHZjM0pqTDBkTVZFWk5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMXpRWE56YVdkdVNHVnNjR1Z5TG5Seklpd2lMaTR2YzNKakwwMVViMjl1VFdGMFpYSnBZV3hNYjJGa1pYSlFiSFZuYVc0dWRITWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLbHh5WEc1RGIzQjVjbWxuYUhRZ0tHTXBJRTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2Ymk1Y2NseHVYSEpjYmxCbGNtMXBjM05wYjI0Z2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJR0Z1WkM5dmNpQmthWE4wY21saWRYUmxJSFJvYVhNZ2MyOW1kSGRoY21VZ1ptOXlJR0Z1ZVZ4eVhHNXdkWEp3YjNObElIZHBkR2dnYjNJZ2QybDBhRzkxZENCbVpXVWdhWE1nYUdWeVpXSjVJR2R5WVc1MFpXUXVYSEpjYmx4eVhHNVVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUlFRk9SQ0JVU0VVZ1FWVlVTRTlTSUVSSlUwTk1RVWxOVXlCQlRFd2dWMEZTVWtGT1ZFbEZVeUJYU1ZSSVhISmNibEpGUjBGU1JDQlVUeUJVU0VsVElGTlBSbFJYUVZKRklFbE9RMHhWUkVsT1J5QkJURXdnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUSUU5R0lFMUZVa05JUVU1VVFVSkpURWxVV1Z4eVhHNUJUa1FnUmtsVVRrVlRVeTRnU1U0Z1RrOGdSVlpGVGxRZ1UwaEJURXdnVkVoRklFRlZWRWhQVWlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCVFVFVkRTVUZNTENCRVNWSkZRMVFzWEhKY2JrbE9SRWxTUlVOVUxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTUlFUkJUVUZIUlZNZ1QxSWdRVTVaSUVSQlRVRkhSVk1nVjBoQlZGTlBSVlpGVWlCU1JWTlZURlJKVGtjZ1JsSlBUVnh5WEc1TVQxTlRJRTlHSUZWVFJTd2dSRUZVUVNCUFVpQlFVazlHU1ZSVExDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1RrVkhURWxIUlU1RFJTQlBVbHh5WEc1UFZFaEZVaUJVVDFKVVNVOVZVeUJCUTFSSlQwNHNJRUZTU1ZOSlRrY2dUMVZVSUU5R0lFOVNJRWxPSUVOUFRrNUZRMVJKVDA0Z1YwbFVTQ0JVU0VVZ1ZWTkZJRTlTWEhKY2JsQkZVa1pQVWsxQlRrTkZJRTlHSUZSSVNWTWdVMDlHVkZkQlVrVXVYSEpjYmlvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FJQ292WEhKY2JpOHFJR2RzYjJKaGJDQlNaV1pzWldOMExDQlFjbTl0YVhObElDb3ZYSEpjYmx4eVhHNTJZWElnWlhoMFpXNWtVM1JoZEdsamN5QTlJR1oxYm1OMGFXOXVLR1FzSUdJcElIdGNjbHh1SUNBZ0lHVjRkR1Z1WkZOMFlYUnBZM01nUFNCUFltcGxZM1F1YzJWMFVISnZkRzkwZVhCbFQyWWdmSHhjY2x4dUlDQWdJQ0FnSUNBb2V5QmZYM0J5YjNSdlgxODZJRnRkSUgwZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNBbUppQm1kVzVqZEdsdmJpQW9aQ3dnWWlrZ2V5QmtMbDlmY0hKdmRHOWZYeUE5SUdJN0lIMHBJSHg4WEhKY2JpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJpS1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLR0lzSUhBcEtTQmtXM0JkSUQwZ1lsdHdYVHNnZlR0Y2NseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGgwWlc1a2N5aGtMQ0JpS1NCN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHSWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJpSUNFOVBTQnVkV3hzS1Z4eVhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEYkdGemN5QmxlSFJsYm1SeklIWmhiSFZsSUZ3aUlDc2dVM1J5YVc1bktHSXBJQ3NnWENJZ2FYTWdibTkwSUdFZ1kyOXVjM1J5ZFdOMGIzSWdiM0lnYm5Wc2JGd2lLVHRjY2x4dUlDQWdJR1Y0ZEdWdVpGTjBZWFJwWTNNb1pDd2dZaWs3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJmWHlncElIc2dkR2hwY3k1amIyNXpkSEoxWTNSdmNpQTlJR1E3SUgxY2NseHVJQ0FnSUdRdWNISnZkRzkwZVhCbElEMGdZaUE5UFQwZ2JuVnNiQ0EvSUU5aWFtVmpkQzVqY21WaGRHVW9ZaWtnT2lBb1gxOHVjSEp2ZEc5MGVYQmxJRDBnWWk1d2NtOTBiM1I1Y0dVc0lHNWxkeUJmWHlncEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJSFpoY2lCZlgyRnpjMmxuYmlBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lDQWdYMTloYzNOcFoyNGdQU0JQWW1wbFkzUXVZWE56YVdkdUlIeDhJR1oxYm1OMGFXOXVJRjlmWVhOemFXZHVLSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnpMQ0JwSUQwZ01Td2diaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrZ1BDQnVPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2N5QTlJR0Z5WjNWdFpXNTBjMXRwWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnpLU0JwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tITXNJSEFwS1NCMFczQmRJRDBnYzF0d1hUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnWDE5aGMzTnBaMjR1WVhCd2JIa29kR2hwY3l3Z1lYSm5kVzFsYm5SektUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY21WemRDaHpMQ0JsS1NCN1hISmNiaUFnSUNCMllYSWdkQ0E5SUh0OU8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJ6S1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLSE1zSUhBcElDWW1JR1V1YVc1a1pYaFBaaWh3S1NBOElEQXBYSEpjYmlBZ0lDQWdJQ0FnZEZ0d1hTQTlJSE5iY0YwN1hISmNiaUFnSUNCcFppQW9jeUFoUFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6SUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwWEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUhBZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpLSE1wT3lCcElEd2djQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aUzVwYm1SbGVFOW1LSEJiYVYwcElEd2dNQ0FtSmlCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG5CeWIzQmxjblI1U1hORmJuVnRaWEpoWW14bExtTmhiR3dvY3l3Z2NGdHBYU2twWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMFczQmJhVjFkSUQwZ2MxdHdXMmxkWFR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWkdWamIzSmhkR1VvWkdWamIzSmhkRzl5Y3l3Z2RHRnlaMlYwTENCclpYa3NJR1JsYzJNcElIdGNjbHh1SUNBZ0lIWmhjaUJqSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUN3Z2NpQTlJR01nUENBeklEOGdkR0Z5WjJWMElEb2daR1Z6WXlBOVBUMGdiblZzYkNBL0lHUmxjMk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSFJoY21kbGRDd2dhMlY1S1NBNklHUmxjMk1zSUdRN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlGSmxabXhsWTNRZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlZZ2RIbHdaVzltSUZKbFpteGxZM1F1WkdWamIzSmhkR1VnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnY2lBOUlGSmxabXhsWTNRdVpHVmpiM0poZEdVb1pHVmpiM0poZEc5eWN5d2dkR0Z5WjJWMExDQnJaWGtzSUdSbGMyTXBPMXh5WEc0Z0lDQWdaV3h6WlNCbWIzSWdLSFpoY2lCcElEMGdaR1ZqYjNKaGRHOXljeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dhV1lnS0dRZ1BTQmtaV052Y21GMGIzSnpXMmxkS1NCeUlEMGdLR01nUENBeklEOGdaQ2h5S1NBNklHTWdQaUF6SUQ4Z1pDaDBZWEpuWlhRc0lHdGxlU3dnY2lrZ09pQmtLSFJoY21kbGRDd2dhMlY1S1NrZ2ZId2djanRjY2x4dUlDQWdJSEpsZEhWeWJpQmpJRDRnTXlBbUppQnlJQ1ltSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBZWEpuWlhRc0lHdGxlU3dnY2lrc0lISTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNCaGNtRnRLSEJoY21GdFNXNWtaWGdzSUdSbFkyOXlZWFJ2Y2lrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMFlYSm5aWFFzSUd0bGVTa2dleUJrWldOdmNtRjBiM0lvZEdGeVoyVjBMQ0JyWlhrc0lIQmhjbUZ0U1c1a1pYZ3BPeUI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVnpSR1ZqYjNKaGRHVW9ZM1J2Y2l3Z1pHVnpZM0pwY0hSdmNrbHVMQ0JrWldOdmNtRjBiM0p6TENCamIyNTBaWGgwU1c0c0lHbHVhWFJwWVd4cGVtVnljeXdnWlhoMGNtRkpibWwwYVdGc2FYcGxjbk1wSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdGalkyVndkQ2htS1NCN0lHbG1JQ2htSUNFOVBTQjJiMmxrSURBZ0ppWWdkSGx3Wlc5bUlHWWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtaMWJtTjBhVzl1SUdWNGNHVmpkR1ZrWENJcE95QnlaWFIxY200Z1pqc2dmVnh5WEc0Z0lDQWdkbUZ5SUd0cGJtUWdQU0JqYjI1MFpYaDBTVzR1YTJsdVpDd2dhMlY1SUQwZ2EybHVaQ0E5UFQwZ1hDSm5aWFIwWlhKY0lpQS9JRndpWjJWMFhDSWdPaUJyYVc1a0lEMDlQU0JjSW5ObGRIUmxjbHdpSUQ4Z1hDSnpaWFJjSWlBNklGd2lkbUZzZFdWY0lqdGNjbHh1SUNBZ0lIWmhjaUIwWVhKblpYUWdQU0FoWkdWelkzSnBjSFJ2Y2tsdUlDWW1JR04wYjNJZ1B5QmpiMjUwWlhoMFNXNWJYQ0p6ZEdGMGFXTmNJbDBnUHlCamRHOXlJRG9nWTNSdmNpNXdjbTkwYjNSNWNHVWdPaUJ1ZFd4c08xeHlYRzRnSUNBZ2RtRnlJR1JsYzJOeWFYQjBiM0lnUFNCa1pYTmpjbWx3ZEc5eVNXNGdmSHdnS0hSaGNtZGxkQ0EvSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9kR0Z5WjJWMExDQmpiMjUwWlhoMFNXNHVibUZ0WlNrZ09pQjdmU2s3WEhKY2JpQWdJQ0IyWVhJZ1h5d2daRzl1WlNBOUlHWmhiSE5sTzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlHUmxZMjl5WVhSdmNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlIdDlPMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdZMjl1ZEdWNGRFbHVLU0JqYjI1MFpYaDBXM0JkSUQwZ2NDQTlQVDBnWENKaFkyTmxjM05jSWlBL0lIdDlJRG9nWTI5dWRHVjRkRWx1VzNCZE8xeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z1kyOXVkR1Y0ZEVsdUxtRmpZMlZ6Y3lrZ1kyOXVkR1Y0ZEM1aFkyTmxjM05iY0YwZ1BTQmpiMjUwWlhoMFNXNHVZV05qWlhOelczQmRPMXh5WEc0Z0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVdSa1NXNXBkR2xoYkdsNlpYSWdQU0JtZFc1amRHbHZiaUFvWmlrZ2V5QnBaaUFvWkc5dVpTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0JoWkdRZ2FXNXBkR2xoYkdsNlpYSnpJR0ZtZEdWeUlHUmxZMjl5WVhScGIyNGdhR0Z6SUdOdmJYQnNaWFJsWkZ3aUtUc2daWGgwY21GSmJtbDBhV0ZzYVhwbGNuTXVjSFZ6YUNoaFkyTmxjSFFvWmlCOGZDQnVkV3hzS1NrN0lIMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZENBOUlDZ3dMQ0JrWldOdmNtRjBiM0p6VzJsZEtTaHJhVzVrSUQwOVBTQmNJbUZqWTJWemMyOXlYQ0lnUHlCN0lHZGxkRG9nWkdWelkzSnBjSFJ2Y2k1blpYUXNJSE5sZERvZ1pHVnpZM0pwY0hSdmNpNXpaWFFnZlNBNklHUmxjMk55YVhCMGIzSmJhMlY1WFN3Z1kyOXVkR1Y0ZENrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlXTmpaWE56YjNKY0lpa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBJRDA5UFNCMmIybGtJREFwSUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUQwOVBTQnVkV3hzSUh4OElIUjVjR1Z2WmlCeVpYTjFiSFFnSVQwOUlGd2liMkpxWldOMFhDSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUFltcGxZM1FnWlhod1pXTjBaV1JjSWlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNW5aWFFwS1NCa1pYTmpjbWx3ZEc5eUxtZGxkQ0E5SUY4N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNXpaWFFwS1NCa1pYTmpjbWx3ZEc5eUxuTmxkQ0E5SUY4N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNXBibWwwS1NrZ2FXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1h5azdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tGOGdQU0JoWTJObGNIUW9jbVZ6ZFd4MEtTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKbWFXVnNaRndpS1NCcGJtbDBhV0ZzYVhwbGNuTXVjSFZ6YUNoZktUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JrWlhOamNtbHdkRzl5VzJ0bGVWMGdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHbG1JQ2gwWVhKblpYUXBJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMFlYSm5aWFFzSUdOdmJuUmxlSFJKYmk1dVlXMWxMQ0JrWlhOamNtbHdkRzl5S1R0Y2NseHVJQ0FnSUdSdmJtVWdQU0IwY25WbE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY25WdVNXNXBkR2xoYkdsNlpYSnpLSFJvYVhOQmNtY3NJR2x1YVhScFlXeHBlbVZ5Y3l3Z2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUhaaGNpQjFjMlZXWVd4MVpTQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF5TzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCcGJtbDBhV0ZzYVhwbGNuTXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlIVnpaVlpoYkhWbElEOGdhVzVwZEdsaGJHbDZaWEp6VzJsZExtTmhiR3dvZEdocGMwRnlaeXdnZG1Gc2RXVXBJRG9nYVc1cGRHbGhiR2w2WlhKelcybGRMbU5oYkd3b2RHaHBjMEZ5WnlrN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnZFhObFZtRnNkV1VnUHlCMllXeDFaU0E2SUhadmFXUWdNRHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzQnliM0JMWlhrb2VDa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCNElEMDlQU0JjSW5ONWJXSnZiRndpSUQ4Z2VDQTZJRndpWENJdVkyOXVZMkYwS0hncE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzJWMFJuVnVZM1JwYjI1T1lXMWxLR1lzSUc1aGJXVXNJSEJ5WldacGVDa2dlMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1WVcxbElEMDlQU0JjSW5ONWJXSnZiRndpS1NCdVlXMWxJRDBnYm1GdFpTNWtaWE5qY21sd2RHbHZiaUEvSUZ3aVcxd2lMbU52Ym1OaGRDaHVZVzFsTG1SbGMyTnlhWEIwYVc5dUxDQmNJbDFjSWlrZ09pQmNJbHdpTzF4eVhHNGdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobUxDQmNJbTVoYldWY0lpd2dleUJqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzSUhaaGJIVmxPaUJ3Y21WbWFYZ2dQeUJjSWx3aUxtTnZibU5oZENod2NtVm1hWGdzSUZ3aUlGd2lMQ0J1WVcxbEtTQTZJRzVoYldVZ2ZTazdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5dFpYUmhaR0YwWVNodFpYUmhaR0YwWVV0bGVTd2diV1YwWVdSaGRHRldZV3gxWlNrZ2UxeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCU1pXWnNaV04wTG0xbGRHRmtZWFJoSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUhKbGRIVnliaUJTWldac1pXTjBMbTFsZEdGa1lYUmhLRzFsZEdGa1lYUmhTMlY1TENCdFpYUmhaR0YwWVZaaGJIVmxLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYZGhhWFJsY2loMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SekxDQlFMQ0JuWlc1bGNtRjBiM0lwSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdGa2IzQjBLSFpoYkhWbEtTQjdJSEpsZEhWeWJpQjJZV3gxWlNCcGJuTjBZVzVqWlc5bUlGQWdQeUIyWVd4MVpTQTZJRzVsZHlCUUtHWjFibU4wYVc5dUlDaHlaWE52YkhabEtTQjdJSEpsYzI5c2RtVW9kbUZzZFdVcE95QjlLVHNnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJRzVsZHlBb1VDQjhmQ0FvVUNBOUlGQnliMjFwYzJVcEtTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnWm5Wc1ptbHNiR1ZrS0haaGJIVmxLU0I3SUhSeWVTQjdJSE4wWlhBb1oyVnVaWEpoZEc5eUxtNWxlSFFvZG1Gc2RXVXBLVHNnZlNCallYUmphQ0FvWlNrZ2V5QnlaV3BsWTNRb1pTazdJSDBnZlZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlISmxhbVZqZEdWa0tIWmhiSFZsS1NCN0lIUnllU0I3SUhOMFpYQW9aMlZ1WlhKaGRHOXlXMXdpZEdoeWIzZGNJbDBvZG1Gc2RXVXBLVHNnZlNCallYUmphQ0FvWlNrZ2V5QnlaV3BsWTNRb1pTazdJSDBnZlZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvY21WemRXeDBLU0I3SUhKbGMzVnNkQzVrYjI1bElEOGdjbVZ6YjJ4MlpTaHlaWE4xYkhRdWRtRnNkV1VwSURvZ1lXUnZjSFFvY21WemRXeDBMblpoYkhWbEtTNTBhR1Z1S0daMWJHWnBiR3hsWkN3Z2NtVnFaV04wWldRcE95QjlYSEpjYmlBZ0lDQWdJQ0FnYzNSbGNDZ29aMlZ1WlhKaGRHOXlJRDBnWjJWdVpYSmhkRzl5TG1Gd2NHeDVLSFJvYVhOQmNtY3NJRjloY21kMWJXVnVkSE1nZkh3Z1cxMHBLUzV1WlhoMEtDa3BPMXh5WEc0Z0lDQWdmU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyZGxibVZ5WVhSdmNpaDBhR2x6UVhKbkxDQmliMlI1S1NCN1hISmNiaUFnSUNCMllYSWdYeUE5SUhzZ2JHRmlaV3c2SURBc0lITmxiblE2SUdaMWJtTjBhVzl1S0NrZ2V5QnBaaUFvZEZzd1hTQW1JREVwSUhSb2NtOTNJSFJiTVYwN0lISmxkSFZ5YmlCMFd6RmRPeUI5TENCMGNubHpPaUJiWFN3Z2IzQnpPaUJiWFNCOUxDQm1MQ0I1TENCMExDQm5PMXh5WEc0Z0lDQWdjbVYwZFhKdUlHY2dQU0I3SUc1bGVIUTZJSFpsY21Jb01Da3NJRndpZEdoeWIzZGNJam9nZG1WeVlpZ3hLU3dnWENKeVpYUjFjbTVjSWpvZ2RtVnlZaWd5S1NCOUxDQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ0tHZGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmU2tzSUdjN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMktTQjdJSEpsZEhWeWJpQnpkR1Z3S0Z0dUxDQjJYU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvYjNBcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1ppa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtkbGJtVnlZWFJ2Y2lCcGN5QmhiSEpsWVdSNUlHVjRaV04xZEdsdVp5NWNJaWs3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0djZ0ppWWdLR2NnUFNBd0xDQnZjRnN3WFNBbUppQW9YeUE5SURBcEtTd2dYeWtnZEhKNUlIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1lnUFNBeExDQjVJQ1ltSUNoMElEMGdiM0JiTUYwZ0ppQXlJRDhnZVZ0Y0luSmxkSFZ5Ymx3aVhTQTZJRzl3V3pCZElEOGdlVnRjSW5Sb2NtOTNYQ0pkSUh4OElDZ29kQ0E5SUhsYlhDSnlaWFIxY201Y0lsMHBJQ1ltSUhRdVkyRnNiQ2g1S1N3Z01Da2dPaUI1TG01bGVIUXBJQ1ltSUNFb2RDQTlJSFF1WTJGc2JDaDVMQ0J2Y0ZzeFhTa3BMbVJ2Ym1VcElISmxkSFZ5YmlCME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9lU0E5SURBc0lIUXBJRzl3SUQwZ1cyOXdXekJkSUNZZ01pd2dkQzUyWVd4MVpWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITjNhWFJqYUNBb2IzQmJNRjBwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTURvZ1kyRnpaU0F4T2lCMElEMGdiM0E3SUdKeVpXRnJPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTBPaUJmTG14aFltVnNLeXM3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0ZzeFhTd2daRzl1WlRvZ1ptRnNjMlVnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTlRvZ1h5NXNZV0psYkNzck95QjVJRDBnYjNCYk1WMDdJRzl3SUQwZ1d6QmRPeUJqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdOem9nYjNBZ1BTQmZMbTl3Y3k1d2IzQW9LVHNnWHk1MGNubHpMbkJ2Y0NncE95QmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0VvZENBOUlGOHVkSEo1Y3l3Z2RDQTlJSFF1YkdWdVozUm9JRDRnTUNBbUppQjBXM1F1YkdWdVozUm9JQzBnTVYwcElDWW1JQ2h2Y0Zzd1hTQTlQVDBnTmlCOGZDQnZjRnN3WFNBOVBUMGdNaWtwSUhzZ1h5QTlJREE3SUdOdmJuUnBiblZsT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUQwOVBTQXpJQ1ltSUNnaGRDQjhmQ0FvYjNCYk1WMGdQaUIwV3pCZElDWW1JRzl3V3pGZElEd2dkRnN6WFNrcEtTQjdJRjh1YkdGaVpXd2dQU0J2Y0ZzeFhUc2dZbkpsWVdzN0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iM0JiTUYwZ1BUMDlJRFlnSmlZZ1h5NXNZV0psYkNBOElIUmJNVjBwSUhzZ1h5NXNZV0psYkNBOUlIUmJNVjA3SUhRZ1BTQnZjRHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZENBbUppQmZMbXhoWW1Wc0lEd2dkRnN5WFNrZ2V5QmZMbXhoWW1Wc0lEMGdkRnN5WFRzZ1h5NXZjSE11Y0hWemFDaHZjQ2s3SUdKeVpXRnJPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSYk1sMHBJRjh1YjNCekxuQnZjQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjh1ZEhKNWN5NXdiM0FvS1RzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYjNBZ1BTQmliMlI1TG1OaGJHd29kR2hwYzBGeVp5d2dYeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dleUJ2Y0NBOUlGczJMQ0JsWFRzZ2VTQTlJREE3SUgwZ1ptbHVZV3hzZVNCN0lHWWdQU0IwSUQwZ01Ec2dmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBbUlEVXBJSFJvY205M0lHOXdXekZkT3lCeVpYUjFjbTRnZXlCMllXeDFaVG9nYjNCYk1GMGdQeUJ2Y0ZzeFhTQTZJSFp2YVdRZ01Dd2daRzl1WlRvZ2RISjFaU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2RtRnlJRjlmWTNKbFlYUmxRbWx1WkdsdVp5QTlJRTlpYW1WamRDNWpjbVZoZEdVZ1B5QW9ablZ1WTNScGIyNG9ieXdnYlN3Z2F5d2dheklwSUh0Y2NseHVJQ0FnSUdsbUlDaHJNaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQnJNaUE5SUdzN1hISmNiaUFnSUNCMllYSWdaR1Z6WXlBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvYlN3Z2F5azdYSEpjYmlBZ0lDQnBaaUFvSVdSbGMyTWdmSHdnS0Z3aVoyVjBYQ0lnYVc0Z1pHVnpZeUEvSUNGdExsOWZaWE5OYjJSMWJHVWdPaUJrWlhOakxuZHlhWFJoWW14bElIeDhJR1JsYzJNdVkyOXVabWxuZFhKaFlteGxLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lHUmxjMk1nUFNCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRvS1NCN0lISmxkSFZ5YmlCdFcydGRPeUI5SUgwN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnYXpJc0lHUmxjMk1wTzF4eVhHNTlLU0E2SUNobWRXNWpkR2x2YmlodkxDQnRMQ0JyTENCck1pa2dlMXh5WEc0Z0lDQWdhV1lnS0dzeUlEMDlQU0IxYm1SbFptbHVaV1FwSUdzeUlEMGdhenRjY2x4dUlDQWdJRzliYXpKZElEMGdiVnRyWFR0Y2NseHVmU2s3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlsZUhCdmNuUlRkR0Z5S0cwc0lHOHBJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2JTa2dhV1lnS0hBZ0lUMDlJRndpWkdWbVlYVnNkRndpSUNZbUlDRlBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29ieXdnY0NrcElGOWZZM0psWVhSbFFtbHVaR2x1WnlodkxDQnRMQ0J3S1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZkbUZzZFdWektHOHBJSHRjY2x4dUlDQWdJSFpoY2lCeklEMGdkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlGTjViV0p2YkM1cGRHVnlZWFJ2Y2l3Z2JTQTlJSE1nSmlZZ2IxdHpYU3dnYVNBOUlEQTdYSEpjYmlBZ0lDQnBaaUFvYlNrZ2NtVjBkWEp1SUcwdVkyRnNiQ2h2S1R0Y2NseHVJQ0FnSUdsbUlDaHZJQ1ltSUhSNWNHVnZaaUJ2TG14bGJtZDBhQ0E5UFQwZ1hDSnVkVzFpWlhKY0lpa2djbVYwZFhKdUlIdGNjbHh1SUNBZ0lDQWdJQ0J1WlhoME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodklDWW1JR2tnUGowZ2J5NXNaVzVuZEdncElHOGdQU0IyYjJsa0lEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCdklDWW1JRzliYVNzclhTd2daRzl1WlRvZ0lXOGdmVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaHpJRDhnWENKUFltcGxZM1FnYVhNZ2JtOTBJR2wwWlhKaFlteGxMbHdpSURvZ1hDSlRlVzFpYjJ3dWFYUmxjbUYwYjNJZ2FYTWdibTkwSUdSbFptbHVaV1F1WENJcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl5WldGa0tHOHNJRzRwSUh0Y2NseHVJQ0FnSUhaaGNpQnRJRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JRzliVTNsdFltOXNMbWwwWlhKaGRHOXlYVHRjY2x4dUlDQWdJR2xtSUNnaGJTa2djbVYwZFhKdUlHODdYSEpjYmlBZ0lDQjJZWElnYVNBOUlHMHVZMkZzYkNodktTd2djaXdnWVhJZ1BTQmJYU3dnWlR0Y2NseHVJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLQ2h1SUQwOVBTQjJiMmxrSURBZ2ZId2diaTB0SUQ0Z01Da2dKaVlnSVNoeUlEMGdhUzV1WlhoMEtDa3BMbVJ2Ym1VcElHRnlMbkIxYzJnb2NpNTJZV3gxWlNrN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCallYUmphQ0FvWlhKeWIzSXBJSHNnWlNBOUlIc2daWEp5YjNJNklHVnljbTl5SUgwN0lIMWNjbHh1SUNBZ0lHWnBibUZzYkhrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlJQ1ltSUNGeUxtUnZibVVnSmlZZ0tHMGdQU0JwVzF3aWNtVjBkWEp1WENKZEtTa2diUzVqWVd4c0tHa3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQm1hVzVoYkd4NUlIc2dhV1lnS0dVcElIUm9jbTkzSUdVdVpYSnliM0k3SUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUJoY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVCa1pYQnlaV05oZEdWa0lDb3ZYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNOd2NtVmhaQ2dwSUh0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdGeUlEMGdXMTBzSUdrZ1BTQXdPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLVnh5WEc0Z0lDQWdJQ0FnSUdGeUlEMGdZWEl1WTI5dVkyRjBLRjlmY21WaFpDaGhjbWQxYldWdWRITmJhVjBwS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJoY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVCa1pYQnlaV05oZEdWa0lDb3ZYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNOd2NtVmhaRUZ5Y21GNWN5Z3BJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSE1nUFNBd0xDQnBJRDBnTUN3Z2FXd2dQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PeUJwSUR3Z2FXdzdJR2tyS3lrZ2N5QXJQU0JoY21kMWJXVnVkSE5iYVYwdWJHVnVaM1JvTzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY2lBOUlFRnljbUY1S0hNcExDQnJJRDBnTUN3Z2FTQTlJREE3SUdrZ1BDQnBiRHNnYVNzcktWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR0VnUFNCaGNtZDFiV1Z1ZEhOYmFWMHNJR29nUFNBd0xDQnFiQ0E5SUdFdWJHVnVaM1JvT3lCcUlEd2dhbXc3SUdvckt5d2dheXNyS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5VzJ0ZElEMGdZVnRxWFR0Y2NseHVJQ0FnSUhKbGRIVnliaUJ5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdSQmNuSmhlU2gwYnl3Z1puSnZiU3dnY0dGamF5a2dlMXh5WEc0Z0lDQWdhV1lnS0hCaFkyc2dmSHdnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E5UFQwZ01pa2dabTl5SUNoMllYSWdhU0E5SURBc0lHd2dQU0JtY205dExteGxibWQwYUN3Z1lYSTdJR2tnUENCc095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWVhJZ2ZId2dJU2hwSUdsdUlHWnliMjBwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hZWElwSUdGeUlEMGdRWEp5WVhrdWNISnZkRzkwZVhCbExuTnNhV05sTG1OaGJHd29abkp2YlN3Z01Dd2dhU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5VzJsZElEMGdabkp2YlZ0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdkRzh1WTI5dVkyRjBLR0Z5SUh4OElFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWnliMjBwS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWGRoYVhRb2Rpa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE1nYVc1emRHRnVZMlZ2WmlCZlgyRjNZV2wwSUQ4Z0tIUm9hWE11ZGlBOUlIWXNJSFJvYVhNcElEb2dibVYzSUY5ZllYZGhhWFFvZGlrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alIyVnVaWEpoZEc5eUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITXNJR2RsYm1WeVlYUnZjaWtnZTF4eVhHNGdJQ0FnYVdZZ0tDRlRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlJR2x6SUc1dmRDQmtaV1pwYm1Wa0xsd2lLVHRjY2x4dUlDQWdJSFpoY2lCbklEMGdaMlZ1WlhKaGRHOXlMbUZ3Y0d4NUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITWdmSHdnVzEwcExDQnBMQ0J4SUQwZ1cxMDdYSEpjYmlBZ0lDQnlaWFIxY200Z2FTQTlJSHQ5TENCMlpYSmlLRndpYm1WNGRGd2lLU3dnZG1WeVlpaGNJblJvY205M1hDSXBMQ0IyWlhKaUtGd2ljbVYwZFhKdVhDSXBMQ0JwVzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2FXWWdLR2RiYmwwcElHbGJibDBnUFNCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvWm5WdVkzUnBiMjRnS0dFc0lHSXBJSHNnY1M1d2RYTm9LRnR1TENCMkxDQmhMQ0JpWFNrZ1BpQXhJSHg4SUhKbGMzVnRaU2h1TENCMktUc2dmU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlISmxjM1Z0WlNodUxDQjJLU0I3SUhSeWVTQjdJSE4wWlhBb1oxdHVYU2gyS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnYzJWMGRHeGxLSEZiTUYxYk0xMHNJR1VwT3lCOUlIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvY2lrZ2V5QnlMblpoYkhWbElHbHVjM1JoYm1ObGIyWWdYMTloZDJGcGRDQS9JRkJ5YjIxcGMyVXVjbVZ6YjJ4MlpTaHlMblpoYkhWbExuWXBMblJvWlc0b1puVnNabWxzYkN3Z2NtVnFaV04wS1NBNklITmxkSFJzWlNoeFd6QmRXekpkTENCeUtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdablZzWm1sc2JDaDJZV3gxWlNrZ2V5QnlaWE4xYldVb1hDSnVaWGgwWENJc0lIWmhiSFZsS1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2NtVnFaV04wS0haaGJIVmxLU0I3SUhKbGMzVnRaU2hjSW5Sb2NtOTNYQ0lzSUhaaGJIVmxLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnYzJWMGRHeGxLR1lzSUhZcElIc2dhV1lnS0dZb2Rpa3NJSEV1YzJocFpuUW9LU3dnY1M1c1pXNW5kR2dwSUhKbGMzVnRaU2h4V3pCZFd6QmRMQ0J4V3pCZFd6RmRLVHNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTBSbGJHVm5ZWFJ2Y2lodktTQjdYSEpjYmlBZ0lDQjJZWElnYVN3Z2NEdGNjbHh1SUNBZ0lISmxkSFZ5YmlCcElEMGdlMzBzSUhabGNtSW9YQ0p1WlhoMFhDSXBMQ0IyWlhKaUtGd2lkR2h5YjNkY0lpd2dablZ1WTNScGIyNGdLR1VwSUhzZ2RHaHliM2NnWlRzZ2ZTa3NJSFpsY21Jb1hDSnlaWFIxY201Y0lpa3NJR2xiVTNsdFltOXNMbWwwWlhKaGRHOXlYU0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlIUm9hWE03SUgwc0lHazdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQjJaWEppS0c0c0lHWXBJSHNnYVZ0dVhTQTlJRzliYmwwZ1B5Qm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnS0hBZ1BTQWhjQ2tnUHlCN0lIWmhiSFZsT2lCZlgyRjNZV2wwS0c5YmJsMG9kaWtwTENCa2IyNWxPaUJtWVd4elpTQjlJRG9nWmlBL0lHWW9kaWtnT2lCMk95QjlJRG9nWmpzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloYzNsdVkxWmhiSFZsY3lodktTQjdYSEpjYmlBZ0lDQnBaaUFvSVZONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJZ2FYTWdibTkwSUdSbFptbHVaV1F1WENJcE8xeHlYRzRnSUNBZ2RtRnlJRzBnUFNCdlcxTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlYU3dnYVR0Y2NseHVJQ0FnSUhKbGRIVnliaUJ0SUQ4Z2JTNWpZV3hzS0c4cElEb2dLRzhnUFNCMGVYQmxiMllnWDE5MllXeDFaWE1nUFQwOUlGd2lablZ1WTNScGIyNWNJaUEvSUY5ZmRtRnNkV1Z6S0c4cElEb2diMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRLQ2tzSUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwS1R0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhabGNtSW9iaWtnZXlCcFcyNWRJRDBnYjF0dVhTQW1KaUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdLSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dleUIySUQwZ2IxdHVYU2gyS1N3Z2MyVjBkR3hsS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ3dnZGk1a2IyNWxMQ0IyTG5aaGJIVmxLVHNnZlNrN0lIMDdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE5sZEhSc1pTaHlaWE52YkhabExDQnlaV3BsWTNRc0lHUXNJSFlwSUhzZ1VISnZiV2x6WlM1eVpYTnZiSFpsS0hZcExuUm9aVzRvWm5WdVkzUnBiMjRvZGlrZ2V5QnlaWE52YkhabEtIc2dkbUZzZFdVNklIWXNJR1J2Ym1VNklHUWdmU2s3SUgwc0lISmxhbVZqZENrN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYldGclpWUmxiWEJzWVhSbFQySnFaV04wS0dOdmIydGxaQ3dnY21GM0tTQjdYSEpjYmlBZ0lDQnBaaUFvVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtTQjdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoamIyOXJaV1FzSUZ3aWNtRjNYQ0lzSUhzZ2RtRnNkV1U2SUhKaGR5QjlLVHNnZlNCbGJITmxJSHNnWTI5dmEyVmtMbkpoZHlBOUlISmhkenNnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJR052YjJ0bFpEdGNjbHh1ZlR0Y2NseHVYSEpjYm5aaGNpQmZYM05sZEUxdlpIVnNaVVJsWm1GMWJIUWdQU0JQWW1wbFkzUXVZM0psWVhSbElEOGdLR1oxYm1OMGFXOXVLRzhzSUhZcElIdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2TENCY0ltUmxabUYxYkhSY0lpd2dleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0IyWVd4MVpUb2dkaUI5S1R0Y2NseHVmU2tnT2lCbWRXNWpkR2x2YmlodkxDQjJLU0I3WEhKY2JpQWdJQ0J2VzF3aVpHVm1ZWFZzZEZ3aVhTQTlJSFk3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXBiWEJ2Y25SVGRHRnlLRzF2WkNrZ2UxeHlYRzRnSUNBZ2FXWWdLRzF2WkNBbUppQnRiMlF1WDE5bGMwMXZaSFZzWlNrZ2NtVjBkWEp1SUcxdlpEdGNjbHh1SUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0I3ZlR0Y2NseHVJQ0FnSUdsbUlDaHRiMlFnSVQwZ2JuVnNiQ2tnWm05eUlDaDJZWElnYXlCcGJpQnRiMlFwSUdsbUlDaHJJQ0U5UFNCY0ltUmxabUYxYkhSY0lpQW1KaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYlc5a0xDQnJLU2tnWDE5amNtVmhkR1ZDYVc1a2FXNW5LSEpsYzNWc2RDd2diVzlrTENCcktUdGNjbHh1SUNBZ0lGOWZjMlYwVFc5a2RXeGxSR1ZtWVhWc2RDaHlaWE4xYkhRc0lHMXZaQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlwYlhCdmNuUkVaV1poZFd4MEtHMXZaQ2tnZTF4eVhHNGdJQ0FnY21WMGRYSnVJQ2h0YjJRZ0ppWWdiVzlrTGw5ZlpYTk5iMlIxYkdVcElEOGdiVzlrSURvZ2V5QmtaV1poZFd4ME9pQnRiMlFnZlR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZMnhoYzNOUWNtbDJZWFJsUm1sbGJHUkhaWFFvY21WalpXbDJaWElzSUhOMFlYUmxMQ0JyYVc1a0xDQm1LU0I3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSmhYQ0lnSmlZZ0lXWXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUWNtbDJZWFJsSUdGalkyVnpjMjl5SUhkaGN5QmtaV1pwYm1Wa0lIZHBkR2h2ZFhRZ1lTQm5aWFIwWlhKY0lpazdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSE4wWVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ1B5QnlaV05sYVhabGNpQWhQVDBnYzNSaGRHVWdmSHdnSVdZZ09pQWhjM1JoZEdVdWFHRnpLSEpsWTJWcGRtVnlLU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCeVpXRmtJSEJ5YVhaaGRHVWdiV1Z0WW1WeUlHWnliMjBnWVc0Z2IySnFaV04wSUhkb2IzTmxJR05zWVhOeklHUnBaQ0J1YjNRZ1pHVmpiR0Z5WlNCcGRGd2lLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnJhVzVrSUQwOVBTQmNJbTFjSWlBL0lHWWdPaUJyYVc1a0lEMDlQU0JjSW1GY0lpQS9JR1l1WTJGc2JDaHlaV05sYVhabGNpa2dPaUJtSUQ4Z1ppNTJZV3gxWlNBNklITjBZWFJsTG1kbGRDaHlaV05sYVhabGNpazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJOc1lYTnpVSEpwZG1GMFpVWnBaV3hrVTJWMEtISmxZMlZwZG1WeUxDQnpkR0YwWlN3Z2RtRnNkV1VzSUd0cGJtUXNJR1lwSUh0Y2NseHVJQ0FnSUdsbUlDaHJhVzVrSUQwOVBTQmNJbTFjSWlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbEJ5YVhaaGRHVWdiV1YwYUc5a0lHbHpJRzV2ZENCM2NtbDBZV0pzWlZ3aUtUdGNjbHh1SUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1GY0lpQW1KaUFoWmlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbEJ5YVhaaGRHVWdZV05qWlhOemIzSWdkMkZ6SUdSbFptbHVaV1FnZDJsMGFHOTFkQ0JoSUhObGRIUmxjbHdpS1R0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzUmhkR1VnUFQwOUlGd2lablZ1WTNScGIyNWNJaUEvSUhKbFkyVnBkbVZ5SUNFOVBTQnpkR0YwWlNCOGZDQWhaaUE2SUNGemRHRjBaUzVvWVhNb2NtVmpaV2wyWlhJcEtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJGdWJtOTBJSGR5YVhSbElIQnlhWFpoZEdVZ2JXVnRZbVZ5SUhSdklHRnVJRzlpYW1WamRDQjNhRzl6WlNCamJHRnpjeUJrYVdRZ2JtOTBJR1JsWTJ4aGNtVWdhWFJjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTRnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJRDhnWmk1allXeHNLSEpsWTJWcGRtVnlMQ0IyWVd4MVpTa2dPaUJtSUQ4Z1ppNTJZV3gxWlNBOUlIWmhiSFZsSURvZ2MzUmhkR1V1YzJWMEtISmxZMlZwZG1WeUxDQjJZV3gxWlNrcExDQjJZV3gxWlR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZMnhoYzNOUWNtbDJZWFJsUm1sbGJHUkpiaWh6ZEdGMFpTd2djbVZqWldsMlpYSXBJSHRjY2x4dUlDQWdJR2xtSUNoeVpXTmxhWFpsY2lBOVBUMGdiblZzYkNCOGZDQW9kSGx3Wlc5bUlISmxZMlZwZG1WeUlDRTlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCeVpXTmxhWFpsY2lBaFBUMGdYQ0ptZFc1amRHbHZibHdpS1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQjFjMlVnSjJsdUp5QnZjR1Z5WVhSdmNpQnZiaUJ1YjI0dGIySnFaV04wWENJcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJ6ZEdGMFpTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlEOGdjbVZqWldsMlpYSWdQVDA5SUhOMFlYUmxJRG9nYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1R0Y2NseHVmVnh5WEc0aUxDSXZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNGdLaTljYmx4dUx5b3FYRzRnS2lCVGNHVmphV1pwWlhKeklHOW1JR1JsWW5WbklHMXZaR1VnYjJZZ2UwQnNhVzVySUUxVWIyOXVUV0YwWlhKcFlXeDlMbHh1SUNwY2JpQXFJRk5sWlRvZ2UwQnNhVzVySUUxVWIyOXVUV0YwWlhKcFlXd3VaR1ZpZFdkTmIyUmxmVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnVFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pTQTlJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGSmxibVJsY2lCdWIzSnRZV3hzZVM1Y2JpQWdJQ292WEc0Z0lFNXZibVU2SUNkdWIyNWxKeXhjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWbWx6ZFdGc2FYcGxJRzV2Y20xaGJITWdiMllnZEdobElITjFjbVpoWTJVdVhHNGdJQ0FxTDF4dUlDQk9iM0p0WVd3NklDZHViM0p0WVd3bkxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCV2FYTjFZV3hwZW1VZ2JHbDBMM05vWVdSbElHOW1JSFJvWlNCemRYSm1ZV05sTGx4dUlDQWdLaTljYmlBZ1RHbDBVMmhoWkdWU1lYUmxPaUFuYkdsMFUyaGhaR1ZTWVhSbEp5eGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZtbHpkV0ZzYVhwbElGVldJRzltSUhSb1pTQnpkWEptWVdObExseHVJQ0FnS2k5Y2JpQWdWVlk2SUNkMWRpY3NYRzU5SUdGeklHTnZibk4wTzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JOVkc5dmJrMWhkR1Z5YVdGc1JHVmlkV2ROYjJSbElEMGdkSGx3Wlc5bUlFMVViMjl1VFdGMFpYSnBZV3hFWldKMVowMXZaR1ZiYTJWNWIyWWdkSGx3Wlc5bUlFMVViMjl1VFdGMFpYSnBZV3hFWldKMVowMXZaR1ZkTzF4dUlpd2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjVoYldsdVp5MWpiMjUyWlc1MGFXOXVJQ292WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JOVkc5dmJrMWhkR1Z5YVdGc1QzVjBiR2x1WlZkcFpIUm9UVzlrWlNBOUlIdGNiaUFnVG05dVpUb2dKMjV2Ym1VbkxGeHVJQ0JYYjNKc1pFTnZiM0prYVc1aGRHVnpPaUFuZDI5eWJHUkRiMjl5WkdsdVlYUmxjeWNzWEc0Z0lGTmpjbVZsYmtOdmIzSmthVzVoZEdWek9pQW5jMk55WldWdVEyOXZjbVJwYm1GMFpYTW5MRnh1ZlNCaGN5QmpiMjV6ZER0Y2JseHVaWGh3YjNKMElIUjVjR1VnVFZSdmIyNU5ZWFJsY21saGJFOTFkR3hwYm1WWGFXUjBhRTF2WkdVZ1BWeHVJQ0IwZVhCbGIyWWdUVlJ2YjI1TllYUmxjbWxoYkU5MWRHeHBibVZYYVdSMGFFMXZaR1ZiYTJWNWIyWWdkSGx3Wlc5bUlFMVViMjl1VFdGMFpYSnBZV3hQZFhSc2FXNWxWMmxrZEdoTmIyUmxYVHRjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYmx4dVkyOXVjM1FnWlc1amIyUnBibWREYjJ4dmNsTndZV05sVFdGd09pQlNaV052Y21ROFlXNTVMQ0FuSnlCOElDZHpjbWRpSno0Z1BTQjdYRzRnSURNd01EQTZJQ2NuTEZ4dUlDQXpNREF4T2lBbmMzSm5ZaWNzWEc1OU8xeHVYRzR2S2lwY2JpQXFJRUVnWTI5dGNHRjBJR1oxYm1OMGFXOXVJSFJ2SUdkbGRDQjBaWGgwZFhKbElHTnZiRzl5SUhOd1lXTmxMbHh1SUNwY2JpQXFJRU5QVFZCQlZEb2djSEpsTFhJeE5USmNiaUFxSUZOMFlYSjBhVzVuSUdaeWIyMGdWR2h5WldVdWFuTWdjakUxTWl3Z1lIUmxlSFIxY21VdVpXNWpiMlJwYm1kZ0lHbHpJSEpsYm1GdFpXUWdkRzhnWUhSbGVIUjFjbVV1WTI5c2IzSlRjR0ZqWldBdVhHNGdLaUJVYUdseklHWjFibU4wYVc5dUlIZHBiR3dnYUdGdVpHeGxJSFJvWlNCamIyMWhjSFF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSFJsZUhSMWNtVWdWR2hsSUhSbGVIUjFjbVVnZVc5MUlIZGhiblFnZEc4Z1oyVjBJSFJvWlNCamIyeHZjaUJ6Y0dGalpTQm1jbTl0WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aWFJVWlhoMGRYSmxRMjlzYjNKVGNHRmpaU2gwWlhoMGRYSmxPaUJVU0ZKRlJTNVVaWGgwZFhKbEtUb2dKeWNnZkNBbmMzSm5ZaWNnZTF4dUlDQnBaaUFvY0dGeWMyVkpiblFvVkVoU1JVVXVVa1ZXU1ZOSlQwNHNJREV3S1NBK1BTQXhOVElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR1Y0ZEhWeVpTNWpiMnh2Y2xOd1lXTmxJR0Z6SUNjbklId2dKM055WjJJbk8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCbGJtTnZaR2x1WjBOdmJHOXlVM0JoWTJWTllYQmJLSFJsZUhSMWNtVWdZWE1nWVc1NUtTNWxibU52WkdsdVoxMDdYRzRnSUgxY2JuMWNiaUlzSWk4cUlIUnpiR2x1ZERwa2FYTmhZbXhsT20xbGJXSmxjaTF2Y21SbGNtbHVaeUFxTDF4dVhHNXBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZG1WeWRHVjRVMmhoWkdWeUlHWnliMjBnSnk0dmMyaGhaR1Z5Y3k5dGRHOXZiaTUyWlhKMEp6dGNibWx0Y0c5eWRDQm1jbUZuYldWdWRGTm9ZV1JsY2lCbWNtOXRJQ2N1TDNOb1lXUmxjbk12YlhSdmIyNHVabkpoWnljN1hHNXBiWEJ2Y25RZ2V5Qk5WRzl2YmsxaGRHVnlhV0ZzUkdWaWRXZE5iMlJsSUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNSR1ZpZFdkTmIyUmxKenRjYm1sdGNHOXlkQ0I3SUUxVWIyOXVUV0YwWlhKcFlXeFBkWFJzYVc1bFYybGtkR2hOYjJSbElIMGdabkp2YlNBbkxpOU5WRzl2YmsxaGRHVnlhV0ZzVDNWMGJHbHVaVmRwWkhSb1RXOWtaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRTFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiV1YwWlhKeklIMGdabkp2YlNBbkxpOU5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5Y3ljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJVWlhoMGRYSmxRMjlzYjNKVGNHRmpaU0I5SUdaeWIyMGdKeTR2ZFhScGJITXZaMlYwVkdWNGRIVnlaVU52Ykc5eVUzQmhZMlVuTzF4dVhHNHZLaXBjYmlBcUlFMVViMjl1SUdseklHRWdiV0YwWlhKcFlXd2djM0JsWTJsbWFXTmhkR2x2YmlCMGFHRjBJR2hoY3lCMllYSnBiM1Z6SUdabFlYUjFjbVZ6TGx4dUlDb2dWR2hsSUhOd1pXTWdZVzVrSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR0Z5WlNCdmNtbG5hVzVoYkd4NUlHWnZkVzVrWldRZ1ptOXlJRlZ1YVhSNUlHVnVaMmx1WlNCaGJtUWdkR2hwY3lCcGN5QmhJSEJ2Y25RZ2IyWWdkR2hsSUcxaGRHVnlhV0ZzTGx4dUlDcGNiaUFxSUZObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMU5oYm5SaGNtZ3ZUVlJ2YjI1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFMVViMjl1VFdGMFpYSnBZV3dnWlhoMFpXNWtjeUJVU0ZKRlJTNVRhR0ZrWlhKTllYUmxjbWxoYkNCN1hHNGdJSEIxWW14cFl5QjFibWxtYjNKdGN6b2dlMXh1SUNBZ0lHeHBkRVpoWTNSdmNqb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1UTI5c2IzSStPMXh1SUNBZ0lHRnNjR2hoVkdWemREb2dWRWhTUlVVdVNWVnVhV1p2Y20wOGJuVnRZbVZ5UGp0Y2JpQWdJQ0J2Y0dGamFYUjVPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeHVkVzFpWlhJK08xeHVJQ0FnSUcxaGNEb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHdytPMXh1SUNBZ0lHMWhjRlYyVkhKaGJuTm1iM0p0T2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNU5ZWFJ5YVhnelBqdGNiaUFnSUNCdWIzSnRZV3hOWVhBNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c1BqdGNiaUFnSUNCdWIzSnRZV3hOWVhCVmRsUnlZVzV6Wm05eWJUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VFdGMGNtbDRNejQ3WEc0Z0lDQWdibTl5YldGc1UyTmhiR1U2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRlJJVWtWRkxsWmxZM1J2Y2pJK08xeHVJQ0FnSUdWdGFYTnphWFpsT2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNURiMnh2Y2o0N1hHNGdJQ0FnWlcxcGMzTnBkbVZKYm5SbGJuTnBkSGs2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRzUxYldKbGNqNDdYRzRnSUNBZ1pXMXBjM05wZG1WTllYQTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNQanRjYmlBZ0lDQmxiV2x6YzJsMlpVMWhjRlYyVkhKaGJuTm1iM0p0T2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNU5ZWFJ5YVhnelBqdGNiaUFnSUNCemFHRmtaVU52Ykc5eVJtRmpkRzl5T2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNURiMnh2Y2o0N1hHNGdJQ0FnYzJoaFpHVk5kV3gwYVhCc2VWUmxlSFIxY21VNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c1BqdGNiaUFnSUNCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpWVjJWSEpoYm5ObWIzSnRPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1TllYUnlhWGd6UGp0Y2JpQWdJQ0J6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0k2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRzUxYldKbGNqNDdYRzRnSUNBZ2MyaGhaR2x1WjFOb2FXWjBWR1Y0ZEhWeVpUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHdytPMXh1SUNBZ0lITm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVlZkbFJ5WVc1elptOXliVG9nVkVoU1JVVXVTVlZ1YVdadmNtMDhWRWhTUlVVdVRXRjBjbWw0TXo0N1hHNGdJQ0FnYzJoaFpHbHVaMU5vYVdaMFZHVjRkSFZ5WlZOallXeGxPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeHVkVzFpWlhJK08xeHVJQ0FnSUhOb1lXUnBibWRVYjI5dWVVWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4Ym5WdFltVnlQanRjYmlBZ0lDQm5hVVZ4ZFdGc2FYcGhkR2x2YmtaaFkzUnZjam9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnSUNCdFlYUmpZWEJHWVdOMGIzSTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGtOdmJHOXlQanRjYmlBZ0lDQnRZWFJqWVhCVVpYaDBkWEpsT2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkQ0N1hHNGdJQ0FnYldGMFkyRndWR1Y0ZEhWeVpWVjJWSEpoYm5ObWIzSnRPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1TllYUnlhWGd6UGp0Y2JpQWdJQ0J3WVhKaGJXVjBjbWxqVW1sdFEyOXNiM0pHWVdOMGIzSTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGtOdmJHOXlQanRjYmlBZ0lDQnlhVzFOZFd4MGFYQnNlVlJsZUhSMWNtVTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNQanRjYmlBZ0lDQnlhVzFOZFd4MGFYQnNlVlJsZUhSMWNtVlZkbFJ5WVc1elptOXliVG9nVkVoU1JVVXVTVlZ1YVdadmNtMDhWRWhTUlVVdVRXRjBjbWw0TXo0N1hHNGdJQ0FnY21sdFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJNklGUklVa1ZGTGtsVmJtbG1iM0p0UEc1MWJXSmxjajQ3WEc0Z0lDQWdjR0Z5WVcxbGRISnBZMUpwYlVaeVpYTnVaV3hRYjNkbGNrWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4Ym5WdFltVnlQanRjYmlBZ0lDQndZWEpoYldWMGNtbGpVbWx0VEdsbWRFWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4Ym5WdFltVnlQanRjYmlBZ0lDQnZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNQanRjYmlBZ0lDQnZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVlZkbFJ5WVc1elptOXliVG9nVkVoU1JVVXVTVlZ1YVdadmNtMDhWRWhTUlVVdVRXRjBjbWw0TXo0N1hHNGdJQ0FnYjNWMGJHbHVaVmRwWkhSb1JtRmpkRzl5T2lCVVNGSkZSUzVKVlc1cFptOXliVHh1ZFcxaVpYSStPMXh1SUNBZ0lHOTFkR3hwYm1WRGIyeHZja1poWTNSdmNqb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1UTI5c2IzSStPMXh1SUNBZ0lHOTFkR3hwYm1WTWFXZG9kR2x1WjAxcGVFWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4Ym5WdFltVnlQanRjYmlBZ0lDQjFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsT2lCVVNGSkZSUzVKVlc1cFptOXliVHhVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkQ0N1hHNGdJQ0FnZFhaQmJtbHRZWFJwYjI1TllYTnJWR1Y0ZEhWeVpWVjJWSEpoYm5ObWIzSnRPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1TllYUnlhWGd6UGp0Y2JpQWdJQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhQWm1aelpYUTZJRlJJVWtWRkxrbFZibWxtYjNKdFBHNTFiV0psY2o0N1hHNGdJQ0FnZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3haVDJabWMyVjBPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeHVkVzFpWlhJK08xeHVJQ0FnSUhWMlFXNXBiV0YwYVc5dVVtOTBZWFJwYjI1UWFHRnpaVG9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnZlR0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUdOdmJHOXlLQ2s2SUZSSVVrVkZMa052Ykc5eUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NTFibWxtYjNKdGN5NXNhWFJHWVdOMGIzSXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQmpiMnh2Y2loMllXeDFaVG9nVkVoU1JVVXVRMjlzYjNJcElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMbXhwZEVaaFkzUnZjaTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J0WVhBb0tUb2dWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3dnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG0xaGNDNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElHMWhjQ2gyWVd4MVpUb2dWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3dwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxtMWhjQzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J1YjNKdFlXeE5ZWEFvS1RvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbTV2Y20xaGJFMWhjQzUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJRzV2Y20xaGJFMWhjQ2gyWVd4MVpUb2dWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3dwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxtNXZjbTFoYkUxaGNDNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnViM0p0WVd4VFkyRnNaU2dwT2lCVVNGSkZSUzVXWldOMGIzSXlJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUxYm1sbWIzSnRjeTV1YjNKdFlXeFRZMkZzWlM1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUc1dmNtMWhiRk5qWVd4bEtIWmhiSFZsT2lCVVNGSkZSUzVXWldOMGIzSXlLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dWIzSnRZV3hUWTJGc1pTNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQmxiV2x6YzJsMlpTZ3BPaUJVU0ZKRlJTNURiMnh2Y2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdVpXMXBjM05wZG1VdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCbGJXbHpjMmwyWlNoMllXeDFaVG9nVkVoU1JVVXVRMjlzYjNJcElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMbVZ0YVhOemFYWmxMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1oyVjBJR1Z0YVhOemFYWmxTVzUwWlc1emFYUjVLQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11WlcxcGMzTnBkbVZKYm5SbGJuTnBkSGt1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0JsYldsemMybDJaVWx1ZEdWdWMybDBlU2gyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTVsYldsemMybDJaVWx1ZEdWdWMybDBlUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0JsYldsemMybDJaVTFoY0NncE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11WlcxcGMzTnBkbVZOWVhBdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCbGJXbHpjMmwyWlUxaGNDaDJZV3gxWlRvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd3BJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG1WdGFYTnphWFpsVFdGd0xuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElITm9ZV1JsUTI5c2IzSkdZV04wYjNJb0tUb2dWRWhTUlVVdVEyOXNiM0lnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG5Ob1lXUmxRMjlzYjNKR1lXTjBiM0l1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0J6YUdGa1pVTnZiRzl5Um1GamRHOXlLSFpoYkhWbE9pQlVTRkpGUlM1RGIyeHZjaWtnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWMyaGhaR1ZEYjJ4dmNrWmhZM1J2Y2k1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpTZ3BPaUJVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWMyaGhaR1ZOZFd4MGFYQnNlVlJsZUhSMWNtVXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQnphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaU2gyWVd4MVpUb2dWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3dwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxuTm9ZV1JsVFhWc2RHbHdiSGxVWlhoMGRYSmxMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1oyVjBJSE5vWVdScGJtZFRhR2xtZEVaaFkzUnZjaWdwT2lCdWRXMWlaWElnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG5Ob1lXUnBibWRUYUdsbWRFWmhZM1J2Y2k1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUhOb1lXUnBibWRUYUdsbWRFWmhZM1J2Y2loMllXeDFaVG9nYm5WdFltVnlLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1emFHRmthVzVuVTJocFpuUkdZV04wYjNJdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2MyaGhaR2x1WjFOb2FXWjBWR1Y0ZEhWeVpTZ3BPaUJVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWMyaGhaR2x1WjFOb2FXWjBWR1Y0ZEhWeVpTNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElITm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVW9kbUZzZFdVNklGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1emFHRmthVzVuVTJocFpuUlVaWGgwZFhKbExuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElITm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVlRZMkZzWlNncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxuTm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVlRZMkZzWlM1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUhOb1lXUnBibWRUYUdsbWRGUmxlSFIxY21WVFkyRnNaU2gyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsVTJOaGJHVXVkbUZzZFdVZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdjMmhoWkdsdVoxUnZiMjU1Um1GamRHOXlLQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11YzJoaFpHbHVaMVJ2YjI1NVJtRmpkRzl5TG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnYzJoaFpHbHVaMVJ2YjI1NVJtRmpkRzl5S0haaGJIVmxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG5Ob1lXUnBibWRVYjI5dWVVWmhZM1J2Y2k1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCbmFVVnhkV0ZzYVhwaGRHbHZia1poWTNSdmNpZ3BPaUJ1ZFcxaVpYSWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbWRwUlhGMVlXeHBlbUYwYVc5dVJtRmpkRzl5TG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnWjJsRmNYVmhiR2w2WVhScGIyNUdZV04wYjNJb2RtRnNkV1U2SUc1MWJXSmxjaWtnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdVoybEZjWFZoYkdsNllYUnBiMjVHWVdOMGIzSXVkbUZzZFdVZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdiV0YwWTJGd1JtRmpkRzl5S0NrNklGUklVa1ZGTGtOdmJHOXlJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUxYm1sbWIzSnRjeTV0WVhSallYQkdZV04wYjNJdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCdFlYUmpZWEJHWVdOMGIzSW9kbUZzZFdVNklGUklVa1ZGTGtOdmJHOXlLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dFlYUmpZWEJHWVdOMGIzSXVkbUZzZFdVZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdiV0YwWTJGd1ZHVjRkSFZ5WlNncE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11YldGMFkyRndWR1Y0ZEhWeVpTNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElHMWhkR05oY0ZSbGVIUjFjbVVvZG1Gc2RXVTZJRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQnVkV3hzS1NCN1hHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NXRZWFJqWVhCVVpYaDBkWEpsTG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhCaGNtRnRaWFJ5YVdOU2FXMURiMnh2Y2taaFkzUnZjaWdwT2lCVVNGSkZSUzVEYjJ4dmNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVjR0Z5WVcxbGRISnBZMUpwYlVOdmJHOXlSbUZqZEc5eUxuWmhiSFZsTzF4dUlDQjlYRzRnSUhCMVlteHBZeUJ6WlhRZ2NHRnlZVzFsZEhKcFkxSnBiVU52Ykc5eVJtRmpkRzl5S0haaGJIVmxPaUJVU0ZKRlJTNURiMnh2Y2lrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXVjR0Z5WVcxbGRISnBZMUpwYlVOdmJHOXlSbUZqZEc5eUxuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElISnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpTZ3BPaUJVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWNtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbExuWmhiSFZsTzF4dUlDQjlYRzRnSUhCMVlteHBZeUJ6WlhRZ2NtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbEtIWmhiSFZsT2lCVVNGSkZSUzVVWlhoMGRYSmxJSHdnYm5Wc2JDa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11Y21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsTG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhKcGJVeHBaMmgwYVc1blRXbDRSbUZqZEc5eUtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVjbWx0VEdsbmFIUnBibWROYVhoR1lXTjBiM0l1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0J5YVcxTWFXZG9kR2x1WjAxcGVFWmhZM1J2Y2loMllXeDFaVG9nYm5WdFltVnlLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1eWFXMU1hV2RvZEdsdVowMXBlRVpoWTNSdmNpNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQndZWEpoYldWMGNtbGpVbWx0Um5KbGMyNWxiRkJ2ZDJWeVJtRmpkRzl5S0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWNHRnlZVzFsZEhKcFkxSnBiVVp5WlhOdVpXeFFiM2RsY2taaFkzUnZjaTUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJSEJoY21GdFpYUnlhV05TYVcxR2NtVnpibVZzVUc5M1pYSkdZV04wYjNJb2RtRnNkV1U2SUc1MWJXSmxjaWtnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWNHRnlZVzFsZEhKcFkxSnBiVVp5WlhOdVpXeFFiM2RsY2taaFkzUnZjaTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J3WVhKaGJXVjBjbWxqVW1sdFRHbG1kRVpoWTNSdmNpZ3BPaUJ1ZFcxaVpYSWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbkJoY21GdFpYUnlhV05TYVcxTWFXWjBSbUZqZEc5eUxuWmhiSFZsTzF4dUlDQjlYRzRnSUhCMVlteHBZeUJ6WlhRZ2NHRnlZVzFsZEhKcFkxSnBiVXhwWm5SR1lXTjBiM0lvZG1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11Y0dGeVlXMWxkSEpwWTFKcGJVeHBablJHWVdOMGIzSXVkbUZzZFdVZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdiM1YwYkdsdVpWZHBaSFJvVFhWc2RHbHdiSGxVWlhoMGRYSmxLQ2s2SUZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NTFibWxtYjNKdGN5NXZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQnZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVW9kbUZzZFdVNklGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2IzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXViM1YwYkdsdVpWZHBaSFJvUm1GamRHOXlMblpoYkhWbE8xeHVJQ0I5WEc0Z0lIQjFZbXhwWXlCelpYUWdiM1YwYkdsdVpWZHBaSFJvUm1GamRHOXlLSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMbTkxZEd4cGJtVlhhV1IwYUVaaFkzUnZjaTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J2ZFhSc2FXNWxRMjlzYjNKR1lXTjBiM0lvS1RvZ1ZFaFNSVVV1UTI5c2IzSWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbTkxZEd4cGJtVkRiMnh2Y2taaFkzUnZjaTUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJRzkxZEd4cGJtVkRiMnh2Y2taaFkzUnZjaWgyWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0lwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxtOTFkR3hwYm1WRGIyeHZja1poWTNSdmNpNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnZkWFJzYVc1bFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJb0tUb2diblZ0WW1WeUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NTFibWxtYjNKdGN5NXZkWFJzYVc1bFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCdmRYUnNhVzVsVEdsbmFIUnBibWROYVhoR1lXTjBiM0lvZG1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11YjNWMGJHbHVaVXhwWjJoMGFXNW5UV2w0Um1GamRHOXlMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1oyVjBJSFYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21Vb0tUb2dWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3dnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG5WMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQjFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsS0haaGJIVmxPaUJVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkNrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXVkWFpCYm1sdFlYUnBiMjVOWVhOclZHVjRkSFZ5WlM1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCMWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZoUFptWnpaWFFvS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWJtbG1iM0p0Y3k1MWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZoUFptWnpaWFF1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhQWm1aelpYUW9kbUZzZFdVNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXVkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFlUMlptYzJWMExuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElIVjJRVzVwYldGMGFXOXVVMk55YjJ4c1dVOW1abk5sZENncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxuVjJRVzVwYldGMGFXOXVVMk55YjJ4c1dVOW1abk5sZEM1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUhWMlFXNXBiV0YwYVc5dVUyTnliMnhzV1U5bVpuTmxkQ2gyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTUxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmxQWm1aelpYUXVkbUZzZFdVZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdkWFpCYm1sdFlYUnBiMjVTYjNSaGRHbHZibEJvWVhObEtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVkWFpCYm1sdFlYUnBiMjVTYjNSaGRHbHZibEJvWVhObExuWmhiSFZsTzF4dUlDQjlYRzRnSUhCMVlteHBZeUJ6WlhRZ2RYWkJibWx0WVhScGIyNVNiM1JoZEdsdmJsQm9ZWE5sS0haaGJIVmxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG5WMlFXNXBiV0YwYVc5dVVtOTBZWFJwYjI1UWFHRnpaUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklIVjJRVzVwYldGMGFXOXVVMk55YjJ4c1dGTndaV1ZrUm1GamRHOXlJRDBnTUM0d08xeHVJQ0J3ZFdKc2FXTWdkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0lnUFNBd0xqQTdYRzRnSUhCMVlteHBZeUIxZGtGdWFXMWhkR2x2YmxKdmRHRjBhVzl1VTNCbFpXUkdZV04wYjNJZ1BTQXdMakE3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRmRvWlhSb1pYSWdkR2hsSUcxaGRHVnlhV0ZzSUdseklHRm1abVZqZEdWa0lHSjVJR1p2Wnk1Y2JpQWdJQ29nWUhSeWRXVmdJR0o1SUdSbFptRjFiSFF1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWm05bklEMGdkSEoxWlR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVjJsc2JDQmlaU0J5WldGa0lHbHVJRmRsWWtkTVVISnZaM0poYlhOY2JpQWdJQ3BjYmlBZ0lDb2dVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJYSmtiMjlpTDNSb2NtVmxMbXB6TDJKc2IySXZOR1kxTWpNMllXTXpaRFptTkRGa09UQTBZV0UxT0RRd01XSTBNRFUxTkdVNFptSmtZMkl4TlM5emNtTXZjbVZ1WkdWeVpYSnpMM2RsWW1kc0wxZGxZa2RNVUhKdlozSmhiWE11YW5NalRERTVNQzFNTVRreFhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2JtOXliV0ZzVFdGd1ZIbHdaU0E5SUZSSVVrVkZMbFJoYm1kbGJuUlRjR0ZqWlU1dmNtMWhiRTFoY0R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVjJobGJpQjBhR2x6SUdseklHQjBjblZsWUN3Z2RtVnlkR1Y0SUdOdmJHOXljeUIzYVd4c0lHSmxJR2xuYm05eVpXUXVYRzRnSUNBcUlHQjBjblZsWUNCaWVTQmtaV1poZFd4MExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZhV2R1YjNKbFZtVnlkR1Y0UTI5c2IzSWdQU0IwY25WbE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCWGFHVnVJSFJvYVhNZ2FYTWdZSFJ5ZFdWZ0xDQjJaWEowWlhnZ1kyOXNiM0p6SUhkcGJHd2dZbVVnYVdkdWIzSmxaQzVjYmlBZ0lDb2dZSFJ5ZFdWZ0lHSjVJR1JsWm1GMWJIUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwSUdsbmJtOXlaVlpsY25SbGVFTnZiRzl5S0NrNklHSnZiMnhsWVc0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBaMjV2Y21WV1pYSjBaWGhEYjJ4dmNqdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJR2xuYm05eVpWWmxjblJsZUVOdmJHOXlLSFpoYkhWbE9pQmliMjlzWldGdUtTQjdYRzRnSUNBZ2RHaHBjeTVmYVdkdWIzSmxWbVZ5ZEdWNFEyOXNiM0lnUFNCMllXeDFaVHRjYmx4dUlDQWdJSFJvYVhNdWJtVmxaSE5WY0dSaGRHVWdQU0IwY25WbE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZkakJEYjIxd1lYUlRhR0ZrWlNBOUlHWmhiSE5sTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdWeVpTQnBjeUJoSUd4cGJtVWdiMllnZEdobElITm9ZV1JsY2lCallXeHNaV1FnWENKamIyMXRaVzUwSUc5MWRDQnBaaUI1YjNVZ2QyRnVkQ0IwYnlCUVFsSWdZV0p6YjJ4MWRHVnNlVndpSUdsdUlGWlNUVEF1TUNCTlZHOXZiaTVjYmlBZ0lDb2dWMmhsYmlCMGFHbHpJR2x6SUhSeWRXVXNJSFJvWlNCdFlYUmxjbWxoYkNCbGJtRmliR1Z6SUhSb1pTQnNhVzVsSUhSdklHMWhhMlVnYVhRZ1kyOXRjR0YwYVdKc1pTQjNhWFJvSUhSb1pTQnNaV2RoWTNrZ2NtVnVaR1Z5YVc1bklHOW1JRlpTVFM1Y2JpQWdJQ29nVlhOMVlXeHNlU0J1YjNRZ2NtVmpiMjF0Wlc1a1pXUWdkRzhnZEhWeWJpQjBhR2x6SUc5dUxseHVJQ0FnS2lCZ1ptRnNjMlZnSUdKNUlHUmxabUYxYkhRdVhHNGdJQ0FxTDF4dUlDQm5aWFFnZGpCRGIyMXdZWFJUYUdGa1pTZ3BPaUJpYjI5c1pXRnVJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZGpCRGIyMXdZWFJUYUdGa1pUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdWeVpTQnBjeUJoSUd4cGJtVWdiMllnZEdobElITm9ZV1JsY2lCallXeHNaV1FnWENKamIyMXRaVzUwSUc5MWRDQnBaaUI1YjNVZ2QyRnVkQ0IwYnlCUVFsSWdZV0p6YjJ4MWRHVnNlVndpSUdsdUlGWlNUVEF1TUNCTlZHOXZiaTVjYmlBZ0lDb2dWMmhsYmlCMGFHbHpJR2x6SUhSeWRXVXNJSFJvWlNCdFlYUmxjbWxoYkNCbGJtRmliR1Z6SUhSb1pTQnNhVzVsSUhSdklHMWhhMlVnYVhRZ1kyOXRjR0YwYVdKc1pTQjNhWFJvSUhSb1pTQnNaV2RoWTNrZ2NtVnVaR1Z5YVc1bklHOW1JRlpTVFM1Y2JpQWdJQ29nVlhOMVlXeHNlU0J1YjNRZ2NtVmpiMjF0Wlc1a1pXUWdkRzhnZEhWeWJpQjBhR2x6SUc5dUxseHVJQ0FnS2lCZ1ptRnNjMlZnSUdKNUlHUmxabUYxYkhRdVhHNGdJQ0FxTDF4dUlDQnpaWFFnZGpCRGIyMXdZWFJUYUdGa1pTaDJPaUJpYjI5c1pXRnVLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRqQkRiMjF3WVhSVGFHRmtaU0E5SUhZN1hHNWNiaUFnSUNCMGFHbHpMbTVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJSbFluVm5UVzlrWlRvZ1RWUnZiMjVOWVhSbGNtbGhiRVJsWW5WblRXOWtaU0E5SUUxVWIyOXVUV0YwWlhKcFlXeEVaV0oxWjAxdlpHVXVUbTl1WlR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUkdWaWRXY2diVzlrWlNCbWIzSWdkR2hsSUcxaGRHVnlhV0ZzTGx4dUlDQWdLaUJaYjNVZ1kyRnVJSFpwYzNWaGJHbDZaU0J6WlhabGNtRnNJR052YlhCdmJtVnVkSE1nWm05eUlHUnBZV2R1YjNOcGN5QjFjMmx1WnlCa1pXSjFaeUJ0YjJSbExseHVJQ0FnS2x4dUlDQWdLaUJUWldVNklIdEFiR2x1YXlCTlZHOXZiazFoZEdWeWFXRnNSR1ZpZFdkTmIyUmxmVnh1SUNBZ0tpOWNiaUFnWjJWMElHUmxZblZuVFc5a1pTZ3BPaUJOVkc5dmJrMWhkR1Z5YVdGc1JHVmlkV2ROYjJSbElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaR1ZpZFdkTmIyUmxPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVSbFluVm5JRzF2WkdVZ1ptOXlJSFJvWlNCdFlYUmxjbWxoYkM1Y2JpQWdJQ29nV1c5MUlHTmhiaUIyYVhOMVlXeHBlbVVnYzJWMlpYSmhiQ0JqYjIxd2IyNWxiblJ6SUdadmNpQmthV0ZuYm05emFYTWdkWE5wYm1jZ1pHVmlkV2NnYlc5a1pTNWNiaUFnSUNwY2JpQWdJQ29nVTJWbE9pQjdRR3hwYm1zZ1RWUnZiMjVOWVhSbGNtbGhiRVJsWW5WblRXOWtaWDFjYmlBZ0lDb3ZYRzRnSUhObGRDQmtaV0oxWjAxdlpHVW9iVG9nVFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pTa2dlMXh1SUNBZ0lIUm9hWE11WDJSbFluVm5UVzlrWlNBOUlHMDdYRzVjYmlBZ0lDQjBhR2x6TG01bFpXUnpWWEJrWVhSbElEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyOTFkR3hwYm1WWGFXUjBhRTF2WkdVNklFMVViMjl1VFdGMFpYSnBZV3hQZFhSc2FXNWxWMmxrZEdoTmIyUmxJRDBnVFZSdmIyNU5ZWFJsY21saGJFOTFkR3hwYm1WWGFXUjBhRTF2WkdVdVRtOXVaVHRjYmx4dUlDQm5aWFFnYjNWMGJHbHVaVmRwWkhSb1RXOWtaU2dwT2lCTlZHOXZiazFoZEdWeWFXRnNUM1YwYkdsdVpWZHBaSFJvVFc5a1pTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMjkxZEd4cGJtVlhhV1IwYUUxdlpHVTdYRzRnSUgxY2JpQWdjMlYwSUc5MWRHeHBibVZYYVdSMGFFMXZaR1VvYlRvZ1RWUnZiMjVOWVhSbGNtbGhiRTkxZEd4cGJtVlhhV1IwYUUxdlpHVXBJSHRjYmlBZ0lDQjBhR2x6TGw5dmRYUnNhVzVsVjJsa2RHaE5iMlJsSUQwZ2JUdGNibHh1SUNBZ0lIUm9hWE11Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmFYTlBkWFJzYVc1bElEMGdabUZzYzJVN1hHNWNiaUFnWjJWMElHbHpUM1YwYkdsdVpTZ3BPaUJpYjI5c1pXRnVJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVhOUGRYUnNhVzVsTzF4dUlDQjlYRzRnSUhObGRDQnBjMDkxZEd4cGJtVW9Zam9nWW05dmJHVmhiaWtnZTF4dUlDQWdJSFJvYVhNdVgybHpUM1YwYkdsdVpTQTlJR0k3WEc1Y2JpQWdJQ0IwYUdsekxtNWxaV1J6VlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWldGa2IyNXNlU0JpYjI5c1pXRnVJSFJvWVhRZ2FXNWthV05oZEdWeklIUm9hWE1nYVhNZ1lTQmJXMDFVYjI5dVRXRjBaWEpwWVd4ZFhTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnYVhOTlZHOXZiazFoZEdWeWFXRnNLQ2s2SUhSeWRXVWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2NHRnlZVzFsZEdWeWN6b2dUVlJ2YjI1TllYUmxjbWxoYkZCaGNtRnRaWFJsY25NZ1BTQjdmU2tnZTF4dUlDQWdJSE4xY0dWeUtIc2dkbVZ5ZEdWNFUyaGhaR1Z5TENCbWNtRm5iV1Z1ZEZOb1lXUmxjaUI5S1R0Y2JseHVJQ0FnSUM4dklHOTJaWEp5YVdSbElHUmxjSFJvVjNKcGRHVWdkMmwwYUNCMGNtRnVjM0JoY21WdWRGZHBkR2hhVjNKcGRHVmNiaUFnSUNCcFppQW9jR0Z5WVcxbGRHVnljeTUwY21GdWMzQmhjbVZ1ZEZkcGRHaGFWM0pwZEdVcElIdGNiaUFnSUNBZ0lIQmhjbUZ0WlhSbGNuTXVaR1Z3ZEdoWGNtbDBaU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdSbGJHVjBaU0J3WVhKaGJXVjBaWEp6TG5SeVlXNXpjR0Z5Wlc1MFYybDBhRnBYY21sMFpUdGNibHh1SUNBZ0lDOHZJRDA5SUdWdVlXSnNhVzVuSUdKMWJtTm9JRzltSUhOMGRXWm1JRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUlDQWdJSEJoY21GdFpYUmxjbk11Wm05bklEMGdkSEoxWlR0Y2JpQWdJQ0J3WVhKaGJXVjBaWEp6TG14cFoyaDBjeUE5SUhSeWRXVTdYRzRnSUNBZ2NHRnlZVzFsZEdWeWN5NWpiR2x3Y0dsdVp5QTlJSFJ5ZFdVN1hHNWNiaUFnSUNBdkx5QkRUMDFRUVZRNklIQnlaUzF5TVRJNVhHNGdJQ0FnTHk4Z1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YlhKa2IyOWlMM1JvY21WbExtcHpMM0IxYkd3dk1qRTNPRGhjYmlBZ0lDQnBaaUFvY0dGeWMyVkpiblFvVkVoU1JVVXVVa1ZXU1ZOSlQwNHNJREV3S1NBOElERXlPU2tnZTF4dUlDQWdJQ0FnS0hCaGNtRnRaWFJsY25NZ1lYTWdZVzU1S1M1emEybHVibWx1WnlBOUlDaHdZWEpoYldWMFpYSnpJR0Z6SUdGdWVTa3VjMnRwYm01cGJtY2dmSHdnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRMDlOVUVGVU9pQndjbVV0Y2pFek1WeHVJQ0FnSUM4dklGTmxaVG9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDIxeVpHOXZZaTkwYUhKbFpTNXFjeTl3ZFd4c0x6SXlNVFk1WEc0Z0lDQWdhV1lnS0hCaGNuTmxTVzUwS0ZSSVVrVkZMbEpGVmtsVFNVOU9MQ0F4TUNrZ1BDQXhNekVwSUh0Y2JpQWdJQ0FnSUNod1lYSmhiV1YwWlhKeklHRnpJR0Z1ZVNrdWJXOXljR2hVWVhKblpYUnpJRDBnS0hCaGNtRnRaWFJsY25NZ1lYTWdZVzU1S1M1dGIzSndhRlJoY21kbGRITWdmSHdnWm1Gc2MyVTdYRzRnSUNBZ0lDQW9jR0Z5WVcxbGRHVnljeUJoY3lCaGJua3BMbTF2Y25Cb1RtOXliV0ZzY3lBOUlDaHdZWEpoYldWMFpYSnpJR0Z6SUdGdWVTa3ViVzl5Y0doT2IzSnRZV3h6SUh4OElHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUQwOUlIVnVhV1p2Y20xeklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTWdQU0JVU0ZKRlJTNVZibWxtYjNKdGMxVjBhV3h6TG0xbGNtZGxLRnRjYmlBZ0lDQWdJRlJJVWtWRkxsVnVhV1p2Y20xelRHbGlMbU52YlcxdmJpd2dMeThnYldGd1hHNGdJQ0FnSUNCVVNGSkZSUzVWYm1sbWIzSnRjMHhwWWk1dWIzSnRZV3h0WVhBc0lDOHZJRzV2Y20xaGJFMWhjRnh1SUNBZ0lDQWdWRWhTUlVVdVZXNXBabTl5YlhOTWFXSXVaVzFwYzNOcGRtVnRZWEFzSUM4dklHVnRhWE56YVhabFRXRndYRzRnSUNBZ0lDQlVTRkpGUlM1VmJtbG1iM0p0YzB4cFlpNW1iMmNzWEc0Z0lDQWdJQ0JVU0ZKRlJTNVZibWxtYjNKdGMweHBZaTVzYVdkb2RITXNYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR3hwZEVaaFkzUnZjam9nZXlCMllXeDFaVG9nYm1WM0lGUklVa1ZGTGtOdmJHOXlLREV1TUN3Z01TNHdMQ0F4TGpBcElIMHNYRzRnSUNBZ0lDQWdJRzFoY0ZWMlZISmhibk5tYjNKdE9pQjdJSFpoYkhWbE9pQnVaWGNnVkVoU1JVVXVUV0YwY21sNE15Z3BJSDBzWEc0Z0lDQWdJQ0FnSUdOdmJHOXlRV3h3YUdFNklIc2dkbUZzZFdVNklERXVNQ0I5TEZ4dUlDQWdJQ0FnSUNCdWIzSnRZV3hOWVhCVmRsUnlZVzV6Wm05eWJUb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMazFoZEhKcGVETW9LU0I5TEZ4dUlDQWdJQ0FnSUNCemFHRmtaVU52Ykc5eVJtRmpkRzl5T2lCN0lIWmhiSFZsT2lCdVpYY2dWRWhTUlVVdVEyOXNiM0lvTUM0NU55d2dNQzQ0TVN3Z01DNDROaWtnZlN4Y2JpQWdJQ0FnSUNBZ2MyaGhaR1ZOZFd4MGFYQnNlVlJsZUhSMWNtVTZJSHNnZG1Gc2RXVTZJRzUxYkd3Z2ZTeGNiaUFnSUNBZ0lDQWdjMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlRvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURNb0tTQjlMRnh1SUNBZ0lDQWdJQ0J6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0k2SUhzZ2RtRnNkV1U2SURBdU1DQjlMRnh1SUNBZ0lDQWdJQ0J6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsT2lCN0lIWmhiSFZsT2lCdWRXeHNJSDBzWEc0Z0lDQWdJQ0FnSUhOb1lXUnBibWRUYUdsbWRGUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMazFoZEhKcGVETW9LU0I5TEZ4dUlDQWdJQ0FnSUNCemFHRmthVzVuVTJocFpuUlVaWGgwZFhKbFUyTmhiR1U2SUhzZ2RtRnNkV1U2SURFdU1DQjlMRnh1SUNBZ0lDQWdJQ0J6YUdGa2FXNW5WRzl2Ym5sR1lXTjBiM0k2SUhzZ2RtRnNkV1U2SURBdU9TQjlMRnh1SUNBZ0lDQWdJQ0JuYVVWeGRXRnNhWHBoZEdsdmJrWmhZM1J2Y2pvZ2V5QjJZV3gxWlRvZ01DNDVJSDBzWEc0Z0lDQWdJQ0FnSUcxaGRHTmhjRVpoWTNSdmNqb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMa052Ykc5eUtEQXVNQ3dnTUM0d0xDQXdMakFwSUgwc1hHNGdJQ0FnSUNBZ0lHMWhkR05oY0ZSbGVIUjFjbVU2SUhzZ2RtRnNkV1U2SUc1MWJHd2dmU3hjYmlBZ0lDQWdJQ0FnYldGMFkyRndWR1Y0ZEhWeVpWVjJWSEpoYm5ObWIzSnRPaUI3SUhaaGJIVmxPaUJ1WlhjZ1ZFaFNSVVV1VFdGMGNtbDRNeWdwSUgwc1hHNGdJQ0FnSUNBZ0lIQmhjbUZ0WlhSeWFXTlNhVzFEYjJ4dmNrWmhZM1J2Y2pvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrTnZiRzl5S0RBdU1Dd2dNQzR3TENBd0xqQXBJSDBzWEc0Z0lDQWdJQ0FnSUhKcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlRvZ2V5QjJZV3gxWlRvZ2JuVnNiQ0I5TEZ4dUlDQWdJQ0FnSUNCeWFXMU5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMazFoZEhKcGVETW9LU0I5TEZ4dUlDQWdJQ0FnSUNCeWFXMU1hV2RvZEdsdVowMXBlRVpoWTNSdmNqb2dleUIyWVd4MVpUb2dNQzR3SUgwc1hHNGdJQ0FnSUNBZ0lIQmhjbUZ0WlhSeWFXTlNhVzFHY21WemJtVnNVRzkzWlhKR1lXTjBiM0k2SUhzZ2RtRnNkV1U2SURFdU1DQjlMRnh1SUNBZ0lDQWdJQ0J3WVhKaGJXVjBjbWxqVW1sdFRHbG1kRVpoWTNSdmNqb2dleUIyWVd4MVpUb2dNQzR3SUgwc1hHNGdJQ0FnSUNBZ0lHVnRhWE56YVhabE9pQjdJSFpoYkhWbE9pQnVaWGNnVkVoU1JVVXVRMjlzYjNJb01DNHdMQ0F3TGpBc0lEQXVNQ2tnZlN4Y2JpQWdJQ0FnSUNBZ1pXMXBjM05wZG1WSmJuUmxibk5wZEhrNklIc2dkbUZzZFdVNklERXVNQ0I5TEZ4dUlDQWdJQ0FnSUNCbGJXbHpjMmwyWlUxaGNGVjJWSEpoYm5ObWIzSnRPaUI3SUhaaGJIVmxPaUJ1WlhjZ1ZFaFNSVVV1VFdGMGNtbDRNeWdwSUgwc1hHNGdJQ0FnSUNBZ0lHOTFkR3hwYm1WWGFXUjBhRTExYkhScGNHeDVWR1Y0ZEhWeVpUb2dleUIyWVd4MVpUb2diblZzYkNCOUxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVlZkbFJ5WVc1elptOXliVG9nZXlCMllXeDFaVG9nYm1WM0lGUklVa1ZGTGsxaGRISnBlRE1vS1NCOUxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bFYybGtkR2hHWVdOMGIzSTZJSHNnZG1Gc2RXVTZJREF1TlNCOUxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bFEyOXNiM0pHWVdOMGIzSTZJSHNnZG1Gc2RXVTZJRzVsZHlCVVNGSkZSUzVEYjJ4dmNpZ3dMakFzSURBdU1Dd2dNQzR3S1NCOUxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJNklIc2dkbUZzZFdVNklERXVNQ0I5TEZ4dUlDQWdJQ0FnSUNCMWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxPaUI3SUhaaGJIVmxPaUJ1ZFd4c0lIMHNYRzRnSUNBZ0lDQWdJSFYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMazFoZEhKcGVETW9LU0I5TEZ4dUlDQWdJQ0FnSUNCMWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZoUFptWnpaWFE2SUhzZ2RtRnNkV1U2SURBdU1DQjlMRnh1SUNBZ0lDQWdJQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmxQWm1aelpYUTZJSHNnZG1Gc2RXVTZJREF1TUNCOUxGeHVJQ0FnSUNBZ0lDQjFka0Z1YVcxaGRHbHZibEp2ZEdGMGFXOXVVR2hoYzJVNklIc2dkbUZzZFdVNklEQXVNQ0I5TEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUhCaGNtRnRaWFJsY25NdWRXNXBabTl5YlhNc1hHNGdJQ0FnWFNrN1hHNWNiaUFnSUNBdkx5QTlQU0JtYVc1aGJHeDVJR052YlhCcGJHVWdkR2hsSUhOb1lXUmxjaUJ3Y205bmNtRnRJRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmlBZ0lDQjBhR2x6TG5ObGRGWmhiSFZsY3lod1lYSmhiV1YwWlhKektUdGNibHh1SUNBZ0lDOHZJRDA5SUhWd2JHOWhaQ0IxYm1sbWIzSnRjeUIwYUdGMElHNWxaV1FnZEc4Z2RYQnNiMkZrSUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUlDQWdJSFJvYVhNdVgzVndiRzloWkZWdWFXWnZjbTF6VjI5eWEyRnliM1Z1WkNncE8xeHVYRzRnSUNBZ0x5OGdQVDBnZFhCa1lYUmxJSE5vWVdSbGNpQnpkSFZtWmlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0lDQWdkR2hwY3k1amRYTjBiMjFRY205bmNtRnRRMkZqYUdWTFpYa2dQU0FvS1NBOVBseHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQXVMaTVQWW1wbFkzUXVaVzUwY21sbGN5aDBhR2x6TGw5blpXNWxjbUYwWlVSbFptbHVaWE1vS1NrdWJXRndLQ2hiZEc5clpXNHNJRzFoWTNKdlhTa2dQVDRnWUNSN2RHOXJaVzU5T2lSN2JXRmpjbTk5WUNrc1hHNGdJQ0FnSUNBZ0lIUm9hWE11YldGMFkyRndWR1Y0ZEhWeVpTQS9JR0J0WVhSallYQlVaWGgwZFhKbFEyOXNiM0pUY0dGalpUb2tlMmRsZEZSbGVIUjFjbVZEYjJ4dmNsTndZV05sS0hSb2FYTXViV0YwWTJGd1ZHVjRkSFZ5WlNsOVlDQTZJQ2NuTEZ4dUlDQWdJQ0FnSUNCMGFHbHpMbk5vWVdSbFRYVnNkR2x3YkhsVVpYaDBkWEpsWEc0Z0lDQWdJQ0FnSUNBZ1B5QmdjMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVZEYjJ4dmNsTndZV05sT2lSN1oyVjBWR1Y0ZEhWeVpVTnZiRzl5VTNCaFkyVW9kR2hwY3k1emFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpTbDlZRnh1SUNBZ0lDQWdJQ0FnSURvZ0p5Y3NYRzRnSUNBZ0lDQWdJSFJvYVhNdWNtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbElEOGdZSEpwYlUxMWJIUnBjR3g1VkdWNGRIVnlaVU52Ykc5eVUzQmhZMlU2Skh0blpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTaDBhR2x6TG5KcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlNsOVlDQTZJQ2NuTEZ4dUlDQWdJQ0FnWFM1cWIybHVLQ2NzSnlrN1hHNWNiaUFnSUNCMGFHbHpMbTl1UW1WbWIzSmxRMjl0Y0dsc1pTQTlJQ2h6YUdGa1pYSXBJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFJvY21WbFVtVjJhWE5wYjI0Z1BTQndZWEp6WlVsdWRDaFVTRkpGUlM1U1JWWkpVMGxQVGl3Z01UQXBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQmtaV1pwYm1WeklEMWNiaUFnSUNBZ0lDQWdUMkpxWldOMExtVnVkSEpwWlhNb2V5QXVMaTUwYUdsekxsOW5aVzVsY21GMFpVUmxabWx1WlhNb0tTd2dMaTR1ZEdocGN5NWtaV1pwYm1WeklIMHBYRzRnSUNBZ0lDQWdJQ0FnTG1acGJIUmxjaWdvVzNSdmEyVnVMQ0J0WVdOeWIxMHBJRDArSUNFaGJXRmpjbThwWEc0Z0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvVzNSdmEyVnVMQ0J0WVdOeWIxMHBJRDArSUdBalpHVm1hVzVsSUNSN2RHOXJaVzU5SUNSN2JXRmpjbTk5WUNsY2JpQWdJQ0FnSUNBZ0lDQXVhbTlwYmlnblhGeHVKeWtnS3lBblhGeHVKenRjYmx4dUlDQWdJQ0FnTHk4Z0xTMGdaMlZ1WlhKaGRHVWdjMmhoWkdWeUlHTnZaR1VnTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0FnSUNBZ2MyaGhaR1Z5TG5abGNuUmxlRk5vWVdSbGNpQTlJR1JsWm1sdVpYTWdLeUJ6YUdGa1pYSXVkbVZ5ZEdWNFUyaGhaR1Z5TzF4dUlDQWdJQ0FnYzJoaFpHVnlMbVp5WVdkdFpXNTBVMmhoWkdWeUlEMGdaR1ZtYVc1bGN5QXJJSE5vWVdSbGNpNW1jbUZuYldWdWRGTm9ZV1JsY2p0Y2JseHVJQ0FnSUNBZ0x5OGdMUzBnWTI5dGNHRjBJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1WEc0Z0lDQWdJQ0F2THlCRFQwMVFRVlE2SUhCeVpTMXlNVFUwWEc0Z0lDQWdJQ0F2THlCVWFISmxaUzVxY3lCeU1UVTBJSEpsYm1GdFpYTWdkR2hsSUhOb1lXUmxjaUJqYUhWdWF5QThZMjlzYjNKemNHRmpaVjltY21GbmJXVnVkRDRnZEc4Z1BHVnVZMjlrYVc1bmMxOW1jbUZuYldWdWRENWNiaUFnSUNBZ0lHbG1JQ2gwYUhKbFpWSmxkbWx6YVc5dUlEd2dNVFUwS1NCN1hHNGdJQ0FnSUNBZ0lITm9ZV1JsY2k1bWNtRm5iV1Z1ZEZOb1lXUmxjaUE5SUhOb1lXUmxjaTVtY21GbmJXVnVkRk5vWVdSbGNpNXlaWEJzWVdObEtGeHVJQ0FnSUNBZ0lDQWdJQ2NqYVc1amJIVmtaU0E4WTI5c2IzSnpjR0ZqWlY5bWNtRm5iV1Z1ZEQ0bkxGeHVJQ0FnSUNBZ0lDQWdJQ2NqYVc1amJIVmtaU0E4Wlc1amIyUnBibWR6WDJaeVlXZHRaVzUwUGljc1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUVOUFRWQkJWRG9nY0hKbExYSXhNekpjYmlBZ0lDQWdJQzh2SUZSb2NtVmxMbXB6SUhJeE16SWdhVzUwY205a2RXTmxjeUJ1WlhjZ2MyaGhaR1Z5SUdOb2RXNXJjeUE4Ym05eWJXRnNYM0JoY25OZlpuSmhaMjFsYm5RK0lHRnVaQ0E4WVd4d2FHRjBaWE4wWDNCaGNuTmZabkpoWjIxbGJuUStYRzRnSUNBZ0lDQnBaaUFvZEdoeVpXVlNaWFpwYzJsdmJpQThJREV6TWlrZ2UxeHVJQ0FnSUNBZ0lDQnphR0ZrWlhJdVpuSmhaMjFsYm5SVGFHRmtaWElnUFNCemFHRmtaWEl1Wm5KaFoyMWxiblJUYUdGa1pYSXVjbVZ3YkdGalpTZ25JMmx1WTJ4MVpHVWdQRzV2Y20xaGJGOXdZWEp6WDJaeVlXZHRaVzUwUGljc0lDY25LVHRjYmlBZ0lDQWdJQ0FnYzJoaFpHVnlMbVp5WVdkdFpXNTBVMmhoWkdWeUlEMGdjMmhoWkdWeUxtWnlZV2R0Wlc1MFUyaGhaR1Z5TG5KbGNHeGhZMlVvSnlOcGJtTnNkV1JsSUR4aGJIQm9ZWFJsYzNSZmNHRnljMTltY21GbmJXVnVkRDRuTENBbkp5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJWY0dSaGRHVWdkR2hwY3lCdFlYUmxjbWxoYkM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHUmxiSFJoSUdSbGJIUmhWR2x0WlNCemFXNWpaU0JzWVhOMElIVndaR0YwWlZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhWd1pHRjBaU2hrWld4MFlUb2diblZ0WW1WeUtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZkWEJzYjJGa1ZXNXBabTl5YlhOWGIzSnJZWEp2ZFc1a0tDazdYRzRnSUNBZ2RHaHBjeTVmZFhCa1lYUmxWVlpCYm1sdFlYUnBiMjRvWkdWc2RHRXBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR052Y0hrb2MyOTFjbU5sT2lCMGFHbHpLVG9nZEdocGN5QjdYRzRnSUNBZ2MzVndaWEl1WTI5d2VTaHpiM1Z5WTJVcE8xeHVJQ0FnSUM4dklIVnVhV1p2Y20xeklHRnlaU0JoYkhKbFlXUjVJR052Y0dsbFpDQmhkQ0IwYUdseklHMXZiV1Z1ZEZ4dVhHNGdJQ0FnTHk4Z1FtVm5hVzV1YVc1bklHWnliMjBnY2pFek15d2dkVzVwWm05eWJTQjBaWGgwZFhKbGN5QjNhV3hzSUdKbElHTnNiMjVsWkNCcGJuTjBaV0ZrSUc5bUlISmxabVZ5Wlc1alpWeHVJQ0FnSUM4dklGTmxaVG9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDIxeVpHOXZZaTkwYUhKbFpTNXFjeTlpYkc5aUwyRTRPREV6WW1Vd05HRTRORGxpWkRFMU5XWTNZMlkyWmpGaU1qTmtPR1ZsTW1Vd1ptSTBPR0l2WlhoaGJYQnNaWE12YW5OdEwyeHZZV1JsY25NdlIweFVSa3h2WVdSbGNpNXFjeU5NTXpBME4xeHVJQ0FnSUM4dklGTmxaVG9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDIxeVpHOXZZaTkwYUhKbFpTNXFjeTlpYkc5aUwyRTRPREV6WW1Vd05HRTRORGxpWkRFMU5XWTNZMlkyWmpGaU1qTmtPR1ZsTW1Vd1ptSTBPR0l2YzNKakwzSmxibVJsY21WeWN5OXphR0ZrWlhKekwxVnVhV1p2Y20xelZYUnBiSE11YW5NalRESXlYRzRnSUNBZ0x5OGdWR2hwY3lCM2FXeHNJR3hsWVhabElIUm9aV2x5SUdBdWRtVnljMmx2Ym1BZ2RHOGdZbVVnWURCZ1hHNGdJQ0FnTHk4Z1lXNWtJSFJvWlhObElIUmxlSFIxY21WeklIZHZiaWQwSUdKbElIVndiRzloWkdWa0lIUnZJRWRRVlZ4dUlDQWdJQzh2SUZkbElHRnlaU0JuYjJsdVp5QjBieUIzYjNKcllYSnZkVzVrSUhSb2FYTWdhVzRnYUdWeVpWeHVJQ0FnSUM4dklFa25kbVVnYjNCbGJtVmtJR0Z1SUdsemMzVmxJR1p2Y2lCMGFHbHpPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YlhKa2IyOWlMM1JvY21WbExtcHpMMmx6YzNWbGN5OHlNamN4T0Z4dUlDQWdJSFJvYVhNdWJXRndJRDBnYzI5MWNtTmxMbTFoY0R0Y2JpQWdJQ0IwYUdsekxtNXZjbTFoYkUxaGNDQTlJSE52ZFhKalpTNXViM0p0WVd4TllYQTdYRzRnSUNBZ2RHaHBjeTVsYldsemMybDJaVTFoY0NBOUlITnZkWEpqWlM1bGJXbHpjMmwyWlUxaGNEdGNiaUFnSUNCMGFHbHpMbk5vWVdSbFRYVnNkR2x3YkhsVVpYaDBkWEpsSUQwZ2MyOTFjbU5sTG5Ob1lXUmxUWFZzZEdsd2JIbFVaWGgwZFhKbE8xeHVJQ0FnSUhSb2FYTXVjMmhoWkdsdVoxTm9hV1owVkdWNGRIVnlaU0E5SUhOdmRYSmpaUzV6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsTzF4dUlDQWdJSFJvYVhNdWJXRjBZMkZ3VkdWNGRIVnlaU0E5SUhOdmRYSmpaUzV0WVhSallYQlVaWGgwZFhKbE8xeHVJQ0FnSUhSb2FYTXVjbWx0VFhWc2RHbHdiSGxVWlhoMGRYSmxJRDBnYzI5MWNtTmxMbkpwYlUxMWJIUnBjR3g1VkdWNGRIVnlaVHRjYmlBZ0lDQjBhR2x6TG05MWRHeHBibVZYYVdSMGFFMTFiSFJwY0d4NVZHVjRkSFZ5WlNBOUlITnZkWEpqWlM1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VN1hHNGdJQ0FnZEdocGN5NTFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsSUQwZ2MyOTFjbU5sTG5WMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVTdYRzVjYmlBZ0lDQXZMeUE5UFNCamIzQjVJRzFsYldKbGNuTWdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpQWdJQ0IwYUdsekxtNXZjbTFoYkUxaGNGUjVjR1VnUFNCemIzVnlZMlV1Ym05eWJXRnNUV0Z3Vkhsd1pUdGNibHh1SUNBZ0lIUm9hWE11ZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3hZVTNCbFpXUkdZV04wYjNJZ1BTQnpiM1Z5WTJVdWRYWkJibWx0WVhScGIyNVRZM0p2Ykd4WVUzQmxaV1JHWVdOMGIzSTdYRzRnSUNBZ2RHaHBjeTUxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmxUY0dWbFpFWmhZM1J2Y2lBOUlITnZkWEpqWlM1MWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZsVGNHVmxaRVpoWTNSdmNqdGNiaUFnSUNCMGFHbHpMblYyUVc1cGJXRjBhVzl1VW05MFlYUnBiMjVUY0dWbFpFWmhZM1J2Y2lBOUlITnZkWEpqWlM1MWRrRnVhVzFoZEdsdmJsSnZkR0YwYVc5dVUzQmxaV1JHWVdOMGIzSTdYRzVjYmlBZ0lDQjBhR2x6TG1sbmJtOXlaVlpsY25SbGVFTnZiRzl5SUQwZ2MyOTFjbU5sTG1sbmJtOXlaVlpsY25SbGVFTnZiRzl5TzF4dVhHNGdJQ0FnZEdocGN5NTJNRU52YlhCaGRGTm9ZV1JsSUQwZ2MyOTFjbU5sTG5Zd1EyOXRjR0YwVTJoaFpHVTdYRzRnSUNBZ2RHaHBjeTVrWldKMVowMXZaR1VnUFNCemIzVnlZMlV1WkdWaWRXZE5iMlJsTzF4dUlDQWdJSFJvYVhNdWIzVjBiR2x1WlZkcFpIUm9UVzlrWlNBOUlITnZkWEpqWlM1dmRYUnNhVzVsVjJsa2RHaE5iMlJsTzF4dVhHNGdJQ0FnZEdocGN5NXBjMDkxZEd4cGJtVWdQU0J6YjNWeVkyVXVhWE5QZFhSc2FXNWxPMXh1WEc0Z0lDQWdMeThnUFQwZ2RYQmtZWFJsSUhOb1lXUmxjaUJ6ZEhWbVppQTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNGdJQ0FnZEdocGN5NXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVmNHUmhkR1VnVlZZZ1lXNXBiV0YwYVc5dUlITjBZWFJsTGx4dUlDQWdLaUJKYm5SbGJtUmxaQ0IwYnlCaVpTQmpZV3hzWldRZ2RtbGhJSHRBYkdsdWF5QjFjR1JoZEdWOUxseHVJQ0FnS2lCQWNHRnlZVzBnWkdWc2RHRWdaR1ZzZEdGVWFXMWxYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjkxY0dSaGRHVlZWa0Z1YVcxaGRHbHZiaWhrWld4MFlUb2diblZ0WW1WeUtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NTFka0Z1YVcxaGRHbHZibE5qY205c2JGaFBabVp6WlhRdWRtRnNkV1VnS3owZ1pHVnNkR0VnS2lCMGFHbHpMblYyUVc1cGJXRjBhVzl1VTJOeWIyeHNXRk53WldWa1JtRmpkRzl5TzF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWRYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlQyWm1jMlYwTG5aaGJIVmxJQ3M5SUdSbGJIUmhJQ29nZEdocGN5NTFka0Z1YVcxaGRHbHZibE5qY205c2JGbFRjR1ZsWkVaaFkzUnZjanRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG5WMlFXNXBiV0YwYVc5dVVtOTBZWFJwYjI1UWFHRnpaUzUyWVd4MVpTQXJQU0JrWld4MFlTQXFJSFJvYVhNdWRYWkJibWx0WVhScGIyNVNiM1JoZEdsdmJsTndaV1ZrUm1GamRHOXlPMXh1WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0YzA1bFpXUlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGVndiRzloWkNCMWJtbG1iM0p0Y3lCMGFHRjBJRzVsWldRZ2RHOGdkWEJzYjJGa0lHSjFkQ0JrYjJWemJpZDBJR0YxZEc5dFlYUnBZMkZzYkhrZ1ltVmpZWFZ6WlNCdlppQnlaV0Z6YjI1ekxseHVJQ0FnS2lCSmJuUmxibVJsWkNCMGJ5QmlaU0JqWVd4c1pXUWdkbWxoSUh0QWJHbHVheUJqYjI1emRISjFZM1J2Y24wZ1lXNWtJSHRBYkdsdWF5QjFjR1JoZEdWOUxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZkWEJzYjJGa1ZXNXBabTl5YlhOWGIzSnJZWEp2ZFc1a0tDazZJSFp2YVdRZ2UxeHVJQ0FnSUM4dklIZHZjbXRoY205MWJtUTZJSE5wYm1ObElHOXdZV05wZEhrZ2FYTWdaR1ZtYVc1bFpDQmhjeUJoSUhCeWIzQmxjblI1SUdsdUlGUklVa1ZGTGsxaGRHVnlhV0ZzWEc0Z0lDQWdMeThnWVc1a0lHTmhibTV2ZENCaVpTQnZkbVZ5Y21sa1pHVnVJR0Z6SUdGdUlHRmpZMlZ6YzI5eUxGeHVJQ0FnSUM4dklGZGxJR0Z5WlNCbmIybHVaeUIwYnlCMWNHUmhkR1VnYjNCaFkybDBlU0JvWlhKbFhHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NXZjR0ZqYVhSNUxuWmhiSFZsSUQwZ2RHaHBjeTV2Y0dGamFYUjVPMXh1WEc0Z0lDQWdMeThnZDI5eWEyRnliM1Z1WkRvZ2RHVjRkSFZ5WlNCMGNtRnVjMlp2Y20xeklHRnlaU0J1YjNRZ2RYQmtZWFJsWkNCaGRYUnZiV0YwYVdOaGJHeDVYRzRnSUNBZ2RHaHBjeTVmZFhCa1lYUmxWR1Y0ZEhWeVpVMWhkSEpwZUNoMGFHbHpMblZ1YVdadmNtMXpMbTFoY0N3Z2RHaHBjeTUxYm1sbWIzSnRjeTV0WVhCVmRsUnlZVzV6Wm05eWJTazdYRzRnSUNBZ2RHaHBjeTVmZFhCa1lYUmxWR1Y0ZEhWeVpVMWhkSEpwZUNoMGFHbHpMblZ1YVdadmNtMXpMbTV2Y20xaGJFMWhjQ3dnZEdocGN5NTFibWxtYjNKdGN5NXViM0p0WVd4TllYQlZkbFJ5WVc1elptOXliU2s3WEc0Z0lDQWdkR2hwY3k1ZmRYQmtZWFJsVkdWNGRIVnlaVTFoZEhKcGVDaDBhR2x6TG5WdWFXWnZjbTF6TG1WdGFYTnphWFpsVFdGd0xDQjBhR2x6TG5WdWFXWnZjbTF6TG1WdGFYTnphWFpsVFdGd1ZYWlVjbUZ1YzJadmNtMHBPMXh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaVlJsZUhSMWNtVk5ZWFJ5YVhnb2RHaHBjeTUxYm1sbWIzSnRjeTV6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlN3Z2RHaHBjeTUxYm1sbWIzSnRjeTV6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlZWMlZISmhibk5tYjNKdEtUdGNiaUFnSUNCMGFHbHpMbDkxY0dSaGRHVlVaWGgwZFhKbFRXRjBjbWw0S0hSb2FYTXVkVzVwWm05eWJYTXVjMmhoWkdsdVoxTm9hV1owVkdWNGRIVnlaU3dnZEdocGN5NTFibWxtYjNKdGN5NXphR0ZrYVc1blUyaHBablJVWlhoMGRYSmxWWFpVY21GdWMyWnZjbTBwTzF4dUlDQWdJSFJvYVhNdVgzVndaR0YwWlZSbGVIUjFjbVZOWVhSeWFYZ29kR2hwY3k1MWJtbG1iM0p0Y3k1dFlYUmpZWEJVWlhoMGRYSmxMQ0IwYUdsekxuVnVhV1p2Y20xekxtMWhkR05oY0ZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlNrN1hHNGdJQ0FnZEdocGN5NWZkWEJrWVhSbFZHVjRkSFZ5WlUxaGRISnBlQ2gwYUdsekxuVnVhV1p2Y20xekxuSnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpTd2dkR2hwY3k1MWJtbG1iM0p0Y3k1eWFXMU5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJTazdYRzRnSUNBZ2RHaHBjeTVmZFhCa1lYUmxWR1Y0ZEhWeVpVMWhkSEpwZUNoY2JpQWdJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXViM1YwYkdsdVpWZHBaSFJvVFhWc2RHbHdiSGxVWlhoMGRYSmxMRnh1SUNBZ0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJTeGNiaUFnSUNBcE8xeHVJQ0FnSUhSb2FYTXVYM1Z3WkdGMFpWUmxlSFIxY21WTllYUnlhWGdvZEdocGN5NTFibWxtYjNKdGN5NTFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsTENCMGFHbHpMblZ1YVdadmNtMXpMblYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJTazdYRzVjYmlBZ0lDQXZMeUJEVDAxUVFWUWdkMjl5YTJGeWIzVnVaRG9nYzNSaGNuUnBibWNnWm5KdmJTQnlNVE15TENCaGJIQm9ZVlJsYzNRZ1ltVmpiMjFsY3lCaElIVnVhV1p2Y20wZ2FXNXpkR1ZoWkNCdlppQndjbVZ3Y205alpYTnpiM0lnZG1Gc2RXVmNiaUFnSUNCamIyNXpkQ0IwYUhKbFpWSmxkbWx6YVc5dUlEMGdjR0Z5YzJWSmJuUW9WRWhTUlVVdVVrVldTVk5KVDA0c0lERXdLVHRjYmx4dUlDQWdJR2xtSUNoMGFISmxaVkpsZG1semFXOXVJRDQ5SURFek1pa2dlMXh1SUNBZ0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1aGJIQm9ZVlJsYzNRdWRtRnNkV1VnUFNCMGFHbHpMbUZzY0doaFZHVnpkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6VG1WbFpGVndaR0YwWlNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaElHMWhjQ0J2WW1wbFkzUWdiMllnY0hKbGNISnZZMlZ6YzI5eUlIUnZhMlZ1SUdGdVpDQnRZV055YnlCdlppQjBhR1VnYzJoaFpHVnlJSEJ5YjJkeVlXMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjluWlc1bGNtRjBaVVJsWm1sdVpYTW9LVG9nZXlCYmRHOXJaVzQ2SUhOMGNtbHVaMTA2SUdKdmIyeGxZVzRnZkNCdWRXMWlaWElnZkNCemRISnBibWNnZlNCN1hHNGdJQ0FnWTI5dWMzUWdkR2h5WldWU1pYWnBjMmx2YmlBOUlIQmhjbk5sU1c1MEtGUklVa1ZGTGxKRlZrbFRTVTlPTENBeE1DazdYRzVjYmlBZ0lDQmpiMjV6ZENCMWMyVlZka2x1Vm1WeWRDQTlJSFJvYVhNdWIzVjBiR2x1WlZkcFpIUm9UWFZzZEdsd2JIbFVaWGgwZFhKbElDRTlQU0J1ZFd4c08xeHVJQ0FnSUdOdmJuTjBJSFZ6WlZWMlNXNUdjbUZuSUQxY2JpQWdJQ0FnSUhSb2FYTXViV0Z3SUNFOVBTQnVkV3hzSUh4OFhHNGdJQ0FnSUNCMGFHbHpMbVZ0YVhOemFYWmxUV0Z3SUNFOVBTQnVkV3hzSUh4OFhHNGdJQ0FnSUNCMGFHbHpMbk5vWVdSbFRYVnNkR2x3YkhsVVpYaDBkWEpsSUNFOVBTQnVkV3hzSUh4OFhHNGdJQ0FnSUNCMGFHbHpMbk5vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVVnSVQwOUlHNTFiR3dnZkh4Y2JpQWdJQ0FnSUhSb2FYTXVjbWx0VFhWc2RHbHdiSGxVWlhoMGRYSmxJQ0U5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0IwYUdsekxuVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVVnSVQwOUlHNTFiR3c3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdMeThnVkdWdGNHOXlZWEo1SUdOdmJYQmhkQ0JoWjJGcGJuTjBJSE5vWVdSbGNpQmphR0Z1WjJVZ1FDQlVhSEpsWlM1cWN5QnlNVEkyWEc0Z0lDQWdJQ0F2THlCVFpXVTZJQ015TVRJd05Td2dJekl4TXpBM0xDQWpNakV5T1RsY2JpQWdJQ0FnSUZSSVVrVkZYMVpTVFY5VVNGSkZSVjlTUlZaSlUwbFBUam9nZEdoeVpXVlNaWFpwYzJsdmJpeGNibHh1SUNBZ0lDQWdUMVZVVEVsT1JUb2dkR2hwY3k1ZmFYTlBkWFJzYVc1bExGeHVJQ0FnSUNBZ1RWUlBUMDVmVlZORlgxVldPaUIxYzJWVmRrbHVWbVZ5ZENCOGZDQjFjMlZWZGtsdVJuSmhaeXdnTHk4Z2QyVWdZMkZ1SjNRZ2RYTmxJR0JWVTBWZlZWWmdJQ3dnYVhRZ2QybHNiQ0JpWlNCeVpXUmxabWx1WldRZ2FXNGdWMlZpUjB4UWNtOW5jbUZ0TG1welhHNGdJQ0FnSUNCTlZFOVBUbDlWVmxOZlZrVlNWRVZZWDA5T1RGazZJSFZ6WlZWMlNXNVdaWEowSUNZbUlDRjFjMlZWZGtsdVJuSmhaeXhjYmlBZ0lDQWdJRll3WDBOUFRWQkJWRjlUU0VGRVJUb2dkR2hwY3k1ZmRqQkRiMjF3WVhSVGFHRmtaU3hjYmlBZ0lDQWdJRlZUUlY5VFNFRkVSVTFWVEZSSlVFeFpWRVZZVkZWU1JUb2dkR2hwY3k1emFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpTQWhQVDBnYm5Wc2JDeGNiaUFnSUNBZ0lGVlRSVjlUU0VGRVNVNUhVMGhKUmxSVVJWaFVWVkpGT2lCMGFHbHpMbk5vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVVnSVQwOUlHNTFiR3dzWEc0Z0lDQWdJQ0JWVTBWZlRVRlVRMEZRVkVWWVZGVlNSVG9nZEdocGN5NXRZWFJqWVhCVVpYaDBkWEpsSUNFOVBTQnVkV3hzTEZ4dUlDQWdJQ0FnVlZORlgxSkpUVTFWVEZSSlVFeFpWRVZZVkZWU1JUb2dkR2hwY3k1eWFXMU5kV3gwYVhCc2VWUmxlSFIxY21VZ0lUMDlJRzUxYkd3c1hHNGdJQ0FnSUNCVlUwVmZUMVZVVEVsT1JWZEpSRlJJVFZWTVZFbFFURmxVUlZoVVZWSkZPaUIwYUdsekxsOXBjMDkxZEd4cGJtVWdKaVlnZEdocGN5NXZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVWdJVDA5SUc1MWJHd3NYRzRnSUNBZ0lDQlZVMFZmVlZaQlRrbE5RVlJKVDA1TlFWTkxWRVZZVkZWU1JUb2dkR2hwY3k1MWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxJQ0U5UFNCdWRXeHNMRnh1SUNBZ0lDQWdTVWRPVDFKRlgxWkZVbFJGV0Y5RFQweFBVam9nZEdocGN5NWZhV2R1YjNKbFZtVnlkR1Y0UTI5c2IzSWdQVDA5SUhSeWRXVXNYRzRnSUNBZ0lDQkVSVUpWUjE5T1QxSk5RVXc2SUhSb2FYTXVYMlJsWW5WblRXOWtaU0E5UFQwZ0oyNXZjbTFoYkNjc1hHNGdJQ0FnSUNCRVJVSlZSMTlNU1ZSVFNFRkVSVkpCVkVVNklIUm9hWE11WDJSbFluVm5UVzlrWlNBOVBUMGdKMnhwZEZOb1lXUmxVbUYwWlNjc1hHNGdJQ0FnSUNCRVJVSlZSMTlWVmpvZ2RHaHBjeTVmWkdWaWRXZE5iMlJsSUQwOVBTQW5kWFluTEZ4dUlDQWdJQ0FnVDFWVVRFbE9SVjlYU1VSVVNGOVhUMUpNUkRvZ2RHaHBjeTVmYVhOUGRYUnNhVzVsSUNZbUlIUm9hWE11WDI5MWRHeHBibVZYYVdSMGFFMXZaR1VnUFQwOUlFMVViMjl1VFdGMFpYSnBZV3hQZFhSc2FXNWxWMmxrZEdoTmIyUmxMbGR2Y214a1EyOXZjbVJwYm1GMFpYTXNYRzRnSUNBZ0lDQlBWVlJNU1U1RlgxZEpSRlJJWDFORFVrVkZUanBjYmlBZ0lDQWdJQ0FnZEdocGN5NWZhWE5QZFhSc2FXNWxJQ1ltSUhSb2FYTXVYMjkxZEd4cGJtVlhhV1IwYUUxdlpHVWdQVDA5SUUxVWIyOXVUV0YwWlhKcFlXeFBkWFJzYVc1bFYybGtkR2hOYjJSbExsTmpjbVZsYmtOdmIzSmthVzVoZEdWekxGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOTFjR1JoZEdWVVpYaDBkWEpsVFdGMGNtbDRLSE55WXpvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVWR1Y0ZEhWeVpTQjhJRzUxYkd3K0xDQmtjM1E2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRlJJVWtWRkxrMWhkSEpwZURNK0tUb2dkbTlwWkNCN1hHNGdJQ0FnYVdZZ0tITnlZeTUyWVd4MVpTa2dlMXh1SUNBZ0lDQWdhV1lnS0hOeVl5NTJZV3gxWlM1dFlYUnlhWGhCZFhSdlZYQmtZWFJsS1NCN1hHNGdJQ0FnSUNBZ0lITnlZeTUyWVd4MVpTNTFjR1JoZEdWTllYUnlhWGdvS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1pITjBMblpoYkhWbExtTnZjSGtvYzNKakxuWmhiSFZsTG0xaGRISnBlQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVjYm1OdmJuTjBJR052Ykc5eVUzQmhZMlZGYm1OdlpHbHVaMDFoY0RvZ1VtVmpiM0prUENjbklId2dKM055WjJJbkxDQmhibmsrSUQwZ2UxeHVJQ0FuSnpvZ016QXdNQ3hjYmlBZ2MzSm5Zam9nTXpBd01TeGNibjA3WEc1Y2JpOHFLbHh1SUNvZ1FTQmpiMjF3WVhRZ1puVnVZM1JwYjI0Z2RHOGdjMlYwSUhSbGVIUjFjbVVnWTI5c2IzSWdjM0JoWTJVdVhHNGdLbHh1SUNvZ1EwOU5VRUZVT2lCd2NtVXRjakUxTWx4dUlDb2dVM1JoY25ScGJtY2dabkp2YlNCVWFISmxaUzVxY3lCeU1UVXlMQ0JnZEdWNGRIVnlaUzVsYm1OdlpHbHVaMkFnYVhNZ2NtVnVZVzFsWkNCMGJ5QmdkR1Y0ZEhWeVpTNWpiMnh2Y2xOd1lXTmxZQzVjYmlBcUlGUm9hWE1nWm5WdVkzUnBiMjRnZDJsc2JDQm9ZVzVrYkdVZ2RHaGxJR052YldGd2RDNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2RHVjRkSFZ5WlNCVWFHVWdkR1Y0ZEhWeVpTQjViM1VnZDJGdWRDQjBieUJ6WlhRZ2RHaGxJR052Ykc5eUlITndZV05sSUhSdlhHNGdLaUJBY0dGeVlXMGdZMjlzYjNKVGNHRmpaU0JVYUdVZ1kyOXNiM0lnYzNCaFkyVWdlVzkxSUhkaGJuUWdkRzhnYzJWMElIUnZJSFJvWlNCMFpYaDBkWEpsWEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpaWFJVWlhoMGRYSmxRMjlzYjNKVGNHRmpaU2gwWlhoMGRYSmxPaUJVU0ZKRlJTNVVaWGgwZFhKbExDQmpiMnh2Y2xOd1lXTmxPaUFuSnlCOElDZHpjbWRpSnlrNklIWnZhV1FnZTF4dUlDQnBaaUFvY0dGeWMyVkpiblFvVkVoU1JVVXVVa1ZXU1ZOSlQwNHNJREV3S1NBK1BTQXhOVElwSUh0Y2JpQWdJQ0IwWlhoMGRYSmxMbU52Ykc5eVUzQmhZMlVnUFNCamIyeHZjbE53WVdObE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDaDBaWGgwZFhKbElHRnpJR0Z1ZVNrdVpXNWpiMlJwYm1jZ1BTQmpiMnh2Y2xOd1lXTmxSVzVqYjJScGJtZE5ZWEJiWTI5c2IzSlRjR0ZqWlYwN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lFZE1WRVpRWVhKelpYSWdmU0JtY205dElDZDBhSEpsWlM5bGVHRnRjR3hsY3k5cWMyMHZiRzloWkdWeWN5OUhURlJHVEc5aFpHVnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJXVjBaWEp6SUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljeWM3WEc1cGJYQnZjblFnZXlCelpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdmMyVjBWR1Y0ZEhWeVpVTnZiRzl5VTNCaFkyVW5PMXh1WEc0dktpcGNiaUFxSUUxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5Y3lCb1lYUmxjeUJnZFc1a1pXWnBibVZrWUM0Z1ZHaHBjeUJvWld4d1pYSWdZWFYwYjIxaGRHbGpZV3hzZVNCeVpXcGxZM1J6SUdGemMybG5iaUJ2WmlCMGFHVnpaU0JnZFc1a1pXWnBibVZrWUM1Y2JpQXFJRWwwSUdGc2MyOGdhR0Z1Wkd4bGN5QmhjM2x1WTJoeWIyNXZkWE1nY0hKdlkyVnpjeUJ2WmlCMFpYaDBkWEpsY3k1Y2JpQXFJRTFoYTJVZ2MzVnlaU0JoZDJGcGRDQm1iM0lnZTBCc2FXNXJJRWRNVkVaTlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxelFYTnphV2R1U0dWc2NHVnlMbkJsYm1ScGJtZDlMbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nUjB4VVJrMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJYTkJjM05wWjI1SVpXeHdaWElnZTF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOXdZWEp6WlhJNklFZE1WRVpRWVhKelpYSTdYRzRnSUhCeWFYWmhkR1VnWDIxaGRHVnlhV0ZzVUdGeVlXMXpPaUJOVkc5dmJrMWhkR1Z5YVdGc1VHRnlZVzFsZEdWeWN6dGNiaUFnY0hKcGRtRjBaU0JmY0dWdVpHbHVaM002SUZCeWIyMXBjMlU4WVc1NVBsdGRPMXh1WEc0Z0lIQjFZbXhwWXlCblpYUWdjR1Z1WkdsdVp5Z3BPaUJRY205dGFYTmxQSFZ1YTI1dmQyNCtJSHRjYmlBZ0lDQnlaWFIxY200Z1VISnZiV2x6WlM1aGJHd29kR2hwY3k1ZmNHVnVaR2x1WjNNcE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEJoY25ObGNqb2dSMHhVUmxCaGNuTmxjaXdnYldGMFpYSnBZV3hRWVhKaGJYTTZJRTFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiV1YwWlhKektTQjdYRzRnSUNBZ2RHaHBjeTVmY0dGeWMyVnlJRDBnY0dGeWMyVnlPMXh1SUNBZ0lIUm9hWE11WDIxaGRHVnlhV0ZzVUdGeVlXMXpJRDBnYldGMFpYSnBZV3hRWVhKaGJYTTdYRzRnSUNBZ2RHaHBjeTVmY0dWdVpHbHVaM01nUFNCYlhUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmhjM05wWjI1UWNtbHRhWFJwZG1VOFZDQmxlSFJsYm1SeklHdGxlVzltSUUxVWIyOXVUV0YwWlhKcFlXeFFZWEpoYldWMFpYSnpQaWhyWlhrNklGUXNJSFpoYkhWbE9pQk5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5YzF0VVhTazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaDJZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl0WVhSbGNtbGhiRkJoY21GdGMxdHJaWGxkSUQwZ2RtRnNkV1U3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z6YzJsbmJrTnZiRzl5UEZRZ1pYaDBaVzVrY3lCclpYbHZaaUJOVkc5dmJrMWhkR1Z5YVdGc1VHRnlZVzFsZEdWeWN6NG9YRzRnSUNBZ2EyVjVPaUJVTEZ4dUlDQWdJSFpoYkhWbE9pQnVkVzFpWlhKYlhTQjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQmpiMjUyWlhKMFUxSkhRbFJ2VEdsdVpXRnlQem9nWW05dmJHVmhiaXhjYmlBZ0tUb2dkbTlwWkNCN1hHNGdJQ0FnYVdZZ0tIWmhiSFZsSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMjFoZEdWeWFXRnNVR0Z5WVcxelcydGxlVjBnUFNCdVpYY2dWRWhTUlVVdVEyOXNiM0lvS1M1bWNtOXRRWEp5WVhrb2RtRnNkV1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9ZMjl1ZG1WeWRGTlNSMEpVYjB4cGJtVmhjaWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDl0WVhSbGNtbGhiRkJoY21GdGMxdHJaWGxkTG1OdmJuWmxjblJUVWtkQ1ZHOU1hVzVsWVhJb0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1lYTjVibU1nWVhOemFXZHVWR1Y0ZEhWeVpUeFVJR1Y0ZEdWdVpITWdhMlY1YjJZZ1RWUnZiMjVOWVhSbGNtbGhiRkJoY21GdFpYUmxjbk0rS0Z4dUlDQWdJR3RsZVRvZ1ZDeGNiaUFnSUNCMFpYaDBkWEpsT2lCN0lHbHVaR1Y0T2lCdWRXMWlaWElnZlNCOElIVnVaR1ZtYVc1bFpDeGNiaUFnSUNCcGMwTnZiRzl5VkdWNGRIVnlaVG9nWW05dmJHVmhiaXhjYmlBZ0tUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdjSEp2YldselpTQTlJQ2hoYzNsdVl5QW9LU0E5UGlCN1hHNGdJQ0FnSUNCcFppQW9kR1Y0ZEhWeVpTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR0YzWVdsMElIUm9hWE11WDNCaGNuTmxjaTVoYzNOcFoyNVVaWGgwZFhKbEtIUm9hWE11WDIxaGRHVnlhV0ZzVUdGeVlXMXpMQ0JyWlhrc0lIUmxlSFIxY21VcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNocGMwTnZiRzl5VkdWNGRIVnlaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lITmxkRlJsZUhSMWNtVkRiMnh2Y2xOd1lXTmxLSFJvYVhNdVgyMWhkR1Z5YVdGc1VHRnlZVzF6VzJ0bGVWMHNJQ2R6Y21kaUp5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLU2dwTzF4dVhHNGdJQ0FnZEdocGN5NWZjR1Z1WkdsdVozTXVjSFZ6YUNod2NtOXRhWE5sS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ3Y205dGFYTmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklHRnpjMmxuYmxSbGVIUjFjbVZDZVVsdVpHVjRQRlFnWlhoMFpXNWtjeUJyWlhsdlppQk5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5Y3o0b1hHNGdJQ0FnYTJWNU9pQlVMRnh1SUNBZ0lIUmxlSFIxY21WSmJtUmxlRG9nYm5WdFltVnlJSHdnZFc1a1pXWnBibVZrTEZ4dUlDQWdJR2x6UTI5c2IzSlVaWGgwZFhKbE9pQmliMjlzWldGdUxGeHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVoYzNOcFoyNVVaWGgwZFhKbEtHdGxlU3dnZEdWNGRIVnlaVWx1WkdWNElDRTlJRzUxYkd3Z1B5QjdJR2x1WkdWNE9pQjBaWGgwZFhKbFNXNWtaWGdnZlNBNklIVnVaR1ZtYVc1bFpDd2dhWE5EYjJ4dmNsUmxlSFIxY21VcE8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ0tpQmhjeUJXTVUxVWIyOXVVMk5vWlcxaElHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTFqTFcxaGRHVnlhV0ZzY3kxdGRHOXZiaTB4TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSFRGUkdMQ0JIVEZSR1RHOWhaR1Z5VUd4MVoybHVMQ0JIVEZSR1VHRnljMlZ5SUgwZ1puSnZiU0FuZEdoeVpXVXZaWGhoYlhCc1pYTXZhbk50TDJ4dllXUmxjbk12UjB4VVJreHZZV1JsY2k1cWN5YzdYRzVwYlhCdmNuUWdleUJOVkc5dmJrMWhkR1Z5YVdGc0lIMGdabkp2YlNBbkxpOU5WRzl2YmsxaGRHVnlhV0ZzSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVFZSdmIyNU5ZWFJsY21saGJGQmhjbUZ0WlhSbGNuTWdmU0JtY205dElDY3VMMDFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiV1YwWlhKekp6dGNibWx0Y0c5eWRDQjdJRTFVYjI5dVRXRjBaWEpwWVd4UGRYUnNhVzVsVjJsa2RHaE5iMlJsSUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNUM1YwYkdsdVpWZHBaSFJvVFc5a1pTYzdYRzVwYlhCdmNuUWdleUJIVEZSR1RWUnZiMjVOWVhSbGNtbGhiRkJoY21GdGMwRnpjMmxuYmtobGJIQmxjaUI5SUdaeWIyMGdKeTR2UjB4VVJrMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJYTkJjM05wWjI1SVpXeHdaWEluTzF4dWFXMXdiM0owSUhzZ1RWUnZiMjVOWVhSbGNtbGhiRXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1nZlNCbWNtOXRJQ2N1TDAxVWIyOXVUV0YwWlhKcFlXeE1iMkZrWlhKUWJIVm5hVzVQY0hScGIyNXpKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dUVlJ2YjI1TllYUmxjbWxoYkVSbFluVm5UVzlrWlNCOUlHWnliMjBnSnk0dlRWUnZiMjVOWVhSbGNtbGhiRVJsWW5WblRXOWtaU2M3WEc1cGJYQnZjblFnZXlCSFRGUkdJR0Z6SUVkTVZFWlRZMmhsYldFZ2ZTQm1jbTl0SUNkQVoyeDBaaTEwY21GdWMyWnZjbTB2WTI5eVpTYzdYRzVjYmk4cUtseHVJQ29nVUc5emMybGliR1VnYzNCbFl5QjJaWEp6YVc5dWN5QnBkQ0J5WldOdloyNXBlbVZ6TGx4dUlDb3ZYRzVqYjI1emRDQlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUSUQwZ2JtVjNJRk5sZENoYkp6RXVNQ2NzSUNjeExqQXRZbVYwWVNkZEtUdGNibHh1Wlhod2IzSjBJR05zWVhOeklFMVViMjl1VFdGMFpYSnBZV3hNYjJGa1pYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QkhURlJHVEc5aFpHVnlVR3gxWjJsdUlIdGNiaUFnY0hWaWJHbGpJSE4wWVhScFl5QkZXRlJGVGxOSlQwNWZUa0ZOUlNBOUlDZFdVazFEWDIxaGRHVnlhV0ZzYzE5dGRHOXZiaWM3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvYVhNZ2RtRnNkV1VnZDJsc2JDQmlaU0JoWkdSbFpDQjBieUJnY21WdVpHVnlUM0prWlhKZ0lHOW1JR1YyWlhKNUlHMWxjMmhsY3lCM2FHOGdhR0YyWlNCTllYUmxjbWxoYkhOTlZHOXZiaTVjYmlBZ0lDb2dWR2hsSUdacGJtRnNJSEpsYm1SbGNrOXlaR1Z5SUhkcGJHd2dZbVVnYzNWdElHOW1JSFJvYVhNZ1lISmxibVJsY2s5eVpHVnlUMlptYzJWMFlDQmhibVFnWUhKbGJtUmxjbEYxWlhWbFQyWm1jMlYwVG5WdFltVnlZQ0JtYjNJZ1pXRmphQ0J0WVhSbGNtbGhiSE11WEc0Z0lDQXFJR0F3WUNCaWVTQmtaV1poZFd4MExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxibVJsY2s5eVpHVnlUMlptYzJWME9pQnVkVzFpWlhJN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pYSmxJR2x6SUdFZ2JHbHVaU0J2WmlCMGFHVWdjMmhoWkdWeUlHTmhiR3hsWkNCY0ltTnZiVzFsYm5RZ2IzVjBJR2xtSUhsdmRTQjNZVzUwSUhSdklGQkNVaUJoWW5OdmJIVjBaV3g1WENJZ2FXNGdWbEpOTUM0d0lFMVViMjl1TGx4dUlDQWdLaUJYYUdWdUlIUm9hWE1nYVhNZ2RISjFaU3dnZEdobElHMWhkR1Z5YVdGc0lHVnVZV0pzWlhNZ2RHaGxJR3hwYm1VZ2RHOGdiV0ZyWlNCcGRDQmpiMjF3WVhScFlteGxJSGRwZEdnZ2RHaGxJR3hsWjJGamVTQnlaVzVrWlhKcGJtY2diMllnVmxKTkxseHVJQ0FnS2lCVmMzVmhiR3g1SUc1dmRDQnlaV052YlcxbGJtUmxaQ0IwYnlCMGRYSnVJSFJvYVhNZ2IyNHVYRzRnSUNBcUlHQm1ZV3h6WldBZ1lua2daR1ZtWVhWc2RDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QjJNRU52YlhCaGRGTm9ZV1JsT2lCaWIyOXNaV0Z1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJFWldKMVp5QnRiMlJsSUdadmNpQjBhR1VnYldGMFpYSnBZV3d1WEc0Z0lDQXFJRmx2ZFNCallXNGdkbWx6ZFdGc2FYcGxJSE5sZG1WeVlXd2dZMjl0Y0c5dVpXNTBjeUJtYjNJZ1pHbGhaMjV2YzJseklIVnphVzVuSUdSbFluVm5JRzF2WkdVdVhHNGdJQ0FxWEc0Z0lDQXFJRk5sWlRvZ2UwQnNhVzVySUUxVWIyOXVUV0YwWlhKcFlXeEVaV0oxWjAxdlpHVjlYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaR1ZpZFdkTmIyUmxPaUJOVkc5dmJrMWhkR1Z5YVdGc1JHVmlkV2ROYjJSbE8xeHVYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J3WVhKelpYSTZJRWRNVkVaUVlYSnpaWEk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRXh2WVdSbFpDQnRZWFJsY21saGJITWdkMmxzYkNCaVpTQnpkRzl5WldRZ2FXNGdkR2hwY3lCelpYUXVYRzRnSUNBcUlGZHBiR3dnWW1VZ2RISmhibk5tWlhKeVpXUWdhVzUwYnlCZ1oyeDBaaTUxYzJWeVJHRjBZUzUyY20xTlZHOXZiazFoZEdWeWFXRnNjMkFnYVc0Z2UwQnNhVzVySUdGbWRHVnlVbTl2ZEgwdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOXRWRzl2YmsxaGRHVnlhV0ZzVTJWME9pQlRaWFE4VFZSdmIyNU5ZWFJsY21saGJENDdYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnVZVzFsS0NrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJRTFVYjI5dVRXRjBaWEpwWVd4TWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5YzJWeU9pQkhURlJHVUdGeWMyVnlMQ0J2Y0hScGIyNXpPaUJOVkc5dmJrMWhkR1Z5YVdGc1RHOWhaR1Z5VUd4MVoybHVUM0IwYVc5dWN5QTlJSHQ5S1NCN1hHNGdJQ0FnZEdocGN5NXdZWEp6WlhJZ1BTQndZWEp6WlhJN1hHNWNiaUFnSUNCMGFHbHpMbkpsYm1SbGNrOXlaR1Z5VDJabWMyVjBJRDBnYjNCMGFXOXVjeTV5Wlc1a1pYSlBjbVJsY2s5bVpuTmxkQ0EvUHlBd08xeHVJQ0FnSUhSb2FYTXVkakJEYjIxd1lYUlRhR0ZrWlNBOUlHOXdkR2x2Ym5NdWRqQkRiMjF3WVhSVGFHRmtaU0EvUHlCbVlXeHpaVHRjYmlBZ0lDQjBhR2x6TG1SbFluVm5UVzlrWlNBOUlHOXdkR2x2Ym5NdVpHVmlkV2ROYjJSbElEOC9JQ2R1YjI1bEp6dGNibHh1SUNBZ0lIUm9hWE11WDIxVWIyOXVUV0YwWlhKcFlXeFRaWFFnUFNCdVpYY2dVMlYwS0NrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1lYTjVibU1nWW1WbWIzSmxVbTl2ZENncE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0IwYUdsekxsOXlaVzF2ZG1WVmJteHBkRVY0ZEdWdWMybHZia2xtVFZSdmIyNUZlR2x6ZEhNb0tUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmhjM2x1WXlCaFpuUmxjbEp2YjNRb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdkc2RHWXVkWE5sY2tSaGRHRXVkbkp0VFZSdmIyNU5ZWFJsY21saGJITWdQU0JCY25KaGVTNW1jbTl0S0hSb2FYTXVYMjFVYjI5dVRXRjBaWEpwWVd4VFpYUXBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZEUxaGRHVnlhV0ZzVkhsd1pTaHRZWFJsY21saGJFbHVaR1Y0T2lCdWRXMWlaWElwT2lCMGVYQmxiMllnVkVoU1JVVXVUV0YwWlhKcFlXd2dmQ0J1ZFd4c0lIdGNiaUFnSUNCamIyNXpkQ0IyTVVWNGRHVnVjMmx2YmlBOUlIUm9hWE11WDJkbGRFMVViMjl1UlhoMFpXNXphVzl1S0cxaGRHVnlhV0ZzU1c1a1pYZ3BPMXh1SUNBZ0lHbG1JQ2gyTVVWNGRHVnVjMmx2YmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUUxVWIyOXVUV0YwWlhKcFlXdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaWGgwWlc1a1RXRjBaWEpwWVd4UVlYSmhiWE1vYldGMFpYSnBZV3hKYm1SbGVEb2diblZ0WW1WeUxDQnRZWFJsY21saGJGQmhjbUZ0Y3pvZ1RWUnZiMjVOWVhSbGNtbGhiRkJoY21GdFpYUmxjbk1wT2lCUWNtOXRhWE5sUEdGdWVUNGdmQ0J1ZFd4c0lIdGNiaUFnSUNCamIyNXpkQ0JsZUhSbGJuTnBiMjRnUFNCMGFHbHpMbDluWlhSTlZHOXZia1Y0ZEdWdWMybHZiaWh0WVhSbGNtbGhiRWx1WkdWNEtUdGNiaUFnSUNCcFppQW9aWGgwWlc1emFXOXVLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpYaDBaVzVrVFdGMFpYSnBZV3hRWVhKaGJYTW9aWGgwWlc1emFXOXVMQ0J0WVhSbGNtbGhiRkJoY21GdGN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZWE41Ym1NZ2JHOWhaRTFsYzJnb2JXVnphRWx1WkdWNE9pQnVkVzFpWlhJcE9pQlFjbTl0YVhObFBGUklVa1ZGTGtkeWIzVndJSHdnVkVoU1JVVXVUV1Z6YUNCOElGUklVa1ZGTGxOcmFXNXVaV1JOWlhOb1BpQjdYRzRnSUNBZ1kyOXVjM1FnY0dGeWMyVnlJRDBnZEdocGN5NXdZWEp6WlhJN1hHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIQmhjbk5sY2k1cWMyOXVJR0Z6SUVkTVZFWlRZMmhsYldFdVNVZE1WRVk3WEc1Y2JpQWdJQ0JqYjI1emRDQnRaWE5vUkdWbUlEMGdhbk52Ymk1dFpYTm9aWE0vTGx0dFpYTm9TVzVrWlhoZE8xeHVYRzRnSUNBZ2FXWWdLRzFsYzJoRVpXWWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdUVlJ2YjI1TllYUmxjbWxoYkV4dllXUmxjbEJzZFdkcGJqb2dRWFIwWlcxd2RDQjBieUIxYzJVZ2JXVnphR1Z6V3lSN2JXVnphRWx1WkdWNGZWMGdiMllnWjJ4VVJpQmlkWFFnZEdobElHMWxjMmdnWkc5bGMyNG5kQ0JsZUdsemRHQXNYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhCeWFXMXBkR2wyWlhORVpXWWdQU0J0WlhOb1JHVm1MbkJ5YVcxcGRHbDJaWE03WEc1Y2JpQWdJQ0JqYjI1emRDQnRaWE5vVDNKSGNtOTFjQ0E5SUdGM1lXbDBJSEJoY25ObGNpNXNiMkZrVFdWemFDaHRaWE5vU1c1a1pYZ3BPMXh1WEc0Z0lDQWdhV1lnS0hCeWFXMXBkR2wyWlhORVpXWXViR1Z1WjNSb0lEMDlQU0F4S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WlhOb0lEMGdiV1Z6YUU5eVIzSnZkWEFnWVhNZ1ZFaFNSVVV1VFdWemFEdGNiaUFnSUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzU1c1a1pYZ2dQU0J3Y21sdGFYUnBkbVZ6UkdWbVd6QmRMbTFoZEdWeWFXRnNPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JXRjBaWEpwWVd4SmJtUmxlQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM05sZEhWd1VISnBiV2wwYVhabEtHMWxjMmdzSUcxaGRHVnlhV0ZzU1c1a1pYZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCamIyNXpkQ0JuY205MWNDQTlJRzFsYzJoUGNrZHliM1Z3SUdGeklGUklVa1ZGTGtkeWIzVndPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J3Y21sdGFYUnBkbVZ6UkdWbUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFsYzJnZ1BTQm5jbTkxY0M1amFHbHNaSEpsYmx0cFhTQmhjeUJVU0ZKRlJTNU5aWE5vTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRWx1WkdWNElEMGdjSEpwYldsMGFYWmxjMFJsWmx0cFhTNXRZWFJsY21saGJEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjBaWEpwWVd4SmJtUmxlQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVmYzJWMGRYQlFjbWx0YVhScGRtVW9iV1Z6YUN3Z2JXRjBaWEpwWVd4SmJtUmxlQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiV1Z6YUU5eVIzSnZkWEE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JHVnNaWFJsSUhWelpTQnZaaUJnUzBoU1gyMWhkR1Z5YVdGc2MxOTFibXhwZEdBZ1puSnZiU0JwZEhNZ1lHMWhkR1Z5YVdGc2MyQWdhV1lnZEdobElHMWhkR1Z5YVdGc0lHbHpJSFZ6YVc1bklFMVViMjl1TGx4dUlDQWdLbHh1SUNBZ0tpQlRhVzVqWlNCSFRGUkdURzloWkdWeUlHaGhkbVVnYzI4Z2JXRnVlU0JvWVhKa1kyOWtaV1FnY0hKdlkyVmtkWEpsSUhKbGJHRjBaV1FnZEc4Z1lFdElVbDl0WVhSbGNtbGhiSE5mZFc1c2FYUmdYRzRnSUNBcUlIZGxJR2hoZG1VZ2RHOGdaR1ZzWlhSbElIUm9aU0JsZUhSbGJuTnBiMjRnWW1WbWIzSmxJSGRsSUhOMFlYSjBJSFJ2SUhCaGNuTmxJSFJvWlNCbmJGUkdMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmY21WdGIzWmxWVzVzYVhSRmVIUmxibk5wYjI1SlprMVViMjl1UlhocGMzUnpLQ2s2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUhCaGNuTmxjaUE5SUhSb2FYTXVjR0Z5YzJWeU8xeHVJQ0FnSUdOdmJuTjBJR3B6YjI0Z1BTQndZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnWTI5dWMzUWdiV0YwWlhKcFlXeEVaV1p6SUQwZ2FuTnZiaTV0WVhSbGNtbGhiSE03WEc0Z0lDQWdiV0YwWlhKcFlXeEVaV1p6UHk1dFlYQW9LRzFoZEdWeWFXRnNSR1ZtTENCcFRXRjBaWEpwWVd3cElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHVjRkR1Z1YzJsdmJpQTlJSFJvYVhNdVgyZGxkRTFVYjI5dVJYaDBaVzV6YVc5dUtHbE5ZWFJsY21saGJDazdYRzVjYmlBZ0lDQWdJR2xtSUNobGVIUmxibk5wYjI0Z0ppWWdiV0YwWlhKcFlXeEVaV1l1WlhoMFpXNXphVzl1Y3o4dVd5ZExTRkpmYldGMFpYSnBZV3h6WDNWdWJHbDBKMTBwSUh0Y2JpQWdJQ0FnSUNBZ1pHVnNaWFJsSUcxaGRHVnlhV0ZzUkdWbUxtVjRkR1Z1YzJsdmJuTmJKMHRJVWw5dFlYUmxjbWxoYkhOZmRXNXNhWFFuWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyZGxkRTFVYjI5dVJYaDBaVzV6YVc5dUtHMWhkR1Z5YVdGc1NXNWtaWGc2SUc1MWJXSmxjaWs2SUZZeFRWUnZiMjVUWTJobGJXRXVWbEpOUTAxaGRHVnlhV0ZzYzAxVWIyOXVJSHdnZFc1a1pXWnBibVZrSUh0Y2JpQWdJQ0JqYjI1emRDQndZWEp6WlhJZ1BTQjBhR2x6TG5CaGNuTmxjanRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnY0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzUkdWbUlEMGdhbk52Ymk1dFlYUmxjbWxoYkhNL0xsdHRZWFJsY21saGJFbHVaR1Y0WFR0Y2JseHVJQ0FnSUdsbUlDaHRZWFJsY21saGJFUmxaaUE5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1hHNGdJQ0FnSUNBZ0lHQk5WRzl2YmsxaGRHVnlhV0ZzVEc5aFpHVnlVR3gxWjJsdU9pQkJkSFJsYlhCMElIUnZJSFZ6WlNCdFlYUmxjbWxoYkhOYkpIdHRZWFJsY21saGJFbHVaR1Y0ZlYwZ2IyWWdaMnhVUmlCaWRYUWdkR2hsSUcxaGRHVnlhV0ZzSUdSdlpYTnVKM1FnWlhocGMzUmdMRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnWlhoMFpXNXphVzl1SUQwZ2JXRjBaWEpwWVd4RVpXWXVaWGgwWlc1emFXOXVjejh1VzAxVWIyOXVUV0YwWlhKcFlXeE1iMkZrWlhKUWJIVm5hVzR1UlZoVVJVNVRTVTlPWDA1QlRVVmRJR0Z6WEc0Z0lDQWdJQ0I4SUZZeFRWUnZiMjVUWTJobGJXRXVWbEpOUTAxaGRHVnlhV0ZzYzAxVWIyOXVYRzRnSUNBZ0lDQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvWlhoMFpXNXphVzl1SUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2MzQmxZMVpsY25OcGIyNGdQU0JsZUhSbGJuTnBiMjR1YzNCbFkxWmxjbk5wYjI0N1hHNGdJQ0FnYVdZZ0tDRlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUTG1oaGN5aHpjR1ZqVm1WeWMybHZiaWtwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdZRTFVYjI5dVRXRjBaWEpwWVd4TWIyRmtaWEpRYkhWbmFXNDZJRlZ1YTI1dmQyNGdKSHROVkc5dmJrMWhkR1Z5YVdGc1RHOWhaR1Z5VUd4MVoybHVMa1ZZVkVWT1UwbFBUbDlPUVUxRmZTQnpjR1ZqVm1WeWMybHZiaUJjSWlSN2MzQmxZMVpsY25OcGIyNTlYQ0pnTEZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHVjRkR1Z1YzJsdmJqdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1gyVjRkR1Z1WkUxaGRHVnlhV0ZzVUdGeVlXMXpLRnh1SUNBZ0lHVjRkR1Z1YzJsdmJqb2dWakZOVkc5dmJsTmphR1Z0WVM1V1VrMURUV0YwWlhKcFlXeHpUVlJ2YjI0c1hHNGdJQ0FnYldGMFpYSnBZV3hRWVhKaGJYTTZJRTFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiV1YwWlhKekxGeHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQXZMeUJTWlcxdmRtbHVaeUJ0WVhSbGNtbGhiQ0J3WVhKaGJYTWdkR2hoZENCcGN5QnViM1FnY21WeGRXbHlaV1FnZEc4Z2MzVndjbVZ6Y3lCM1lYSnVhVzVuY3k1Y2JpQWdJQ0JrWld4bGRHVWdLRzFoZEdWeWFXRnNVR0Z5WVcxeklHRnpJRlJJVWtWRkxrMWxjMmhUZEdGdVpHRnlaRTFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljeWt1YldWMFlXeHVaWE56TzF4dUlDQWdJR1JsYkdWMFpTQW9iV0YwWlhKcFlXeFFZWEpoYlhNZ1lYTWdWRWhTUlVVdVRXVnphRk4wWVc1a1lYSmtUV0YwWlhKcFlXeFFZWEpoYldWMFpYSnpLUzV5YjNWbmFHNWxjM003WEc1Y2JpQWdJQ0JqYjI1emRDQmhjM05wWjI1SVpXeHdaWElnUFNCdVpYY2dSMHhVUmsxVWIyOXVUV0YwWlhKcFlXeFFZWEpoYlhOQmMzTnBaMjVJWld4d1pYSW9kR2hwY3k1d1lYSnpaWElzSUcxaGRHVnlhV0ZzVUdGeVlXMXpLVHRjYmx4dUlDQWdJR0Z6YzJsbmJraGxiSEJsY2k1aGMzTnBaMjVRY21sdGFYUnBkbVVvSjNSeVlXNXpjR0Z5Wlc1MFYybDBhRnBYY21sMFpTY3NJR1Y0ZEdWdWMybHZiaTUwY21GdWMzQmhjbVZ1ZEZkcGRHaGFWM0pwZEdVcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1RGIyeHZjaWduYzJoaFpHVkRiMnh2Y2taaFkzUnZjaWNzSUdWNGRHVnVjMmx2Ymk1emFHRmtaVU52Ykc5eVJtRmpkRzl5S1R0Y2JpQWdJQ0JoYzNOcFoyNUlaV3h3WlhJdVlYTnphV2R1VkdWNGRIVnlaU2duYzJoaFpHVk5kV3gwYVhCc2VWUmxlSFIxY21VbkxDQmxlSFJsYm5OcGIyNHVjMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVVzSUhSeWRXVXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KM05vWVdScGJtZFRhR2xtZEVaaFkzUnZjaWNzSUdWNGRHVnVjMmx2Ymk1emFHRmthVzVuVTJocFpuUkdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1VVpYaDBkWEpsS0NkemFHRmthVzVuVTJocFpuUlVaWGgwZFhKbEp5d2daWGgwWlc1emFXOXVMbk5vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVVzSUhSeWRXVXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KM05vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVZUWTJGc1pTY3NJR1Y0ZEdWdWMybHZiaTV6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsUHk1elkyRnNaU2s3WEc0Z0lDQWdZWE56YVdkdVNHVnNjR1Z5TG1GemMybG5ibEJ5YVcxcGRHbDJaU2duYzJoaFpHbHVaMVJ2YjI1NVJtRmpkRzl5Snl3Z1pYaDBaVzV6YVc5dUxuTm9ZV1JwYm1kVWIyOXVlVVpoWTNSdmNpazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25aMmxGY1hWaGJHbDZZWFJwYjI1R1lXTjBiM0luTENCbGVIUmxibk5wYjI0dVoybEZjWFZoYkdsNllYUnBiMjVHWVdOMGIzSXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNURiMnh2Y2lnbmJXRjBZMkZ3Um1GamRHOXlKeXdnWlhoMFpXNXphVzl1TG0xaGRHTmhjRVpoWTNSdmNpazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsUmxlSFIxY21Vb0oyMWhkR05oY0ZSbGVIUjFjbVVuTENCbGVIUmxibk5wYjI0dWJXRjBZMkZ3VkdWNGRIVnlaU3dnZEhKMVpTazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJrTnZiRzl5S0Nkd1lYSmhiV1YwY21salVtbHRRMjlzYjNKR1lXTjBiM0luTENCbGVIUmxibk5wYjI0dWNHRnlZVzFsZEhKcFkxSnBiVU52Ykc5eVJtRmpkRzl5S1R0Y2JpQWdJQ0JoYzNOcFoyNUlaV3h3WlhJdVlYTnphV2R1VkdWNGRIVnlaU2duY21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsSnl3Z1pYaDBaVzV6YVc5dUxuSnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpTd2dkSEoxWlNrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxCeWFXMXBkR2wyWlNnbmNtbHRUR2xuYUhScGJtZE5hWGhHWVdOMGIzSW5MQ0JsZUhSbGJuTnBiMjR1Y21sdFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1UWNtbHRhWFJwZG1Vb0ozQmhjbUZ0WlhSeWFXTlNhVzFHY21WemJtVnNVRzkzWlhKR1lXTjBiM0luTENCbGVIUmxibk5wYjI0dWNHRnlZVzFsZEhKcFkxSnBiVVp5WlhOdVpXeFFiM2RsY2taaFkzUnZjaWs3WEc0Z0lDQWdZWE56YVdkdVNHVnNjR1Z5TG1GemMybG5ibEJ5YVcxcGRHbDJaU2duY0dGeVlXMWxkSEpwWTFKcGJVeHBablJHWVdOMGIzSW5MQ0JsZUhSbGJuTnBiMjR1Y0dGeVlXMWxkSEpwWTFKcGJVeHBablJHWVdOMGIzSXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KMjkxZEd4cGJtVlhhV1IwYUUxdlpHVW5MQ0JsZUhSbGJuTnBiMjR1YjNWMGJHbHVaVmRwWkhSb1RXOWtaU0JoY3lCTlZHOXZiazFoZEdWeWFXRnNUM1YwYkdsdVpWZHBaSFJvVFc5a1pTazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25iM1YwYkdsdVpWZHBaSFJvUm1GamRHOXlKeXdnWlhoMFpXNXphVzl1TG05MWRHeHBibVZYYVdSMGFFWmhZM1J2Y2lrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxSbGVIUjFjbVVvSjI5MWRHeHBibVZYYVdSMGFFMTFiSFJwY0d4NVZHVjRkSFZ5WlNjc0lHVjRkR1Z1YzJsdmJpNXZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVXNJR1poYkhObEtUdGNiaUFnSUNCaGMzTnBaMjVJWld4d1pYSXVZWE56YVdkdVEyOXNiM0lvSjI5MWRHeHBibVZEYjJ4dmNrWmhZM1J2Y2ljc0lHVjRkR1Z1YzJsdmJpNXZkWFJzYVc1bFEyOXNiM0pHWVdOMGIzSXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KMjkxZEd4cGJtVk1hV2RvZEdsdVowMXBlRVpoWTNSdmNpY3NJR1Y0ZEdWdWMybHZiaTV2ZFhSc2FXNWxUR2xuYUhScGJtZE5hWGhHWVdOMGIzSXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVVaWGgwZFhKbEtDZDFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsSnl3Z1pYaDBaVzV6YVc5dUxuVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVVzSUdaaGJITmxLVHRjYmlBZ0lDQmhjM05wWjI1SVpXeHdaWEl1WVhOemFXZHVVSEpwYldsMGFYWmxLQ2QxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhUY0dWbFpFWmhZM1J2Y2ljc0lHVjRkR1Z1YzJsdmJpNTFka0Z1YVcxaGRHbHZibE5qY205c2JGaFRjR1ZsWkVaaFkzUnZjaWs3WEc0Z0lDQWdZWE56YVdkdVNHVnNjR1Z5TG1GemMybG5ibEJ5YVcxcGRHbDJaU2duZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3haVTNCbFpXUkdZV04wYjNJbkxDQmxlSFJsYm5OcGIyNHVkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0lwTzF4dUlDQWdJR0Z6YzJsbmJraGxiSEJsY2k1aGMzTnBaMjVRY21sdGFYUnBkbVVvSjNWMlFXNXBiV0YwYVc5dVVtOTBZWFJwYjI1VGNHVmxaRVpoWTNSdmNpY3NJR1Y0ZEdWdWMybHZiaTUxZGtGdWFXMWhkR2x2YmxKdmRHRjBhVzl1VTNCbFpXUkdZV04wYjNJcE8xeHVYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25kakJEYjIxd1lYUlRhR0ZrWlNjc0lIUm9hWE11ZGpCRGIyMXdZWFJUYUdGa1pTazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25aR1ZpZFdkTmIyUmxKeXdnZEdocGN5NWtaV0oxWjAxdlpHVXBPMXh1WEc0Z0lDQWdZWGRoYVhRZ1lYTnphV2R1U0dWc2NHVnlMbkJsYm1ScGJtYzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdocGN5QjNhV3hzSUdSdklIUjNieUJ3Y205alpYTnpaWE1nZEdoaGRDQnBjeUJ5WlhGMWFYSmxaQ0IwYnlCeVpXNWtaWElnVFZSdmIyNGdjSEp2Y0dWeWJIa3VYRzRnSUNBcVhHNGdJQ0FxSUMwZ1UyVjBJSEpsYm1SbGNpQnZjbVJsY2x4dUlDQWdLaUF0SUVkbGJtVnlZWFJsSUc5MWRHeHBibVZjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUcxbGMyZ2dRU0IwWVhKblpYUWdSMHhVUmlCd2NtbHRhWFJwZG1WY2JpQWdJQ29nUUhCaGNtRnRJRzFoZEdWeWFXRnNTVzVrWlhnZ1ZHaGxJRzFoZEdWeWFXRnNJR2x1WkdWNElHOW1JSFJvWlNCd2NtbHRhWFJwZG1WY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzTmxkSFZ3VUhKcGJXbDBhWFpsS0cxbGMyZzZJRlJJVWtWRkxrMWxjMmdzSUcxaGRHVnlhV0ZzU1c1a1pYZzZJRzUxYldKbGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJR1Y0ZEdWdWMybHZiaUE5SUhSb2FYTXVYMmRsZEUxVWIyOXVSWGgwWlc1emFXOXVLRzFoZEdWeWFXRnNTVzVrWlhncE8xeHVJQ0FnSUdsbUlDaGxlSFJsYm5OcGIyNHBJSHRjYmlBZ0lDQWdJR052Ym5OMElISmxibVJsY2s5eVpHVnlJRDBnZEdocGN5NWZjR0Z5YzJWU1pXNWtaWEpQY21SbGNpaGxlSFJsYm5OcGIyNHBPMXh1SUNBZ0lDQWdiV1Z6YUM1eVpXNWtaWEpQY21SbGNpQTlJSEpsYm1SbGNrOXlaR1Z5SUNzZ2RHaHBjeTV5Wlc1a1pYSlBjbVJsY2s5bVpuTmxkRHRjYmx4dUlDQWdJQ0FnZEdocGN5NWZaMlZ1WlhKaGRHVlBkWFJzYVc1bEtHMWxjMmdwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDloWkdSVWIwMWhkR1Z5YVdGc1UyVjBLRzFsYzJncE8xeHVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxibVZ5WVhSbElHOTFkR3hwYm1VZ1ptOXlJSFJvWlNCbmFYWmxiaUJ0WlhOb0xDQnBaaUJwZENCdVpXVmtjeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUcxbGMyZ2dWR2hsSUhSaGNtZGxkQ0J0WlhOb1hHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOW5aVzVsY21GMFpVOTFkR3hwYm1Vb2JXVnphRG9nVkVoU1JVVXVUV1Z6YUNrNklIWnZhV1FnZTF4dUlDQWdJQzh2SUU5TExDQnBkQ2R6SUhSb1pTQm9ZV05yZVNCd1lYSjBMbHh1SUNBZ0lDOHZJRmRsSUdGeVpTQm5iMmx1WnlCMGJ5QmtkWEJzYVdOaGRHVWdkR2hsSUUxVWIyOXVUV0YwWlhKcFlXd2dabTl5SUc5MWRHeHBibVVnZFhObExseHVJQ0FnSUM4dklGUm9aVzRnZDJVZ1lYSmxJR2R2YVc1bklIUnZJR055WldGMFpTQjBkMjhnWjJWdmJXVjBjbmtnWjNKdmRYQnpJR0Z1WkNCeVpXWmxjaUJ6WVcxbElHSjFabVpsY2lCaWRYUWdaR2xtWm1WeVpXNTBJRzFoZEdWeWFXRnNMbHh1SUNBZ0lDOHZJRWwwSjNNZ2FHOTNJSGRsSUdSeVlYY2dkSGR2SUcxaGRHVnlhV0ZzY3lCaGRDQnZibU5sSUhWemFXNW5JR0VnYzJsdVoyeGxJRzFsYzJndVhHNWNiaUFnSUNBdkx5QnRZV3RsSUhOMWNtVWdkR2hsSUcxaGRHVnlhV0ZzSUdseklHMTBiMjl1WEc0Z0lDQWdZMjl1YzNRZ2MzVnlabUZqWlUxaGRHVnlhV0ZzSUQwZ2JXVnphQzV0WVhSbGNtbGhiRHRjYmlBZ0lDQnBaaUFvSVNoemRYSm1ZV05sVFdGMFpYSnBZV3dnYVc1emRHRnVZMlZ2WmlCTlZHOXZiazFoZEdWeWFXRnNLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR05vWldOcklIZG9aWFJvWlhJZ2QyVWdjbVZoYkd4NUlHaGhkbVVnZEc4Z2NISmxjR0Z5WlNCdmRYUnNhVzVsSUc5eUlHNXZkRnh1SUNBZ0lHbG1JQ2h6ZFhKbVlXTmxUV0YwWlhKcFlXd3ViM1YwYkdsdVpWZHBaSFJvVFc5a1pTQTlQVDBnSjI1dmJtVW5JSHg4SUhOMWNtWmhZMlZOWVhSbGNtbGhiQzV2ZFhSc2FXNWxWMmxrZEdoR1lXTjBiM0lnUEQwZ01DNHdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdiV0ZyWlNCcGRITWdiV0YwWlhKcFlXd2dZVzRnWVhKeVlYbGNiaUFnSUNCdFpYTm9MbTFoZEdWeWFXRnNJRDBnVzNOMWNtWmhZMlZOWVhSbGNtbGhiRjA3SUM4dklHMWxjMmd1YldGMFpYSnBZV3dnYVhNZ1ozVmhjbUZ1ZEdWbFpDQjBieUJpWlNCaElFMWhkR1Z5YVdGc0lHbHVJRWRNVkVaTWIyRmtaWEpjYmx4dUlDQWdJQzh2SUdSMWNHeHBZMkYwWlNCMGFHVWdiV0YwWlhKcFlXd2dabTl5SUc5MWRHeHBibVVnZFhObFhHNGdJQ0FnWTI5dWMzUWdiM1YwYkdsdVpVMWhkR1Z5YVdGc0lEMGdjM1Z5Wm1GalpVMWhkR1Z5YVdGc0xtTnNiMjVsS0NrN1hHNGdJQ0FnYjNWMGJHbHVaVTFoZEdWeWFXRnNMbTVoYldVZ0t6MGdKeUFvVDNWMGJHbHVaU2tuTzF4dUlDQWdJRzkxZEd4cGJtVk5ZWFJsY21saGJDNXBjMDkxZEd4cGJtVWdQU0IwY25WbE8xeHVJQ0FnSUc5MWRHeHBibVZOWVhSbGNtbGhiQzV6YVdSbElEMGdWRWhTUlVVdVFtRmphMU5wWkdVN1hHNGdJQ0FnYldWemFDNXRZWFJsY21saGJDNXdkWE5vS0c5MWRHeHBibVZOWVhSbGNtbGhiQ2s3WEc1Y2JpQWdJQ0F2THlCdFlXdGxJSFIzYnlCblpXOXRaWFJ5ZVNCbmNtOTFjSE1nYjNWMElHOW1JR0VnYzJGdFpTQmlkV1ptWlhKY2JpQWdJQ0JqYjI1emRDQm5aVzl0WlhSeWVTQTlJRzFsYzJndVoyVnZiV1YwY25rN0lDOHZJRzFsYzJndVoyVnZiV1YwY25rZ2FYTWdaM1ZoY21GdWRHVmxaQ0IwYnlCaVpTQmhJRUoxWm1abGNrZGxiMjFsZEhKNUlHbHVJRWRNVkVaTWIyRmtaWEpjYmlBZ0lDQmpiMjV6ZENCd2NtbHRhWFJwZG1WV1pYSjBhV05sY3lBOUlHZGxiMjFsZEhKNUxtbHVaR1Y0SUQ4Z1oyVnZiV1YwY25rdWFXNWtaWGd1WTI5MWJuUWdPaUJuWlc5dFpYUnllUzVoZEhSeWFXSjFkR1Z6TG5CdmMybDBhVzl1TG1OdmRXNTBJQzhnTXp0Y2JpQWdJQ0JuWlc5dFpYUnllUzVoWkdSSGNtOTFjQ2d3TENCd2NtbHRhWFJwZG1WV1pYSjBhV05sY3l3Z01DazdYRzRnSUNBZ1oyVnZiV1YwY25rdVlXUmtSM0p2ZFhBb01Dd2djSEpwYldsMGFYWmxWbVZ5ZEdsalpYTXNJREVwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZllXUmtWRzlOWVhSbGNtbGhiRk5sZENodFpYTm9PaUJVU0ZKRlJTNU5aWE5vS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd4UGNrMWhkR1Z5YVdGc2N5QTlJRzFsYzJndWJXRjBaWEpwWVd3N1hHNGdJQ0FnWTI5dWMzUWdiV0YwWlhKcFlXeFRaWFFnUFNCdVpYY2dVMlYwUEZSSVVrVkZMazFoZEdWeWFXRnNQaWdwTzF4dVhHNGdJQ0FnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvYldGMFpYSnBZV3hQY2sxaGRHVnlhV0ZzY3lrcElIdGNiaUFnSUNBZ0lHMWhkR1Z5YVdGc1QzSk5ZWFJsY21saGJITXVabTl5UldGamFDZ29iV0YwWlhKcFlXd3BJRDArSUcxaGRHVnlhV0ZzVTJWMExtRmtaQ2h0WVhSbGNtbGhiQ2twTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnRZWFJsY21saGJGTmxkQzVoWkdRb2JXRjBaWEpwWVd4UGNrMWhkR1Z5YVdGc2N5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnRZWFJsY21saGJDQnZaaUJ0WVhSbGNtbGhiRk5sZENrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzFoZEdWeWFXRnNJR2x1YzNSaGJtTmxiMllnVFZSdmIyNU5ZWFJsY21saGJDa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOXRWRzl2YmsxaGRHVnlhV0ZzVTJWMExtRmtaQ2h0WVhSbGNtbGhiQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmY0dGeWMyVlNaVzVrWlhKUGNtUmxjaWhsZUhSbGJuTnBiMjQ2SUZZeFRWUnZiMjVUWTJobGJXRXVWbEpOUTAxaGRHVnlhV0ZzYzAxVWIyOXVLVG9nYm5WdFltVnlJSHRjYmlBZ0lDQXZMeUIwY21GdWMzQmhjbVZ1ZEZkcGRHaGFWM0pwZEdVZ2NtRnVaMlZ6SUdaeWIyMGdNQ0IwYnlBck9WeHVJQ0FnSUM4dklHMWxjbVVnZEhKaGJuTndZWEpsYm5RZ2NtRnVaMlZ6SUdaeWIyMGdMVGtnZEc4Z01GeHVJQ0FnSUdOdmJuTjBJR1Z1WVdKc1pXUmFWM0pwZEdVZ1BTQmxlSFJsYm5OcGIyNHVkSEpoYm5Od1lYSmxiblJYYVhSb1dsZHlhWFJsTzF4dUlDQWdJSEpsZEhWeWJpQW9aVzVoWW14bFpGcFhjbWwwWlNBL0lEQWdPaUF4T1NrZ0t5QW9aWGgwWlc1emFXOXVMbkpsYm1SbGNsRjFaWFZsVDJabWMyVjBUblZ0WW1WeUlEOC9JREFwTzF4dUlDQjlYRzU5WEc0aVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3p0QlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGdlIwRTdRVUZEVHl4VFFVRlRMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRMRVZCUVVVN1FVRkROMFFzU1VGQlNTeFRRVUZUTEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hQUVVGUExFdEJRVXNzV1VGQldTeERRVUZETEVkQlFVY3NTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExGVkJRVlVzVDBGQlR5eEZRVUZGTEVWQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZEYUVnc1NVRkJTU3hQUVVGUExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1JVRkJSU3hWUVVGVkxFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVTdRVUZETDBRc1VVRkJVU3hUUVVGVExGTkJRVk1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzBGQlEyNUhMRkZCUVZFc1UwRkJVeXhSUVVGUkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzBGQlEzUkhMRkZCUVZFc1UwRkJVeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTzBGQlEzUklMRkZCUVZFc1NVRkJTU3hEUVVGRExFTkJRVU1zVTBGQlV5eEhRVUZITEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxGVkJRVlVzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRemxGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTFBN096czdPenRCUXpGSVFUdEJRVVZCT3pzN08wRkJTVWM3UVVGRFZTeE5RVUZCTEhOQ1FVRnpRaXhIUVVGSE8wRkJRM0JET3p0QlFVVkhPMEZCUTBnc1NVRkJRU3hKUVVGSkxFVkJRVVVzVFVGQlRUdEJRVVZhT3p0QlFVVkhPMEZCUTBnc1NVRkJRU3hOUVVGTkxFVkJRVVVzVVVGQlVUdEJRVVZvUWpzN1FVRkZSenRCUVVOSUxFbEJRVUVzV1VGQldTeEZRVUZGTEdOQlFXTTdRVUZGTlVJN08wRkJSVWM3UVVGRFNDeEpRVUZCTEVWQlFVVXNSVUZCUlN4SlFVRkpPenM3UVVNeFFsWTdRVUZGWVN4TlFVRkJMRFpDUVVFMlFpeEhRVUZITzBGQlF6TkRMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxHdENRVUZyUWp0QlFVTndReXhKUVVGQkxHbENRVUZwUWl4RlFVRkZMRzFDUVVGdFFqczdPMEZEU0hoRExFMUJRVTBzY1VKQlFYRkNMRWRCUVRaQ08wRkJRM1JFTEVsQlFVRXNTVUZCU1N4RlFVRkZMRVZCUVVVN1FVRkRVaXhKUVVGQkxFbEJRVWtzUlVGQlJTeE5RVUZOTzBOQlEySXNRMEZCUXp0QlFVVkdPenM3T3pzN096dEJRVkZITzBGQlEwY3NVMEZCVlN4dlFrRkJiMElzUTBGQlF5eFBRVUZ6UWl4RlFVRkJPMGxCUTNwRUxFbEJRVWtzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUjBGQlJ5eEZRVUZGTzFGQlEzWkRMRTlCUVU4c1QwRkJUeXhEUVVGRExGVkJRWGxDTEVOQlFVTTdRVUZETVVNc1MwRkJRVHRCUVVGTkxGTkJRVUU3UVVGRFRDeFJRVUZCTEU5QlFVOHNjVUpCUVhGQ0xFTkJRVVVzVDBGQlpTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUTNwRUxFdEJRVUU3UVVGRFNEczdRVU4wUWtFN1FVRlZRVHM3T3pzN1FVRkxSenRCUVVOVkxFMUJRVUVzWVVGQll5eFRRVUZSTEV0QlFVc3NRMEZCUXl4alFVRmpMRU5CUVVFN1FVRTBRM0pFTEVsQlFVRXNTVUZCVnl4TFFVRkxMRWRCUVVFN1FVRkRaQ3hSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRM1JETzBsQlEwUXNTVUZCVnl4TFFVRkxMRU5CUVVNc1MwRkJhMElzUlVGQlFUdFJRVU5xUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMHRCUTNaRE8wRkJSVVFzU1VGQlFTeEpRVUZYTEVkQlFVY3NSMEZCUVR0QlFVTmFMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRhRU03U1VGRFJDeEpRVUZYTEVkQlFVY3NRMEZCUXl4TFFVRXlRaXhGUVVGQk8xRkJRM2hETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEYWtNN1FVRkZSQ3hKUVVGQkxFbEJRVmNzVTBGQlV5eEhRVUZCTzBGQlEyeENMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRkRU03U1VGRFJDeEpRVUZYTEZOQlFWTXNRMEZCUXl4TFFVRXlRaXhGUVVGQk8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZGtNN1FVRkZSQ3hKUVVGQkxFbEJRVmNzVjBGQlZ5eEhRVUZCTzBGQlEzQkNMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRlRU03U1VGRFJDeEpRVUZYTEZkQlFWY3NRMEZCUXl4TFFVRnZRaXhGUVVGQk8xRkJRM3BETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZWtNN1FVRkZSQ3hKUVVGQkxFbEJRVmNzVVVGQlVTeEhRVUZCTzBGQlEycENMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRja003U1VGRFJDeEpRVUZYTEZGQlFWRXNRMEZCUXl4TFFVRnJRaXhGUVVGQk8xRkJRM0JETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZEVNN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYVVKQlFXbENMRWRCUVVFN1FVRkRNVUlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUXpsRE8wbEJRMFFzU1VGQlZ5eHBRa0ZCYVVJc1EwRkJReXhMUVVGaExFVkJRVUU3VVVGRGVFTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJReTlETzBGQlJVUXNTVUZCUVN4SlFVRlhMRmRCUVZjc1IwRkJRVHRCUVVOd1FpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzaERPMGxCUTBRc1NVRkJWeXhYUVVGWExFTkJRVU1zUzBGQk1rSXNSVUZCUVR0UlFVTm9SQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRM3BETzBGQlJVUXNTVUZCUVN4SlFVRlhMR2RDUVVGblFpeEhRVUZCTzBGQlEzcENMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFdEJRVXNzUTBGQlF6dExRVU0zUXp0SlFVTkVMRWxCUVZjc1owSkJRV2RDTEVOQlFVTXNTMEZCYTBJc1JVRkJRVHRSUVVNMVF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMR2RDUVVGblFpeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRPVU03UVVGRlJDeEpRVUZCTEVsQlFWY3NiMEpCUVc5Q0xFZEJRVUU3UVVGRE4wSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRMnBFTzBsQlEwUXNTVUZCVnl4dlFrRkJiMElzUTBGQlF5eExRVUV5UWl4RlFVRkJPMUZCUTNwRUxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTnNSRHRCUVVWRUxFbEJRVUVzU1VGQlZ5eHJRa0ZCYTBJc1IwRkJRVHRCUVVNelFpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRMME03U1VGRFJDeEpRVUZYTEd0Q1FVRnJRaXhEUVVGRExFdEJRV0VzUlVGQlFUdFJRVU42UXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGFFUTdRVUZGUkN4SlFVRkJMRWxCUVZjc2JVSkJRVzFDTEVkQlFVRTdRVUZETlVJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEyaEVPMGxCUTBRc1NVRkJWeXh0UWtGQmJVSXNRMEZCUXl4TFFVRXlRaXhGUVVGQk8xRkJRM2hFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVOcVJEdEJRVVZFTEVsQlFVRXNTVUZCVnl4M1FrRkJkMElzUjBGQlFUdEJRVU5xUXl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGNrUTdTVUZEUkN4SlFVRlhMSGRDUVVGM1FpeERRVUZETEV0QlFXRXNSVUZCUVR0UlFVTXZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEhkQ1FVRjNRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZEVRN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYTBKQlFXdENMRWRCUVVFN1FVRkRNMElzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUXk5RE8wbEJRMFFzU1VGQlZ5eHJRa0ZCYTBJc1EwRkJReXhMUVVGaExFVkJRVUU3VVVGRGVrTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMmhFTzBGQlJVUXNTVUZCUVN4SlFVRlhMRzlDUVVGdlFpeEhRVUZCTzBGQlF6ZENMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF6dExRVU5xUkR0SlFVTkVMRWxCUVZjc2IwSkJRVzlDTEVOQlFVTXNTMEZCWVN4RlFVRkJPMUZCUXpORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTnNSRHRCUVVWRUxFbEJRVUVzU1VGQlZ5eFpRVUZaTEVkQlFVRTdRVUZEY2tJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVONlF6dEpRVU5FTEVsQlFWY3NXVUZCV1N4RFFVRkRMRXRCUVd0Q0xFVkJRVUU3VVVGRGVFTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTXhRenRCUVVWRUxFbEJRVUVzU1VGQlZ5eGhRVUZoTEVkQlFVRTdRVUZEZEVJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZVUZCWVN4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVNeFF6dEpRVU5FTEVsQlFWY3NZVUZCWVN4RFFVRkRMRXRCUVRKQ0xFVkJRVUU3VVVGRGJFUXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTXpRenRCUVVWRUxFbEJRVUVzU1VGQlZ5eDNRa0ZCZDBJc1IwRkJRVHRCUVVOcVF5eFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRja1E3U1VGRFJDeEpRVUZYTEhkQ1FVRjNRaXhEUVVGRExFdEJRV3RDTEVWQlFVRTdVVUZEY0VRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzB0QlEzUkVPMEZCUlVRc1NVRkJRU3hKUVVGWExHdENRVUZyUWl4SFFVRkJPMEZCUXpOQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMR3RDUVVGclFpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTXZRenRKUVVORUxFbEJRVmNzYTBKQlFXdENMRU5CUVVNc1MwRkJNa0lzUlVGQlFUdFJRVU4yUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGFFUTdRVUZGUkN4SlFVRkJMRWxCUVZjc2IwSkJRVzlDTEVkQlFVRTdRVUZETjBJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEycEVPMGxCUTBRc1NVRkJWeXh2UWtGQmIwSXNRMEZCUXl4TFFVRmhMRVZCUVVFN1VVRkRNME1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMHRCUTJ4RU8wRkJSVVFzU1VGQlFTeEpRVUZYTEN0Q1FVRXJRaXhIUVVGQk8wRkJRM2hETEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExDdENRVUVyUWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVNMVJEdEpRVU5FTEVsQlFWY3NLMEpCUVN0Q0xFTkJRVU1zUzBGQllTeEZRVUZCTzFGQlEzUkVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zSzBKQlFTdENMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU0zUkR0QlFVVkVMRWxCUVVFc1NVRkJWeXgxUWtGQmRVSXNSMEZCUVR0QlFVTm9ReXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eExRVUZMTEVOQlFVTTdTMEZEY0VRN1NVRkRSQ3hKUVVGWExIVkNRVUYxUWl4RFFVRkRMRXRCUVdFc1JVRkJRVHRSUVVNNVF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRja1E3UVVGRlJDeEpRVUZCTEVsQlFWY3NNa0pCUVRKQ0xFZEJRVUU3UVVGRGNFTXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRM2hFTzBsQlEwUXNTVUZCVnl3eVFrRkJNa0lzUTBGQlF5eExRVUV5UWl4RlFVRkJPMUZCUTJoRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTjZSRHRCUVVWRUxFbEJRVUVzU1VGQlZ5eHJRa0ZCYTBJc1IwRkJRVHRCUVVNelFpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRMME03U1VGRFJDeEpRVUZYTEd0Q1FVRnJRaXhEUVVGRExFdEJRV0VzUlVGQlFUdFJRVU42UXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGFFUTdRVUZGUkN4SlFVRkJMRWxCUVZjc2EwSkJRV3RDTEVkQlFVRTdRVUZETTBJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlF5OURPMGxCUTBRc1NVRkJWeXhyUWtGQmEwSXNRMEZCUXl4TFFVRnJRaXhGUVVGQk8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVOb1JEdEJRVVZFTEVsQlFVRXNTVUZCVnl4M1FrRkJkMElzUjBGQlFUdEJRVU5xUXl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGNrUTdTVUZEUkN4SlFVRlhMSGRDUVVGM1FpeERRVUZETEV0QlFXRXNSVUZCUVR0UlFVTXZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEhkQ1FVRjNRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZEVRN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYzBKQlFYTkNMRWRCUVVFN1FVRkRMMElzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUTI1RU8wbEJRMFFzU1VGQlZ5eHpRa0ZCYzBJc1EwRkJReXhMUVVFeVFpeEZRVUZCTzFGQlF6TkVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU53UkR0QlFVVkVMRWxCUVVFc1NVRkJWeXgzUWtGQmQwSXNSMEZCUVR0QlFVTnFReXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVOQlFVTTdTMEZEY2tRN1NVRkRSQ3hKUVVGWExIZENRVUYzUWl4RFFVRkRMRXRCUVdFc1JVRkJRVHRSUVVNdlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRkRVE3UVVGRlJDeEpRVUZCTEVsQlFWY3NkMEpCUVhkQ0xFZEJRVUU3UVVGRGFrTXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRM0pFTzBsQlEwUXNTVUZCVnl4M1FrRkJkMElzUTBGQlF5eExRVUZoTEVWQlFVRTdVVUZETDBNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzB0QlEzUkVPMEZCUlVRc1NVRkJRU3hKUVVGWExIZENRVUYzUWl4SFFVRkJPMEZCUTJwRExGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTnlSRHRKUVVORUxFbEJRVmNzZDBKQlFYZENMRU5CUVVNc1MwRkJZU3hGUVVGQk8xRkJReTlETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVOMFJEdEJRWGxDUkRzN08wRkJSMGM3UVVGRFNDeEpRVUZCTEVsQlFWY3NhVUpCUVdsQ0xFZEJRVUU3VVVGRE1VSXNUMEZCVHl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTTdTMEZEYUVNN1NVRkRSQ3hKUVVGWExHbENRVUZwUWl4RFFVRkRMRXRCUVdNc1JVRkJRVHRCUVVONlF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZGYUVNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTjZRanRCUVVsRU96czdPenRCUVV0SE8wRkJRMGdzU1VGQlFTeEpRVUZKTEdGQlFXRXNSMEZCUVR0UlFVTm1MRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF6dExRVU0xUWp0QlFVVkVPenM3T3p0QlFVdEhPMGxCUTBnc1NVRkJTU3hoUVVGaExFTkJRVU1zUTBGQlZTeEZRVUZCTzBGQlF6RkNMRkZCUVVFc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZGZUVJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTjZRanRCUVVsRU96czdPenRCUVV0SE8wRkJRMGdzU1VGQlFTeEpRVUZKTEZOQlFWTXNSMEZCUVR0UlFVTllMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dExRVU40UWp0QlFVVkVPenM3T3p0QlFVdEhPMGxCUTBnc1NVRkJTU3hUUVVGVExFTkJRVU1zUTBGQmVVSXNSVUZCUVR0QlFVTnlReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUlhCQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1MwRkRla0k3UVVGSlJDeEpRVUZCTEVsQlFVa3NaMEpCUVdkQ0xFZEJRVUU3VVVGRGJFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdTMEZETDBJN1NVRkRSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRU5CUVdkRExFVkJRVUU3UVVGRGJrUXNVVUZCUVN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUlROQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1MwRkRla0k3UVVGSlJDeEpRVUZCTEVsQlFVa3NVMEZCVXl4SFFVRkJPMUZCUTFnc1QwRkJUeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETzB0QlEzaENPMGxCUTBRc1NVRkJTU3hUUVVGVExFTkJRVU1zUTBGQlZTeEZRVUZCTzBGQlEzUkNMRkZCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZGY0VJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTjZRanRCUVVWRU96dEJRVVZITzBGQlEwZ3NTVUZCUVN4SlFVRlhMR1ZCUVdVc1IwRkJRVHRCUVVONFFpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMHRCUTJJN1FVRkZSQ3hKUVVGQkxGZEJRVUVzUTBGQldTeGhRVUZ6UXl4RlFVRkZMRVZCUVVFN1FVRkRiRVFzVVVGQlFTeExRVUZMTEVOQlFVTXNSVUZCUlN4WlFVRlpMRVZCUVVVc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF6dFJRV3hJYmtNc1NVRkJOa0lzUTBGQlFTdzJRa0ZCUVN4SFFVRkhMRWRCUVVjc1EwRkJRenRSUVVOd1F5eEpRVUUyUWl4RFFVRkJMRFpDUVVGQkxFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlEzQkRMRWxCUVRoQ0xFTkJRVUVzT0VKQlFVRXNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkZOVU03T3p0QlFVZEhPMUZCUTBrc1NVRkJSeXhEUVVGQkxFZEJRVUVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZGYkVJN096czdRVUZKUnp0QlFVTkpMRkZCUVVFc1NVRkJRU3hEUVVGQkxHRkJRV0VzUjBGQlJ5eExRVUZMTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU03UVVGRmJrUTdPenRCUVVkSE8xRkJRMHNzU1VGQmEwSXNRMEZCUVN4clFrRkJRU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRV1V4UWl4SlFVRmpMRU5CUVVFc1kwRkJRU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRWGRDZGtJc1VVRkJRU3hKUVVGQkxFTkJRVUVzVlVGQlZTeEhRVUV5UWl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVOQlFVTTdRVUYzUW1wRkxGRkJRVUVzU1VGQlFTeERRVUZCTEdsQ1FVRnBRaXhIUVVGclF5dzJRa0ZCTmtJc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGWGRFWXNTVUZCVlN4RFFVRkJMRlZCUVVFc1IwRkJSeXhMUVVGTExFTkJRVU03TzFGQmMwSjZRaXhKUVVGSkxGVkJRVlVzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSVHRCUVVOd1F5eFpRVUZCTEZWQlFWVXNRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRemxDTEZOQlFVRTdVVUZEUkN4UFFVRlBMRlZCUVZVc1EwRkJReXh4UWtGQmNVSXNRMEZCUXpzN1FVRkhlRU1zVVVGQlFTeFZRVUZWTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVOMFFpeFJRVUZCTEZWQlFWVXNRMEZCUXl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRM3BDTEZGQlFVRXNWVUZCVlN4RFFVRkRMRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU03T3p0UlFVa3pRaXhKUVVGSkxGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RlFVRkZMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJUdFpRVU55UXl4VlFVRnJRaXhEUVVGRExGRkJRVkVzUjBGQlNTeFZRVUZyUWl4RFFVRkRMRkZCUVZFc1NVRkJTU3hMUVVGTExFTkJRVU03UVVGRGRFVXNVMEZCUVRzN08xRkJTVVFzU1VGQlNTeFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVWQlFVVTdXVUZEY2tNc1ZVRkJhMElzUTBGQlF5eFpRVUZaTEVkQlFVa3NWVUZCYTBJc1EwRkJReXhaUVVGWkxFbEJRVWtzUzBGQlN5eERRVUZETzFsQlF6VkZMRlZCUVd0Q0xFTkJRVU1zV1VGQldTeEhRVUZKTEZWQlFXdENMRU5CUVVNc1dVRkJXU3hKUVVGSkxFdEJRVXNzUTBGQlF6dEJRVU01UlN4VFFVRkJPenRSUVVkRUxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTMEZCU3l4RFFVRkRMR0ZCUVdFc1EwRkJReXhMUVVGTExFTkJRVU03V1VGRGVFTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhOUVVGTk8xbEJRM2hDTEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1UwRkJVenRaUVVNelFpeExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRmRCUVZjN1dVRkROMElzUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhPMWxCUTNKQ0xFdEJRVXNzUTBGQlF5eFhRVUZYTEVOQlFVTXNUVUZCVFR0QlFVTjRRaXhaUVVGQk8wRkJRMFVzWjBKQlFVRXNVMEZCVXl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTzJkQ1FVTndSQ3hqUVVGakxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVU3UVVGRE9VTXNaMEpCUVVFc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlR0blFrRkRNVUlzYjBKQlFXOUNMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVN1FVRkRjRVFzWjBKQlFVRXNaMEpCUVdkQ0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1FVRkRPVVFzWjBKQlFVRXNiMEpCUVc5Q0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZPMmRDUVVOeVF5d3JRa0ZCSzBJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSVHRCUVVNdlJDeG5Ra0ZCUVN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVN1FVRkRiRU1zWjBKQlFVRXNiVUpCUVcxQ0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZPMmRDUVVOd1F5dzRRa0ZCT0VJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSVHRCUVVNNVJDeG5Ra0ZCUVN4M1FrRkJkMElzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVN1FVRkRlRU1zWjBKQlFVRXNhMEpCUVd0Q0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZPMEZCUTJ4RExHZENRVUZCTEc5Q1FVRnZRaXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlR0QlFVTndReXhuUWtGQlFTeFpRVUZaTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVU3UVVGRGRrUXNaMEpCUVVFc1lVRkJZU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NSVUZCUlR0blFrRkRPVUlzZDBKQlFYZENMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVN1FVRkRlRVFzWjBKQlFVRXNkMEpCUVhkQ0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVN1FVRkRia1VzWjBKQlFVRXNhMEpCUVd0Q0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZPMmRDUVVOdVF5dzJRa0ZCTmtJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSVHRCUVVNM1JDeG5Ra0ZCUVN4dlFrRkJiMElzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVN1FVRkRjRU1zWjBKQlFVRXNLMEpCUVN0Q0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZPMEZCUXk5RExHZENRVUZCTEhWQ1FVRjFRaXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlR0QlFVTjJReXhuUWtGQlFTeFJRVUZSTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVU3UVVGRGJrUXNaMEpCUVVFc2FVSkJRV2xDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRk8yZENRVU5xUXl4elFrRkJjMElzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdEJRVU4wUkN4blFrRkJRU3d5UWtGQk1rSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFVkJRVVU3WjBKQlF6VkRMSE5EUVVGelF5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTzBGQlEzUkZMR2RDUVVGQkxHdENRVUZyUWl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFZEJRVWNzUlVGQlJUdEJRVU5zUXl4blFrRkJRU3hyUWtGQmEwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJUdEJRVU0zUkN4blFrRkJRU3gzUWtGQmQwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVU3UVVGRGVFTXNaMEpCUVVFc2MwSkJRWE5DTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRk8yZENRVU4yUXl4cFEwRkJhVU1zUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdEJRVU5xUlN4blFrRkJRU3gzUWtGQmQwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVU3UVVGRGVFTXNaMEpCUVVFc2QwSkJRWGRDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRk8wRkJRM2hETEdkQ1FVRkJMSGRDUVVGM1FpeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSVHRCUVVONlF5eGhRVUZCTzBGQlEwUXNXVUZCUVN4VlFVRlZMRU5CUVVNc1VVRkJVVHRCUVVOd1FpeFRRVUZCTEVOQlFVTXNRMEZCUXpzN1FVRkhTQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN08xRkJSek5DTEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUlVGQlJTeERRVUZET3p0QlFVZHFReXhSUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1IwRkJSeXhOUVVNelFqdFpRVU5GTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVUVzUlVGQlJ5eExRVUZMTEVOQlFVRXNRMEZCUVN4RlFVRkpMRXRCUVVzc1EwRkJRU3hEUVVGRkxFTkJRVU03UVVGRGRrWXNXVUZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExESkNRVUV5UWl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVFc1EwRkJSU3hIUVVGSExFVkJRVVU3UVVGREwwWXNXVUZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTzJ0Q1FVTnlRaXhyUTBGQmEwTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVVVzUTBGQlFUdEJRVU55Uml4clFrRkJSU3hGUVVGRk8wRkJRMDRzV1VGQlFTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFZEJRVWNzWjBOQlFXZERMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZCTEVOQlFVVXNSMEZCUnl4RlFVRkZPMEZCUXk5SExGTkJRVUVzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkZaQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NRMEZCUXl4TlFVRk5MRXRCUVVrN1dVRkRhRU1zVFVGQlRTeGhRVUZoTEVkQlFVY3NVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZGYmtRc1dVRkJRU3hOUVVGTkxFOUJRVThzUjBGRFdDeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRk5MRTFCUVVFc1EwRkJRU3hOUVVGQkxFTkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUVVFc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVRkZMRU5CUVVFc1JVRkJTeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZITEVOQlFVRTdRVUZETlVRc2FVSkJRVUVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXp0QlFVTnVReXhwUWtGQlFTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZYTEZGQlFVRXNSVUZCUVN4TFFVRkxMRU5CUVVrc1EwRkJRU3hGUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzBGQlEzQkVMR2xDUVVGQkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN08xbEJSM1pDTEUxQlFVMHNRMEZCUXl4WlFVRlpMRWRCUVVjc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTTdXVUZEY0VRc1RVRkJUU3hEUVVGRExHTkJRV01zUjBGQlJ5eFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJRenM3T3p0WlFVMTRSQ3hKUVVGSkxHRkJRV0VzUjBGQlJ5eEhRVUZITEVWQlFVVTdRVUZEZGtJc1owSkJRVUVzVFVGQlRTeERRVUZETEdOQlFXTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGRGJrUXNaME5CUVdkRExFVkJRMmhETEN0Q1FVRXJRaXhEUVVOb1F5eERRVUZETzBGQlEwZ3NZVUZCUVRzN08xbEJTVVFzU1VGQlNTeGhRVUZoTEVkQlFVY3NSMEZCUnl4RlFVRkZPMEZCUTNaQ0xHZENRVUZCTEUxQlFVMHNRMEZCUXl4alFVRmpMRWRCUVVjc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlF5eFBRVUZQTEVOQlFVTXNhVU5CUVdsRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZETjBZc1owSkJRVUVzVFVGQlRTeERRVUZETEdOQlFXTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eHZRMEZCYjBNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU5xUnl4aFFVRkJPMEZCUTBnc1UwRkJReXhEUVVGRE8wdEJRMGc3UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeE5RVUZOTEVOQlFVTXNTMEZCWVN4RlFVRkJPMUZCUTNwQ0xFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1JVRkJSU3hEUVVGRE8wRkJRMnBETEZGQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUTJoRE8wRkJSVTBzU1VGQlFTeEpRVUZKTEVOQlFVTXNUVUZCV1N4RlFVRkJPMEZCUTNSQ0xGRkJRVUVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenM3T3pzN096czdPMEZCVlc1Q0xGRkJRVUVzU1VGQlNTeERRVUZETEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRE8wRkJRM1JDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETzBGQlEyeERMRkZCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUTNSRExGRkJRVUVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1EwRkJRenRCUVVONFJDeFJRVUZCTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU03UVVGRGRFUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFMUJRVTBzUTBGQlF5eGhRVUZoTEVOQlFVTTdRVUZETVVNc1VVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRWRCUVVjc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRPMEZCUTNCRUxGRkJRVUVzU1VGQlNTeERRVUZETERKQ1FVRXlRaXhIUVVGSExFMUJRVTBzUTBGQlF5d3lRa0ZCTWtJc1EwRkJRenRCUVVOMFJTeFJRVUZCTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUjBGQlJ5eE5RVUZOTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU03TzBGQlJ6VkVMRkZCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUjBGQlJ5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRPMEZCUlRGRExGRkJRVUVzU1VGQlNTeERRVUZETERaQ1FVRTJRaXhIUVVGSExFMUJRVTBzUTBGQlF5dzJRa0ZCTmtJc1EwRkJRenRCUVVNeFJTeFJRVUZCTEVsQlFVa3NRMEZCUXl3MlFrRkJOa0lzUjBGQlJ5eE5RVUZOTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU03UVVGRE1VVXNVVUZCUVN4SlFVRkpMRU5CUVVNc09FSkJRVGhDTEVkQlFVY3NUVUZCVFN4RFFVRkRMRGhDUVVFNFFpeERRVUZETzBGQlJUVkZMRkZCUVVFc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0QlFVVnNSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVkQlFVY3NUVUZCVFN4RFFVRkRMR0ZCUVdFc1EwRkJRenRCUVVNeFF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF6dEJRVU5zUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdRVUZGYUVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNN08wRkJSMnhETEZGQlFVRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRmVFSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRMUVVOaU8wRkJSVVE3T3pzN1FVRkpSenRCUVVOTExFbEJRVUVzYTBKQlFXdENMRU5CUVVNc1MwRkJZU3hGUVVGQk8wRkJRM1JETEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4TFFVRkxMRWxCUVVrc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1EwRkJRenRCUVVNelJpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNTMEZCU3l4SlFVRkpMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zTmtKQlFUWkNMRU5CUVVNN1FVRkRNMFlzVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEV0QlFVc3NTVUZCU1N4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExEaENRVUU0UWl4RFFVRkRPMEZCUlRWR0xGRkJRVUVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF6dExRVU5vUXp0QlFVVkVPenM3UVVGSFJ6dEpRVU5MTEhsQ1FVRjVRaXhIUVVGQk96czdPMUZCU1M5Q0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZET3p0QlFVY3pReXhSUVVGQkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzBGQlF6TkZMRkZCUVVFc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXp0QlFVTjJSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNN1FVRkRNMFlzVVVGQlFTeEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4dlFrRkJiMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMQ3RDUVVFclFpeERRVUZETEVOQlFVTTdRVUZETjBjc1VVRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETERoQ1FVRTRRaXhEUVVGRExFTkJRVU03UVVGRE0wY3NVVUZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhoUVVGaExFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eERRVUZETzBGQlF5OUdMRkZCUVVFc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5dzJRa0ZCTmtJc1EwRkJReXhEUVVGRE8wRkJRM3BITEZGQlFVRXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVU4yUWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExESkNRVUV5UWl4RlFVTjZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEhORFFVRnpReXhEUVVOeVJDeERRVUZETzBGQlEwWXNVVUZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh6UWtGQmMwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHbERRVUZwUXl4RFFVRkRMRU5CUVVNN08xRkJSMnBJTEUxQlFVMHNZVUZCWVN4SFFVRkhMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUlc1RUxFbEJRVWtzWVVGQllTeEpRVUZKTEVkQlFVY3NSVUZCUlR0WlFVTjRRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF6dEJRVU5vUkN4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRWRCUVVjc1NVRkJTU3hEUVVGRE8wdEJRMmhETzBGQlJVUTdPMEZCUlVjN1NVRkRTeXhuUWtGQlowSXNSMEZCUVR0UlFVTjBRaXhOUVVGTkxHRkJRV0VzUjBGQlJ5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVVZ1UkN4UlFVRkJMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1MwRkJTeXhKUVVGSkxFTkJRVU03UVVGRE9VUXNVVUZCUVN4TlFVRk5MRmRCUVZjc1IwRkRaaXhKUVVGSkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVsQlFVazdXVUZEYWtJc1NVRkJTU3hEUVVGRExGZEJRVmNzUzBGQlN5eEpRVUZKTzFsQlEzcENMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNTMEZCU3l4SlFVRkpPMWxCUTJ4RExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1MwRkJTeXhKUVVGSk8xbEJRMnBETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUzBGQlN5eEpRVUZKTzBGQlEyaERMRmxCUVVFc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4TFFVRkxMRWxCUVVrc1EwRkJRenRSUVVWMlF5eFBRVUZQT3pzN1FVRkhUQ3haUVVGQkxIZENRVUYzUWl4RlFVRkZMR0ZCUVdFN1dVRkZka01zVDBGQlR5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZPMWxCUTNoQ0xGbEJRVmtzUlVGQlJTeFhRVUZYTEVsQlFVa3NWMEZCVnp0QlFVTjRReXhaUVVGQkxIRkNRVUZ4UWl4RlFVRkZMRmRCUVZjc1NVRkJTU3hEUVVGRExGZEJRVmM3V1VGRGJFUXNaVUZCWlN4RlFVRkZMRWxCUVVrc1EwRkJReXhqUVVGak8wRkJRM0JETEZsQlFVRXNkMEpCUVhkQ0xFVkJRVVVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhMUVVGTExFbEJRVWs3UVVGRE5VUXNXVUZCUVN4MVFrRkJkVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFdEJRVXNzU1VGQlNUdEJRVU14UkN4WlFVRkJMR2xDUVVGcFFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4aFFVRmhMRXRCUVVzc1NVRkJTVHRCUVVNNVF5eFpRVUZCTEhOQ1FVRnpRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1MwRkJTeXhKUVVGSk8xbEJRM2hFTEN0Q1FVRXJRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMREpDUVVFeVFpeExRVUZMTEVsQlFVazdRVUZETjBZc1dVRkJRU3d3UWtGQk1FSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEV0QlFVc3NTVUZCU1R0QlFVTm9SU3haUVVGQkxHMUNRVUZ0UWl4RlFVRkZMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNTMEZCU3l4SlFVRkpPMEZCUTNKRUxGbEJRVUVzV1VGQldTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRXRCUVVzc1VVRkJVVHRCUVVNeFF5eFpRVUZCTEd0Q1FVRnJRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEV0QlFVc3NZMEZCWXp0QlFVTjBSQ3haUVVGQkxGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TFFVRkxMRWxCUVVrN1dVRkRiRU1zYlVKQlFXMUNMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzU1VGQlNTeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFdEJRVXNzTmtKQlFUWkNMRU5CUVVNc1owSkJRV2RDTzFsQlEycElMRzlDUVVGdlFpeEZRVU5zUWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1MwRkJTeXcyUWtGQk5rSXNRMEZCUXl4cFFrRkJhVUk3VTBGRGFFY3NRMEZCUXp0TFFVTklPMGxCUlU4c2IwSkJRVzlDTEVOQlFVTXNSMEZCZVVNc1JVRkJSU3hIUVVGclF5eEZRVUZCTzFGQlEzaEhMRWxCUVVrc1IwRkJSeXhEUVVGRExFdEJRVXNzUlVGQlJUdEJRVU5pTEZsQlFVRXNTVUZCU1N4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExHZENRVUZuUWl4RlFVRkZPMEZCUXpsQ0xHZENRVUZCTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03UVVGRE1VSXNZVUZCUVR0WlFVVkVMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGJFTXNVMEZCUVR0TFFVTkdPMEZCUTBZN08wRkRkRzlDUkN4TlFVRk5MSEZDUVVGeFFpeEhRVUUyUWp0QlFVTjBSQ3hKUVVGQkxFVkJRVVVzUlVGQlJTeEpRVUZKTzBGQlExSXNTVUZCUVN4SlFVRkpMRVZCUVVVc1NVRkJTVHREUVVOWUxFTkJRVU03UVVGRlJqczdPenM3T3pzN08wRkJVMGM3UVVGRFlTeFRRVUZCTEc5Q1FVRnZRaXhEUVVGRExFOUJRWE5DTEVWQlFVVXNWVUZCZFVJc1JVRkJRVHRKUVVOc1JpeEpRVUZKTEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVkQlFVY3NSVUZCUlR0QlFVTjJReXhSUVVGQkxFOUJRVThzUTBGQlF5eFZRVUZWTEVkQlFVY3NWVUZCVlN4RFFVRkRPMEZCUTJwRExFdEJRVUU3UVVGQlRTeFRRVUZCTzBGQlEwb3NVVUZCUVN4UFFVRmxMRU5CUVVNc1VVRkJVU3hIUVVGSExIRkNRVUZ4UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wRkJReTlFTEV0QlFVRTdRVUZEU0RzN1FVTnNRa0U3T3pzN1FVRkpSenROUVVOVkxHMURRVUZ0UXl4RFFVRkJPMEZCU3psRExFbEJRVUVzU1VGQlZ5eFBRVUZQTEVkQlFVRTdVVUZEYUVJc1QwRkJUeXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRMUVVOd1F6dEpRVVZFTEZkQlFXMUNMRU5CUVVFc1RVRkJhMElzUlVGQlJTeGpRVUYxUXl4RlFVRkJPMEZCUXpWRkxGRkJRVUVzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNN1FVRkRkRUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMR05CUVdNc1EwRkJRenRCUVVOMFF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1JVRkJSU3hEUVVGRE8wdEJRM0pDTzBsQlJVMHNaVUZCWlN4RFFVRXdReXhIUVVGTkxFVkJRVVVzUzBGQmFVTXNSVUZCUVR0UlFVTjJSeXhKUVVGSkxFdEJRVXNzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEYWtJc1dVRkJRU3hKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVOdVF5eFRRVUZCTzB0QlEwWTdRVUZGVFN4SlFVRkJMRmRCUVZjc1EwRkRhRUlzUjBGQlRTeEZRVU5PTEV0QlFUSkNMRVZCUXpOQ0xHMUNRVUUyUWl4RlFVRkJPMUZCUlRkQ0xFbEJRVWtzUzBGQlN5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTnFRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJSUzlFTEZsQlFVRXNTVUZCU1N4dFFrRkJiVUlzUlVGQlJUdG5Ra0ZEZGtJc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeERRVUZETzBGQlEycEVMR0ZCUVVFN1FVRkRSaXhUUVVGQk8wdEJRMFk3UVVGRldTeEpRVUZCTEdGQlFXRXNRMEZEZUVJc1IwRkJUU3hGUVVOT0xFOUJRWE5ETEVWQlEzUkRMR05CUVhWQ0xFVkJRVUU3TzBGQlJYWkNMRmxCUVVFc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlF5eE5RVUZYTEZOQlFVRXNRMEZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hEUVVGQkxFVkJRVUVzUzBGQlFTeERRVUZCTEVWQlFVRXNZVUZCUVR0blFrRkRNVUlzU1VGQlNTeFBRVUZQTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTI1Q0xHOUNRVUZCTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETEdWQlFXVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGRmNrVXNiMEpCUVVFc1NVRkJTU3hqUVVGakxFVkJRVVU3ZDBKQlEyeENMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdRVUZEZWtRc2NVSkJRVUU3UVVGRFJpeHBRa0ZCUVR0aFFVTkdMRU5CUVVFc1IwRkJSeXhEUVVGRE8wRkJSVXdzV1VGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEJRVVUzUWl4WlFVRkJMRTlCUVU4c1QwRkJUeXhEUVVGRE8xTkJRMmhDTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZXU3hKUVVGQkxHOUNRVUZ2UWl4RFFVTXZRaXhIUVVGTkxFVkJRMDRzV1VGQlowTXNSVUZEYUVNc1kwRkJkVUlzUlVGQlFUczdXVUZGZGtJc1QwRkJUeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NSVUZCUlN4WlFVRlpMRWxCUVVrc1NVRkJTU3hIUVVGSExFVkJRVVVzUzBGQlN5eEZRVUZGTEZsQlFWa3NSVUZCUlN4SFFVRkhMRk5CUVZNc1JVRkJSU3hqUVVGakxFTkJRVU1zUTBGQlF6dFRRVU0xUnl4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVGQk8wRkJRMFk3TzBGRE4wUkVPenRCUVVWSE8wRkJRMGdzVFVGQlRTeHpRa0ZCYzBJc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRE8wMUJSUzlETEhsQ1FVRjVRaXhEUVVGQk8wRkJhME53UXl4SlFVRkJMRWxCUVZjc1NVRkJTU3hIUVVGQk8xRkJRMklzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhqUVVGakxFTkJRVU03UzBGRGFrUTdTVUZGUkN4WFFVRnRRaXhEUVVGQkxFMUJRV3RDTEVWQlFVVXNUMEZCUVN4SFFVRTBReXhGUVVGRkxFVkJRVUU3TzBGQlEyNUdMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdVVUZGY2tJc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFOUJRVThzUTBGQlF5eHBRa0ZCYVVJc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hEUVVGRExFTkJRVU03VVVGRGVFUXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEVOQlFVTXNZVUZCWVN4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRXRCUVVzc1EwRkJRenRSUVVOd1JDeEpRVUZKTEVOQlFVTXNVMEZCVXl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFOUJRVThzUTBGQlF5eFRRVUZUTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNUVUZCVFN4RFFVRkRPMEZCUlRkRExGRkJRVUVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTMEZEY0VNN1NVRkZXU3hWUVVGVkxFZEJRVUU3TzFsQlEzSkNMRWxCUVVrc1EwRkJReXhyUTBGQmEwTXNSVUZCUlN4RFFVRkRPMU5CUXpORExFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlFVRTdRVUZGV1N4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3TzBGQlF5OUNMRmxCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFOQlEzUkZMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRVUU3UVVGRlRTeEpRVUZCTEdWQlFXVXNRMEZCUXl4aFFVRnhRaXhGUVVGQk8xRkJRekZETEUxQlFVMHNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRCUVVNelJDeFJRVUZCTEVsQlFVa3NWMEZCVnl4RlFVRkZPMEZCUTJZc1dVRkJRU3hQUVVGUExHRkJRV0VzUTBGQlF6dEJRVU4wUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dExRVU5pTzBsQlJVMHNiMEpCUVc5Q0xFTkJRVU1zWVVGQmNVSXNSVUZCUlN4alFVRjFReXhGUVVGQk8xRkJRM2hHTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRCUVVONlJDeFJRVUZCTEVsQlFVa3NVMEZCVXl4RlFVRkZPMWxCUTJJc1QwRkJUeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1UwRkJVeXhGUVVGRkxHTkJRV01zUTBGQlF5eERRVUZETzBGQlF6bEVMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzB0QlEySTdRVUZGV1N4SlFVRkJMRkZCUVZFc1EwRkJReXhUUVVGcFFpeEZRVUZCT3pzN1FVRkRja01zV1VGQlFTeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRek5DTEZsQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVVjc1RVRkJUU3hEUVVGRExFbEJRWGRDTEVOQlFVTTdXVUZGTjBNc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXp0WlFVVjZReXhKUVVGSkxFOUJRVThzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEYmtJc1owSkJRVUVzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZEWWl4dlJFRkJiMFFzVTBGQlV5eERRVUZCTEc5RFFVRkJMRU5CUVhORExFTkJRM0JITEVOQlFVTTdRVUZEU0N4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxHRkJRV0VzUjBGQlJ5eFBRVUZQTEVOQlFVTXNWVUZCVlN4RFFVRkRPMWxCUlhwRExFMUJRVTBzVjBGQlZ5eEhRVUZITEUxQlFVMHNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEJRVVZ5UkN4WlFVRkJMRWxCUVVrc1lVRkJZU3hEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETEVWQlFVVTdaMEpCUXpsQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEZkQlFYbENMRU5CUVVNN1owSkJRM1pETEUxQlFVMHNZVUZCWVN4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTTdaMEpCUldoRUxFbEJRVWtzWVVGQllTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTjZRaXh2UWtGQlFTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hoUVVGaExFTkJRVU1zUTBGQlF6dEJRVU16UXl4cFFrRkJRVHRCUVVOR0xHRkJRVUU3UVVGQlRTeHBRa0ZCUVR0blFrRkRUQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eFhRVUV3UWl4RFFVRkRPMEZCUTNwRExHZENRVUZCTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yOUNRVU0zUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCWlN4RFFVRkRPMjlDUVVNM1F5eE5RVUZOTEdGQlFXRXNSMEZCUnl4aFFVRmhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETzI5Q1FVVm9SQ3hKUVVGSkxHRkJRV0VzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEZWtJc2QwSkJRVUVzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRE0wTXNjVUpCUVVFN1FVRkRSaXhwUWtGQlFUdEJRVU5HTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTlCUVU4c1YwRkJWeXhEUVVGRE96dEJRVU53UWl4TFFVRkJPMEZCUlVRN096czdPMEZCUzBjN1NVRkRTeXhyUTBGQmEwTXNSMEZCUVR0QlFVTjRReXhSUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1FVRkRNMElzVVVGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6dEJRVVUzUXl4UlFVRkJMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdRVUZEY0VNc1VVRkJRU3haUVVGWkxFdEJRVm9zU1VGQlFTeEpRVUZCTEZsQlFWa3NTMEZCV2l4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFpRVUZaTEVOQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1YwRkJWeXhGUVVGRkxGTkJRVk1zUzBGQlNUczdXVUZETTBNc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFsQlJYSkVMRWxCUVVrc1UwRkJVeXhMUVVGSkxFTkJRVUVzUlVGQlFTeEhRVUZCTEZkQlFWY3NRMEZCUXl4VlFVRlZMRTFCUVVjc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzY1VKQlFYRkNMRU5CUVVNc1EwRkJRU3hGUVVGRk8wRkJRMmhGTEdkQ1FVRkJMRTlCUVU4c1YwRkJWeXhEUVVGRExGVkJRVlVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8wRkJRM1JFTEdGQlFVRTdRVUZEU0N4VFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOS08wRkJSVThzU1VGQlFTeHJRa0ZCYTBJc1EwRkJReXhoUVVGeFFpeEZRVUZCT3p0QlFVTTVReXhSUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1FVRkRNMElzVVVGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6dFJRVVUzUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHRkJRV0VzUTBGQlF5eERRVUZETzFGQlJYQkVMRWxCUVVrc1YwRkJWeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU4yUWl4WlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzZFVSQlFYVkVMR0ZCUVdFc1EwRkJRU3gzUTBGQlFTeERRVUV3UXl4RFFVTXZSeXhEUVVGRE8wRkJRMFlzV1VGQlFTeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnNRaXhUUVVGQk8xRkJSVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1YwRkJWeXhEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlJYUkZMRU5CUVVNN1VVRkRaQ3hKUVVGSkxGTkJRVk1zU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEY2tJc1dVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dEJRVU5zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUXpGRExGRkJRVUVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlR0WlFVTTFReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEVOQlFYTkRMRzFEUVVGQkxFVkJRVUVzZVVKQlFYbENMRU5CUVVNc1kwRkJZeXhEUVVGcFFpeGpRVUZCTEVWQlFVRXNWMEZCVnl4RFFVRkhMRU5CUVVFc1EwRkJRU3hEUVVNNVJ5eERRVUZETzBGQlEwWXNXVUZCUVN4UFFVRlBMRk5CUVZNc1EwRkJRenRCUVVOc1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRk5CUVZNc1EwRkJRenRMUVVOc1FqdEpRVVZoTEhGQ1FVRnhRaXhEUVVOcVF5eFRRVUV5UXl4RlFVTXpReXhqUVVGMVF5eEZRVUZCT3pzN08xbEJSM1pETEU5QlFWRXNZMEZCZFVRc1EwRkJReXhUUVVGVExFTkJRVU03V1VGRE1VVXNUMEZCVVN4alFVRjFSQ3hEUVVGRExGTkJRVk1zUTBGQlF6dFpRVVV4UlN4TlFVRk5MRmxCUVZrc1IwRkJSeXhKUVVGSkxHMURRVUZ0UXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdXVUZGTVVZc1dVRkJXU3hEUVVGRExHVkJRV1VzUTBGQlF5eDFRa0ZCZFVJc1JVRkJSU3hUUVVGVExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJRenRaUVVOMlJpeFpRVUZaTEVOQlFVTXNWMEZCVnl4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEZOQlFWTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETzFsQlEzcEZMRmxCUVZrc1EwRkJReXhoUVVGaExFTkJRVU1zYzBKQlFYTkNMRVZCUVVVc1UwRkJVeXhEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRM3BHTEZsQlFWa3NRMEZCUXl4bFFVRmxMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNVMEZCVXl4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdXVUZEYWtZc1dVRkJXU3hEUVVGRExHRkJRV0VzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSU3hUUVVGVExFTkJRVU1zYlVKQlFXMUNMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03UVVGRGRrWXNXVUZCUVN4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExEQkNRVUV3UWl4RlFVRkZMRU5CUVVFc1JVRkJRU3hIUVVGQkxGTkJRVk1zUTBGQlF5eHRRa0ZCYlVJc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0WlFVTXZSaXhaUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETEc5Q1FVRnZRaXhGUVVGRkxGTkJRVk1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8xbEJRMnBHTEZsQlFWa3NRMEZCUXl4bFFVRmxMRU5CUVVNc2MwSkJRWE5DTEVWQlFVVXNVMEZCVXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdXVUZEY2tZc1dVRkJXU3hEUVVGRExGZEJRVmNzUTBGQlF5eGpRVUZqTEVWQlFVVXNVMEZCVXl4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xbEJRMnBGTEZsQlFWa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1pVRkJaU3hGUVVGRkxGTkJRVk1zUTBGQlF5eGhRVUZoTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRNMFVzV1VGQldTeERRVUZETEZkQlFWY3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeFRRVUZUTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zUTBGQlF6dFpRVU42Uml4WlFVRlpMRU5CUVVNc1lVRkJZU3hEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRk5CUVZNc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVOeVJpeFpRVUZaTEVOQlFVTXNaVUZCWlN4RFFVRkRMSE5DUVVGelFpeEZRVUZGTEZOQlFWTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eERRVUZETzFsQlEzSkdMRmxCUVZrc1EwRkJReXhsUVVGbExFTkJRVU1zYVVOQlFXbERMRVZCUVVVc1UwRkJVeXhEUVVGRExDdENRVUVyUWl4RFFVRkRMRU5CUVVNN1dVRkRNMGNzV1VGQldTeERRVUZETEdWQlFXVXNRMEZCUXl4NVFrRkJlVUlzUlVGQlJTeFRRVUZUTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dFpRVU16Uml4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1EwRkJReXhuUWtGQmFVUXNRMEZCUXl4RFFVRkRPMWxCUXpsSExGbEJRVmtzUTBGQlF5eGxRVUZsTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzVTBGQlV5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03V1VGRGFrWXNXVUZCV1N4RFFVRkRMR0ZCUVdFc1EwRkJReXcyUWtGQk5rSXNSVUZCUlN4VFFVRlRMRU5CUVVNc01rSkJRVEpDTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRlRWNzV1VGQldTeERRVUZETEZkQlFWY3NRMEZCUXl4dlFrRkJiMElzUlVGQlJTeFRRVUZUTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dFpRVU0zUlN4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExEQkNRVUV3UWl4RlFVRkZMRk5CUVZNc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4RFFVRkRPMWxCUXpkR0xGbEJRVmtzUTBGQlF5eGhRVUZoTEVOQlFVTXNkMEpCUVhkQ0xFVkJRVVVzVTBGQlV5eERRVUZETEhOQ1FVRnpRaXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFsQlF6bEdMRmxCUVZrc1EwRkJReXhsUVVGbExFTkJRVU1zSzBKQlFTdENMRVZCUVVVc1UwRkJVeXhEUVVGRExEWkNRVUUyUWl4RFFVRkRMRU5CUVVNN1dVRkRka2NzV1VGQldTeERRVUZETEdWQlFXVXNRMEZCUXl3clFrRkJLMElzUlVGQlJTeFRRVUZUTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU1zUTBGQlF6dFpRVU4yUnl4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExHZERRVUZuUXl4RlFVRkZMRk5CUVZNc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRPMWxCUlhwSExGbEJRVmtzUTBGQlF5eGxRVUZsTEVOQlFVTXNaVUZCWlN4RlFVRkZMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dFpRVU5zUlN4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExGZEJRVmNzUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkZNVVFzVFVGQlRTeFpRVUZaTEVOQlFVTXNUMEZCVHl4RFFVRkRPenRCUVVNMVFpeExRVUZCTzBGQlJVUTdPenM3T3pzN08wRkJVVWM3U1VGRFN5eGxRVUZsTEVOQlFVTXNTVUZCWjBJc1JVRkJSU3hoUVVGeFFpeEZRVUZCTzFGQlF6ZEVMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dEJRVU42UkN4UlFVRkJMRWxCUVVrc1UwRkJVeXhGUVVGRk8xbEJRMklzVFVGQlRTeFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMWxCUTNSRUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0QlFVVjRSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVVUxUWl4WlFVRkJMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVVM1FpeFBRVUZQTzBGQlExSXNVMEZCUVR0TFFVTkdPMEZCUlVRN096czdRVUZKUnp0QlFVTkxMRWxCUVVFc1owSkJRV2RDTEVOQlFVTXNTVUZCWjBJc1JVRkJRVHM3T3pzN08wRkJUM1pETEZGQlFVRXNUVUZCVFN4bFFVRmxMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF6dEJRVU4wUXl4UlFVRkJMRWxCUVVrc1JVRkJSU3hsUVVGbExGbEJRVmtzWVVGQllTeERRVUZETEVWQlFVVTdXVUZETDBNc1QwRkJUenRCUVVOU0xGTkJRVUU3TzFGQlIwUXNTVUZCU1N4bFFVRmxMRU5CUVVNc1owSkJRV2RDTEV0QlFVc3NUVUZCVFN4SlFVRkpMR1ZCUVdVc1EwRkJReXhyUWtGQmEwSXNTVUZCU1N4SFFVRkhMRVZCUVVVN1dVRkROVVlzVDBGQlR6dEJRVU5TTEZOQlFVRTdPMUZCUjBRc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRPenRCUVVkc1F5eFJRVUZCTEUxQlFVMHNaVUZCWlN4SFFVRkhMR1ZCUVdVc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dEJRVU5vUkN4UlFVRkJMR1ZCUVdVc1EwRkJReXhKUVVGSkxFbEJRVWtzV1VGQldTeERRVUZETzBGQlEzSkRMRkZCUVVFc1pVRkJaU3hEUVVGRExGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZEYWtNc1VVRkJRU3hsUVVGbExFTkJRVU1zU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNN1FVRkRkRU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF6czdRVUZIY0VNc1VVRkJRU3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUXk5Q0xFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1VVRkJVU3hEUVVGRExFdEJRVXNzUjBGQlJ5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1IwRkJSeXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRM3BITEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxHbENRVUZwUWl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRek5ETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxHbENRVUZwUWl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wdEJRelZETzBGQlJVOHNTVUZCUVN4cFFrRkJhVUlzUTBGQlF5eEpRVUZuUWl4RlFVRkJPMEZCUTNoRExGRkJRVUVzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETzBGQlF6RkRMRkZCUVVFc1RVRkJUU3hYUVVGWExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFXdENMRU5CUVVNN1FVRkZPVU1zVVVGQlFTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNSVUZCUlR0QlFVTjBReXhaUVVGQkxHMUNRVUZ0UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlN5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGRFVXNVMEZCUVR0QlFVRk5MR0ZCUVVFN1FVRkRUQ3haUVVGQkxGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF6dEJRVU4wUXl4VFFVRkJPMEZCUlVRc1VVRkJRU3hMUVVGTExFMUJRVTBzVVVGQlVTeEpRVUZKTEZkQlFWY3NSVUZCUlR0WlFVTnNReXhKUVVGSkxGRkJRVkVzV1VGQldTeGhRVUZoTEVWQlFVVTdRVUZEY2tNc1owSkJRVUVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0QlFVTjBReXhoUVVGQk8wRkJRMFlzVTBGQlFUdExRVU5HTzBGQlJVOHNTVUZCUVN4cFFrRkJhVUlzUTBGQlF5eFRRVUV5UXl4RlFVRkJPenM3TzBGQlIyNUZMRkZCUVVFc1RVRkJUU3hoUVVGaExFZEJRVWNzVTBGQlV5eERRVUZETEhGQ1FVRnhRaXhEUVVGRE8xRkJRM1JFTEU5QlFVOHNRMEZCUXl4aFFVRmhMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eE5RVUZCTEZOQlFWTXNRMEZCUXl4MVFrRkJkVUlzVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeERRVUZETEVOQlFVTXNRMEZCUXp0TFFVTTFSVHM3UVVFdlVtRXNlVUpCUVdNc1EwRkJRU3hqUVVGQkxFZEJRVWNzYzBKQlFYTkNPenM3T3lKOVxuIiwiLyohXG4gKiBAcGl4aXYvdGhyZWUtdnJtLW1hdGVyaWFscy1oZHItZW1pc3NpdmUtbXVsdGlwbGllciB2Mi4wLjZcbiAqIFN1cHBvcnQgVlJNQ19oZHJfZW1pc3NpdmVNdWx0aXBsaWVyIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtaGRyLWVtaXNzaXZlLW11bHRpcGxpZXIgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5mdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XG5cbmNsYXNzIFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUU7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlcikge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB9XG4gICAgZXh0ZW5kTWF0ZXJpYWxQYXJhbXMobWF0ZXJpYWxJbmRleCwgbWF0ZXJpYWxQYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMuX2dldEhEUkVtaXNzaXZlTXVsdGlwbGllckV4dGVuc2lvbihtYXRlcmlhbEluZGV4KTtcbiAgICAgICAgICAgIGlmIChleHRlbnNpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgZXh0ZW5zaW9uIGlzIGFyY2hpdmVkLiBFbWl0IHdhcm5pbmdcbiAgICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL3ZybS1zcGVjaWZpY2F0aW9uL3B1bGwvMzc1XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbjogYFZSTUNfbWF0ZXJpYWxzX2hkcl9lbWlzc2l2ZU11bHRpcGxpZXJgIGlzIGFyY2hpdmVkLiBVc2UgYEtIUl9tYXRlcmlhbHNfZW1pc3NpdmVfc3RyZW5ndGhgIGluc3RlYWQuJyk7XG4gICAgICAgICAgICBjb25zdCBlbWlzc2l2ZU11bHRpcGxpZXIgPSBleHRlbnNpb24uZW1pc3NpdmVNdWx0aXBsaWVyO1xuICAgICAgICAgICAgbWF0ZXJpYWxQYXJhbXMuZW1pc3NpdmVJbnRlbnNpdHkgPSBlbWlzc2l2ZU11bHRpcGxpZXI7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfZ2V0SERSRW1pc3NpdmVNdWx0aXBsaWVyRXh0ZW5zaW9uKG1hdGVyaWFsSW5kZXgpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgcGFyc2VyID0gdGhpcy5wYXJzZXI7XG4gICAgICAgIGNvbnN0IGpzb24gPSBwYXJzZXIuanNvbjtcbiAgICAgICAgY29uc3QgbWF0ZXJpYWxEZWYgPSAoX2EgPSBqc29uLm1hdGVyaWFscykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW21hdGVyaWFsSW5kZXhdO1xuICAgICAgICBpZiAobWF0ZXJpYWxEZWYgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW46IEF0dGVtcHQgdG8gdXNlIG1hdGVyaWFsc1ske21hdGVyaWFsSW5kZXh9XSBvZiBnbFRGIGJ1dCB0aGUgbWF0ZXJpYWwgZG9lc24ndCBleGlzdGApO1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBtYXRlcmlhbERlZi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FXTtcbiAgICAgICAgaWYgKGV4dGVuc2lvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBleHRlbnNpb247XG4gICAgfVxufVxuVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FID0gJ1ZSTUNfbWF0ZXJpYWxzX2hkcl9lbWlzc2l2ZU11bHRpcGxpZXInO1xuXG5leHBvcnQgeyBWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW4gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFcxaGRHVnlhV0ZzY3kxb1pISXRaVzFwYzNOcGRtVXRiWFZzZEdsd2JHbGxjaTV0YjJSMWJHVXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk1pTENJdUxpOXpjbU12VmxKTlRXRjBaWEpwWVd4elNFUlNSVzFwYzNOcGRtVk5kV3gwYVhCc2FXVnlURzloWkdWeVVHeDFaMmx1TG5SeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpcGNjbHh1UTI5d2VYSnBaMmgwSUNoaktTQk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR1WEhKY2JseHlYRzVRWlhKdGFYTnphVzl1SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQmhibVF2YjNJZ1pHbHpkSEpwWW5WMFpTQjBhR2x6SUhOdlpuUjNZWEpsSUdadmNpQmhibmxjY2x4dWNIVnljRzl6WlNCM2FYUm9JRzl5SUhkcGRHaHZkWFFnWm1WbElHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xseHlYRzVjY2x4dVZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWlCQlRrUWdWRWhGSUVGVlZFaFBVaUJFU1ZORFRFRkpUVk1nUVV4TUlGZEJVbEpCVGxSSlJWTWdWMGxVU0Z4eVhHNVNSVWRCVWtRZ1ZFOGdWRWhKVXlCVFQwWlVWMEZTUlNCSlRrTk1WVVJKVGtjZ1FVeE1JRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeUJQUmlCTlJWSkRTRUZPVkVGQ1NVeEpWRmxjY2x4dVFVNUVJRVpKVkU1RlUxTXVJRWxPSUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCQlZWUklUMUlnUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnVTFCRlEwbEJUQ3dnUkVsU1JVTlVMRnh5WEc1SlRrUkpVa1ZEVkN3Z1QxSWdRMDlPVTBWUlZVVk9WRWxCVENCRVFVMUJSMFZUSUU5U0lFRk9XU0JFUVUxQlIwVlRJRmRJUVZSVFQwVldSVklnVWtWVFZVeFVTVTVISUVaU1QwMWNjbHh1VEU5VFV5QlBSaUJWVTBVc0lFUkJWRUVnVDFJZ1VGSlBSa2xVVXl3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUU1RlIweEpSMFZPUTBVZ1QxSmNjbHh1VDFSSVJWSWdWRTlTVkVsUFZWTWdRVU5VU1U5T0xDQkJVa2xUU1U1SElFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZWVFJTQlBVbHh5WEc1UVJWSkdUMUpOUVU1RFJTQlBSaUJVU0VsVElGTlBSbFJYUVZKRkxseHlYRzRxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpQXFMMXh5WEc0dktpQm5iRzlpWVd3Z1VtVm1iR1ZqZEN3Z1VISnZiV2x6WlNBcUwxeHlYRzVjY2x4dWRtRnlJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQm1kVzVqZEdsdmJpaGtMQ0JpS1NCN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpJRDBnVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUlIeDhYSEpjYmlBZ0lDQWdJQ0FnS0hzZ1gxOXdjbTkwYjE5Zk9pQmJYU0I5SUdsdWMzUmhibU5sYjJZZ1FYSnlZWGtnSmlZZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1pDNWZYM0J5YjNSdlgxOGdQU0JpT3lCOUtTQjhmRnh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdadmNpQW9kbUZ5SUhBZ2FXNGdZaWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaGlMQ0J3S1NrZ1pGdHdYU0E5SUdKYmNGMDdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRkR1Z1WkhNb1pDd2dZaWtnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCaUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdZaUFoUFQwZ2JuVnNiQ2xjY2x4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMnhoYzNNZ1pYaDBaVzVrY3lCMllXeDFaU0JjSWlBcklGTjBjbWx1WnloaUtTQXJJRndpSUdseklHNXZkQ0JoSUdOdmJuTjBjblZqZEc5eUlHOXlJRzUxYkd4Y0lpazdYSEpjYmlBZ0lDQmxlSFJsYm1SVGRHRjBhV056S0dRc0lHSXBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdYMThvS1NCN0lIUm9hWE11WTI5dWMzUnlkV04wYjNJZ1BTQmtPeUI5WEhKY2JpQWdJQ0JrTG5CeWIzUnZkSGx3WlNBOUlHSWdQVDA5SUc1MWJHd2dQeUJQWW1wbFkzUXVZM0psWVhSbEtHSXBJRG9nS0Y5ZkxuQnliM1J2ZEhsd1pTQTlJR0l1Y0hKdmRHOTBlWEJsTENCdVpYY2dYMThvS1NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQjJZWElnWDE5aGMzTnBaMjRnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lGOWZZWE56YVdkdUlEMGdUMkpxWldOMExtRnpjMmxuYmlCOGZDQm1kVzVqZEdsdmJpQmZYMkZ6YzJsbmJpaDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2N5d2dhU0E5SURFc0lHNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PeUJwSUR3Z2Jqc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhNZ1BTQmhjbWQxYldWdWRITmJhVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU2tnZEZ0d1hTQTlJSE5iY0YwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJRjlmWVhOemFXZHVMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0psYzNRb2N5d2daU2tnZTF4eVhHNGdJQ0FnZG1GeUlIUWdQU0I3ZlR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdjeWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHpMQ0J3S1NBbUppQmxMbWx1WkdWNFQyWW9jQ2tnUENBd0tWeHlYRzRnSUNBZ0lDQWdJSFJiY0YwZ1BTQnpXM0JkTzF4eVhHNGdJQ0FnYVdZZ0tITWdJVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0J3SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5aHpLVHNnYVNBOElIQXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVXVhVzVrWlhoUFppaHdXMmxkS1NBOElEQWdKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzV3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlM1allXeHNLSE1zSUhCYmFWMHBLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEZ0d1cybGRYU0E5SUhOYmNGdHBYVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1NCN1hISmNiaUFnSUNCMllYSWdZeUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dzSUhJZ1BTQmpJRHdnTXlBL0lIUmhjbWRsZENBNklHUmxjMk1nUFQwOUlHNTFiR3dnUHlCa1pYTmpJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaDBZWEpuWlhRc0lHdGxlU2tnT2lCa1pYTmpMQ0JrTzF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbVJsWTI5eVlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSElnUFNCU1pXWnNaV04wTG1SbFkyOXlZWFJsS0dSbFkyOXlZWFJ2Y25Nc0lIUmhjbWRsZEN3Z2EyVjVMQ0JrWlhOaktUdGNjbHh1SUNBZ0lHVnNjMlVnWm05eUlDaDJZWElnYVNBOUlHUmxZMjl5WVhSdmNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElHbG1JQ2hrSUQwZ1pHVmpiM0poZEc5eWMxdHBYU2tnY2lBOUlDaGpJRHdnTXlBL0lHUW9jaWtnT2lCaklENGdNeUEvSUdRb2RHRnlaMlYwTENCclpYa3NJSElwSURvZ1pDaDBZWEpuWlhRc0lHdGxlU2twSUh4OElISTdYSEpjYmlBZ0lDQnlaWFIxY200Z1l5QStJRE1nSmlZZ2NpQW1KaUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJSElwTENCeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl3WVhKaGJTaHdZWEpoYlVsdVpHVjRMQ0JrWldOdmNtRjBiM0lwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZEdGeVoyVjBMQ0JyWlhrcElIc2daR1ZqYjNKaGRHOXlLSFJoY21kbGRDd2dhMlY1TENCd1lYSmhiVWx1WkdWNEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5bGMwUmxZMjl5WVhSbEtHTjBiM0lzSUdSbGMyTnlhWEIwYjNKSmJpd2daR1ZqYjNKaGRHOXljeXdnWTI5dWRHVjRkRWx1TENCcGJtbDBhV0ZzYVhwbGNuTXNJR1Y0ZEhKaFNXNXBkR2xoYkdsNlpYSnpLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWTJObGNIUW9aaWtnZXlCcFppQW9aaUFoUFQwZ2RtOXBaQ0F3SUNZbUlIUjVjR1Z2WmlCbUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pHZFc1amRHbHZiaUJsZUhCbFkzUmxaRndpS1RzZ2NtVjBkWEp1SUdZN0lIMWNjbHh1SUNBZ0lIWmhjaUJyYVc1a0lEMGdZMjl1ZEdWNGRFbHVMbXRwYm1Rc0lHdGxlU0E5SUd0cGJtUWdQVDA5SUZ3aVoyVjBkR1Z5WENJZ1B5QmNJbWRsZEZ3aUlEb2dhMmx1WkNBOVBUMGdYQ0p6WlhSMFpYSmNJaUEvSUZ3aWMyVjBYQ0lnT2lCY0luWmhiSFZsWENJN1hISmNiaUFnSUNCMllYSWdkR0Z5WjJWMElEMGdJV1JsYzJOeWFYQjBiM0pKYmlBbUppQmpkRzl5SUQ4Z1kyOXVkR1Y0ZEVsdVcxd2ljM1JoZEdsalhDSmRJRDhnWTNSdmNpQTZJR04wYjNJdWNISnZkRzkwZVhCbElEb2diblZzYkR0Y2NseHVJQ0FnSUhaaGNpQmtaWE5qY21sd2RHOXlJRDBnWkdWelkzSnBjSFJ2Y2tsdUlIeDhJQ2gwWVhKblpYUWdQeUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtIUmhjbWRsZEN3Z1kyOXVkR1Y0ZEVsdUxtNWhiV1VwSURvZ2UzMHBPMXh5WEc0Z0lDQWdkbUZ5SUY4c0lHUnZibVVnUFNCbVlXeHpaVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCa1pXTnZjbUYwYjNKekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJuUmxlSFFnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHTnZiblJsZUhSSmJpa2dZMjl1ZEdWNGRGdHdYU0E5SUhBZ1BUMDlJRndpWVdOalpYTnpYQ0lnUHlCN2ZTQTZJR052Ym5SbGVIUkpibHR3WFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUdOdmJuUmxlSFJKYmk1aFkyTmxjM01wSUdOdmJuUmxlSFF1WVdOalpYTnpXM0JkSUQwZ1kyOXVkR1Y0ZEVsdUxtRmpZMlZ6YzF0d1hUdGNjbHh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbUZrWkVsdWFYUnBZV3hwZW1WeUlEMGdablZ1WTNScGIyNGdLR1lwSUhzZ2FXWWdLR1J2Ym1VcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdZV1JrSUdsdWFYUnBZV3hwZW1WeWN5QmhablJsY2lCa1pXTnZjbUYwYVc5dUlHaGhjeUJqYjIxd2JHVjBaV1JjSWlrN0lHVjRkSEpoU1c1cGRHbGhiR2w2WlhKekxuQjFjMmdvWVdOalpYQjBLR1lnZkh3Z2JuVnNiQ2twT3lCOU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNBb01Dd2daR1ZqYjNKaGRHOXljMXRwWFNrb2EybHVaQ0E5UFQwZ1hDSmhZMk5sYzNOdmNsd2lJRDhnZXlCblpYUTZJR1JsYzJOeWFYQjBiM0l1WjJWMExDQnpaWFE2SUdSbGMyTnlhWEIwYjNJdWMyVjBJSDBnT2lCa1pYTmpjbWx3ZEc5eVcydGxlVjBzSUdOdmJuUmxlSFFwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1GalkyVnpjMjl5WENJcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnZG05cFpDQXdLU0JqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnY21WemRXeDBJQ0U5UFNCY0ltOWlhbVZqZEZ3aUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVDJKcVpXTjBJR1Y0Y0dWamRHVmtYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdVoyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1blpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWMyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1elpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWFXNXBkQ2twSUdsdWFYUnBZV3hwZW1WeWN5NXdkWE5vS0Y4cE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWm1sbGJHUmNJaWtnYVc1cGRHbGhiR2w2WlhKekxuQjFjMmdvWHlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdaR1Z6WTNKcGNIUnZjbHRyWlhsZElEMGdYenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kR0Z5WjJWMEtTQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JqYjI1MFpYaDBTVzR1Ym1GdFpTd2daR1Z6WTNKcGNIUnZjaWs3WEhKY2JpQWdJQ0JrYjI1bElEMGdkSEoxWlR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0oxYmtsdWFYUnBZV3hwZW1WeWN5aDBhR2x6UVhKbkxDQnBibWwwYVdGc2FYcGxjbk1zSUhaaGJIVmxLU0I3WEhKY2JpQWdJQ0IyWVhJZ2RYTmxWbUZzZFdVZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNanRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYVc1cGRHbGhiR2w2WlhKekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnNkV1VnUFNCMWMyVldZV3gxWlNBL0lHbHVhWFJwWVd4cGVtVnljMXRwWFM1allXeHNLSFJvYVhOQmNtY3NJSFpoYkhWbEtTQTZJR2x1YVhScFlXeHBlbVZ5YzF0cFhTNWpZV3hzS0hSb2FYTkJjbWNwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFZ6WlZaaGJIVmxJRDhnZG1Gc2RXVWdPaUIyYjJsa0lEQTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5d2NtOXdTMlY1S0hncElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZUNBOVBUMGdYQ0p6ZVcxaWIyeGNJaUEvSUhnZ09pQmNJbHdpTG1OdmJtTmhkQ2g0S1R0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM05sZEVaMWJtTjBhVzl1VG1GdFpTaG1MQ0J1WVcxbExDQndjbVZtYVhncElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibUZ0WlNBOVBUMGdYQ0p6ZVcxaWIyeGNJaWtnYm1GdFpTQTlJRzVoYldVdVpHVnpZM0pwY0hScGIyNGdQeUJjSWx0Y0lpNWpiMjVqWVhRb2JtRnRaUzVrWlhOamNtbHdkR2x2Yml3Z1hDSmRYQ0lwSURvZ1hDSmNJanRjY2x4dUlDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWml3Z1hDSnVZVzFsWENJc0lIc2dZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMQ0IyWVd4MVpUb2djSEpsWm1sNElEOGdYQ0pjSWk1amIyNWpZWFFvY0hKbFptbDRMQ0JjSWlCY0lpd2dibUZ0WlNrZ09pQnVZVzFsSUgwcE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYldWMFlXUmhkR0VvYldWMFlXUmhkR0ZMWlhrc0lHMWxkR0ZrWVhSaFZtRnNkV1VwSUh0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1VtVm1iR1ZqZENBOVBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnVW1WbWJHVmpkQzV0WlhSaFpHRjBZU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0J5WlhSMWNtNGdVbVZtYkdWamRDNXRaWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnYldWMFlXUmhkR0ZXWVd4MVpTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBaWElvZEdocGMwRnlaeXdnWDJGeVozVnRaVzUwY3l3Z1VDd2daMlZ1WlhKaGRHOXlLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWkc5d2RDaDJZV3gxWlNrZ2V5QnlaWFIxY200Z2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCUUlEOGdkbUZzZFdVZ09pQnVaWGNnVUNobWRXNWpkR2x2YmlBb2NtVnpiMngyWlNrZ2V5QnlaWE52YkhabEtIWmhiSFZsS1RzZ2ZTazdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQnVaWGNnS0ZBZ2ZId2dLRkFnUFNCUWNtOXRhWE5sS1Nrb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHeGxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2k1dVpYaDBLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1JsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNsdGNJblJvY205M1hDSmRLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCemRHVndLSEpsYzNWc2RDa2dleUJ5WlhOMWJIUXVaRzl1WlNBL0lISmxjMjlzZG1Vb2NtVnpkV3gwTG5aaGJIVmxLU0E2SUdGa2IzQjBLSEpsYzNWc2RDNTJZV3gxWlNrdWRHaGxiaWhtZFd4bWFXeHNaV1FzSUhKbGFtVmpkR1ZrS1RzZ2ZWeHlYRzRnSUNBZ0lDQWdJSE4wWlhBb0tHZGxibVZ5WVhSdmNpQTlJR2RsYm1WeVlYUnZjaTVoY0hCc2VTaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpJSHg4SUZ0ZEtTa3VibVY0ZENncEtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5blpXNWxjbUYwYjNJb2RHaHBjMEZ5Wnl3Z1ltOWtlU2tnZTF4eVhHNGdJQ0FnZG1GeUlGOGdQU0I3SUd4aFltVnNPaUF3TENCelpXNTBPaUJtZFc1amRHbHZiaWdwSUhzZ2FXWWdLSFJiTUYwZ0ppQXhLU0IwYUhKdmR5QjBXekZkT3lCeVpYUjFjbTRnZEZzeFhUc2dmU3dnZEhKNWN6b2dXMTBzSUc5d2N6b2dXMTBnZlN3Z1ppd2dlU3dnZEN3Z1p6dGNjbHh1SUNBZ0lISmxkSFZ5YmlCbklEMGdleUJ1WlhoME9pQjJaWEppS0RBcExDQmNJblJvY205M1hDSTZJSFpsY21Jb01Ta3NJRndpY21WMGRYSnVYQ0k2SUhabGNtSW9NaWtnZlN3Z2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUNoblcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHBMQ0JuTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2MzUmxjQ2hiYml3Z2RsMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLRzl3S1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pIWlc1bGNtRjBiM0lnYVhNZ1lXeHlaV0ZrZVNCbGVHVmpkWFJwYm1jdVhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2huSUNZbUlDaG5JRDBnTUN3Z2IzQmJNRjBnSmlZZ0tGOGdQU0F3S1Nrc0lGOHBJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG1JRDBnTVN3Z2VTQW1KaUFvZENBOUlHOXdXekJkSUNZZ01pQS9JSGxiWENKeVpYUjFjbTVjSWwwZ09pQnZjRnN3WFNBL0lIbGJYQ0owYUhKdmQxd2lYU0I4ZkNBb0tIUWdQU0I1VzF3aWNtVjBkWEp1WENKZEtTQW1KaUIwTG1OaGJHd29lU2tzSURBcElEb2dlUzV1WlhoMEtTQW1KaUFoS0hRZ1BTQjBMbU5oYkd3b2VTd2diM0JiTVYwcEtTNWtiMjVsS1NCeVpYUjFjbTRnZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIa2dQU0F3TENCMEtTQnZjQ0E5SUZ0dmNGc3dYU0FtSURJc0lIUXVkbUZzZFdWZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCemQybDBZMmdnS0c5d1d6QmRLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2SUdOaGMyVWdNVG9nZENBOUlHOXdPeUJpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ05Eb2dYeTVzWVdKbGJDc3JPeUJ5WlhSMWNtNGdleUIyWVd4MVpUb2diM0JiTVYwc0lHUnZibVU2SUdaaGJITmxJSDA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRFU2SUY4dWJHRmlaV3dyS3pzZ2VTQTlJRzl3V3pGZE95QnZjQ0E5SUZzd1hUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEYzZJRzl3SUQwZ1h5NXZjSE11Y0c5d0tDazdJRjh1ZEhKNWN5NXdiM0FvS1RzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hLSFFnUFNCZkxuUnllWE1zSUhRZ1BTQjBMbXhsYm1kMGFDQStJREFnSmlZZ2RGdDBMbXhsYm1kMGFDQXRJREZkS1NBbUppQW9iM0JiTUYwZ1BUMDlJRFlnZkh3Z2IzQmJNRjBnUFQwOUlESXBLU0I3SUY4Z1BTQXdPeUJqYjI1MGFXNTFaVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmNGc3dYU0E5UFQwZ015QW1KaUFvSVhRZ2ZId2dLRzl3V3pGZElENGdkRnN3WFNBbUppQnZjRnN4WFNBOElIUmJNMTBwS1NrZ2V5QmZMbXhoWW1Wc0lEMGdiM0JiTVYwN0lHSnlaV0ZyT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUQwOVBTQTJJQ1ltSUY4dWJHRmlaV3dnUENCMFd6RmRLU0I3SUY4dWJHRmlaV3dnUFNCMFd6RmRPeUIwSUQwZ2IzQTdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFFnSmlZZ1h5NXNZV0psYkNBOElIUmJNbDBwSUhzZ1h5NXNZV0psYkNBOUlIUmJNbDA3SUY4dWIzQnpMbkIxYzJnb2IzQXBPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwV3pKZEtTQmZMbTl3Y3k1d2IzQW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZMblJ5ZVhNdWNHOXdLQ2s3SUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRzl3SUQwZ1ltOWtlUzVqWVd4c0tIUm9hWE5CY21jc0lGOHBPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIc2diM0FnUFNCYk5pd2daVjA3SUhrZ1BTQXdPeUI5SUdacGJtRnNiSGtnZXlCbUlEMGdkQ0E5SURBN0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnSmlBMUtTQjBhSEp2ZHlCdmNGc3hYVHNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pCZElEOGdiM0JiTVYwZ09pQjJiMmxrSURBc0lHUnZibVU2SUhSeWRXVWdmVHRjY2x4dUlDQWdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUhaaGNpQmZYMk55WldGMFpVSnBibVJwYm1jZ1BTQlBZbXBsWTNRdVkzSmxZWFJsSUQ4Z0tHWjFibU4wYVc5dUtHOHNJRzBzSUdzc0lHc3lLU0I3WEhKY2JpQWdJQ0JwWmlBb2F6SWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2F6SWdQU0JyTzF4eVhHNGdJQ0FnZG1GeUlHUmxjMk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLRzBzSUdzcE8xeHlYRzRnSUNBZ2FXWWdLQ0ZrWlhOaklIeDhJQ2hjSW1kbGRGd2lJR2x1SUdSbGMyTWdQeUFoYlM1ZlgyVnpUVzlrZFd4bElEb2daR1Z6WXk1M2NtbDBZV0pzWlNCOGZDQmtaWE5qTG1OdmJtWnBaM1Z5WVdKc1pTa3BJSHRjY2x4dUlDQWdJQ0FnSUNCa1pYTmpJRDBnZXlCbGJuVnRaWEpoWW14bE9pQjBjblZsTENCblpYUTZJR1oxYm1OMGFXOXVLQ2tnZXlCeVpYUjFjbTRnYlZ0clhUc2dmU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOHNJR3N5TENCa1pYTmpLVHRjY2x4dWZTa2dPaUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQnZXMnN5WFNBOUlHMWJhMTA3WEhKY2JuMHBPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGh3YjNKMFUzUmhjaWh0TENCdktTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUcwcElHbG1JQ2h3SUNFOVBTQmNJbVJsWm1GMWJIUmNJaUFtSmlBaFQySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHOHNJSEFwS1NCZlgyTnlaV0YwWlVKcGJtUnBibWNvYnl3Z2JTd2djQ2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzWmhiSFZsY3lodktTQjdYSEpjYmlBZ0lDQjJZWElnY3lBOUlIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCVGVXMWliMnd1YVhSbGNtRjBiM0lzSUcwZ1BTQnpJQ1ltSUc5YmMxMHNJR2tnUFNBd08xeHlYRzRnSUNBZ2FXWWdLRzBwSUhKbGRIVnliaUJ0TG1OaGJHd29ieWs3WEhKY2JpQWdJQ0JwWmlBb2J5QW1KaUIwZVhCbGIyWWdieTVzWlc1bmRHZ2dQVDA5SUZ3aWJuVnRZbVZ5WENJcElISmxkSFZ5YmlCN1hISmNiaUFnSUNBZ0lDQWdibVY0ZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYnlBbUppQnBJRDQ5SUc4dWJHVnVaM1JvS1NCdklEMGdkbTlwWkNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nYnlBbUppQnZXMmtySzEwc0lHUnZibVU2SUNGdklIMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb2N5QS9JRndpVDJKcVpXTjBJR2x6SUc1dmRDQnBkR1Z5WVdKc1pTNWNJaUE2SUZ3aVUzbHRZbTlzTG1sMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjbVZoWkNodkxDQnVLU0I3WEhKY2JpQWdJQ0IyWVhJZ2JTQTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMDdYSEpjYmlBZ0lDQnBaaUFvSVcwcElISmxkSFZ5YmlCdk8xeHlYRzRnSUNBZ2RtRnlJR2tnUFNCdExtTmhiR3dvYnlrc0lISXNJR0Z5SUQwZ1cxMHNJR1U3WEhKY2JpQWdJQ0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDZ29iaUE5UFQwZ2RtOXBaQ0F3SUh4OElHNHRMU0ErSURBcElDWW1JQ0VvY2lBOUlHa3VibVY0ZENncEtTNWtiMjVsS1NCaGNpNXdkWE5vS0hJdWRtRnNkV1VwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnWTJGMFkyZ2dLR1Z5Y205eUtTQjdJR1VnUFNCN0lHVnljbTl5T2lCbGNuSnZjaUI5T3lCOVhISmNiaUFnSUNCbWFXNWhiR3g1SUh0Y2NseHVJQ0FnSUNBZ0lDQjBjbmtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NpQW1KaUFoY2k1a2IyNWxJQ1ltSUNodElEMGdhVnRjSW5KbGRIVnlibHdpWFNrcElHMHVZMkZzYkNocEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1ptbHVZV3hzZVNCN0lHbG1JQ2hsS1NCMGFISnZkeUJsTG1WeWNtOXlPeUI5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUW9LU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJoY2lBOUlGdGRMQ0JwSUQwZ01Ec2dhU0E4SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0JoY2lBOUlHRnlMbU52Ym1OaGRDaGZYM0psWVdRb1lYSm5kVzFsYm5SelcybGRLU2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUkJjbkpoZVhNb0tTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnpJRDBnTUN3Z2FTQTlJREFzSUdsc0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU0E4SUdsc095QnBLeXNwSUhNZ0t6MGdZWEpuZFcxbGJuUnpXMmxkTG14bGJtZDBhRHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSElnUFNCQmNuSmhlU2h6S1N3Z2F5QTlJREFzSUdrZ1BTQXdPeUJwSUR3Z2FXdzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQmhJRDBnWVhKbmRXMWxiblJ6VzJsZExDQnFJRDBnTUN3Z2Ftd2dQU0JoTG14bGJtZDBhRHNnYWlBOElHcHNPeUJxS3lzc0lHc3JLeWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbHRyWFNBOUlHRmJhbDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMzQnlaV0ZrUVhKeVlYa29kRzhzSUdaeWIyMHNJSEJoWTJzcElIdGNjbHh1SUNBZ0lHbG1JQ2h3WVdOcklIeDhJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQVDA5SURJcElHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdabkp2YlM1c1pXNW5kR2dzSUdGeU95QnBJRHdnYkRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR0Z5SUh4OElDRW9hU0JwYmlCbWNtOXRLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXRnlLU0JoY2lBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWnliMjBzSURBc0lHa3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjbHRwWFNBOUlHWnliMjFiYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIUnZMbU52Ym1OaGRDaGhjaUI4ZkNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNobWNtOXRLU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRjNZV2wwS0hZcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpJR2x1YzNSaGJtTmxiMllnWDE5aGQyRnBkQ0EvSUNoMGFHbHpMbllnUFNCMkxDQjBhR2x6S1NBNklHNWxkeUJmWDJGM1lXbDBLSFlwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTBkbGJtVnlZWFJ2Y2loMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SekxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJR2xtSUNnaFUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpQnBjeUJ1YjNRZ1pHVm1hVzVsWkM1Y0lpazdYSEpjYmlBZ0lDQjJZWElnWnlBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1N3Z2FTd2djU0E5SUZ0ZE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsbUlDaG5XMjVkS1NCcFcyNWRJRDBnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVJQ2hoTENCaUtTQjdJSEV1Y0hWemFDaGJiaXdnZGl3Z1lTd2dZbDBwSUQ0Z01TQjhmQ0J5WlhOMWJXVW9iaXdnZGlrN0lIMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCeVpYTjFiV1VvYml3Z2Rpa2dleUIwY25rZ2V5QnpkR1Z3S0dkYmJsMG9kaWtwT3lCOUlHTmhkR05vSUNobEtTQjdJSE5sZEhSc1pTaHhXekJkV3pOZExDQmxLVHNnZlNCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLSElwSUhzZ2NpNTJZV3gxWlNCcGJuTjBZVzVqWlc5bUlGOWZZWGRoYVhRZ1B5QlFjbTl0YVhObExuSmxjMjlzZG1Vb2NpNTJZV3gxWlM1MktTNTBhR1Z1S0daMWJHWnBiR3dzSUhKbGFtVmpkQ2tnT2lCelpYUjBiR1VvY1Zzd1hWc3lYU3dnY2lrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd3b2RtRnNkV1VwSUhzZ2NtVnpkVzFsS0Z3aWJtVjRkRndpTENCMllXeDFaU2s3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGFtVmpkQ2gyWVd4MVpTa2dleUJ5WlhOMWJXVW9YQ0owYUhKdmQxd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE5sZEhSc1pTaG1MQ0IyS1NCN0lHbG1JQ2htS0hZcExDQnhMbk5vYVdaMEtDa3NJSEV1YkdWdVozUm9LU0J5WlhOMWJXVW9jVnN3WFZzd1hTd2djVnN3WFZzeFhTazdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYTjVibU5FWld4bFoyRjBiM0lvYnlrZ2UxeHlYRzRnSUNBZ2RtRnlJR2tzSUhBN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJc0lHWjFibU4wYVc5dUlDaGxLU0I3SUhSb2NtOTNJR1U3SUgwcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1TENCbUtTQjdJR2xiYmwwZ1BTQnZXMjVkSUQ4Z1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJQ2h3SUQwZ0lYQXBJRDhnZXlCMllXeDFaVG9nWDE5aGQyRnBkQ2h2VzI1ZEtIWXBLU3dnWkc5dVpUb2dabUZzYzJVZ2ZTQTZJR1lnUHlCbUtIWXBJRG9nZGpzZ2ZTQTZJR1k3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1OV1lXeDFaWE1vYnlrZ2UxeHlYRzRnSUNBZ2FXWWdLQ0ZUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbE41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVJQ0FnSUhaaGNpQnRJRDBnYjF0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMHNJR2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiU0EvSUcwdVkyRnNiQ2h2S1NBNklDaHZJRDBnZEhsd1pXOW1JRjlmZG1Gc2RXVnpJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJmWDNaaGJIVmxjeWh2S1NBNklHOWJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BMQ0JwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWlrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0pkSUQwZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3pzZ2ZTd2dhU2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVZ0dVhTQTlJRzliYmwwZ0ppWWdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIc2dkaUE5SUc5YmJsMG9kaWtzSUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJSFl1Wkc5dVpTd2dkaTUyWVd4MVpTazdJSDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpaWFIwYkdVb2NtVnpiMngyWlN3Z2NtVnFaV04wTENCa0xDQjJLU0I3SUZCeWIyMXBjMlV1Y21WemIyeDJaU2gyS1M1MGFHVnVLR1oxYm1OMGFXOXVLSFlwSUhzZ2NtVnpiMngyWlNoN0lIWmhiSFZsT2lCMkxDQmtiMjVsT2lCa0lIMHBPeUI5TENCeVpXcGxZM1FwT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMjFoYTJWVVpXMXdiR0YwWlU5aWFtVmpkQ2hqYjI5clpXUXNJSEpoZHlrZ2UxeHlYRzRnSUNBZ2FXWWdLRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNrZ2V5QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWTI5dmEyVmtMQ0JjSW5KaGQxd2lMQ0I3SUhaaGJIVmxPaUJ5WVhjZ2ZTazdJSDBnWld4elpTQjdJR052YjJ0bFpDNXlZWGNnUFNCeVlYYzdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmpiMjlyWldRN1hISmNibjA3WEhKY2JseHlYRzUyWVhJZ1gxOXpaWFJOYjJSMWJHVkVaV1poZFd4MElEMGdUMkpxWldOMExtTnlaV0YwWlNBL0lDaG1kVzVqZEdsdmJpaHZMQ0IyS1NCN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnWENKa1pXWmhkV3gwWENJc0lIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2dkbUZzZFdVNklIWWdmU2s3WEhKY2JuMHBJRG9nWm5WdVkzUnBiMjRvYnl3Z2Rpa2dlMXh5WEc0Z0lDQWdiMXRjSW1SbFptRjFiSFJjSWwwZ1BTQjJPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmFXMXdiM0owVTNSaGNpaHRiMlFwSUh0Y2NseHVJQ0FnSUdsbUlDaHRiMlFnSmlZZ2JXOWtMbDlmWlhOTmIyUjFiR1VwSUhKbGRIVnliaUJ0YjJRN1hISmNiaUFnSUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEhKY2JpQWdJQ0JwWmlBb2JXOWtJQ0U5SUc1MWJHd3BJR1p2Y2lBb2RtRnlJR3NnYVc0Z2JXOWtLU0JwWmlBb2F5QWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzF2WkN3Z2F5a3BJRjlmWTNKbFlYUmxRbWx1WkdsdVp5aHlaWE4xYkhRc0lHMXZaQ3dnYXlrN1hISmNiaUFnSUNCZlgzTmxkRTF2WkhWc1pVUmxabUYxYkhRb2NtVnpkV3gwTENCdGIyUXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZhVzF3YjNKMFJHVm1ZWFZzZENodGIyUXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQW9iVzlrSUNZbUlHMXZaQzVmWDJWelRXOWtkV3hsS1NBL0lHMXZaQ0E2SUhzZ1pHVm1ZWFZzZERvZ2JXOWtJSDA3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1IyVjBLSEpsWTJWcGRtVnlMQ0J6ZEdGMFpTd2dhMmx1WkN3Z1ppa2dlMXh5WEc0Z0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJQ1ltSUNGbUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVUhKcGRtRjBaU0JoWTJObGMzTnZjaUIzWVhNZ1pHVm1hVzVsWkNCM2FYUm9iM1YwSUdFZ1oyVjBkR1Z5WENJcE8xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkR0YwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z2NtVmpaV2wyWlhJZ0lUMDlJSE4wWVhSbElIeDhJQ0ZtSURvZ0lYTjBZWFJsTG1oaGN5aHlaV05sYVhabGNpa3BJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnY21WaFpDQndjbWwyWVhSbElHMWxiV0psY2lCbWNtOXRJR0Z1SUc5aWFtVmpkQ0IzYUc5elpTQmpiR0Z6Y3lCa2FXUWdibTkwSUdSbFkyeGhjbVVnYVhSY0lpazdYSEpjYmlBZ0lDQnlaWFIxY200Z2EybHVaQ0E5UFQwZ1hDSnRYQ0lnUHlCbUlEb2dhMmx1WkNBOVBUMGdYQ0poWENJZ1B5Qm1MbU5oYkd3b2NtVmpaV2wyWlhJcElEb2daaUEvSUdZdWRtRnNkV1VnT2lCemRHRjBaUzVuWlhRb2NtVmpaV2wyWlhJcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlqYkdGemMxQnlhWFpoZEdWR2FXVnNaRk5sZENoeVpXTmxhWFpsY2l3Z2MzUmhkR1VzSUhaaGJIVmxMQ0JyYVc1a0xDQm1LU0I3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSnRYQ0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHMWxkR2h2WkNCcGN5QnViM1FnZDNKcGRHRmliR1ZjSWlrN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0poWENJZ0ppWWdJV1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHRmpZMlZ6YzI5eUlIZGhjeUJrWldacGJtVmtJSGRwZEdodmRYUWdZU0J6WlhSMFpYSmNJaWs3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhOMFlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ5WldObGFYWmxjaUFoUFQwZ2MzUmhkR1VnZkh3Z0lXWWdPaUFoYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQjNjbWwwWlNCd2NtbDJZWFJsSUcxbGJXSmxjaUIwYnlCaGJpQnZZbXBsWTNRZ2QyaHZjMlVnWTJ4aGMzTWdaR2xrSUc1dmRDQmtaV05zWVhKbElHbDBYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJQ2hyYVc1a0lEMDlQU0JjSW1GY0lpQS9JR1l1WTJGc2JDaHlaV05sYVhabGNpd2dkbUZzZFdVcElEb2daaUEvSUdZdWRtRnNkV1VnUFNCMllXeDFaU0E2SUhOMFlYUmxMbk5sZENoeVpXTmxhWFpsY2l3Z2RtRnNkV1VwS1N3Z2RtRnNkV1U3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1NXNG9jM1JoZEdVc0lISmxZMlZwZG1WeUtTQjdYSEpjYmlBZ0lDQnBaaUFvY21WalpXbDJaWElnUFQwOUlHNTFiR3dnZkh3Z0tIUjVjR1Z2WmlCeVpXTmxhWFpsY2lBaFBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnY21WalpXbDJaWElnSVQwOUlGd2lablZ1WTNScGIyNWNJaWtwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ2RYTmxJQ2RwYmljZ2IzQmxjbUYwYjNJZ2IyNGdibTl1TFc5aWFtVmpkRndpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdjM1JoZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lISmxZMlZwZG1WeUlEMDlQU0J6ZEdGMFpTQTZJSE4wWVhSbExtaGhjeWh5WldObGFYWmxjaWs3WEhKY2JuMWNjbHh1SWl3aWFXMXdiM0owSUhzZ1IweFVSa3h2WVdSbGNsQnNkV2RwYml3Z1IweFVSbEJoY25ObGNpQjlJR1p5YjIwZ0ozUm9jbVZsTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1uTzF4dWFXMXdiM0owSUNvZ1lYTWdTRVJTUlcxcGMzTnBkbVZOZFd4MGFYQnNhV1Z5VTJOb1pXMWhJR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20xakxXMWhkR1Z5YVdGc2N5MW9aSEl0WlcxcGMzTnBkbVV0YlhWc2RHbHdiR2xsY2kweExqQW5PMXh1YVcxd2IzSjBJSHNnUjB4VVJpQmhjeUJIVEZSR1UyTm9aVzFoSUgwZ1puSnZiU0FuUUdkc2RHWXRkSEpoYm5ObWIzSnRMMk52Y21Vbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5UV0YwWlhKcFlXeHpTRVJTUlcxcGMzTnBkbVZOZFd4MGFYQnNhV1Z5VEc5aFpHVnlVR3gxWjJsdUlHbHRjR3hsYldWdWRITWdSMHhVUmt4dllXUmxjbEJzZFdkcGJpQjdYRzRnSUhCMVlteHBZeUJ6ZEdGMGFXTWdSVmhVUlU1VFNVOU9YMDVCVFVVZ1BTQW5WbEpOUTE5dFlYUmxjbWxoYkhOZmFHUnlYMlZ0YVhOemFYWmxUWFZzZEdsd2JHbGxjaWNnWVhNZ1kyOXVjM1E3WEc1Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlIQmhjbk5sY2pvZ1IweFVSbEJoY25ObGNqdGNibHh1SUNCd2RXSnNhV01nWjJWMElHNWhiV1VvS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdWbEpOVFdGMFpYSnBZV3h6U0VSU1JXMXBjM05wZG1WTmRXeDBhWEJzYVdWeVRHOWhaR1Z5VUd4MVoybHVMa1ZZVkVWT1UwbFBUbDlPUVUxRk8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEJoY25ObGNqb2dSMHhVUmxCaGNuTmxjaWtnZTF4dUlDQWdJSFJvYVhNdWNHRnljMlZ5SUQwZ2NHRnljMlZ5TzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdGemVXNWpJR1Y0ZEdWdVpFMWhkR1Z5YVdGc1VHRnlZVzF6S0cxaGRHVnlhV0ZzU1c1a1pYZzZJRzUxYldKbGNpd2diV0YwWlhKcFlXeFFZWEpoYlhNNklIc2dXMnRsZVRvZ2MzUnlhVzVuWFRvZ1lXNTVJSDBwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCbGVIUmxibk5wYjI0Z1BTQjBhR2x6TGw5blpYUklSRkpGYldsemMybDJaVTExYkhScGNHeHBaWEpGZUhSbGJuTnBiMjRvYldGMFpYSnBZV3hKYm1SbGVDazdYRzRnSUNBZ2FXWWdLR1Y0ZEdWdWMybHZiaUE5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWR2hwY3lCbGVIUmxibk5wYjI0Z2FYTWdZWEpqYUdsMlpXUXVJRVZ0YVhRZ2QyRnlibWx1WjF4dUlDQWdJQzh2SUZObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1p5YlMxakwzWnliUzF6Y0dWamFXWnBZMkYwYVc5dUwzQjFiR3d2TXpjMVhHNGdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGeHVJQ0FnSUNBZ0oxWlNUVTFoZEdWeWFXRnNjMGhFVWtWdGFYTnphWFpsVFhWc2RHbHdiR2xsY2t4dllXUmxjbEJzZFdkcGJqb2dZRlpTVFVOZmJXRjBaWEpwWVd4elgyaGtjbDlsYldsemMybDJaVTExYkhScGNHeHBaWEpnSUdseklHRnlZMmhwZG1Wa0xpQlZjMlVnWUV0SVVsOXRZWFJsY21saGJITmZaVzFwYzNOcGRtVmZjM1J5Wlc1bmRHaGdJR2x1YzNSbFlXUXVKeXhjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pXMXBjM05wZG1WTmRXeDBhWEJzYVdWeUlEMGdaWGgwWlc1emFXOXVMbVZ0YVhOemFYWmxUWFZzZEdsd2JHbGxjanRjYmlBZ0lDQnRZWFJsY21saGJGQmhjbUZ0Y3k1bGJXbHpjMmwyWlVsdWRHVnVjMmwwZVNBOUlHVnRhWE56YVhabFRYVnNkR2x3YkdsbGNqdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMmRsZEVoRVVrVnRhWE56YVhabFRYVnNkR2x3YkdsbGNrVjRkR1Z1YzJsdmJpaGNiaUFnSUNCdFlYUmxjbWxoYkVsdVpHVjRPaUJ1ZFcxaVpYSXNYRzRnSUNrNklFaEVVa1Z0YVhOemFYWmxUWFZzZEdsd2JHbGxjbE5qYUdWdFlTNVdVazFEVFdGMFpYSnBZV3h6U0VSU1JXMXBjM05wZG1WTmRXeDBhWEJzYVdWeUlId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaWElnUFNCMGFHbHpMbkJoY25ObGNqdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNSR1ZtSUQwZ2FuTnZiaTV0WVhSbGNtbGhiSE0vTGx0dFlYUmxjbWxoYkVsdVpHVjRYVHRjYmx4dUlDQWdJR2xtSUNodFlYUmxjbWxoYkVSbFppQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUdCV1VrMU5ZWFJsY21saGJITklSRkpGYldsemMybDJaVTExYkhScGNHeHBaWEpNYjJGa1pYSlFiSFZuYVc0NklFRjBkR1Z0Y0hRZ2RHOGdkWE5sSUcxaGRHVnlhV0ZzYzFza2UyMWhkR1Z5YVdGc1NXNWtaWGg5WFNCdlppQm5iRlJHSUdKMWRDQjBhR1VnYldGMFpYSnBZV3dnWkc5bGMyNG5kQ0JsZUdsemRHQXNYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JsZUhSbGJuTnBiMjRnUFNCdFlYUmxjbWxoYkVSbFppNWxlSFJsYm5OcGIyNXpQeTViVmxKTlRXRjBaWEpwWVd4elNFUlNSVzFwYzNOcGRtVk5kV3gwYVhCc2FXVnlURzloWkdWeVVHeDFaMmx1TGtWWVZFVk9VMGxQVGw5T1FVMUZYU0JoYzF4dUlDQWdJQ0FnZkNCSVJGSkZiV2x6YzJsMlpVMTFiSFJwY0d4cFpYSlRZMmhsYldFdVZsSk5RMDFoZEdWeWFXRnNjMGhFVWtWdGFYTnphWFpsVFhWc2RHbHdiR2xsY2x4dUlDQWdJQ0FnZkNCMWJtUmxabWx1WldRN1hHNGdJQ0FnYVdZZ0tHVjRkR1Z1YzJsdmJpQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJuTnBiMjQ3WEc0Z0lIMWNibjFjYmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenRCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZ2UjBFN1FVRkRUeXhUUVVGVExGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hUUVVGVExFVkJRVVU3UVVGRE4wUXNTVUZCU1N4VFFVRlRMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeFBRVUZQTEV0QlFVc3NXVUZCV1N4RFFVRkRMRWRCUVVjc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEZWQlFWVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVN1FVRkRhRWdzU1VGQlNTeFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUlVGQlJTeFZRVUZWTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVN1FVRkRMMFFzVVVGQlVTeFRRVUZUTEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTI1SExGRkJRVkVzVTBGQlV5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTNSSExGRkJRVkVzVTBGQlV5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTNSSUxGRkJRVkVzU1VGQlNTeERRVUZETEVOQlFVTXNVMEZCVXl4SFFVRkhMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEZWQlFWVXNTVUZCU1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlF6bEZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRMUE3TzAxRGRFaGhMRFpEUVVFMlF5eERRVUZCTzBGQlMzaEVMRWxCUVVFc1NVRkJWeXhKUVVGSkxFZEJRVUU3VVVGRFlpeFBRVUZQTERaRFFVRTJReXhEUVVGRExHTkJRV01zUTBGQlF6dExRVU55UlR0QlFVVkVMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeE5RVUZyUWl4RlFVRkJPMEZCUTI1RExGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1MwRkRkRUk3U1VGRldTeHZRa0ZCYjBJc1EwRkJReXhoUVVGeFFpeEZRVUZGTEdOQlFYTkRMRVZCUVVFN08xbEJRemRHTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhyUTBGQmEwTXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRaUVVONlJTeEpRVUZKTEZOQlFWTXNTVUZCU1N4SlFVRkpMRVZCUVVVN1owSkJRM0pDTEU5QlFVODdRVUZEVWl4aFFVRkJPenM3UVVGSlJDeFpRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc2IwcEJRVzlLTEVOQlEzSktMRU5CUVVNN1FVRkZSaXhaUVVGQkxFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1UwRkJVeXhEUVVGRExHdENRVUZyUWl4RFFVRkRPMEZCUTNoRUxGbEJRVUVzWTBGQll5eERRVUZETEdsQ1FVRnBRaXhIUVVGSExHdENRVUZyUWl4RFFVRkRPMU5CUTNaRUxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlFVRTdRVUZGVHl4SlFVRkJMR3REUVVGclF5eERRVU40UXl4aFFVRnhRaXhGUVVGQk96dEJRVVZ5UWl4UlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdRVUZETTBJc1VVRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenRSUVVVM1F5eE5RVUZOTEZkQlFWY3NSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRE8xRkJSWEJFTEVsQlFVa3NWMEZCVnl4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOMlFpeFpRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc01rVkJRVEpGTEdGQlFXRXNRMEZCUVN4M1EwRkJRU3hEUVVFd1F5eERRVU51U1N4RFFVRkRPMEZCUTBZc1dVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dEJRVU5zUWl4VFFVRkJPMUZCUlVRc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNWMEZCVnl4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5dzJRMEZCTmtNc1EwRkJReXhqUVVGakxFTkJSVEZHTEVOQlFVTTdVVUZEWkN4SlFVRkpMRk5CUVZNc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGNrSXNXVUZCUVN4UFFVRlBMRk5CUVZNc1EwRkJRenRCUVVOc1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRk5CUVZNc1EwRkJRenRMUVVOc1FqczdRVUZ1UkdFc05rTkJRV01zUTBGQlFTeGpRVUZCTEVkQlFVY3NkVU5CUVdkRU96czdPeUo5XG4iLCIvKiFcbiAqIEBwaXhpdi90aHJlZS12cm0tbWF0ZXJpYWxzLXYwY29tcGF0IHYyLjAuNlxuICogVlJNMC4wIG1hdGVyaWFscyBjb21wYXRpYmlsaXR5IGxheWVyIHBsdWdpbiBmb3IgQHBpeGl2L3RocmVlLXZybVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMC0yMDIzIHBpeGl2IEluYy5cbiAqIEBwaXhpdi90aHJlZS12cm0tbWF0ZXJpYWxzLXYwY29tcGF0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGl4aXYvdGhyZWUtdnJtL2Jsb2IvcmVsZWFzZS9MSUNFTlNFXG4gKi9cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5mdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XG5cbmZ1bmN0aW9uIGdhbW1hRU9URihlKSB7XG4gICAgcmV0dXJuIE1hdGgucG93KGUsIDIuMik7XG59XG5cbmNsYXNzIFZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuICdWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbic7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlcikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLl9yZW5kZXJRdWV1ZU1hcFRyYW5zcGFyZW50ID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLl9yZW5kZXJRdWV1ZU1hcFRyYW5zcGFyZW50WldyaXRlID0gbmV3IE1hcCgpO1xuICAgICAgICAvLyBXT1JLQVJPVU5EOiBBZGQgS0hSX3RleHR1cmVfdHJhbnNmb3JtIHRvIGV4dGVuc2lvbnNVc2VkXG4gICAgICAgIC8vIEl0IGlzIHRvbyBsYXRlIHRvIGFkZCB0aGlzIGluIGJlZm9yZVJvb3RcbiAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgIGpzb24uZXh0ZW5zaW9uc1VzZWQgPSAoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbXTtcbiAgICAgICAgaWYgKGpzb24uZXh0ZW5zaW9uc1VzZWQuaW5kZXhPZignS0hSX3RleHR1cmVfdHJhbnNmb3JtJykgPT09IC0xKSB7XG4gICAgICAgICAgICBqc29uLmV4dGVuc2lvbnNVc2VkLnB1c2goJ0tIUl90ZXh0dXJlX3RyYW5zZm9ybScpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGJlZm9yZVJvb3QoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgVjBWUk1cbiAgICAgICAgICAgIGNvbnN0IHYwVlJNRXh0ZW5zaW9uID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbJ1ZSTSddO1xuICAgICAgICAgICAgY29uc3QgdjBNYXRlcmlhbFByb3BlcnRpZXMgPSB2MFZSTUV4dGVuc2lvbiA9PT0gbnVsbCB8fCB2MFZSTUV4dGVuc2lvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdjBWUk1FeHRlbnNpb24ubWF0ZXJpYWxQcm9wZXJ0aWVzO1xuICAgICAgICAgICAgaWYgKCF2ME1hdGVyaWFsUHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBvcHVsYXRlIHJlbmRlciBxdWV1ZSBtYXBcbiAgICAgICAgICAgIHRoaXMuX3BvcHVsYXRlUmVuZGVyUXVldWVNYXAodjBNYXRlcmlhbFByb3BlcnRpZXMpO1xuICAgICAgICAgICAgLy8gY29udmVydCBWMCBtYXRlcmlhbCBwcm9wZXJ0aWVzIGludG8gVjEgY29tcGF0aWJsZSBmb3JtYXRcbiAgICAgICAgICAgIHYwTWF0ZXJpYWxQcm9wZXJ0aWVzLmZvckVhY2goKG1hdGVyaWFsUHJvcGVydGllcywgbWF0ZXJpYWxJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxEZWYgPSAoX2EgPSBqc29uLm1hdGVyaWFscykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW21hdGVyaWFsSW5kZXhdO1xuICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbERlZiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW46IEF0dGVtcHQgdG8gdXNlIG1hdGVyaWFsc1ske21hdGVyaWFsSW5kZXh9XSBvZiBnbFRGIGJ1dCB0aGUgbWF0ZXJpYWwgZG9lc24ndCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbFByb3BlcnRpZXMuc2hhZGVyID09PSAnVlJNL01Ub29uJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMuX3BhcnNlVjBNVG9vblByb3BlcnRpZXMobWF0ZXJpYWxQcm9wZXJ0aWVzLCBtYXRlcmlhbERlZik7XG4gICAgICAgICAgICAgICAgICAgIGpzb24ubWF0ZXJpYWxzW21hdGVyaWFsSW5kZXhdID0gbWF0ZXJpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKChfYiA9IG1hdGVyaWFsUHJvcGVydGllcy5zaGFkZXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5zdGFydHNXaXRoKCdWUk0vVW5saXQnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMuX3BhcnNlVjBVbmxpdFByb3BlcnRpZXMobWF0ZXJpYWxQcm9wZXJ0aWVzLCBtYXRlcmlhbERlZik7XG4gICAgICAgICAgICAgICAgICAgIGpzb24ubWF0ZXJpYWxzW21hdGVyaWFsSW5kZXhdID0gbWF0ZXJpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGVyaWFsUHJvcGVydGllcy5zaGFkZXIgPT09ICdWUk1fVVNFX0dMVEZTSEFERVInKSA7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW46IFVua25vd24gc2hhZGVyOiAke21hdGVyaWFsUHJvcGVydGllcy5zaGFkZXJ9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfcGFyc2VWME1Ub29uUHJvcGVydGllcyhtYXRlcmlhbFByb3BlcnRpZXMsIHNjaGVtYU1hdGVyaWFsKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qLCBfaywgX2wsIF9tLCBfbywgX3AsIF9xLCBfciwgX3MsIF90LCBfdSwgX3YsIF93LCBfeCwgX3ksIF96LCBfMCwgXzEsIF8yLCBfMywgXzQsIF81LCBfNiwgXzcsIF84LCBfOSwgXzEwLCBfMTEsIF8xMiwgXzEzLCBfMTQsIF8xNSwgXzE2LCBfMTcsIF8xOCwgXzE5O1xuICAgICAgICBjb25zdCBpc1RyYW5zcGFyZW50ID0gKF9iID0gKF9hID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmtleXdvcmRNYXApID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsnX0FMUEhBQkxFTkRfT04nXSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZmFsc2U7XG4gICAgICAgIGNvbnN0IGVuYWJsZWRaV3JpdGUgPSAoKF9jID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jWydfWldyaXRlJ10pID09PSAxO1xuICAgICAgICBjb25zdCB0cmFuc3BhcmVudFdpdGhaV3JpdGUgPSBlbmFibGVkWldyaXRlICYmIGlzVHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnN0IHJlbmRlclF1ZXVlT2Zmc2V0TnVtYmVyID0gdGhpcy5fdjBQYXJzZVJlbmRlclF1ZXVlKG1hdGVyaWFsUHJvcGVydGllcyk7XG4gICAgICAgIGNvbnN0IGlzQ3V0b2ZmID0gKF9lID0gKF9kID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmtleXdvcmRNYXApID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZFsnX0FMUEhBVEVTVF9PTiddKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiBmYWxzZTtcbiAgICAgICAgY29uc3QgYWxwaGFNb2RlID0gaXNUcmFuc3BhcmVudCA/ICdCTEVORCcgOiBpc0N1dG9mZiA/ICdNQVNLJyA6ICdPUEFRVUUnO1xuICAgICAgICBjb25zdCBhbHBoYUN1dG9mZiA9IGlzQ3V0b2ZmID8gKF9mID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX2YgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mWydfQ3V0b2ZmJ10gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGN1bGxNb2RlID0gKF9oID0gKF9nID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX2cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9nWydfQ3VsbE1vZGUnXSkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogMjsgLy8gZW51bSwgeyBPZmYsIEZyb250LCBCYWNrIH1cbiAgICAgICAgY29uc3QgZG91YmxlU2lkZWQgPSBjdWxsTW9kZSA9PT0gMDtcbiAgICAgICAgY29uc3QgdGV4dHVyZVRyYW5zZm9ybUV4dCA9IHRoaXMuX3BvcnRUZXh0dXJlVHJhbnNmb3JtKG1hdGVyaWFsUHJvcGVydGllcyk7XG4gICAgICAgIGNvbnN0IGJhc2VDb2xvckZhY3RvciA9IChfayA9IChfaiA9IG1hdGVyaWFsUHJvcGVydGllcy52ZWN0b3JQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2pbJ19Db2xvciddKSA9PT0gbnVsbCB8fCBfayA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2subWFwKCh2LCBpKSA9PiAoaSA9PT0gMyA/IHYgOiBnYW1tYUVPVEYodikpKTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yVGV4dHVyZUluZGV4ID0gKF9sID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnRleHR1cmVQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2xbJ19NYWluVGV4J107XG4gICAgICAgIGNvbnN0IGJhc2VDb2xvclRleHR1cmUgPSBiYXNlQ29sb3JUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IGJhc2VDb2xvclRleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBPYmplY3QuYXNzaWduKHt9LCB0ZXh0dXJlVHJhbnNmb3JtRXh0KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBub3JtYWxUZXh0dXJlU2NhbGUgPSAoX20gPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX21bJ19CdW1wU2NhbGUnXTtcbiAgICAgICAgY29uc3Qgbm9ybWFsVGV4dHVyZUluZGV4ID0gKF9vID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnRleHR1cmVQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfbyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX29bJ19CdW1wTWFwJ107XG4gICAgICAgIGNvbnN0IG5vcm1hbFRleHR1cmUgPSBub3JtYWxUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IG5vcm1hbFRleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBzY2FsZTogbm9ybWFsVGV4dHVyZVNjYWxlLFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGVtaXNzaXZlRmFjdG9yID0gKF9xID0gKF9wID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnZlY3RvclByb3BlcnRpZXMpID09PSBudWxsIHx8IF9wID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfcFsnX0VtaXNzaW9uQ29sb3InXSkgPT09IG51bGwgfHwgX3EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9xLm1hcChnYW1tYUVPVEYpO1xuICAgICAgICBjb25zdCBlbWlzc2l2ZVRleHR1cmVJbmRleCA9IChfciA9IG1hdGVyaWFsUHJvcGVydGllcy50ZXh0dXJlUHJvcGVydGllcykgPT09IG51bGwgfHwgX3IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9yWydfRW1pc3Npb25NYXAnXTtcbiAgICAgICAgY29uc3QgZW1pc3NpdmVUZXh0dXJlID0gZW1pc3NpdmVUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IGVtaXNzaXZlVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHNoYWRlQ29sb3JGYWN0b3IgPSAoX3QgPSAoX3MgPSBtYXRlcmlhbFByb3BlcnRpZXMudmVjdG9yUHJvcGVydGllcykgPT09IG51bGwgfHwgX3MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9zWydfU2hhZGVDb2xvciddKSA9PT0gbnVsbCB8fCBfdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3QubWFwKGdhbW1hRU9URik7XG4gICAgICAgIGNvbnN0IHNoYWRlTXVsdGlwbHlUZXh0dXJlSW5kZXggPSAoX3UgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF91ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdVsnX1NoYWRlVGV4dHVyZSddO1xuICAgICAgICBjb25zdCBzaGFkZU11bHRpcGx5VGV4dHVyZSA9IHNoYWRlTXVsdGlwbHlUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IHNoYWRlTXVsdGlwbHlUZXh0dXJlSW5kZXgsXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogT2JqZWN0LmFzc2lnbih7fSwgdGV4dHVyZVRyYW5zZm9ybUV4dCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgLy8gLy8gY29udmVydCB2MCBzaGFkZSBzaGlmdCAvIHNoYWRlIHRvb255XG4gICAgICAgIGxldCBzaGFkaW5nU2hpZnRGYWN0b3IgPSAoX3cgPSAoX3YgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfdiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3ZbJ19TaGFkZVNoaWZ0J10pICE9PSBudWxsICYmIF93ICE9PSB2b2lkIDAgPyBfdyA6IDAuMDtcbiAgICAgICAgbGV0IHNoYWRpbmdUb29ueUZhY3RvciA9IChfeSA9IChfeCA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF94ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfeFsnX1NoYWRlVG9vbnknXSkgIT09IG51bGwgJiYgX3kgIT09IHZvaWQgMCA/IF95IDogMC45O1xuICAgICAgICBzaGFkaW5nVG9vbnlGYWN0b3IgPSBUSFJFRS5NYXRoVXRpbHMubGVycChzaGFkaW5nVG9vbnlGYWN0b3IsIDEuMCwgMC41ICsgMC41ICogc2hhZGluZ1NoaWZ0RmFjdG9yKTtcbiAgICAgICAgc2hhZGluZ1NoaWZ0RmFjdG9yID0gLXNoYWRpbmdTaGlmdEZhY3RvciAtICgxLjAgLSBzaGFkaW5nVG9vbnlGYWN0b3IpO1xuICAgICAgICBjb25zdCBnaUludGVuc2l0eUZhY3RvciA9IChfeiA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF96ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfelsnX0luZGlyZWN0TGlnaHRJbnRlbnNpdHknXTtcbiAgICAgICAgY29uc3QgZ2lFcXVhbGl6YXRpb25GYWN0b3IgPSBnaUludGVuc2l0eUZhY3RvciA/IDEuMCAtIGdpSW50ZW5zaXR5RmFjdG9yIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBtYXRjYXBUZXh0dXJlSW5kZXggPSAoXzAgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF8wID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMFsnX1NwaGVyZUFkZCddO1xuICAgICAgICBjb25zdCBtYXRjYXBGYWN0b3IgPSBtYXRjYXBUZXh0dXJlSW5kZXggIT0gbnVsbCA/IFsxLjAsIDEuMCwgMS4wXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgbWF0Y2FwVGV4dHVyZSA9IG1hdGNhcFRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogbWF0Y2FwVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJpbUxpZ2h0aW5nTWl4RmFjdG9yID0gKF8xID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xWydfUmltTGlnaHRpbmdNaXgnXTtcbiAgICAgICAgY29uc3QgcmltTXVsdGlwbHlUZXh0dXJlSW5kZXggPSAoXzIgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF8yID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMlsnX1JpbVRleHR1cmUnXTtcbiAgICAgICAgY29uc3QgcmltTXVsdGlwbHlUZXh0dXJlID0gcmltTXVsdGlwbHlUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IHJpbU11bHRpcGx5VGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRyaWNSaW1Db2xvckZhY3RvciA9IChfNCA9IChfMyA9IG1hdGVyaWFsUHJvcGVydGllcy52ZWN0b3JQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMyA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzNbJ19SaW1Db2xvciddKSA9PT0gbnVsbCB8fCBfNCA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzQubWFwKGdhbW1hRU9URik7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IgPSAoXzUgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfNSA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzVbJ19SaW1GcmVzbmVsUG93ZXInXTtcbiAgICAgICAgY29uc3QgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IgPSAoXzYgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfNiA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzZbJ19SaW1MaWZ0J107XG4gICAgICAgIGNvbnN0IG91dGxpbmVXaWR0aE1vZGUgPSBbJ25vbmUnLCAnd29ybGRDb29yZGluYXRlcycsICdzY3JlZW5Db29yZGluYXRlcyddWyhfOCA9IChfNyA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF83ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfN1snX091dGxpbmVXaWR0aE1vZGUnXSkgIT09IG51bGwgJiYgXzggIT09IHZvaWQgMCA/IF84IDogMF07XG4gICAgICAgIC8vIC8vIHYwIG91dGxpbmVXaWR0aEZhY3RvciBpcyBpbiBjZW50aW1ldGVyXG4gICAgICAgIGxldCBvdXRsaW5lV2lkdGhGYWN0b3IgPSAoXzEwID0gKF85ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF85WydfT3V0bGluZVdpZHRoJ10pICE9PSBudWxsICYmIF8xMCAhPT0gdm9pZCAwID8gXzEwIDogMC4wO1xuICAgICAgICBvdXRsaW5lV2lkdGhGYWN0b3IgPSAwLjAxICogb3V0bGluZVdpZHRoRmFjdG9yO1xuICAgICAgICBjb25zdCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVJbmRleCA9IChfMTEgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF8xMSA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzExWydfT3V0bGluZVdpZHRoVGV4dHVyZSddO1xuICAgICAgICBjb25zdCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUgPSBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlSW5kZXgsXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogT2JqZWN0LmFzc2lnbih7fSwgdGV4dHVyZVRyYW5zZm9ybUV4dCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgb3V0bGluZUNvbG9yRmFjdG9yID0gKF8xMyA9IChfMTIgPSBtYXRlcmlhbFByb3BlcnRpZXMudmVjdG9yUHJvcGVydGllcykgPT09IG51bGwgfHwgXzEyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMTJbJ19PdXRsaW5lQ29sb3InXSkgPT09IG51bGwgfHwgXzEzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMTMubWFwKGdhbW1hRU9URik7XG4gICAgICAgIGNvbnN0IG91dGxpbmVDb2xvck1vZGUgPSAoXzE0ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzE0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMTRbJ19PdXRsaW5lQ29sb3JNb2RlJ107IC8vIGVudW0sIHsgRml4ZWQsIE1peGVkIH1cbiAgICAgICAgY29uc3Qgb3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yID0gb3V0bGluZUNvbG9yTW9kZSA9PT0gMSA/IChfMTUgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xNVsnX091dGxpbmVMaWdodGluZ01peCddIDogMC4wO1xuICAgICAgICBjb25zdCB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlSW5kZXggPSAoXzE2ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnRleHR1cmVQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTYgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xNlsnX1V2QW5pbU1hc2tUZXh0dXJlJ107XG4gICAgICAgIGNvbnN0IHV2QW5pbWF0aW9uTWFza1RleHR1cmUgPSB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IHV2QW5pbWF0aW9uTWFza1RleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBPYmplY3QuYXNzaWduKHt9LCB0ZXh0dXJlVHJhbnNmb3JtRXh0KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB1dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3RvciA9IChfMTcgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xN1snX1V2QW5pbVNjcm9sbFgnXTtcbiAgICAgICAgLy8gdXZBbmltYXRpb25TY3JvbGxZU3BlZWRGYWN0b3Igd2lsbCBiZSBvcHBvc2l0ZSBiZXR3ZWVuIFYwIGFuZCBWMVxuICAgICAgICBsZXQgdXZBbmltYXRpb25TY3JvbGxZU3BlZWRGYWN0b3IgPSAoXzE4ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzE4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMThbJ19VdkFuaW1TY3JvbGxZJ107XG4gICAgICAgIGlmICh1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvciAhPSBudWxsKSB7XG4gICAgICAgICAgICB1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvciA9IC11dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3IgPSAoXzE5ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzE5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMTlbJ19VdkFuaW1Sb3RhdGlvbiddO1xuICAgICAgICBjb25zdCBtdG9vbkV4dGVuc2lvbiA9IHtcbiAgICAgICAgICAgIHNwZWNWZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50V2l0aFpXcml0ZSxcbiAgICAgICAgICAgIHJlbmRlclF1ZXVlT2Zmc2V0TnVtYmVyLFxuICAgICAgICAgICAgc2hhZGVDb2xvckZhY3RvcixcbiAgICAgICAgICAgIHNoYWRlTXVsdGlwbHlUZXh0dXJlLFxuICAgICAgICAgICAgc2hhZGluZ1NoaWZ0RmFjdG9yLFxuICAgICAgICAgICAgc2hhZGluZ1Rvb255RmFjdG9yLFxuICAgICAgICAgICAgZ2lFcXVhbGl6YXRpb25GYWN0b3IsXG4gICAgICAgICAgICBtYXRjYXBGYWN0b3IsXG4gICAgICAgICAgICBtYXRjYXBUZXh0dXJlLFxuICAgICAgICAgICAgcmltTGlnaHRpbmdNaXhGYWN0b3IsXG4gICAgICAgICAgICByaW1NdWx0aXBseVRleHR1cmUsXG4gICAgICAgICAgICBwYXJhbWV0cmljUmltQ29sb3JGYWN0b3IsXG4gICAgICAgICAgICBwYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yLFxuICAgICAgICAgICAgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IsXG4gICAgICAgICAgICBvdXRsaW5lV2lkdGhNb2RlLFxuICAgICAgICAgICAgb3V0bGluZVdpZHRoRmFjdG9yLFxuICAgICAgICAgICAgb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlLFxuICAgICAgICAgICAgb3V0bGluZUNvbG9yRmFjdG9yLFxuICAgICAgICAgICAgb3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yLFxuICAgICAgICAgICAgdXZBbmltYXRpb25NYXNrVGV4dHVyZSxcbiAgICAgICAgICAgIHV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yLFxuICAgICAgICAgICAgdXZBbmltYXRpb25TY3JvbGxZU3BlZWRGYWN0b3IsXG4gICAgICAgICAgICB1dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3IsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNjaGVtYU1hdGVyaWFsKSwgeyBwYnJNZXRhbGxpY1JvdWdobmVzczoge1xuICAgICAgICAgICAgICAgIGJhc2VDb2xvckZhY3RvcixcbiAgICAgICAgICAgICAgICBiYXNlQ29sb3JUZXh0dXJlLFxuICAgICAgICAgICAgfSwgbm9ybWFsVGV4dHVyZSxcbiAgICAgICAgICAgIGVtaXNzaXZlVGV4dHVyZSxcbiAgICAgICAgICAgIGVtaXNzaXZlRmFjdG9yLFxuICAgICAgICAgICAgYWxwaGFNb2RlLFxuICAgICAgICAgICAgYWxwaGFDdXRvZmYsXG4gICAgICAgICAgICBkb3VibGVTaWRlZCwgZXh0ZW5zaW9uczoge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICAgICAgICBWUk1DX21hdGVyaWFsc19tdG9vbjogbXRvb25FeHRlbnNpb24sXG4gICAgICAgICAgICB9IH0pO1xuICAgIH1cbiAgICBfcGFyc2VWMFVubGl0UHJvcGVydGllcyhtYXRlcmlhbFByb3BlcnRpZXMsIHNjaGVtYU1hdGVyaWFsKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgY29uc3QgaXNUcmFuc3BhcmVudFpXcml0ZSA9IG1hdGVyaWFsUHJvcGVydGllcy5zaGFkZXIgPT09ICdWUk0vVW5saXRUcmFuc3BhcmVudFpXcml0ZSc7XG4gICAgICAgIGNvbnN0IGlzVHJhbnNwYXJlbnQgPSBtYXRlcmlhbFByb3BlcnRpZXMuc2hhZGVyID09PSAnVlJNL1VubGl0VHJhbnNwYXJlbnQnIHx8IGlzVHJhbnNwYXJlbnRaV3JpdGU7XG4gICAgICAgIGNvbnN0IHJlbmRlclF1ZXVlT2Zmc2V0TnVtYmVyID0gdGhpcy5fdjBQYXJzZVJlbmRlclF1ZXVlKG1hdGVyaWFsUHJvcGVydGllcyk7XG4gICAgICAgIGNvbnN0IGlzQ3V0b2ZmID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnNoYWRlciA9PT0gJ1ZSTS9VbmxpdEN1dG91dCc7XG4gICAgICAgIGNvbnN0IGFscGhhTW9kZSA9IGlzVHJhbnNwYXJlbnQgPyAnQkxFTkQnIDogaXNDdXRvZmYgPyAnTUFTSycgOiAnT1BBUVVFJztcbiAgICAgICAgY29uc3QgYWxwaGFDdXRvZmYgPSBpc0N1dG9mZiA/IChfYSA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsnX0N1dG9mZiddIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0ZXh0dXJlVHJhbnNmb3JtRXh0ID0gdGhpcy5fcG9ydFRleHR1cmVUcmFuc2Zvcm0obWF0ZXJpYWxQcm9wZXJ0aWVzKTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yRmFjdG9yID0gKF9jID0gKF9iID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnZlY3RvclByb3BlcnRpZXMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnX0NvbG9yJ10pID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5tYXAoZ2FtbWFFT1RGKTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yVGV4dHVyZUluZGV4ID0gKF9kID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnRleHR1cmVQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RbJ19NYWluVGV4J107XG4gICAgICAgIGNvbnN0IGJhc2VDb2xvclRleHR1cmUgPSBiYXNlQ29sb3JUZXh0dXJlSW5kZXggIT0gbnVsbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaW5kZXg6IGJhc2VDb2xvclRleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBPYmplY3QuYXNzaWduKHt9LCB0ZXh0dXJlVHJhbnNmb3JtRXh0KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAvLyB1c2UgbXRvb24gaW5zdGVhZCBvZiB1bmxpdCwgc2luY2UgdGhlcmUgbWlnaHQgYmUgVlJNMC4wIHNwZWNpZmljIGZlYXR1cmVzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgZ2x0ZlxuICAgICAgICBjb25zdCBtdG9vbkV4dGVuc2lvbiA9IHtcbiAgICAgICAgICAgIHNwZWNWZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50V2l0aFpXcml0ZTogaXNUcmFuc3BhcmVudFpXcml0ZSxcbiAgICAgICAgICAgIHJlbmRlclF1ZXVlT2Zmc2V0TnVtYmVyLFxuICAgICAgICAgICAgc2hhZGVDb2xvckZhY3RvcjogYmFzZUNvbG9yRmFjdG9yLFxuICAgICAgICAgICAgc2hhZGVNdWx0aXBseVRleHR1cmU6IGJhc2VDb2xvclRleHR1cmUsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNjaGVtYU1hdGVyaWFsKSwgeyBwYnJNZXRhbGxpY1JvdWdobmVzczoge1xuICAgICAgICAgICAgICAgIGJhc2VDb2xvckZhY3RvcixcbiAgICAgICAgICAgICAgICBiYXNlQ29sb3JUZXh0dXJlLFxuICAgICAgICAgICAgfSwgYWxwaGFNb2RlLFxuICAgICAgICAgICAgYWxwaGFDdXRvZmYsIGV4dGVuc2lvbnM6IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgICAgICAgICAgICAgVlJNQ19tYXRlcmlhbHNfbXRvb246IG10b29uRXh0ZW5zaW9uLFxuICAgICAgICAgICAgfSB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgZ2xURiBgS0hSX3RleHR1cmVfdHJhbnNmb3JtYCBleHRlbnNpb24gZnJvbSB2MCB0ZXh0dXJlIHRyYW5zZm9ybSBpbmZvLlxuICAgICAqL1xuICAgIF9wb3J0VGV4dHVyZVRyYW5zZm9ybShtYXRlcmlhbFByb3BlcnRpZXMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgY29uc3QgdGV4dHVyZVRyYW5zZm9ybSA9IChfYSA9IG1hdGVyaWFsUHJvcGVydGllcy52ZWN0b3JQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbJ19NYWluVGV4J107XG4gICAgICAgIGlmICh0ZXh0dXJlVHJhbnNmb3JtID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvZmZzZXQgPSBbKF9iID0gdGV4dHVyZVRyYW5zZm9ybSA9PT0gbnVsbCB8fCB0ZXh0dXJlVHJhbnNmb3JtID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0ZXh0dXJlVHJhbnNmb3JtWzBdKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLjAsIChfYyA9IHRleHR1cmVUcmFuc2Zvcm0gPT09IG51bGwgfHwgdGV4dHVyZVRyYW5zZm9ybSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGV4dHVyZVRyYW5zZm9ybVsxXSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMC4wXTtcbiAgICAgICAgY29uc3Qgc2NhbGUgPSBbKF9kID0gdGV4dHVyZVRyYW5zZm9ybSA9PT0gbnVsbCB8fCB0ZXh0dXJlVHJhbnNmb3JtID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0ZXh0dXJlVHJhbnNmb3JtWzJdKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAxLjAsIChfZSA9IHRleHR1cmVUcmFuc2Zvcm0gPT09IG51bGwgfHwgdGV4dHVyZVRyYW5zZm9ybSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGV4dHVyZVRyYW5zZm9ybVszXSkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogMS4wXTtcbiAgICAgICAgb2Zmc2V0WzFdID0gMS4wIC0gc2NhbGVbMV0gLSBvZmZzZXRbMV07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgICAgICAgICBLSFJfdGV4dHVyZV90cmFuc2Zvcm06IHsgb2Zmc2V0LCBzY2FsZSB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IHYwIHJlbmRlciBvcmRlciBpbnRvIHYxIHJlbmRlciBvcmRlci5cbiAgICAgKiBUaGlzIHVzZXMgYSBtYXAgZnJvbSB2MCByZW5kZXIgcXVldWUgdG8gdjEgY29tcGxpYW50IHJlbmRlciBxdWV1ZSBvZmZzZXQgd2hpY2ggaXMgZ2VuZXJhdGVkIGluIHtAbGluayBfcG9wdWxhdGVSZW5kZXJRdWV1ZU1hcH0uXG4gICAgICovXG4gICAgX3YwUGFyc2VSZW5kZXJRdWV1ZShtYXRlcmlhbFByb3BlcnRpZXMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGNvbnN0IGlzVHJhbnNwYXJlbnQgPSAoX2IgPSAoX2EgPSBtYXRlcmlhbFByb3BlcnRpZXMua2V5d29yZE1hcCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWydfQUxQSEFCTEVORF9PTiddKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgY29uc3QgZW5hYmxlZFpXcml0ZSA9ICgoX2MgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2NbJ19aV3JpdGUnXSkgPT09IDE7XG4gICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICBpZiAoaXNUcmFuc3BhcmVudCkge1xuICAgICAgICAgICAgY29uc3QgdjBRdWV1ZSA9IG1hdGVyaWFsUHJvcGVydGllcy5yZW5kZXJRdWV1ZTtcbiAgICAgICAgICAgIGlmICh2MFF1ZXVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlZFpXcml0ZSkge1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzLl9yZW5kZXJRdWV1ZU1hcFRyYW5zcGFyZW50WldyaXRlLmdldCh2MFF1ZXVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnQuZ2V0KHYwUXVldWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBtYXAgd2hpY2ggbWFwcyB2MCByZW5kZXIgcXVldWUgdG8gdjEgY29tcGxpYW50IHJlbmRlciBxdWV1ZSBvZmZzZXQuXG4gICAgICogVGhpcyBsaXN0cyB1cCBhbGwgcmVuZGVyIHF1ZXVlcyB0aGUgbW9kZWwgdXNlIGFuZCBjcmVhdGVzIGEgbWFwIHRvIG5ldyByZW5kZXIgcXVldWUgb2Zmc2V0cyBpbiB0aGUgc2FtZSBvcmRlci5cbiAgICAgKi9cbiAgICBfcG9wdWxhdGVSZW5kZXJRdWV1ZU1hcChtYXRlcmlhbFByb3BlcnRpZXNMaXN0KSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIHNldCBvZiB1c2VkIHJlbmRlciBxdWV1ZXMgaW4gVHJhbnNwYXJlbnQgbWF0ZXJpYWxzLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgcmVuZGVyUXVldWVzVHJhbnNwYXJlbnQgPSBuZXcgU2V0KCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIHNldCBvZiB1c2VkIHJlbmRlciBxdWV1ZXMgaW4gVHJhbnNwYXJlbnRaV3JpdGUgbWF0ZXJpYWxzLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgcmVuZGVyUXVldWVzVHJhbnNwYXJlbnRaV3JpdGUgPSBuZXcgU2V0KCk7XG4gICAgICAgIC8vIHBvcHVsYXRlIHRoZSByZW5kZXIgcXVldWUgc2V0XG4gICAgICAgIG1hdGVyaWFsUHJvcGVydGllc0xpc3QuZm9yRWFjaCgobWF0ZXJpYWxQcm9wZXJ0aWVzKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgICAgIGNvbnN0IGlzVHJhbnNwYXJlbnQgPSAoX2IgPSAoX2EgPSBtYXRlcmlhbFByb3BlcnRpZXMua2V5d29yZE1hcCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWydfQUxQSEFCTEVORF9PTiddKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZWRaV3JpdGUgPSAoKF9jID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jWydfWldyaXRlJ10pID09PSAxO1xuICAgICAgICAgICAgaWYgKGlzVHJhbnNwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2MFF1ZXVlID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnJlbmRlclF1ZXVlO1xuICAgICAgICAgICAgICAgIGlmICh2MFF1ZXVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVuYWJsZWRaV3JpdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclF1ZXVlc1RyYW5zcGFyZW50WldyaXRlLmFkZCh2MFF1ZXVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclF1ZXVlc1RyYW5zcGFyZW50LmFkZCh2MFF1ZXVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHNob3cgYSB3YXJuaW5nIGlmIHRoZSBtb2RlbCB1c2VzIHYxIGluY29tcGF0aWJsZSBudW1iZXIgb2YgcmVuZGVyIHF1ZXVlc1xuICAgICAgICBpZiAocmVuZGVyUXVldWVzVHJhbnNwYXJlbnQuc2l6ZSA+IDEwKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luOiBUaGlzIFZSTSB1c2VzICR7cmVuZGVyUXVldWVzVHJhbnNwYXJlbnQuc2l6ZX0gcmVuZGVyIHF1ZXVlcyBmb3IgVHJhbnNwYXJlbnQgbWF0ZXJpYWxzIHdoaWxlIFZSTSAxLjAgb25seSBzdXBwb3J0cyB1cCB0byAxMCByZW5kZXIgcXVldWVzLiBUaGUgbW9kZWwgbWlnaHQgbm90IGJlIHJlbmRlcmVkIGNvcnJlY3RseS5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVuZGVyUXVldWVzVHJhbnNwYXJlbnRaV3JpdGUuc2l6ZSA+IDEwKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luOiBUaGlzIFZSTSB1c2VzICR7cmVuZGVyUXVldWVzVHJhbnNwYXJlbnRaV3JpdGUuc2l6ZX0gcmVuZGVyIHF1ZXVlcyBmb3IgVHJhbnNwYXJlbnRaV3JpdGUgbWF0ZXJpYWxzIHdoaWxlIFZSTSAxLjAgb25seSBzdXBwb3J0cyB1cCB0byAxMCByZW5kZXIgcXVldWVzLiBUaGUgbW9kZWwgbWlnaHQgbm90IGJlIHJlbmRlcmVkIGNvcnJlY3RseS5gKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjcmVhdGUgYSBtYXAgZnJvbSB2MCByZW5kZXIgcXVldWUgdG8gdjEgcmVuZGVyIHF1ZXVlIG9mZnNldFxuICAgICAgICBBcnJheS5mcm9tKHJlbmRlclF1ZXVlc1RyYW5zcGFyZW50KVxuICAgICAgICAgICAgLnNvcnQoKVxuICAgICAgICAgICAgLmZvckVhY2goKHF1ZXVlLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdRdWV1ZU9mZnNldCA9IE1hdGgubWluKE1hdGgubWF4KGkgLSByZW5kZXJRdWV1ZXNUcmFuc3BhcmVudC5zaXplICsgMSwgLTkpLCAwKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnQuc2V0KHF1ZXVlLCBuZXdRdWV1ZU9mZnNldCk7XG4gICAgICAgIH0pO1xuICAgICAgICBBcnJheS5mcm9tKHJlbmRlclF1ZXVlc1RyYW5zcGFyZW50WldyaXRlKVxuICAgICAgICAgICAgLnNvcnQoKVxuICAgICAgICAgICAgLmZvckVhY2goKHF1ZXVlLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdRdWV1ZU9mZnNldCA9IE1hdGgubWluKE1hdGgubWF4KGksIDApLCA5KTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnRaV3JpdGUuc2V0KHF1ZXVlLCBuZXdRdWV1ZU9mZnNldCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW4gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFcxaGRHVnlhV0ZzY3kxMk1HTnZiWEJoZEM1dGIyUjFiR1V1YW5NaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMMjV2WkdWZmJXOWtkV3hsY3k5MGMyeHBZaTkwYzJ4cFlpNWxjell1YW5NaUxDSXVMaTl6Y21NdmRYUnBiSE12WjJGdGJXRkZUMVJHTG5Seklpd2lMaTR2YzNKakwxWlNUVTFoZEdWeWFXRnNjMVl3UTI5dGNHRjBVR3gxWjJsdUxuUnpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaXBjY2x4dVEyOXdlWEpwWjJoMElDaGpLU0JOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0dVhISmNibHh5WEc1UVpYSnRhWE56YVc5dUlIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0JoYm1RdmIzSWdaR2x6ZEhKcFluVjBaU0IwYUdseklITnZablIzWVhKbElHWnZjaUJoYm5sY2NseHVjSFZ5Y0c5elpTQjNhWFJvSUc5eUlIZHBkR2h2ZFhRZ1ptVmxJR2x6SUdobGNtVmllU0JuY21GdWRHVmtMbHh5WEc1Y2NseHVWRWhGSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlGd2lRVk1nU1ZOY0lpQkJUa1FnVkVoRklFRlZWRWhQVWlCRVNWTkRURUZKVFZNZ1FVeE1JRmRCVWxKQlRsUkpSVk1nVjBsVVNGeHlYRzVTUlVkQlVrUWdWRThnVkVoSlV5QlRUMFpVVjBGU1JTQkpUa05NVlVSSlRrY2dRVXhNSUVsTlVFeEpSVVFnVjBGU1VrRk9WRWxGVXlCUFJpQk5SVkpEU0VGT1ZFRkNTVXhKVkZsY2NseHVRVTVFSUVaSlZFNUZVMU11SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFJZ1FrVWdURWxCUWt4RklFWlBVaUJCVGxrZ1UxQkZRMGxCVEN3Z1JFbFNSVU5VTEZ4eVhHNUpUa1JKVWtWRFZDd2dUMUlnUTA5T1UwVlJWVVZPVkVsQlRDQkVRVTFCUjBWVElFOVNJRUZPV1NCRVFVMUJSMFZUSUZkSVFWUlRUMFZXUlZJZ1VrVlRWVXhVU1U1SElFWlNUMDFjY2x4dVRFOVRVeUJQUmlCVlUwVXNJRVJCVkVFZ1QxSWdVRkpQUmtsVVV5d2dWMGhGVkVoRlVpQkpUaUJCVGlCQlExUkpUMDRnVDBZZ1EwOU9WRkpCUTFRc0lFNUZSMHhKUjBWT1EwVWdUMUpjY2x4dVQxUklSVklnVkU5U1ZFbFBWVk1nUVVOVVNVOU9MQ0JCVWtsVFNVNUhJRTlWVkNCUFJpQlBVaUJKVGlCRFQwNU9SVU5VU1U5T0lGZEpWRWdnVkVoRklGVlRSU0JQVWx4eVhHNVFSVkpHVDFKTlFVNURSU0JQUmlCVVNFbFRJRk5QUmxSWFFWSkZMbHh5WEc0cUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaUFxTDF4eVhHNHZLaUJuYkc5aVlXd2dVbVZtYkdWamRDd2dVSEp2YldselpTQXFMMXh5WEc1Y2NseHVkbUZ5SUdWNGRHVnVaRk4wWVhScFkzTWdQU0JtZFc1amRHbHZiaWhrTENCaUtTQjdYSEpjYmlBZ0lDQmxlSFJsYm1SVGRHRjBhV056SUQwZ1QySnFaV04wTG5ObGRGQnliM1J2ZEhsd1pVOW1JSHg4WEhKY2JpQWdJQ0FnSUNBZ0tIc2dYMTl3Y205MGIxOWZPaUJiWFNCOUlHbHVjM1JoYm1ObGIyWWdRWEp5WVhrZ0ppWWdablZ1WTNScGIyNGdLR1FzSUdJcElIc2daQzVmWDNCeWIzUnZYMThnUFNCaU95QjlLU0I4ZkZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlDaGtMQ0JpS1NCN0lHWnZjaUFvZG1GeUlIQWdhVzRnWWlrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hpTENCd0tTa2daRnR3WFNBOUlHSmJjRjA3SUgwN1hISmNiaUFnSUNCeVpYUjFjbTRnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlY0ZEdWdVpITW9aQ3dnWWlrZ2UxeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmlJQ0U5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnWWlBaFBUMGdiblZzYkNsY2NseHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJ4aGMzTWdaWGgwWlc1a2N5QjJZV3gxWlNCY0lpQXJJRk4wY21sdVp5aGlLU0FySUZ3aUlHbHpJRzV2ZENCaElHTnZibk4wY25WamRHOXlJRzl5SUc1MWJHeGNJaWs3WEhKY2JpQWdJQ0JsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnWDE4b0tTQjdJSFJvYVhNdVkyOXVjM1J5ZFdOMGIzSWdQU0JrT3lCOVhISmNiaUFnSUNCa0xuQnliM1J2ZEhsd1pTQTlJR0lnUFQwOUlHNTFiR3dnUHlCUFltcGxZM1F1WTNKbFlYUmxLR0lwSURvZ0tGOWZMbkJ5YjNSdmRIbHdaU0E5SUdJdWNISnZkRzkwZVhCbExDQnVaWGNnWDE4b0tTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0IyWVhJZ1gxOWhjM05wWjI0Z1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQWdJRjlmWVhOemFXZHVJRDBnVDJKcVpXTjBMbUZ6YzJsbmJpQjhmQ0JtZFc1amRHbHZiaUJmWDJGemMybG5iaWgwS1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdjeXdnYVNBOUlERXNJRzRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcElEd2dianNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITWdQU0JoY21kMWJXVnVkSE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdjeWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHpMQ0J3S1NrZ2RGdHdYU0E5SUhOYmNGMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCME8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUY5ZllYTnphV2R1TG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNKbGMzUW9jeXdnWlNrZ2UxeHlYRzRnSUNBZ2RtRnlJSFFnUFNCN2ZUdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnY3lrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h6TENCd0tTQW1KaUJsTG1sdVpHVjRUMllvY0NrZ1BDQXdLVnh5WEc0Z0lDQWdJQ0FnSUhSYmNGMGdQU0J6VzNCZE8xeHlYRzRnSUNBZ2FXWWdLSE1nSVQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzY3lBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1Z4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCd0lEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeWh6S1RzZ2FTQThJSEF1YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1V1YVc1a1pYaFBaaWh3VzJsZEtTQThJREFnSmlZZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1d2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTNWpZV3hzS0hNc0lIQmJhVjBwS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RGdHdXMmxkWFNBOUlITmJjRnRwWFYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJSbFkyOXlZWFJsS0dSbFkyOXlZWFJ2Y25Nc0lIUmhjbWRsZEN3Z2EyVjVMQ0JrWlhOaktTQjdYSEpjYmlBZ0lDQjJZWElnWXlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lISWdQU0JqSUR3Z015QS9JSFJoY21kbGRDQTZJR1JsYzJNZ1BUMDlJRzUxYkd3Z1B5QmtaWE5qSUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgwWVhKblpYUXNJR3RsZVNrZ09pQmtaWE5qTENCa08xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCU1pXWnNaV04wTG1SbFkyOXlZWFJsSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUhJZ1BTQlNaV1pzWldOMExtUmxZMjl5WVhSbEtHUmxZMjl5WVhSdmNuTXNJSFJoY21kbGRDd2dhMlY1TENCa1pYTmpLVHRjY2x4dUlDQWdJR1ZzYzJVZ1ptOXlJQ2gyWVhJZ2FTQTlJR1JsWTI5eVlYUnZjbk11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJR2xtSUNoa0lEMGdaR1ZqYjNKaGRHOXljMXRwWFNrZ2NpQTlJQ2hqSUR3Z015QS9JR1FvY2lrZ09pQmpJRDRnTXlBL0lHUW9kR0Z5WjJWMExDQnJaWGtzSUhJcElEb2daQ2gwWVhKblpYUXNJR3RsZVNrcElIeDhJSEk3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZeUErSURNZ0ppWWdjaUFtSmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kR0Z5WjJWMExDQnJaWGtzSUhJcExDQnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5d1lYSmhiU2h3WVhKaGJVbHVaR1Y0TENCa1pXTnZjbUYwYjNJcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb2RHRnlaMlYwTENCclpYa3BJSHNnWkdWamIzSmhkRzl5S0hSaGNtZGxkQ3dnYTJWNUxDQndZWEpoYlVsdVpHVjRLVHNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWxjMFJsWTI5eVlYUmxLR04wYjNJc0lHUmxjMk55YVhCMGIzSkpiaXdnWkdWamIzSmhkRzl5Y3l3Z1kyOXVkR1Y0ZEVsdUxDQnBibWwwYVdGc2FYcGxjbk1zSUdWNGRISmhTVzVwZEdsaGJHbDZaWEp6S1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCaFkyTmxjSFFvWmlrZ2V5QnBaaUFvWmlBaFBUMGdkbTlwWkNBd0lDWW1JSFI1Y0dWdlppQm1JQ0U5UFNCY0ltWjFibU4wYVc5dVhDSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKR2RXNWpkR2x2YmlCbGVIQmxZM1JsWkZ3aUtUc2djbVYwZFhKdUlHWTdJSDFjY2x4dUlDQWdJSFpoY2lCcmFXNWtJRDBnWTI5dWRHVjRkRWx1TG10cGJtUXNJR3RsZVNBOUlHdHBibVFnUFQwOUlGd2laMlYwZEdWeVhDSWdQeUJjSW1kbGRGd2lJRG9nYTJsdVpDQTlQVDBnWENKelpYUjBaWEpjSWlBL0lGd2ljMlYwWENJZ09pQmNJblpoYkhWbFhDSTdYSEpjYmlBZ0lDQjJZWElnZEdGeVoyVjBJRDBnSVdSbGMyTnlhWEIwYjNKSmJpQW1KaUJqZEc5eUlEOGdZMjl1ZEdWNGRFbHVXMXdpYzNSaGRHbGpYQ0pkSUQ4Z1kzUnZjaUE2SUdOMGIzSXVjSEp2ZEc5MGVYQmxJRG9nYm5Wc2JEdGNjbHh1SUNBZ0lIWmhjaUJrWlhOamNtbHdkRzl5SUQwZ1pHVnpZM0pwY0hSdmNrbHVJSHg4SUNoMFlYSm5aWFFnUHlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSFJoY21kbGRDd2dZMjl1ZEdWNGRFbHVMbTVoYldVcElEb2dlMzBwTzF4eVhHNGdJQ0FnZG1GeUlGOHNJR1J2Ym1VZ1BTQm1ZV3h6WlR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQmtaV052Y21GMGIzSnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZiblJsZUhRZ1BTQjdmVHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJR052Ym5SbGVIUkpiaWtnWTI5dWRHVjRkRnR3WFNBOUlIQWdQVDA5SUZ3aVlXTmpaWE56WENJZ1B5QjdmU0E2SUdOdmJuUmxlSFJKYmx0d1hUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHTnZiblJsZUhSSmJpNWhZMk5sYzNNcElHTnZiblJsZUhRdVlXTmpaWE56VzNCZElEMGdZMjl1ZEdWNGRFbHVMbUZqWTJWemMxdHdYVHRjY2x4dUlDQWdJQ0FnSUNCamIyNTBaWGgwTG1Ga1pFbHVhWFJwWVd4cGVtVnlJRDBnWm5WdVkzUnBiMjRnS0dZcElIc2dhV1lnS0dSdmJtVXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnWVdSa0lHbHVhWFJwWVd4cGVtVnljeUJoWm5SbGNpQmtaV052Y21GMGFXOXVJR2hoY3lCamIyMXdiR1YwWldSY0lpazdJR1Y0ZEhKaFNXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1lXTmpaWEIwS0dZZ2ZId2diblZzYkNrcE95QjlPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQW9NQ3dnWkdWamIzSmhkRzl5YzF0cFhTa29hMmx1WkNBOVBUMGdYQ0poWTJObGMzTnZjbHdpSUQ4Z2V5Qm5aWFE2SUdSbGMyTnlhWEIwYjNJdVoyVjBMQ0J6WlhRNklHUmxjMk55YVhCMGIzSXVjMlYwSUgwZ09pQmtaWE5qY21sd2RHOXlXMnRsZVYwc0lHTnZiblJsZUhRcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltRmpZMlZ6YzI5eVhDSXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2RtOXBaQ0F3S1NCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENBOVBUMGdiblZzYkNCOGZDQjBlWEJsYjJZZ2NtVnpkV3gwSUNFOVBTQmNJbTlpYW1WamRGd2lLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVQySnFaV04wSUdWNGNHVmpkR1ZrWENJcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVaMlYwS1NrZ1pHVnpZM0pwY0hSdmNpNW5aWFFnUFNCZk8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVjMlYwS1NrZ1pHVnpZM0pwY0hSdmNpNXpaWFFnUFNCZk8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVhVzVwZENrcElHbHVhWFJwWVd4cGVtVnljeTV3ZFhOb0tGOHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDa3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVptbGxiR1JjSWlrZ2FXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1h5azdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnWkdWelkzSnBjSFJ2Y2x0clpYbGRJRDBnWHp0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnBaaUFvZEdGeVoyVjBLU0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCamIyNTBaWGgwU1c0dWJtRnRaU3dnWkdWelkzSnBjSFJ2Y2lrN1hISmNiaUFnSUNCa2IyNWxJRDBnZEhKMVpUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNKMWJrbHVhWFJwWVd4cGVtVnljeWgwYUdselFYSm5MQ0JwYm1sMGFXRnNhWHBsY25Nc0lIWmhiSFZsS1NCN1hISmNiaUFnSUNCMllYSWdkWE5sVm1Gc2RXVWdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTWp0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2FXNXBkR2xoYkdsNlpYSnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZzZFdVZ1BTQjFjMlZXWVd4MVpTQS9JR2x1YVhScFlXeHBlbVZ5YzF0cFhTNWpZV3hzS0hSb2FYTkJjbWNzSUhaaGJIVmxLU0E2SUdsdWFYUnBZV3hwZW1WeWMxdHBYUzVqWVd4c0tIUm9hWE5CY21jcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhWelpWWmhiSFZsSUQ4Z2RtRnNkV1VnT2lCMmIybGtJREE3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXdjbTl3UzJWNUtIZ3BJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQjBlWEJsYjJZZ2VDQTlQVDBnWENKemVXMWliMnhjSWlBL0lIZ2dPaUJjSWx3aUxtTnZibU5oZENoNEtUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNObGRFWjFibU4wYVc5dVRtRnRaU2htTENCdVlXMWxMQ0J3Y21WbWFYZ3BJSHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnYm1GdFpTQTlQVDBnWENKemVXMWliMnhjSWlrZ2JtRnRaU0E5SUc1aGJXVXVaR1Z6WTNKcGNIUnBiMjRnUHlCY0lsdGNJaTVqYjI1allYUW9ibUZ0WlM1a1pYTmpjbWx3ZEdsdmJpd2dYQ0pkWENJcElEb2dYQ0pjSWp0Y2NseHVJQ0FnSUhKbGRIVnliaUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1ppd2dYQ0p1WVcxbFhDSXNJSHNnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsTENCMllXeDFaVG9nY0hKbFptbDRJRDhnWENKY0lpNWpiMjVqWVhRb2NISmxabWw0TENCY0lpQmNJaXdnYm1GdFpTa2dPaUJ1WVcxbElIMHBPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmJXVjBZV1JoZEdFb2JXVjBZV1JoZEdGTFpYa3NJRzFsZEdGa1lYUmhWbUZzZFdVcElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdVbVZtYkdWamRDQTlQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ1VtVm1iR1ZqZEM1dFpYUmhaR0YwWVNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCeVpYUjFjbTRnVW1WbWJHVmpkQzV0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRjNZV2wwWlhJb2RHaHBjMEZ5Wnl3Z1gyRnlaM1Z0Wlc1MGN5d2dVQ3dnWjJWdVpYSmhkRzl5S1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCaFpHOXdkQ2gyWVd4MVpTa2dleUJ5WlhSMWNtNGdkbUZzZFdVZ2FXNXpkR0Z1WTJWdlppQlFJRDhnZG1Gc2RXVWdPaUJ1WlhjZ1VDaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTa2dleUJ5WlhOdmJIWmxLSFpoYkhWbEtUc2dmU2s3SUgxY2NseHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ0tGQWdmSHdnS0ZBZ1BTQlFjbTl0YVhObEtTa29ablZ1WTNScGIyNGdLSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUdaMWJHWnBiR3hsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNpNXVaWGgwS0haaGJIVmxLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djbVZxWldOMEtHVXBPeUI5SUgxY2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQnlaV3BsWTNSbFpDaDJZV3gxWlNrZ2V5QjBjbmtnZXlCemRHVndLR2RsYm1WeVlYUnZjbHRjSW5Sb2NtOTNYQ0pkS0haaGJIVmxLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djbVZxWldOMEtHVXBPeUI5SUgxY2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0hKbGMzVnNkQ2tnZXlCeVpYTjFiSFF1Wkc5dVpTQS9JSEpsYzI5c2RtVW9jbVZ6ZFd4MExuWmhiSFZsS1NBNklHRmtiM0IwS0hKbGMzVnNkQzUyWVd4MVpTa3VkR2hsYmlobWRXeG1hV3hzWldRc0lISmxhbVZqZEdWa0tUc2dmVnh5WEc0Z0lDQWdJQ0FnSUhOMFpYQW9LR2RsYm1WeVlYUnZjaUE5SUdkbGJtVnlZWFJ2Y2k1aGNIQnNlU2gwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6SUh4OElGdGRLU2t1Ym1WNGRDZ3BLVHRjY2x4dUlDQWdJSDBwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOW5aVzVsY21GMGIzSW9kR2hwYzBGeVp5d2dZbTlrZVNrZ2UxeHlYRzRnSUNBZ2RtRnlJRjhnUFNCN0lHeGhZbVZzT2lBd0xDQnpaVzUwT2lCbWRXNWpkR2x2YmlncElIc2dhV1lnS0hSYk1GMGdKaUF4S1NCMGFISnZkeUIwV3pGZE95QnlaWFIxY200Z2RGc3hYVHNnZlN3Z2RISjVjem9nVzEwc0lHOXdjem9nVzEwZ2ZTd2daaXdnZVN3Z2RDd2daenRjY2x4dUlDQWdJSEpsZEhWeWJpQm5JRDBnZXlCdVpYaDBPaUIyWlhKaUtEQXBMQ0JjSW5Sb2NtOTNYQ0k2SUhabGNtSW9NU2tzSUZ3aWNtVjBkWEp1WENJNklIWmxjbUlvTWlrZ2ZTd2dkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlDaG5XMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaWdwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBwTENCbk8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1S1NCN0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdjM1JsY0NoYmJpd2dkbDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0c5d0tTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHWXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKSFpXNWxjbUYwYjNJZ2FYTWdZV3h5WldGa2VTQmxlR1ZqZFhScGJtY3VYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNobklDWW1JQ2huSUQwZ01Dd2diM0JiTUYwZ0ppWWdLRjhnUFNBd0tTa3NJRjhwSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htSUQwZ01Td2dlU0FtSmlBb2RDQTlJRzl3V3pCZElDWWdNaUEvSUhsYlhDSnlaWFIxY201Y0lsMGdPaUJ2Y0Zzd1hTQS9JSGxiWENKMGFISnZkMXdpWFNCOGZDQW9LSFFnUFNCNVcxd2ljbVYwZFhKdVhDSmRLU0FtSmlCMExtTmhiR3dvZVNrc0lEQXBJRG9nZVM1dVpYaDBLU0FtSmlBaEtIUWdQU0IwTG1OaGJHd29lU3dnYjNCYk1WMHBLUzVrYjI1bEtTQnlaWFIxY200Z2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSGtnUFNBd0xDQjBLU0J2Y0NBOUlGdHZjRnN3WFNBbUlESXNJSFF1ZG1Gc2RXVmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHOXdXekJkS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURBNklHTmhjMlVnTVRvZ2RDQTlJRzl3T3lCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdORG9nWHk1c1lXSmxiQ3NyT3lCeVpYUjFjbTRnZXlCMllXeDFaVG9nYjNCYk1WMHNJR1J2Ym1VNklHWmhiSE5sSUgwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURVNklGOHViR0ZpWld3ckt6c2dlU0E5SUc5d1d6RmRPeUJ2Y0NBOUlGc3dYVHNnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRGM2SUc5d0lEMGdYeTV2Y0hNdWNHOXdLQ2s3SUY4dWRISjVjeTV3YjNBb0tUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doS0hRZ1BTQmZMblJ5ZVhNc0lIUWdQU0IwTG14bGJtZDBhQ0ErSURBZ0ppWWdkRnQwTG14bGJtZDBhQ0F0SURGZEtTQW1KaUFvYjNCYk1GMGdQVDA5SURZZ2ZId2diM0JiTUYwZ1BUMDlJRElwS1NCN0lGOGdQU0F3T3lCamIyNTBhVzUxWlRzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdNeUFtSmlBb0lYUWdmSHdnS0c5d1d6RmRJRDRnZEZzd1hTQW1KaUJ2Y0ZzeFhTQThJSFJiTTEwcEtTa2dleUJmTG14aFltVnNJRDBnYjNCYk1WMDdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzl3V3pCZElEMDlQU0EySUNZbUlGOHViR0ZpWld3Z1BDQjBXekZkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekZkT3lCMElEMGdiM0E3SUdKeVpXRnJPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hRZ0ppWWdYeTVzWVdKbGJDQThJSFJiTWwwcElIc2dYeTVzWVdKbGJDQTlJSFJiTWwwN0lGOHViM0J6TG5CMWMyZ29iM0FwT3lCaWNtVmhhenNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMFd6SmRLU0JmTG05d2N5NXdiM0FvS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUc5d0lEMGdZbTlrZVM1allXeHNLSFJvYVhOQmNtY3NJRjhwTzF4eVhHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHNnYjNBZ1BTQmJOaXdnWlYwN0lIa2dQU0F3T3lCOUlHWnBibUZzYkhrZ2V5Qm1JRDBnZENBOUlEQTdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iM0JiTUYwZ0ppQTFLU0IwYUhKdmR5QnZjRnN4WFRzZ2NtVjBkWEp1SUhzZ2RtRnNkV1U2SUc5d1d6QmRJRDhnYjNCYk1WMGdPaUIyYjJsa0lEQXNJR1J2Ym1VNklIUnlkV1VnZlR0Y2NseHVJQ0FnSUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElIWmhjaUJmWDJOeVpXRjBaVUpwYm1ScGJtY2dQU0JQWW1wbFkzUXVZM0psWVhSbElEOGdLR1oxYm1OMGFXOXVLRzhzSUcwc0lHc3NJR3N5S1NCN1hISmNiaUFnSUNCcFppQW9heklnUFQwOUlIVnVaR1ZtYVc1bFpDa2dheklnUFNCck8xeHlYRzRnSUNBZ2RtRnlJR1JsYzJNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0cwc0lHc3BPMXh5WEc0Z0lDQWdhV1lnS0NGa1pYTmpJSHg4SUNoY0ltZGxkRndpSUdsdUlHUmxjMk1nUHlBaGJTNWZYMlZ6VFc5a2RXeGxJRG9nWkdWell5NTNjbWwwWVdKc1pTQjhmQ0JrWlhOakxtTnZibVpwWjNWeVlXSnNaU2twSUh0Y2NseHVJQ0FnSUNBZ0lDQmtaWE5qSUQwZ2V5QmxiblZ0WlhKaFlteGxPaUIwY25WbExDQm5aWFE2SUdaMWJtTjBhVzl1S0NrZ2V5QnlaWFIxY200Z2JWdHJYVHNnZlNCOU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzhzSUdzeUxDQmtaWE5qS1R0Y2NseHVmU2tnT2lBb1puVnVZM1JwYjI0b2J5d2diU3dnYXl3Z2F6SXBJSHRjY2x4dUlDQWdJR2xtSUNock1pQTlQVDBnZFc1a1pXWnBibVZrS1NCck1pQTlJR3M3WEhKY2JpQWdJQ0J2VzJzeVhTQTlJRzFiYTEwN1hISmNibjBwTzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWlhod2IzSjBVM1JoY2lodExDQnZLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHMHBJR2xtSUNod0lDRTlQU0JjSW1SbFptRjFiSFJjSWlBbUppQWhUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzhzSUhBcEtTQmZYMk55WldGMFpVSnBibVJwYm1jb2J5d2diU3dnY0NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM1poYkhWbGN5aHZLU0I3WEhKY2JpQWdJQ0IyWVhJZ2N5QTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJc0lHMGdQU0J6SUNZbUlHOWJjMTBzSUdrZ1BTQXdPMXh5WEc0Z0lDQWdhV1lnS0cwcElISmxkSFZ5YmlCdExtTmhiR3dvYnlrN1hISmNiaUFnSUNCcFppQW9ieUFtSmlCMGVYQmxiMllnYnk1c1pXNW5kR2dnUFQwOUlGd2liblZ0WW1WeVhDSXBJSEpsZEhWeWJpQjdYSEpjYmlBZ0lDQWdJQ0FnYm1WNGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2J5QW1KaUJwSUQ0OUlHOHViR1Z1WjNSb0tTQnZJRDBnZG05cFpDQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjJZV3gxWlRvZ2J5QW1KaUJ2VzJrcksxMHNJR1J2Ym1VNklDRnZJSDA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9jeUEvSUZ3aVQySnFaV04wSUdseklHNXZkQ0JwZEdWeVlXSnNaUzVjSWlBNklGd2lVM2x0WW05c0xtbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY21WaFpDaHZMQ0J1S1NCN1hISmNiaUFnSUNCMllYSWdiU0E5SUhSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJ2VzFONWJXSnZiQzVwZEdWeVlYUnZjbDA3WEhKY2JpQWdJQ0JwWmlBb0lXMHBJSEpsZEhWeWJpQnZPMXh5WEc0Z0lDQWdkbUZ5SUdrZ1BTQnRMbU5oYkd3b2J5a3NJSElzSUdGeUlEMGdXMTBzSUdVN1hISmNiaUFnSUNCMGNua2dlMXh5WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2dvYmlBOVBUMGdkbTlwWkNBd0lIeDhJRzR0TFNBK0lEQXBJQ1ltSUNFb2NpQTlJR2t1Ym1WNGRDZ3BLUzVrYjI1bEtTQmhjaTV3ZFhOb0tISXVkbUZzZFdVcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1kyRjBZMmdnS0dWeWNtOXlLU0I3SUdVZ1BTQjdJR1Z5Y205eU9pQmxjbkp2Y2lCOU95QjlYSEpjYmlBZ0lDQm1hVzVoYkd4NUlIdGNjbHh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jaUFtSmlBaGNpNWtiMjVsSUNZbUlDaHRJRDBnYVZ0Y0luSmxkSFZ5Ymx3aVhTa3BJRzB1WTJGc2JDaHBLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdabWx1WVd4c2VTQjdJR2xtSUNobEtTQjBhSEp2ZHlCbExtVnljbTl5T3lCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQVpHVndjbVZqWVhSbFpDQXFMMXh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1FvS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCaGNpQTlJRnRkTENCcElEMGdNRHNnYVNBOElHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCaGNpQTlJR0Z5TG1OdmJtTmhkQ2hmWDNKbFlXUW9ZWEpuZFcxbGJuUnpXMmxkS1NrN1hISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQVpHVndjbVZqWVhSbFpDQXFMMXh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1JCY25KaGVYTW9LU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJ6SUQwZ01Dd2dhU0E5SURBc0lHbHNJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnYVNBOElHbHNPeUJwS3lzcElITWdLejBnWVhKbmRXMWxiblJ6VzJsZExteGxibWQwYUR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhJZ1BTQkJjbkpoZVNoektTd2dheUE5SURBc0lHa2dQU0F3T3lCcElEd2dhV3c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJoSUQwZ1lYSm5kVzFsYm5SelcybGRMQ0JxSUQwZ01Dd2dhbXdnUFNCaExteGxibWQwYURzZ2FpQThJR3BzT3lCcUt5c3NJR3NyS3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY2x0clhTQTlJR0ZiYWwwN1hISmNiaUFnSUNCeVpYUjFjbTRnY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjM0J5WldGa1FYSnlZWGtvZEc4c0lHWnliMjBzSUhCaFkyc3BJSHRjY2x4dUlDQWdJR2xtSUNod1lXTnJJSHg4SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUFQwOUlESXBJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNJRDBnWm5KdmJTNXNaVzVuZEdnc0lHRnlPeUJwSUR3Z2JEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dGeUlIeDhJQ0VvYVNCcGJpQm1jbTl0S1NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV0Z5S1NCaGNpQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR1p5YjIwc0lEQXNJR2twTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JoY2x0cFhTQTlJR1p5YjIxYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFJ2TG1OdmJtTmhkQ2hoY2lCOGZDQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWMyeHBZMlV1WTJGc2JDaG1jbTl0S1NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkYzWVdsMEtIWXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQjBhR2x6SUdsdWMzUmhibU5sYjJZZ1gxOWhkMkZwZENBL0lDaDBhR2x6TG5ZZ1BTQjJMQ0IwYUdsektTQTZJRzVsZHlCZlgyRjNZV2wwS0hZcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloYzNsdVkwZGxibVZ5WVhSdmNpaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpMQ0JuWlc1bGNtRjBiM0lwSUh0Y2NseHVJQ0FnSUdsbUlDZ2hVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjaUJwY3lCdWIzUWdaR1ZtYVc1bFpDNWNJaWs3WEhKY2JpQWdJQ0IyWVhJZ1p5QTlJR2RsYm1WeVlYUnZjaTVoY0hCc2VTaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpJSHg4SUZ0ZEtTd2dhU3dnY1NBOUlGdGRPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHa2dQU0I3ZlN3Z2RtVnlZaWhjSW01bGVIUmNJaWtzSUhabGNtSW9YQ0owYUhKdmQxd2lLU3dnZG1WeVlpaGNJbkpsZEhWeWJsd2lLU3dnYVZ0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1S1NCN0lHbG1JQ2huVzI1ZEtTQnBXMjVkSUQwZ1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1SUNoaExDQmlLU0I3SUhFdWNIVnphQ2hiYml3Z2Rpd2dZU3dnWWwwcElENGdNU0I4ZkNCeVpYTjFiV1VvYml3Z2RpazdJSDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnlaWE4xYldVb2Jpd2dkaWtnZXlCMGNua2dleUJ6ZEdWd0tHZGJibDBvZGlrcE95QjlJR05oZEdOb0lDaGxLU0I3SUhObGRIUnNaU2h4V3pCZFd6TmRMQ0JsS1RzZ2ZTQjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0hJcElIc2djaTUyWVd4MVpTQnBibk4wWVc1alpXOW1JRjlmWVhkaGFYUWdQeUJRY205dGFYTmxMbkpsYzI5c2RtVW9jaTUyWVd4MVpTNTJLUzUwYUdWdUtHWjFiR1pwYkd3c0lISmxhbVZqZENrZ09pQnpaWFIwYkdVb2NWc3dYVnN5WFN3Z2NpazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHd29kbUZzZFdVcElIc2djbVZ6ZFcxbEtGd2libVY0ZEZ3aUxDQjJZV3gxWlNrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlISmxhbVZqZENoMllXeDFaU2tnZXlCeVpYTjFiV1VvWENKMGFISnZkMXdpTENCMllXeDFaU2s3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhObGRIUnNaU2htTENCMktTQjdJR2xtSUNobUtIWXBMQ0J4TG5Ob2FXWjBLQ2tzSUhFdWJHVnVaM1JvS1NCeVpYTjFiV1VvY1Zzd1hWc3dYU3dnY1Zzd1hWc3hYU2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1ORVpXeGxaMkYwYjNJb2J5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdrc0lIQTdYSEpjYmlBZ0lDQnlaWFIxY200Z2FTQTlJSHQ5TENCMlpYSmlLRndpYm1WNGRGd2lLU3dnZG1WeVlpaGNJblJvY205M1hDSXNJR1oxYm1OMGFXOXVJQ2hsS1NCN0lIUm9jbTkzSUdVN0lIMHBMQ0IyWlhKaUtGd2ljbVYwZFhKdVhDSXBMQ0JwVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUxDQm1LU0I3SUdsYmJsMGdQU0J2VzI1ZElEOGdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUNod0lEMGdJWEFwSUQ4Z2V5QjJZV3gxWlRvZ1gxOWhkMkZwZENodlcyNWRLSFlwS1N3Z1pHOXVaVG9nWm1Gc2MyVWdmU0E2SUdZZ1B5Qm1LSFlwSURvZ2Rqc2dmU0E2SUdZN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTldZV3gxWlhNb2J5a2dlMXh5WEc0Z0lDQWdhV1lnS0NGVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1SUNBZ0lIWmhjaUJ0SUQwZ2IxdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBzSUdrN1hISmNiaUFnSUNCeVpYUjFjbTRnYlNBL0lHMHVZMkZzYkNodktTQTZJQ2h2SUQwZ2RIbHdaVzltSUY5ZmRtRnNkV1Z6SUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCZlgzWmhiSFZsY3lodktTQTZJRzliVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwTENCcElEMGdlMzBzSUhabGNtSW9YQ0p1WlhoMFhDSXBMQ0IyWlhKaUtGd2lkR2h5YjNkY0lpa3NJSFpsY21Jb1hDSnlaWFIxY201Y0lpa3NJR2xiVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmU3dnYVNrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2FWdHVYU0E5SUc5YmJsMGdKaVlnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBJSHNnZGlBOUlHOWJibDBvZGlrc0lITmxkSFJzWlNoeVpYTnZiSFpsTENCeVpXcGxZM1FzSUhZdVpHOXVaU3dnZGk1MllXeDFaU2s3SUgwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6WlhSMGJHVW9jbVZ6YjJ4MlpTd2djbVZxWldOMExDQmtMQ0IyS1NCN0lGQnliMjFwYzJVdWNtVnpiMngyWlNoMktTNTBhR1Z1S0daMWJtTjBhVzl1S0hZcElIc2djbVZ6YjJ4MlpTaDdJSFpoYkhWbE9pQjJMQ0JrYjI1bE9pQmtJSDBwT3lCOUxDQnlaV3BsWTNRcE95QjlYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDIxaGEyVlVaVzF3YkdGMFpVOWlhbVZqZENoamIyOXJaV1FzSUhKaGR5a2dlMXh5WEc0Z0lDQWdhV1lnS0U5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1kyOXZhMlZrTENCY0luSmhkMXdpTENCN0lIWmhiSFZsT2lCeVlYY2dmU2s3SUgwZ1pXeHpaU0I3SUdOdmIydGxaQzV5WVhjZ1BTQnlZWGM3SUgxY2NseHVJQ0FnSUhKbGRIVnliaUJqYjI5clpXUTdYSEpjYm4wN1hISmNibHh5WEc1MllYSWdYMTl6WlhSTmIyUjFiR1ZFWldaaGRXeDBJRDBnVDJKcVpXTjBMbU55WldGMFpTQS9JQ2htZFc1amRHbHZiaWh2TENCMktTQjdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYnl3Z1hDSmtaV1poZFd4MFhDSXNJSHNnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3dnZG1Gc2RXVTZJSFlnZlNrN1hISmNibjBwSURvZ1puVnVZM1JwYjI0b2J5d2dkaWtnZTF4eVhHNGdJQ0FnYjF0Y0ltUmxabUYxYkhSY0lsMGdQU0IyTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZhVzF3YjNKMFUzUmhjaWh0YjJRcElIdGNjbHh1SUNBZ0lHbG1JQ2h0YjJRZ0ppWWdiVzlrTGw5ZlpYTk5iMlIxYkdVcElISmxkSFZ5YmlCdGIyUTdYSEpjYmlBZ0lDQjJZWElnY21WemRXeDBJRDBnZTMwN1hISmNiaUFnSUNCcFppQW9iVzlrSUNFOUlHNTFiR3dwSUdadmNpQW9kbUZ5SUdzZ2FXNGdiVzlrS1NCcFppQW9heUFoUFQwZ1hDSmtaV1poZFd4MFhDSWdKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0cxdlpDd2dheWtwSUY5ZlkzSmxZWFJsUW1sdVpHbHVaeWh5WlhOMWJIUXNJRzF2WkN3Z2F5azdYSEpjYmlBZ0lDQmZYM05sZEUxdlpIVnNaVVJsWm1GMWJIUW9jbVZ6ZFd4MExDQnRiMlFwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBSR1ZtWVhWc2RDaHRiMlFwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQS9JRzF2WkNBNklIc2daR1ZtWVhWc2REb2diVzlrSUgwN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMk5zWVhOelVISnBkbUYwWlVacFpXeGtSMlYwS0hKbFkyVnBkbVZ5TENCemRHRjBaU3dnYTJsdVpDd2daaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2lZVndpSUNZbUlDRm1LU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVVISnBkbUYwWlNCaFkyTmxjM052Y2lCM1lYTWdaR1ZtYVc1bFpDQjNhWFJvYjNWMElHRWdaMlYwZEdWeVhDSXBPMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ6ZEdGMFpTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlEOGdjbVZqWldsMlpYSWdJVDA5SUhOMFlYUmxJSHg4SUNGbUlEb2dJWE4wWVhSbExtaGhjeWh5WldObGFYWmxjaWtwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ2NtVmhaQ0J3Y21sMllYUmxJRzFsYldKbGNpQm1jbTl0SUdGdUlHOWlhbVZqZENCM2FHOXpaU0JqYkdGemN5QmthV1FnYm05MElHUmxZMnhoY21VZ2FYUmNJaWs3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhMmx1WkNBOVBUMGdYQ0p0WENJZ1B5Qm1JRG9nYTJsdVpDQTlQVDBnWENKaFhDSWdQeUJtTG1OaGJHd29jbVZqWldsMlpYSXBJRG9nWmlBL0lHWXVkbUZzZFdVZ09pQnpkR0YwWlM1blpYUW9jbVZqWldsMlpYSXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5amJHRnpjMUJ5YVhaaGRHVkdhV1ZzWkZObGRDaHlaV05sYVhabGNpd2djM1JoZEdVc0lIWmhiSFZsTENCcmFXNWtMQ0JtS1NCN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0p0WENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pRY21sMllYUmxJRzFsZEdodlpDQnBjeUJ1YjNRZ2QzSnBkR0ZpYkdWY0lpazdYSEpjYmlBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKaFhDSWdKaVlnSVdZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pRY21sMllYUmxJR0ZqWTJWemMyOXlJSGRoY3lCa1pXWnBibVZrSUhkcGRHaHZkWFFnWVNCelpYUjBaWEpjSWlrN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlITjBZWFJsSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCeVpXTmxhWFpsY2lBaFBUMGdjM1JoZEdVZ2ZId2dJV1lnT2lBaGMzUmhkR1V1YUdGektISmxZMlZwZG1WeUtTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0IzY21sMFpTQndjbWwyWVhSbElHMWxiV0psY2lCMGJ5QmhiaUJ2WW1wbFkzUWdkMmh2YzJVZ1kyeGhjM01nWkdsa0lHNXZkQ0JrWldOc1lYSmxJR2wwWENJcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUNocmFXNWtJRDA5UFNCY0ltRmNJaUEvSUdZdVkyRnNiQ2h5WldObGFYWmxjaXdnZG1Gc2RXVXBJRG9nWmlBL0lHWXVkbUZzZFdVZ1BTQjJZV3gxWlNBNklITjBZWFJsTG5ObGRDaHlaV05sYVhabGNpd2dkbUZzZFdVcEtTd2dkbUZzZFdVN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMk5zWVhOelVISnBkbUYwWlVacFpXeGtTVzRvYzNSaGRHVXNJSEpsWTJWcGRtVnlLU0I3WEhKY2JpQWdJQ0JwWmlBb2NtVmpaV2wyWlhJZ1BUMDlJRzUxYkd3Z2ZId2dLSFI1Y0dWdlppQnlaV05sYVhabGNpQWhQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ2NtVmpaV2wyWlhJZ0lUMDlJRndpWm5WdVkzUnBiMjVjSWlrcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdkWE5sSUNkcGJpY2diM0JsY21GMGIzSWdiMjRnYm05dUxXOWlhbVZqZEZ3aUtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnYzNSaGRHVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JSEpsWTJWcGRtVnlJRDA5UFNCemRHRjBaU0E2SUhOMFlYUmxMbWhoY3loeVpXTmxhWFpsY2lrN1hISmNibjFjY2x4dUlpd2laWGh3YjNKMElHWjFibU4wYVc5dUlHZGhiVzFoUlU5VVJpaGxPaUJ1ZFcxaVpYSXBPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnVFdGMGFDNXdiM2NvWlN3Z01pNHlLVHRjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUU0JoY3lCV01GWlNUU3dnVFdGMFpYSnBZV3dnWVhNZ1ZqQk5ZWFJsY21saGJDQjlJR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20wdE1DNHdKenRjYm1sdGNHOXlkQ0FxSUdGeklGWXhUVlJ2YjI1VFkyaGxiV0VnWm5KdmJTQW5RSEJwZUdsMkwzUjVjR1Z6TFhaeWJXTXRiV0YwWlhKcFlXeHpMVzEwYjI5dUxURXVNQ2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNHNJRWRNVkVaUVlYSnpaWElnZlNCbWNtOXRJQ2QwYUhKbFpTOWxlR0Z0Y0d4bGN5OXFjMjB2Ykc5aFpHVnljeTlIVEZSR1RHOWhaR1Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJR2RoYlcxaFJVOVVSaUI5SUdaeWIyMGdKeTR2ZFhScGJITXZaMkZ0YldGRlQxUkdKenRjYm1sdGNHOXlkQ0I3SUVkTVZFWWdZWE1nUjB4VVJsTmphR1Z0WVNCOUlHWnliMjBnSjBCbmJIUm1MWFJ5WVc1elptOXliUzlqYjNKbEp6dGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVTFoZEdWeWFXRnNjMVl3UTI5dGNHRjBVR3gxWjJsdUlHbHRjR3hsYldWdWRITWdSMHhVUmt4dllXUmxjbEJzZFdkcGJpQjdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J3WVhKelpYSTZJRWRNVkVaUVlYSnpaWEk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnYldGd0lHWnliMjBnZGpBZ2NtVnVaR1Z5SUhGMVpYVmxJSFJ2SUhZeElISmxibVJsY2lCeGRXVjFaU0J2Wm1aelpYUXNJR1p2Y2lCVWNtRnVjM0JoY21WdWRDQnRZWFJsY21saGJITXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJRjl5Wlc1a1pYSlJkV1YxWlUxaGNGUnlZVzV6Y0dGeVpXNTBPaUJOWVhBOGJuVnRZbVZ5TENCdWRXMWlaWEkrTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUcxaGNDQm1jbTl0SUhZd0lISmxibVJsY2lCeGRXVjFaU0IwYnlCMk1TQnlaVzVrWlhJZ2NYVmxkV1VnYjJabWMyVjBMQ0JtYjNJZ1ZISmhibk53WVhKbGJuUmFWM0pwZEdVZ2JXRjBaWEpwWVd4ekxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmZjbVZ1WkdWeVVYVmxkV1ZOWVhCVWNtRnVjM0JoY21WdWRGcFhjbWwwWlRvZ1RXRndQRzUxYldKbGNpd2diblZ0WW1WeVBqdGNibHh1SUNCd2RXSnNhV01nWjJWMElHNWhiV1VvS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKMVpTVFUxaGRHVnlhV0ZzYzFZd1EyOXRjR0YwVUd4MVoybHVKenRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJcElIdGNiaUFnSUNCMGFHbHpMbkJoY25ObGNpQTlJSEJoY25ObGNqdGNibHh1SUNBZ0lIUm9hWE11WDNKbGJtUmxjbEYxWlhWbFRXRndWSEpoYm5Od1lYSmxiblFnUFNCdVpYY2dUV0Z3S0NrN1hHNGdJQ0FnZEdocGN5NWZjbVZ1WkdWeVVYVmxkV1ZOWVhCVWNtRnVjM0JoY21WdWRGcFhjbWwwWlNBOUlHNWxkeUJOWVhBb0tUdGNibHh1SUNBZ0lDOHZJRmRQVWt0QlVrOVZUa1E2SUVGa1pDQkxTRkpmZEdWNGRIVnlaVjkwY21GdWMyWnZjbTBnZEc4Z1pYaDBaVzV6YVc5dWMxVnpaV1JjYmlBZ0lDQXZMeUJKZENCcGN5QjBiMjhnYkdGMFpTQjBieUJoWkdRZ2RHaHBjeUJwYmlCaVpXWnZjbVZTYjI5MFhHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIUm9hWE11Y0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lHcHpiMjR1WlhoMFpXNXphVzl1YzFWelpXUWdQU0JxYzI5dUxtVjRkR1Z1YzJsdmJuTlZjMlZrSUQ4L0lGdGRPMXh1SUNBZ0lHbG1JQ2hxYzI5dUxtVjRkR1Z1YzJsdmJuTlZjMlZrTG1sdVpHVjRUMllvSjB0SVVsOTBaWGgwZFhKbFgzUnlZVzV6Wm05eWJTY3BJRDA5UFNBdE1Ta2dlMXh1SUNBZ0lDQWdhbk52Ymk1bGVIUmxibk5wYjI1elZYTmxaQzV3ZFhOb0tDZExTRkpmZEdWNGRIVnlaVjkwY21GdWMyWnZjbTBuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZbVZtYjNKbFVtOXZkQ2dwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnZEdocGN5NXdZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnTHk4Z1pXRnliSGtnWVdKdmNuUWdhV1lnYVhRZ1pHOWxjMjRuZENCMWMyVWdWakJXVWsxY2JpQWdJQ0JqYjI1emRDQjJNRlpTVFVWNGRHVnVjMmx2YmlBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVd5ZFdVazBuWFNCaGN5QldNRlpTVFNCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCamIyNXpkQ0IyTUUxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3lBOUlIWXdWbEpOUlhoMFpXNXphVzl1UHk1dFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNN1hHNGdJQ0FnYVdZZ0tDRjJNRTFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJSEJ2Y0hWc1lYUmxJSEpsYm1SbGNpQnhkV1YxWlNCdFlYQmNiaUFnSUNCMGFHbHpMbDl3YjNCMWJHRjBaVkpsYm1SbGNsRjFaWFZsVFdGd0tIWXdUV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpLVHRjYmx4dUlDQWdJQzh2SUdOdmJuWmxjblFnVmpBZ2JXRjBaWEpwWVd3Z2NISnZjR1Z5ZEdsbGN5QnBiblJ2SUZZeElHTnZiWEJoZEdsaWJHVWdabTl5YldGMFhHNGdJQ0FnZGpCTllYUmxjbWxoYkZCeWIzQmxjblJwWlhNdVptOXlSV0ZqYUNnb2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxDQnRZWFJsY21saGJFbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCdFlYUmxjbWxoYkVSbFppQTlJR3B6YjI0dWJXRjBaWEpwWVd4elB5NWJiV0YwWlhKcFlXeEpibVJsZUYwN1hHNWNiaUFnSUNBZ0lHbG1JQ2h0WVhSbGNtbGhiRVJsWmlBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ0FnSUNCZ1ZsSk5UV0YwWlhKcFlXeHpWakJEYjIxd1lYUlFiSFZuYVc0NklFRjBkR1Z0Y0hRZ2RHOGdkWE5sSUcxaGRHVnlhV0ZzYzFza2UyMWhkR1Z5YVdGc1NXNWtaWGg5WFNCdlppQm5iRlJHSUdKMWRDQjBhR1VnYldGMFpYSnBZV3dnWkc5bGMyNG5kQ0JsZUdsemRHQXNYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NXphR0ZrWlhJZ1BUMDlJQ2RXVWswdlRWUnZiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzSUQwZ2RHaHBjeTVmY0dGeWMyVldNRTFVYjI5dVVISnZjR1Z5ZEdsbGN5aHRZWFJsY21saGJGQnliM0JsY25ScFpYTXNJRzFoZEdWeWFXRnNSR1ZtS1R0Y2JpQWdJQ0FnSUNBZ2FuTnZiaTV0WVhSbGNtbGhiSE1oVzIxaGRHVnlhV0ZzU1c1a1pYaGRJRDBnYldGMFpYSnBZV3c3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0cxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1emFHRmtaWEkvTG5OMFlYSjBjMWRwZEdnb0oxWlNUUzlWYm14cGRDY3BLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNJRDBnZEdocGN5NWZjR0Z5YzJWV01GVnViR2wwVUhKdmNHVnlkR2xsY3lodFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNc0lHMWhkR1Z5YVdGc1JHVm1LVHRjYmlBZ0lDQWdJQ0FnYW5OdmJpNXRZWFJsY21saGJITWhXMjFoZEdWeWFXRnNTVzVrWlhoZElEMGdiV0YwWlhKcFlXdzdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV6YUdGa1pYSWdQVDA5SUNkV1VrMWZWVk5GWDBkTVZFWlRTRUZFUlZJbktTQjdYRzRnSUNBZ0lDQWdJQzh2SUdCcWMyOXVMbTFoZEdWeWFXRnNjMXR0WVhSbGNtbGhiRWx1WkdWNFhXQWdjMmh2ZFd4a0lHSmxJR0ZzY21WaFpIa2dkbUZzYVdSY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGdWbEpOVFdGMFpYSnBZV3h6VmpCRGIyMXdZWFJRYkhWbmFXNDZJRlZ1YTI1dmQyNGdjMmhoWkdWeU9pQWtlMjFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV6YUdGa1pYSjlZQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5d1lYSnpaVll3VFZSdmIyNVFjbTl3WlhKMGFXVnpLRnh1SUNBZ0lHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN6b2dWakJOWVhSbGNtbGhiQ3hjYmlBZ0lDQnpZMmhsYldGTllYUmxjbWxoYkRvZ1IweFVSbE5qYUdWdFlTNUpUV0YwWlhKcFlXd3NYRzRnSUNrNklFZE1WRVpUWTJobGJXRXVTVTFoZEdWeWFXRnNJSHRjYmlBZ0lDQmpiMjV6ZENCcGMxUnlZVzV6Y0dGeVpXNTBJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG10bGVYZHZjbVJOWVhBL0xsc25YMEZNVUVoQlFreEZUa1JmVDA0blhTQS9QeUJtWVd4elpUdGNiaUFnSUNCamIyNXpkQ0JsYm1GaWJHVmtXbGR5YVhSbElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmV2xkeWFYUmxKMTBnUFQwOUlERTdYRzRnSUNBZ1kyOXVjM1FnZEhKaGJuTndZWEpsYm5SWGFYUm9XbGR5YVhSbElEMGdaVzVoWW14bFpGcFhjbWwwWlNBbUppQnBjMVJ5WVc1emNHRnlaVzUwTzF4dVhHNGdJQ0FnWTI5dWMzUWdjbVZ1WkdWeVVYVmxkV1ZQWm1aelpYUk9kVzFpWlhJZ1BTQjBhR2x6TGw5Mk1GQmhjbk5sVW1WdVpHVnlVWFZsZFdVb2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWektUdGNibHh1SUNBZ0lHTnZibk4wSUdselEzVjBiMlptSUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtdGxlWGR2Y21STllYQS9MbHNuWDBGTVVFaEJWRVZUVkY5UFRpZGRJRDgvSUdaaGJITmxPMXh1SUNBZ0lHTnZibk4wSUdGc2NHaGhUVzlrWlNBOUlHbHpWSEpoYm5Od1lYSmxiblFnUHlBblFreEZUa1FuSURvZ2FYTkRkWFJ2Wm1ZZ1B5QW5UVUZUU3ljZ09pQW5UMUJCVVZWRkp6dGNiaUFnSUNCamIyNXpkQ0JoYkhCb1lVTjFkRzltWmlBOUlHbHpRM1YwYjJabUlEOGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmUTNWMGIyWm1KMTBnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNCamIyNXpkQ0JqZFd4c1RXOWtaU0E5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1bWJHOWhkRkJ5YjNCbGNuUnBaWE0vTGxzblgwTjFiR3hOYjJSbEoxMGdQejhnTWpzZ0x5OGdaVzUxYlN3Z2V5QlBabVlzSUVaeWIyNTBMQ0JDWVdOcklIMWNiaUFnSUNCamIyNXpkQ0JrYjNWaWJHVlRhV1JsWkNBOUlHTjFiR3hOYjJSbElEMDlQU0F3TzF4dVhHNGdJQ0FnWTI5dWMzUWdkR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVVjRkQ0E5SUhSb2FYTXVYM0J2Y25SVVpYaDBkWEpsVkhKaGJuTm1iM0p0S0cxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3lrN1hHNWNiaUFnSUNCamIyNXpkQ0JpWVhObFEyOXNiM0pHWVdOMGIzSWdQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11ZG1WamRHOXlVSEp2Y0dWeWRHbGxjejh1V3lkZlEyOXNiM0luWFQ4dWJXRndLRnh1SUNBZ0lDQWdLSFk2SUc1MWJXSmxjaXdnYVRvZ2JuVnRZbVZ5S1NBOVBpQW9hU0E5UFQwZ015QS9JSFlnT2lCbllXMXRZVVZQVkVZb2Rpa3BMQ0F2THlCaGJIQm9ZU0JqYUdGdWJtVnNJR2x6SUhOMGIzSmxaQ0JwYmlCc2FXNWxZWEpjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUdKaGMyVkRiMnh2Y2xSbGVIUjFjbVZKYm1SbGVDQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTUwWlhoMGRYSmxVSEp2Y0dWeWRHbGxjejh1V3lkZlRXRnBibFJsZUNkZE8xeHVJQ0FnSUdOdmJuTjBJR0poYzJWRGIyeHZjbFJsZUhSMWNtVWdQVnh1SUNBZ0lDQWdZbUZ6WlVOdmJHOXlWR1Y0ZEhWeVpVbHVaR1Y0SUNFOUlHNTFiR3hjYmlBZ0lDQWdJQ0FnUHlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGVEb2dZbUZ6WlVOdmJHOXlWR1Y0ZEhWeVpVbHVaR1Y0TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaWGgwWlc1emFXOXVjem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1MFpYaDBkWEpsVkhKaGJuTm1iM0p0UlhoMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnWTI5dWMzUWdibTl5YldGc1ZHVjRkSFZ5WlZOallXeGxJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlFuVnRjRk5qWVd4bEoxMDdYRzRnSUNBZ1kyOXVjM1FnYm05eWJXRnNWR1Y0ZEhWeVpVbHVaR1Y0SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxuUmxlSFIxY21WUWNtOXdaWEowYVdWelB5NWJKMTlDZFcxd1RXRndKMTA3WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzVkdWNGRIVnlaU0E5WEc0Z0lDQWdJQ0J1YjNKdFlXeFVaWGgwZFhKbFNXNWtaWGdnSVQwZ2JuVnNiRnh1SUNBZ0lDQWdJQ0EvSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2x1WkdWNE9pQnViM0p0WVd4VVpYaDBkWEpsU1c1a1pYZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCelkyRnNaVG9nYm05eWJXRnNWR1Y0ZEhWeVpWTmpZV3hsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaWGgwWlc1emFXOXVjem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1MFpYaDBkWEpsVkhKaGJuTm1iM0p0UlhoMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVzFwYzNOcGRtVkdZV04wYjNJZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVkbVZqZEc5eVVISnZjR1Z5ZEdsbGN6OHVXeWRmUlcxcGMzTnBiMjVEYjJ4dmNpZGRQeTV0WVhBb1oyRnRiV0ZGVDFSR0tUdGNiaUFnSUNCamIyNXpkQ0JsYldsemMybDJaVlJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmUlcxcGMzTnBiMjVOWVhBblhUdGNiaUFnSUNCamIyNXpkQ0JsYldsemMybDJaVlJsZUhSMWNtVWdQVnh1SUNBZ0lDQWdaVzFwYzNOcGRtVlVaWGgwZFhKbFNXNWtaWGdnSVQwZ2JuVnNiRnh1SUNBZ0lDQWdJQ0EvSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2x1WkdWNE9pQmxiV2x6YzJsMlpWUmxlSFIxY21WSmJtUmxlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjRkR1Z1YzJsdmJuTTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1ZEdWNGRIVnlaVlJ5WVc1elptOXliVVY0ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJR052Ym5OMElITm9ZV1JsUTI5c2IzSkdZV04wYjNJZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVkbVZqZEc5eVVISnZjR1Z5ZEdsbGN6OHVXeWRmVTJoaFpHVkRiMnh2Y2lkZFB5NXRZWEFvWjJGdGJXRkZUMVJHS1R0Y2JpQWdJQ0JqYjI1emRDQnphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaVWx1WkdWNElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMblJsZUhSMWNtVlFjbTl3WlhKMGFXVnpQeTViSjE5VGFHRmtaVlJsZUhSMWNtVW5YVHRjYmlBZ0lDQmpiMjV6ZENCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpTQTlYRzRnSUNBZ0lDQnphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaVWx1WkdWNElDRTlJRzUxYkd4Y2JpQWdJQ0FnSUNBZ1B5QjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxlRG9nYzJoaFpHVk5kV3gwYVhCc2VWUmxlSFIxY21WSmJtUmxlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjRkR1Z1YzJsdmJuTTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1ZEdWNGRIVnlaVlJ5WVc1elptOXliVVY0ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJQzh2SUM4dklHTnZiblpsY25RZ2RqQWdjMmhoWkdVZ2MyaHBablFnTHlCemFHRmtaU0IwYjI5dWVWeHVJQ0FnSUd4bGRDQnphR0ZrYVc1blUyaHBablJHWVdOMGIzSWdQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11Wm14dllYUlFjbTl3WlhKMGFXVnpQeTViSjE5VGFHRmtaVk5vYVdaMEoxMGdQejhnTUM0d08xeHVJQ0FnSUd4bGRDQnphR0ZrYVc1blZHOXZibmxHWVdOMGIzSWdQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11Wm14dllYUlFjbTl3WlhKMGFXVnpQeTViSjE5VGFHRmtaVlJ2YjI1NUoxMGdQejhnTUM0NU8xeHVJQ0FnSUhOb1lXUnBibWRVYjI5dWVVWmhZM1J2Y2lBOUlGUklVa1ZGTGsxaGRHaFZkR2xzY3k1c1pYSndLSE5vWVdScGJtZFViMjl1ZVVaaFkzUnZjaXdnTVM0d0xDQXdMalVnS3lBd0xqVWdLaUJ6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0lwTzF4dUlDQWdJSE5vWVdScGJtZFRhR2xtZEVaaFkzUnZjaUE5SUMxemFHRmthVzVuVTJocFpuUkdZV04wYjNJZ0xTQW9NUzR3SUMwZ2MyaGhaR2x1WjFSdmIyNTVSbUZqZEc5eUtUdGNibHh1SUNBZ0lHTnZibk4wSUdkcFNXNTBaVzV6YVhSNVJtRmpkRzl5SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZTVzVrYVhKbFkzUk1hV2RvZEVsdWRHVnVjMmwwZVNkZE8xeHVJQ0FnSUdOdmJuTjBJR2RwUlhGMVlXeHBlbUYwYVc5dVJtRmpkRzl5SUQwZ1oybEpiblJsYm5OcGRIbEdZV04wYjNJZ1B5QXhMakFnTFNCbmFVbHVkR1Z1YzJsMGVVWmhZM1J2Y2lBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHTnZibk4wSUcxaGRHTmhjRlJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmVTNCb1pYSmxRV1JrSjEwN1hHNGdJQ0FnWTI5dWMzUWdiV0YwWTJGd1JtRmpkRzl5SUQwZ2JXRjBZMkZ3VkdWNGRIVnlaVWx1WkdWNElDRTlJRzUxYkd3Z1B5QmJNUzR3TENBeExqQXNJREV1TUYwZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ1kyOXVjM1FnYldGMFkyRndWR1Y0ZEhWeVpTQTlYRzRnSUNBZ0lDQnRZWFJqWVhCVVpYaDBkWEpsU1c1a1pYZ2dJVDBnYm5Wc2JGeHVJQ0FnSUNBZ0lDQS9JSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0T2lCdFlYUmpZWEJVWlhoMGRYSmxTVzVrWlhnc1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdOdmJuTjBJSEpwYlV4cFoyaDBhVzVuVFdsNFJtRmpkRzl5SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZVbWx0VEdsbmFIUnBibWROYVhnblhUdGNiaUFnSUNCamIyNXpkQ0J5YVcxTmRXeDBhWEJzZVZSbGVIUjFjbVZKYm1SbGVDQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTUwWlhoMGRYSmxVSEp2Y0dWeWRHbGxjejh1V3lkZlVtbHRWR1Y0ZEhWeVpTZGRPMXh1SUNBZ0lHTnZibk4wSUhKcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlNBOVhHNGdJQ0FnSUNCeWFXMU5kV3gwYVhCc2VWUmxlSFIxY21WSmJtUmxlQ0FoUFNCdWRXeHNYRzRnSUNBZ0lDQWdJRDhnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrWlhnNklISnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpVbHVaR1Y0TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaWGgwWlc1emFXOXVjem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1MFpYaDBkWEpsVkhKaGJuTm1iM0p0UlhoMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnWTI5dWMzUWdjR0Z5WVcxbGRISnBZMUpwYlVOdmJHOXlSbUZqZEc5eUlEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMblpsWTNSdmNsQnliM0JsY25ScFpYTS9MbHNuWDFKcGJVTnZiRzl5SjEwL0xtMWhjQ2huWVcxdFlVVlBWRVlwTzF4dUlDQWdJR052Ym5OMElIQmhjbUZ0WlhSeWFXTlNhVzFHY21WemJtVnNVRzkzWlhKR1lXTjBiM0lnUFNCdFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNdVpteHZZWFJRY205d1pYSjBhV1Z6UHk1YkoxOVNhVzFHY21WemJtVnNVRzkzWlhJblhUdGNiaUFnSUNCamIyNXpkQ0J3WVhKaGJXVjBjbWxqVW1sdFRHbG1kRVpoWTNSdmNpQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTVtYkc5aGRGQnliM0JsY25ScFpYTS9MbHNuWDFKcGJVeHBablFuWFR0Y2JseHVJQ0FnSUdOdmJuTjBJRzkxZEd4cGJtVlhhV1IwYUUxdlpHVWdQU0JiSjI1dmJtVW5MQ0FuZDI5eWJHUkRiMjl5WkdsdVlYUmxjeWNzSUNkelkzSmxaVzVEYjI5eVpHbHVZWFJsY3lkZFcxeHVJQ0FnSUNBZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZUM1YwYkdsdVpWZHBaSFJvVFc5a1pTZGRJRDgvSURCY2JpQWdJQ0JkSUdGeklGWXhUVlJ2YjI1VFkyaGxiV0V1VFdGMFpYSnBZV3h6VFZSdmIyNVBkWFJzYVc1bFYybGtkR2hOYjJSbE8xeHVYRzRnSUNBZ0x5OGdMeThnZGpBZ2IzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUlHbHpJR2x1SUdObGJuUnBiV1YwWlhKY2JpQWdJQ0JzWlhRZ2IzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUlEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmVDNWMGJHbHVaVmRwWkhSb0oxMGdQejhnTUM0d08xeHVJQ0FnSUc5MWRHeHBibVZYYVdSMGFFWmhZM1J2Y2lBOUlEQXVNREVnS2lCdmRYUnNhVzVsVjJsa2RHaEdZV04wYjNJN1hHNWNiaUFnSUNCamIyNXpkQ0J2ZFhSc2FXNWxWMmxrZEdoTmRXeDBhWEJzZVZSbGVIUjFjbVZKYm1SbGVDQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTUwWlhoMGRYSmxVSEp2Y0dWeWRHbGxjejh1V3lkZlQzVjBiR2x1WlZkcFpIUm9WR1Y0ZEhWeVpTZGRPMXh1SUNBZ0lHTnZibk4wSUc5MWRHeHBibVZYYVdSMGFFMTFiSFJwY0d4NVZHVjRkSFZ5WlNBOVhHNGdJQ0FnSUNCdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21WSmJtUmxlQ0FoUFNCdWRXeHNYRzRnSUNBZ0lDQWdJRDhnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrWlhnNklHOTFkR3hwYm1WWGFXUjBhRTExYkhScGNHeDVWR1Y0ZEhWeVpVbHVaR1Y0TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaWGgwWlc1emFXOXVjem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1MFpYaDBkWEpsVkhKaGJuTm1iM0p0UlhoMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnWTI5dWMzUWdiM1YwYkdsdVpVTnZiRzl5Um1GamRHOXlJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG5abFkzUnZjbEJ5YjNCbGNuUnBaWE0vTGxzblgwOTFkR3hwYm1WRGIyeHZjaWRkUHk1dFlYQW9aMkZ0YldGRlQxUkdLVHRjYmlBZ0lDQmpiMjV6ZENCdmRYUnNhVzVsUTI5c2IzSk5iMlJsSUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZUM1YwYkdsdVpVTnZiRzl5VFc5a1pTZGRPeUF2THlCbGJuVnRMQ0I3SUVacGVHVmtMQ0JOYVhobFpDQjlYRzRnSUNBZ1kyOXVjM1FnYjNWMGJHbHVaVXhwWjJoMGFXNW5UV2w0Um1GamRHOXlJRDFjYmlBZ0lDQWdJRzkxZEd4cGJtVkRiMnh2Y2sxdlpHVWdQVDA5SURFZ1B5QnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVabXh2WVhSUWNtOXdaWEowYVdWelB5NWJKMTlQZFhSc2FXNWxUR2xuYUhScGJtZE5hWGduWFNBNklEQXVNRHRjYmx4dUlDQWdJR052Ym5OMElIVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVZKYm1SbGVDQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTUwWlhoMGRYSmxVSEp2Y0dWeWRHbGxjejh1V3lkZlZYWkJibWx0VFdGemExUmxlSFIxY21VblhUdGNiaUFnSUNCamIyNXpkQ0IxZGtGdWFXMWhkR2x2YmsxaGMydFVaWGgwZFhKbElEMWNiaUFnSUNBZ0lIVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVZKYm1SbGVDQWhQU0J1ZFd4c1hHNGdJQ0FnSUNBZ0lEOGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaWGc2SUhWMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVkpibVJsZUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0ZEdWdWMybHZibk02SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWRHVjRkSFZ5WlZSeVlXNXpabTl5YlVWNGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdOdmJuTjBJSFYyUVc1cGJXRjBhVzl1VTJOeWIyeHNXRk53WldWa1JtRmpkRzl5SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZWWFpCYm1sdFUyTnliMnhzV0NkZE8xeHVYRzRnSUNBZ0x5OGdkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0lnZDJsc2JDQmlaU0J2Y0hCdmMybDBaU0JpWlhSM1pXVnVJRll3SUdGdVpDQldNVnh1SUNBZ0lHeGxkQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmxUY0dWbFpFWmhZM1J2Y2lBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NW1iRzloZEZCeWIzQmxjblJwWlhNL0xsc25YMVYyUVc1cGJWTmpjbTlzYkZrblhUdGNiaUFnSUNCcFppQW9kWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0lnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3haVTNCbFpXUkdZV04wYjNJZ1BTQXRkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0k3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RYWkJibWx0WVhScGIyNVNiM1JoZEdsdmJsTndaV1ZrUm1GamRHOXlJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlZYWkJibWx0VW05MFlYUnBiMjRuWFR0Y2JseHVJQ0FnSUdOdmJuTjBJRzEwYjI5dVJYaDBaVzV6YVc5dU9pQldNVTFVYjI5dVUyTm9aVzFoTGxaU1RVTk5ZWFJsY21saGJITk5WRzl2YmlBOUlIdGNiaUFnSUNBZ0lITndaV05XWlhKemFXOXVPaUFuTVM0d0p5eGNiaUFnSUNBZ0lIUnlZVzV6Y0dGeVpXNTBWMmwwYUZwWGNtbDBaU3hjYmlBZ0lDQWdJSEpsYm1SbGNsRjFaWFZsVDJabWMyVjBUblZ0WW1WeUxGeHVJQ0FnSUNBZ2MyaGhaR1ZEYjJ4dmNrWmhZM1J2Y2l4Y2JpQWdJQ0FnSUhOb1lXUmxUWFZzZEdsd2JIbFVaWGgwZFhKbExGeHVJQ0FnSUNBZ2MyaGhaR2x1WjFOb2FXWjBSbUZqZEc5eUxGeHVJQ0FnSUNBZ2MyaGhaR2x1WjFSdmIyNTVSbUZqZEc5eUxGeHVJQ0FnSUNBZ1oybEZjWFZoYkdsNllYUnBiMjVHWVdOMGIzSXNYRzRnSUNBZ0lDQnRZWFJqWVhCR1lXTjBiM0lzWEc0Z0lDQWdJQ0J0WVhSallYQlVaWGgwZFhKbExGeHVJQ0FnSUNBZ2NtbHRUR2xuYUhScGJtZE5hWGhHWVdOMGIzSXNYRzRnSUNBZ0lDQnlhVzFOZFd4MGFYQnNlVlJsZUhSMWNtVXNYRzRnSUNBZ0lDQndZWEpoYldWMGNtbGpVbWx0UTI5c2IzSkdZV04wYjNJc1hHNGdJQ0FnSUNCd1lYSmhiV1YwY21salVtbHRSbkpsYzI1bGJGQnZkMlZ5Um1GamRHOXlMRnh1SUNBZ0lDQWdjR0Z5WVcxbGRISnBZMUpwYlV4cFpuUkdZV04wYjNJc1hHNGdJQ0FnSUNCdmRYUnNhVzVsVjJsa2RHaE5iMlJsTEZ4dUlDQWdJQ0FnYjNWMGJHbHVaVmRwWkhSb1JtRmpkRzl5TEZ4dUlDQWdJQ0FnYjNWMGJHbHVaVmRwWkhSb1RYVnNkR2x3YkhsVVpYaDBkWEpsTEZ4dUlDQWdJQ0FnYjNWMGJHbHVaVU52Ykc5eVJtRmpkRzl5TEZ4dUlDQWdJQ0FnYjNWMGJHbHVaVXhwWjJoMGFXNW5UV2w0Um1GamRHOXlMRnh1SUNBZ0lDQWdkWFpCYm1sdFlYUnBiMjVOWVhOclZHVjRkSFZ5WlN4Y2JpQWdJQ0FnSUhWMlFXNXBiV0YwYVc5dVUyTnliMnhzV0ZOd1pXVmtSbUZqZEc5eUxGeHVJQ0FnSUNBZ2RYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSXNYRzRnSUNBZ0lDQjFka0Z1YVcxaGRHbHZibEp2ZEdGMGFXOXVVM0JsWldSR1lXTjBiM0lzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQXVMaTV6WTJobGJXRk5ZWFJsY21saGJDeGNibHh1SUNBZ0lDQWdjR0p5VFdWMFlXeHNhV05TYjNWbmFHNWxjM002SUh0Y2JpQWdJQ0FnSUNBZ1ltRnpaVU52Ykc5eVJtRmpkRzl5TEZ4dUlDQWdJQ0FnSUNCaVlYTmxRMjlzYjNKVVpYaDBkWEpsTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUc1dmNtMWhiRlJsZUhSMWNtVXNYRzRnSUNBZ0lDQmxiV2x6YzJsMlpWUmxlSFIxY21Vc1hHNGdJQ0FnSUNCbGJXbHpjMmwyWlVaaFkzUnZjaXhjYmlBZ0lDQWdJR0ZzY0doaFRXOWtaU3hjYmlBZ0lDQWdJR0ZzY0doaFEzVjBiMlptTEZ4dUlDQWdJQ0FnWkc5MVlteGxVMmxrWldRc1hHNGdJQ0FnSUNCbGVIUmxibk5wYjI1ek9pQjdYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym1GdGFXNW5MV052Ym5abGJuUnBiMjVjYmlBZ0lDQWdJQ0FnVmxKTlExOXRZWFJsY21saGJITmZiWFJ2YjI0NklHMTBiMjl1UlhoMFpXNXphVzl1TEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmNHRnljMlZXTUZWdWJHbDBVSEp2Y0dWeWRHbGxjeWhjYmlBZ0lDQnRZWFJsY21saGJGQnliM0JsY25ScFpYTTZJRll3VFdGMFpYSnBZV3dzWEc0Z0lDQWdjMk5vWlcxaFRXRjBaWEpwWVd3NklFZE1WRVpUWTJobGJXRXVTVTFoZEdWeWFXRnNMRnh1SUNBcE9pQkhURlJHVTJOb1pXMWhMa2xOWVhSbGNtbGhiQ0I3WEc0Z0lDQWdZMjl1YzNRZ2FYTlVjbUZ1YzNCaGNtVnVkRnBYY21sMFpTQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV6YUdGa1pYSWdQVDA5SUNkV1VrMHZWVzVzYVhSVWNtRnVjM0JoY21WdWRGcFhjbWwwWlNjN1hHNGdJQ0FnWTI5dWMzUWdhWE5VY21GdWMzQmhjbVZ1ZENBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NXphR0ZrWlhJZ1BUMDlJQ2RXVWswdlZXNXNhWFJVY21GdWMzQmhjbVZ1ZENjZ2ZId2dhWE5VY21GdWMzQmhjbVZ1ZEZwWGNtbDBaVHRjYmx4dUlDQWdJR052Ym5OMElISmxibVJsY2xGMVpYVmxUMlptYzJWMFRuVnRZbVZ5SUQwZ2RHaHBjeTVmZGpCUVlYSnpaVkpsYm1SbGNsRjFaWFZsS0cxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3lrN1hHNWNiaUFnSUNCamIyNXpkQ0JwYzBOMWRHOW1aaUE5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1emFHRmtaWElnUFQwOUlDZFdVazB2Vlc1c2FYUkRkWFJ2ZFhRbk8xeHVJQ0FnSUdOdmJuTjBJR0ZzY0doaFRXOWtaU0E5SUdselZISmhibk53WVhKbGJuUWdQeUFuUWt4RlRrUW5JRG9nYVhORGRYUnZabVlnUHlBblRVRlRTeWNnT2lBblQxQkJVVlZGSnp0Y2JpQWdJQ0JqYjI1emRDQmhiSEJvWVVOMWRHOW1aaUE5SUdselEzVjBiMlptSUQ4Z2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZRM1YwYjJabUoxMGdPaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JqYjI1emRDQjBaWGgwZFhKbFZISmhibk5tYjNKdFJYaDBJRDBnZEdocGN5NWZjRzl5ZEZSbGVIUjFjbVZVY21GdWMyWnZjbTBvYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR0poYzJWRGIyeHZja1poWTNSdmNpQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTUyWldOMGIzSlFjbTl3WlhKMGFXVnpQeTViSjE5RGIyeHZjaWRkUHk1dFlYQW9aMkZ0YldGRlQxUkdLVHRjYmlBZ0lDQmpiMjV6ZENCaVlYTmxRMjlzYjNKVVpYaDBkWEpsU1c1a1pYZ2dQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11ZEdWNGRIVnlaVkJ5YjNCbGNuUnBaWE0vTGxzblgwMWhhVzVVWlhnblhUdGNiaUFnSUNCamIyNXpkQ0JpWVhObFEyOXNiM0pVWlhoMGRYSmxJRDFjYmlBZ0lDQWdJR0poYzJWRGIyeHZjbFJsZUhSMWNtVkpibVJsZUNBaFBTQnVkV3hzWEc0Z0lDQWdJQ0FnSUQ4Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pYZzZJR0poYzJWRGIyeHZjbFJsZUhSMWNtVkpibVJsZUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0ZEdWdWMybHZibk02SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWRHVjRkSFZ5WlZSeVlXNXpabTl5YlVWNGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUM4dklIVnpaU0J0ZEc5dmJpQnBibk4wWldGa0lHOW1JSFZ1YkdsMExDQnphVzVqWlNCMGFHVnlaU0J0YVdkb2RDQmlaU0JXVWswd0xqQWdjM0JsWTJsbWFXTWdabVZoZEhWeVpYTWdkR2hoZENCaGNtVWdibTkwSUhOMWNIQnZjblJsWkNCaWVTQm5iSFJtWEc0Z0lDQWdZMjl1YzNRZ2JYUnZiMjVGZUhSbGJuTnBiMjQ2SUZZeFRWUnZiMjVUWTJobGJXRXVWbEpOUTAxaGRHVnlhV0ZzYzAxVWIyOXVJRDBnZTF4dUlDQWdJQ0FnYzNCbFkxWmxjbk5wYjI0NklDY3hMakFuTEZ4dUlDQWdJQ0FnZEhKaGJuTndZWEpsYm5SWGFYUm9XbGR5YVhSbE9pQnBjMVJ5WVc1emNHRnlaVzUwV2xkeWFYUmxMRnh1SUNBZ0lDQWdjbVZ1WkdWeVVYVmxkV1ZQWm1aelpYUk9kVzFpWlhJc1hHNGdJQ0FnSUNCemFHRmtaVU52Ykc5eVJtRmpkRzl5T2lCaVlYTmxRMjlzYjNKR1lXTjBiM0lzWEc0Z0lDQWdJQ0J6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlRvZ1ltRnpaVU52Ykc5eVZHVjRkSFZ5WlN4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQzR1TG5OamFHVnRZVTFoZEdWeWFXRnNMRnh1WEc0Z0lDQWdJQ0J3WW5KTlpYUmhiR3hwWTFKdmRXZG9ibVZ6Y3pvZ2UxeHVJQ0FnSUNBZ0lDQmlZWE5sUTI5c2IzSkdZV04wYjNJc1hHNGdJQ0FnSUNBZ0lHSmhjMlZEYjJ4dmNsUmxlSFIxY21Vc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ1lXeHdhR0ZOYjJSbExGeHVJQ0FnSUNBZ1lXeHdhR0ZEZFhSdlptWXNYRzRnSUNBZ0lDQmxlSFJsYm5OcGIyNXpPaUI3WEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI1Y2JpQWdJQ0FnSUNBZ1ZsSk5RMTl0WVhSbGNtbGhiSE5mYlhSdmIyNDZJRzEwYjI5dVJYaDBaVzV6YVc5dUxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJR2RzVkVZZ1lFdElVbDkwWlhoMGRYSmxYM1J5WVc1elptOXliV0FnWlhoMFpXNXphVzl1SUdaeWIyMGdkakFnZEdWNGRIVnlaU0IwY21GdWMyWnZjbTBnYVc1bWJ5NWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM0J2Y25SVVpYaDBkWEpsVkhKaGJuTm1iM0p0S0cxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3pvZ1ZqQk5ZWFJsY21saGJDazZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJR0Z1ZVNCOUlIdGNiaUFnSUNCamIyNXpkQ0IwWlhoMGRYSmxWSEpoYm5ObWIzSnRJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG5abFkzUnZjbEJ5YjNCbGNuUnBaWE0vTGxzblgwMWhhVzVVWlhnblhUdGNiaUFnSUNCcFppQW9kR1Y0ZEhWeVpWUnlZVzV6Wm05eWJTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UzMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYjJabWMyVjBJRDBnVzNSbGVIUjFjbVZVY21GdWMyWnZjbTAvTGxzd1hTQS9QeUF3TGpBc0lIUmxlSFIxY21WVWNtRnVjMlp2Y20wL0xsc3hYU0EvUHlBd0xqQmRPMXh1SUNBZ0lHTnZibk4wSUhOallXeGxJRDBnVzNSbGVIUjFjbVZVY21GdWMyWnZjbTAvTGxzeVhTQS9QeUF4TGpBc0lIUmxlSFIxY21WVWNtRnVjMlp2Y20wL0xsc3pYU0EvUHlBeExqQmRPMXh1WEc0Z0lDQWdiMlptYzJWMFd6RmRJRDBnTVM0d0lDMGdjMk5oYkdWYk1WMGdMU0J2Wm1aelpYUmJNVjA3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1WVcxcGJtY3RZMjl1ZG1WdWRHbHZibHh1SUNBZ0lDQWdTMGhTWDNSbGVIUjFjbVZmZEhKaGJuTm1iM0p0T2lCN0lHOW1abk5sZEN3Z2MyTmhiR1VnZlN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnZiblpsY25RZ2RqQWdjbVZ1WkdWeUlHOXlaR1Z5SUdsdWRHOGdkakVnY21WdVpHVnlJRzl5WkdWeUxseHVJQ0FnS2lCVWFHbHpJSFZ6WlhNZ1lTQnRZWEFnWm5KdmJTQjJNQ0J5Wlc1a1pYSWdjWFZsZFdVZ2RHOGdkakVnWTI5dGNHeHBZVzUwSUhKbGJtUmxjaUJ4ZFdWMVpTQnZabVp6WlhRZ2QyaHBZMmdnYVhNZ1oyVnVaWEpoZEdWa0lHbHVJSHRBYkdsdWF5QmZjRzl3ZFd4aGRHVlNaVzVrWlhKUmRXVjFaVTFoY0gwdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOTJNRkJoY25ObFVtVnVaR1Z5VVhWbGRXVW9iV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpPaUJXTUUxaGRHVnlhV0ZzS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0JqYjI1emRDQnBjMVJ5WVc1emNHRnlaVzUwSUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtdGxlWGR2Y21STllYQS9MbHNuWDBGTVVFaEJRa3hGVGtSZlQwNG5YU0EvUHlCbVlXeHpaVHRjYmlBZ0lDQmpiMjV6ZENCbGJtRmliR1ZrV2xkeWFYUmxJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZldsZHlhWFJsSjEwZ1BUMDlJREU3WEc1Y2JpQWdJQ0JzWlhRZ2IyWm1jMlYwSUQwZ01EdGNibHh1SUNBZ0lHbG1JQ2hwYzFSeVlXNXpjR0Z5Wlc1MEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMk1GRjFaWFZsSUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxuSmxibVJsY2xGMVpYVmxPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RqQlJkV1YxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm1GaWJHVmtXbGR5YVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjJabWMyVjBJRDBnZEdocGN5NWZjbVZ1WkdWeVVYVmxkV1ZOWVhCVWNtRnVjM0JoY21WdWRGcFhjbWwwWlM1blpYUW9kakJSZFdWMVpTa2hPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ0E5SUhSb2FYTXVYM0psYm1SbGNsRjFaWFZsVFdGd1ZISmhibk53WVhKbGJuUXVaMlYwS0hZd1VYVmxkV1VwSVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2Wm1aelpYUTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnYldGd0lIZG9hV05vSUcxaGNITWdkakFnY21WdVpHVnlJSEYxWlhWbElIUnZJSFl4SUdOdmJYQnNhV0Z1ZENCeVpXNWtaWElnY1hWbGRXVWdiMlptYzJWMExseHVJQ0FnS2lCVWFHbHpJR3hwYzNSeklIVndJR0ZzYkNCeVpXNWtaWElnY1hWbGRXVnpJSFJvWlNCdGIyUmxiQ0IxYzJVZ1lXNWtJR055WldGMFpYTWdZU0J0WVhBZ2RHOGdibVYzSUhKbGJtUmxjaUJ4ZFdWMVpTQnZabVp6WlhSeklHbHVJSFJvWlNCellXMWxJRzl5WkdWeUxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZjRzl3ZFd4aGRHVlNaVzVrWlhKUmRXVjFaVTFoY0NodFlYUmxjbWxoYkZCeWIzQmxjblJwWlhOTWFYTjBPaUJXTUUxaGRHVnlhV0ZzVzEwcElIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkJJSE5sZENCdlppQjFjMlZrSUhKbGJtUmxjaUJ4ZFdWMVpYTWdhVzRnVkhKaGJuTndZWEpsYm5RZ2JXRjBaWEpwWVd4ekxseHVJQ0FnSUNBcUwxeHVJQ0FnSUdOdmJuTjBJSEpsYm1SbGNsRjFaWFZsYzFSeVlXNXpjR0Z5Wlc1MElEMGdibVYzSUZObGREeHVkVzFpWlhJK0tDazdYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJCSUhObGRDQnZaaUIxYzJWa0lISmxibVJsY2lCeGRXVjFaWE1nYVc0Z1ZISmhibk53WVhKbGJuUmFWM0pwZEdVZ2JXRjBaWEpwWVd4ekxseHVJQ0FnSUNBcUwxeHVJQ0FnSUdOdmJuTjBJSEpsYm1SbGNsRjFaWFZsYzFSeVlXNXpjR0Z5Wlc1MFdsZHlhWFJsSUQwZ2JtVjNJRk5sZER4dWRXMWlaWEkrS0NrN1hHNWNiaUFnSUNBdkx5QndiM0IxYkdGMFpTQjBhR1VnY21WdVpHVnlJSEYxWlhWbElITmxkRnh1SUNBZ0lHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGMweHBjM1F1Wm05eVJXRmphQ2dvYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6S1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGMxUnlZVzV6Y0dGeVpXNTBJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG10bGVYZHZjbVJOWVhBL0xsc25YMEZNVUVoQlFreEZUa1JmVDA0blhTQS9QeUJtWVd4elpUdGNiaUFnSUNBZ0lHTnZibk4wSUdWdVlXSnNaV1JhVjNKcGRHVWdQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11Wm14dllYUlFjbTl3WlhKMGFXVnpQeTViSjE5YVYzSnBkR1VuWFNBOVBUMGdNVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHpWSEpoYm5Od1lYSmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZGpCUmRXVjFaU0E5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1eVpXNWtaWEpSZFdWMVpUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RqQlJkV1YxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWdVlXSnNaV1JhVjNKcGRHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxibVJsY2xGMVpYVmxjMVJ5WVc1emNHRnlaVzUwV2xkeWFYUmxMbUZrWkNoMk1GRjFaWFZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WdVpHVnlVWFZsZFdWelZISmhibk53WVhKbGJuUXVZV1JrS0hZd1VYVmxkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnYzJodmR5QmhJSGRoY201cGJtY2dhV1lnZEdobElHMXZaR1ZzSUhWelpYTWdkakVnYVc1amIyMXdZWFJwWW14bElHNTFiV0psY2lCdlppQnlaVzVrWlhJZ2NYVmxkV1Z6WEc0Z0lDQWdhV1lnS0hKbGJtUmxjbEYxWlhWbGMxUnlZVzV6Y0dGeVpXNTBMbk5wZW1VZ1BpQXhNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGeHVJQ0FnSUNBZ0lDQmdWbEpOVFdGMFpYSnBZV3h6VmpCRGIyMXdZWFJRYkhWbmFXNDZJRlJvYVhNZ1ZsSk5JSFZ6WlhNZ0pIdHlaVzVrWlhKUmRXVjFaWE5VY21GdWMzQmhjbVZ1ZEM1emFYcGxmU0J5Wlc1a1pYSWdjWFZsZFdWeklHWnZjaUJVY21GdWMzQmhjbVZ1ZENCdFlYUmxjbWxoYkhNZ2QyaHBiR1VnVmxKTklERXVNQ0J2Ym14NUlITjFjSEJ2Y25SeklIVndJSFJ2SURFd0lISmxibVJsY2lCeGRXVjFaWE11SUZSb1pTQnRiMlJsYkNCdGFXZG9kQ0J1YjNRZ1ltVWdjbVZ1WkdWeVpXUWdZMjl5Y21WamRHeDVMbUFzWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeVpXNWtaWEpSZFdWMVpYTlVjbUZ1YzNCaGNtVnVkRnBYY21sMFpTNXphWHBsSUQ0Z01UQXBJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNBZ1lGWlNUVTFoZEdWeWFXRnNjMVl3UTI5dGNHRjBVR3gxWjJsdU9pQlVhR2x6SUZaU1RTQjFjMlZ6SUNSN2NtVnVaR1Z5VVhWbGRXVnpWSEpoYm5Od1lYSmxiblJhVjNKcGRHVXVjMmw2WlgwZ2NtVnVaR1Z5SUhGMVpYVmxjeUJtYjNJZ1ZISmhibk53WVhKbGJuUmFWM0pwZEdVZ2JXRjBaWEpwWVd4eklIZG9hV3hsSUZaU1RTQXhMakFnYjI1c2VTQnpkWEJ3YjNKMGN5QjFjQ0IwYnlBeE1DQnlaVzVrWlhJZ2NYVmxkV1Z6TGlCVWFHVWdiVzlrWld3Z2JXbG5hSFFnYm05MElHSmxJSEpsYm1SbGNtVmtJR052Y25KbFkzUnNlUzVnTEZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCamNtVmhkR1VnWVNCdFlYQWdabkp2YlNCMk1DQnlaVzVrWlhJZ2NYVmxkV1VnZEc4Z2RqRWdjbVZ1WkdWeUlIRjFaWFZsSUc5bVpuTmxkRnh1SUNBZ0lFRnljbUY1TG1aeWIyMG9jbVZ1WkdWeVVYVmxkV1Z6VkhKaGJuTndZWEpsYm5RcFhHNGdJQ0FnSUNBdWMyOXlkQ2dwWEc0Z0lDQWdJQ0F1Wm05eVJXRmphQ2dvY1hWbGRXVXNJR2twSUQwK0lIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtVjNVWFZsZFdWUFptWnpaWFFnUFNCTllYUm9MbTFwYmloTllYUm9MbTFoZUNocElDMGdjbVZ1WkdWeVVYVmxkV1Z6VkhKaGJuTndZWEpsYm5RdWMybDZaU0FySURFc0lDMDVLU3dnTUNrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDNKbGJtUmxjbEYxWlhWbFRXRndWSEpoYm5Od1lYSmxiblF1YzJWMEtIRjFaWFZsTENCdVpYZFJkV1YxWlU5bVpuTmxkQ2s3WEc0Z0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUVGeWNtRjVMbVp5YjIwb2NtVnVaR1Z5VVhWbGRXVnpWSEpoYm5Od1lYSmxiblJhVjNKcGRHVXBYRzRnSUNBZ0lDQXVjMjl5ZENncFhHNGdJQ0FnSUNBdVptOXlSV0ZqYUNnb2NYVmxkV1VzSUdrcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdibVYzVVhWbGRXVlBabVp6WlhRZ1BTQk5ZWFJvTG0xcGJpaE5ZWFJvTG0xaGVDaHBMQ0F3S1N3Z09TazdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgzSmxibVJsY2xGMVpYVmxUV0Z3VkhKaGJuTndZWEpsYm5SYVYzSnBkR1V1YzJWMEtIRjFaWFZsTENCdVpYZFJkV1YxWlU5bVpuTmxkQ2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdmVnh1ZlZ4dUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN1FVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQmIwZEJPMEZCUTA4c1UwRkJVeXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEZWQlFWVXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVeXhGUVVGRk8wRkJRemRFTEVsQlFVa3NVMEZCVXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzVDBGQlR5eExRVUZMTEZsQlFWa3NRMEZCUXl4SFFVRkhMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eFZRVUZWTEU5QlFVOHNSVUZCUlN4RlFVRkZMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTJoSUxFbEJRVWtzVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFVkJRVVVzVlVGQlZTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZPMEZCUXk5RUxGRkJRVkVzVTBGQlV5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0QlFVTnVSeXhSUVVGUkxGTkJRVk1zVVVGQlVTeERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0QlFVTjBSeXhSUVVGUkxGTkJRVk1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTXNSVUZCUlR0QlFVTjBTQ3hSUVVGUkxFbEJRVWtzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeFZRVUZWTEVsQlFVa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU01UlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOUU96dEJRekZJVFN4VFFVRlZMRk5CUVZNc1EwRkJReXhEUVVGVExFVkJRVUU3U1VGRGFrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTXhRanM3VFVOTFlTd3dRa0ZCTUVJc1EwRkJRVHRCUVdGeVF5eEpRVUZCTEVsQlFWY3NTVUZCU1N4SFFVRkJPMEZCUTJJc1VVRkJRU3hQUVVGUExEUkNRVUUwUWl4RFFVRkRPMHRCUTNKRE8wRkJSVVFzU1VGQlFTeFhRVUZCTEVOQlFXMUNMRTFCUVd0Q0xFVkJRVUU3TzBGQlEyNURMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdRVUZGY2tJc1VVRkJRU3hKUVVGSkxFTkJRVU1zTUVKQlFUQkNMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dEJRVU0xUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhuUTBGQlowTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE96czdRVUZKYkVRc1VVRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVhkQ0xFTkJRVU03VVVGRmJFUXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNZMEZCWXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRVZCUVVVc1EwRkJRenRSUVVOb1JDeEpRVUZKTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1QwRkJUeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVU3UVVGREwwUXNXVUZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRE8wRkJRMjVFTEZOQlFVRTdTMEZEUmp0SlFVVlpMRlZCUVZVc1IwRkJRVHM3TzBGQlEzSkNMRmxCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRjNRaXhEUVVGRE96dFpRVWRzUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExFdEJRVXNzUTBGQmMwSXNRMEZCUXp0WlFVTnlSU3hOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMR05CUVdNc1MwRkJRU3hKUVVGQkxFbEJRV1FzWTBGQll5eExRVUZrTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxHTkJRV01zUTBGQlJTeHJRa0ZCYTBJc1EwRkJRenRaUVVOb1JTeEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVU3WjBKQlEzcENMRTlCUVU4N1FVRkRVaXhoUVVGQk96dEJRVWRFTEZsQlFVRXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU03TzFsQlIyNUVMRzlDUVVGdlFpeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdGQlFXRXNTMEZCU1RzN1owSkJRMnBGTEUxQlFVMHNWMEZCVnl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1lVRkJZU3hEUVVGRExFTkJRVU03WjBKQlJYQkVMRWxCUVVrc1YwRkJWeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU4yUWl4dlFrRkJRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEhkRVFVRjNSQ3hoUVVGaExFTkJRVUVzZDBOQlFVRXNRMEZCTUVNc1EwRkRhRWdzUTBGQlF6dHZRa0ZEUml4UFFVRlBPMEZCUTFJc2FVSkJRVUU3UVVGRlJDeG5Ra0ZCUVN4SlFVRkpMR3RDUVVGclFpeERRVUZETEUxQlFVMHNTMEZCU3l4WFFVRlhMRVZCUVVVN2IwSkJRemRETEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4clFrRkJhMElzUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTXZSU3h2UWtGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVlN4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF6dEJRVU16UXl4cFFrRkJRVHR4UWtGQlRTeEpRVUZKTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEUxQlFVMHNNRU5CUVVVc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTzI5Q1FVTTNSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1YwRkJWeXhEUVVGRExFTkJRVU03UVVGREwwVXNiMEpCUVVFc1NVRkJTU3hEUVVGRExGTkJRVlVzUTBGQlF5eGhRVUZoTEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNN1FVRkRNME1zYVVKQlFVRTdRVUZCVFN4eFFrRkJRU3hKUVVGSkxHdENRVUZyUWl4RFFVRkRMRTFCUVUwc1MwRkJTeXh2UWtGQmIwSXNSVUZCUlN4RFFVVTVSRHRCUVVGTkxIRkNRVUZCTzI5Q1FVTk1MRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlFTdzBRMEZCUVN4RlFVRXJReXhyUWtGQmEwSXNRMEZCUXl4TlFVRk5MRU5CUVVVc1EwRkJRU3hEUVVGRExFTkJRVU03UVVGRE1VWXNhVUpCUVVFN1FVRkRTQ3hoUVVGRExFTkJRVU1zUTBGQlF6czdRVUZEU2l4TFFVRkJPMGxCUlU4c2RVSkJRWFZDTEVOQlF6ZENMR3RDUVVFNFFpeEZRVU01UWl4alFVRnZReXhGUVVGQk96dEJRVVZ3UXl4UlFVRkJMRTFCUVUwc1lVRkJZU3hIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhuUWtGQlowSXNRMEZCUXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRXRCUVVzc1EwRkJRenRCUVVOcVJpeFJRVUZCTEUxQlFVMHNZVUZCWVN4SFFVRkhMRU5CUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEZOQlFWTXNRMEZCUXl4TlFVRkxMRU5CUVVNc1EwRkJRenRCUVVNMVJTeFJRVUZCTEUxQlFVMHNjVUpCUVhGQ0xFZEJRVWNzWVVGQllTeEpRVUZKTEdGQlFXRXNRMEZCUXp0UlFVVTNSQ3hOUVVGTkxIVkNRVUYxUWl4SFFVRkhMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETzBGQlJUZEZMRkZCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHVkJRV1VzUTBGQlF5eE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEV0QlFVc3NRMEZCUXp0QlFVTXpSU3hSUVVGQkxFMUJRVTBzVTBGQlV5eEhRVUZITEdGQlFXRXNSMEZCUnl4UFFVRlBMRWRCUVVjc1VVRkJVU3hIUVVGSExFMUJRVTBzUjBGQlJ5eFJRVUZSTEVOQlFVTTdRVUZEZWtVc1VVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eFJRVUZSTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN3d1EwRkJSeXhUUVVGVExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdRVUZGTTBZc1VVRkJRU3hOUVVGTkxGRkJRVkVzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4bFFVRmxMRTFCUVVjc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVjBGQlZ5eERRVUZETEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNoRkxGRkJRVUVzVFVGQlRTeFhRVUZYTEVkQlFVY3NVVUZCVVN4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVWdVF5eE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMEZCUlRORkxGRkJRVUVzVFVGQlRTeGxRVUZsTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1owSkJRV2RDTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1VVRkJVU3hEUVVGRExEQkRRVUZGTEVkQlFVY3NRMEZETVVVc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVTjJSQ3hEUVVGRE8xRkJRMFlzVFVGQlRTeHhRa0ZCY1VJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhwUWtGQmFVSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU5xUml4UlFVRkJMRTFCUVUwc1owSkJRV2RDTEVkQlEzQkNMSEZDUVVGeFFpeEpRVUZKTEVsQlFVazdRVUZETTBJc1kwRkJSVHRCUVVORkxHZENRVUZCTEV0QlFVc3NSVUZCUlN4eFFrRkJjVUk3WjBKQlF6VkNMRlZCUVZVc1JVRkJRU3hOUVVGQkxFTkJRVUVzVFVGQlFTeERRVUZCTEVWQlFVRXNSVUZEVEN4dFFrRkJiVUlzUTBGRGRrSTdRVUZEUml4aFFVRkJPMk5CUTBRc1UwRkJVeXhEUVVGRE8xRkJSV2hDTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJRemxGTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zYVVKQlFXbENMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdRVUZET1VVc1VVRkJRU3hOUVVGTkxHRkJRV0VzUjBGRGFrSXNhMEpCUVd0Q0xFbEJRVWtzU1VGQlNUdEJRVU40UWl4alFVRkZPMEZCUTBVc1owSkJRVUVzUzBGQlN5eEZRVUZGTEd0Q1FVRnJRanRCUVVONlFpeG5Ra0ZCUVN4TFFVRkxMRVZCUVVVc2EwSkJRV3RDTzJkQ1FVTjZRaXhWUVVGVkxFVkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUTB3c2JVSkJRVzFDTEVOQlEzWkNPMEZCUTBZc1lVRkJRVHRqUVVORUxGTkJRVk1zUTBGQlF6dEJRVVZvUWl4UlFVRkJMRTFCUVUwc1kwRkJZeXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdkQ1FVRm5RaXhOUVVGSExFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEdkQ1FVRm5RaXhEUVVGRExFMUJRVVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJReTlHTEUxQlFVMHNiMEpCUVc5Q0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zYVVKQlFXbENMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzWTBGQll5eERRVUZETEVOQlFVTTdRVUZEY0VZc1VVRkJRU3hOUVVGTkxHVkJRV1VzUjBGRGJrSXNiMEpCUVc5Q0xFbEJRVWtzU1VGQlNUdEJRVU14UWl4alFVRkZPMEZCUTBVc1owSkJRVUVzUzBGQlN5eEZRVUZGTEc5Q1FVRnZRanRuUWtGRE0wSXNWVUZCVlN4RlFVRkJMRTFCUVVFc1EwRkJRU3hOUVVGQkxFTkJRVUVzUlVGQlFTeEZRVU5NTEcxQ1FVRnRRaXhEUVVOMlFqdEJRVU5HTEdGQlFVRTdZMEZEUkN4VFFVRlRMRU5CUVVNN1FVRkZhRUlzVVVGQlFTeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdkQ1FVRm5RaXhOUVVGSExFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEdGQlFXRXNRMEZCUXl4TlFVRkZMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTTVSaXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR2xDUVVGcFFpeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMR1ZCUVdVc1EwRkJReXhEUVVGRE8wRkJRekZHTEZGQlFVRXNUVUZCVFN4dlFrRkJiMElzUjBGRGVFSXNlVUpCUVhsQ0xFbEJRVWtzU1VGQlNUdEJRVU12UWl4alFVRkZPMEZCUTBVc1owSkJRVUVzUzBGQlN5eEZRVUZGTEhsQ1FVRjVRanRuUWtGRGFFTXNWVUZCVlN4RlFVRkJMRTFCUVVFc1EwRkJRU3hOUVVGQkxFTkJRVUVzUlVGQlFTeEZRVU5NTEcxQ1FVRnRRaXhEUVVOMlFqdEJRVU5HTEdGQlFVRTdZMEZEUkN4VFFVRlRMRU5CUVVNN08wRkJSMmhDTEZGQlFVRXNTVUZCU1N4clFrRkJhMElzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4bFFVRmxMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzWVVGQllTeERRVUZETEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNSMEZCUnl4RFFVRkRPMEZCUTNCR0xGRkJRVUVzU1VGQlNTeHJRa0ZCYTBJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF5eGxRVUZsTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1lVRkJZU3hEUVVGRExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUjBGQlJ5eERRVUZETzBGQlEzQkdMRkZCUVVFc2EwSkJRV3RDTEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dFJRVU51Unl4clFrRkJhMElzUjBGQlJ5eERRVUZETEd0Q1FVRnJRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8xRkJSWFJGTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMSGxDUVVGNVFpeERRVUZETEVOQlFVTTdRVUZETVVZc1VVRkJRU3hOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMR2xDUVVGcFFpeEhRVUZITEVkQlFVY3NSMEZCUnl4cFFrRkJhVUlzUjBGQlJ5eFRRVUZUTEVOQlFVTTdVVUZGY2tZc1RVRkJUU3hyUWtGQmEwSXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4cFFrRkJhVUlzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4WlFVRlpMRU5CUVVNc1EwRkJRenRCUVVOb1JpeFJRVUZCTEUxQlFVMHNXVUZCV1N4SFFVRkhMR3RDUVVGclFpeEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRPMEZCUXpsRkxGRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlEycENMR3RDUVVGclFpeEpRVUZKTEVsQlFVazdRVUZEZUVJc1kwRkJSVHRCUVVORkxHZENRVUZCTEV0QlFVc3NSVUZCUlN4clFrRkJhMEk3UVVGRE1VSXNZVUZCUVR0alFVTkVMRk5CUVZNc1EwRkJRenRSUVVWb1FpeE5RVUZOTEc5Q1FVRnZRaXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlEzSkdMRTFCUVUwc2RVSkJRWFZDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNhVUpCUVdsQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NZVUZCWVN4RFFVRkRMRU5CUVVNN1FVRkRkRVlzVVVGQlFTeE5RVUZOTEd0Q1FVRnJRaXhIUVVOMFFpeDFRa0ZCZFVJc1NVRkJTU3hKUVVGSk8wRkJRemRDTEdOQlFVVTdRVUZEUlN4blFrRkJRU3hMUVVGTExFVkJRVVVzZFVKQlFYVkNPMmRDUVVNNVFpeFZRVUZWTEVWQlFVRXNUVUZCUVN4RFFVRkJMRTFCUVVFc1EwRkJRU3hGUVVGQkxFVkJRMHdzYlVKQlFXMUNMRU5CUTNaQ08wRkJRMFlzWVVGQlFUdGpRVU5FTEZOQlFWTXNRMEZCUXp0QlFVVm9RaXhSUVVGQkxFMUJRVTBzZDBKQlFYZENMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWjBKQlFXZENMRTFCUVVjc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVjBGQlZ5eERRVUZETEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlEzQkhMRTFCUVUwc0swSkJRU3RDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1VVRkRha2NzVFVGQlRTeDFRa0ZCZFVJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhsUVVGbExFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkZha1lzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhEUVVGRExFMUJRVTBzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4RFFVTjRSU3hOUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4dFFrRkJiVUlzUTBGQlF5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVOQlFVTXNRMEZEWml4RFFVRkRPenRCUVVkc1JDeFJRVUZCTEVsQlFVa3NhMEpCUVd0Q0xFZEJRVWNzUTBGQlFTeEhRVUZCTEVkQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHVkJRV1VzUTBGQlF5eE5RVUZKTEVsQlFVRXNTVUZCUVN4SFFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUjBGQlFTeEhRVUZCTEVkQlFVY3NRMEZCUXp0QlFVTjBSaXhSUVVGQkxHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXp0UlFVVXZReXhOUVVGTkxHZERRVUZuUXl4SFFVRkhMRU5CUVVFc1IwRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR2xDUVVGcFFpeE5RVUZCTEVsQlFVRXNTVUZCUVN4SFFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSMEZCUVN4RFFVRkhMSE5DUVVGelFpeERRVUZETEVOQlFVTTdRVUZEZUVjc1VVRkJRU3hOUVVGTkxESkNRVUV5UWl4SFFVTXZRaXhuUTBGQlowTXNTVUZCU1N4SlFVRkpPMEZCUTNSRExHTkJRVVU3UVVGRFJTeG5Ra0ZCUVN4TFFVRkxMRVZCUVVVc1owTkJRV2RETzJkQ1FVTjJReXhWUVVGVkxFVkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUTB3c2JVSkJRVzFDTEVOQlEzWkNPMEZCUTBZc1lVRkJRVHRqUVVORUxGTkJRVk1zUTBGQlF6dEJRVVZvUWl4UlFVRkJMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NRMEZCUVN4SFFVRkJMRWRCUVVFc1EwRkJRU3hIUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1owSkJRV2RDTEUxQlFVY3NTVUZCUVN4SlFVRkJMRWRCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4SFFVRkJMRU5CUVVFc1pVRkJaU3hEUVVGRExFMUJRVVVzU1VGQlFTeEpRVUZCTEVkQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEhRVUZCTEVOQlFVRXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJRMnhITEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUTBGQlFTeEhRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeE5RVUZCTEVsQlFVRXNTVUZCUVN4SFFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSMEZCUVN4RFFVRkhMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdRVUZEYmtZc1VVRkJRU3hOUVVGTkxIZENRVUYzUWl4SFFVTTFRaXhuUWtGQlowSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJRU3hIUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3cwUTBGQlJ5eHhRa0ZCY1VJc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF6dFJRVVUzUml4TlFVRk5MREpDUVVFeVFpeEhRVUZITEVOQlFVRXNSMEZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdsQ1FVRnBRaXhOUVVGQkxFbEJRVUVzU1VGQlFTeEhRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUjBGQlFTeERRVUZITEc5Q1FVRnZRaXhEUVVGRExFTkJRVU03UVVGRGFrY3NVVUZCUVN4TlFVRk5MSE5DUVVGelFpeEhRVU14UWl3eVFrRkJNa0lzU1VGQlNTeEpRVUZKTzBGQlEycERMR05CUVVVN1FVRkRSU3huUWtGQlFTeExRVUZMTEVWQlFVVXNNa0pCUVRKQ08yZENRVU5zUXl4VlFVRlZMRVZCUVVFc1RVRkJRU3hEUVVGQkxFMUJRVUVzUTBGQlFTeEZRVUZCTEVWQlEwd3NiVUpCUVcxQ0xFTkJRM1pDTzBGQlEwWXNZVUZCUVR0alFVTkVMRk5CUVZNc1EwRkJRenRSUVVWb1FpeE5RVUZOTERaQ1FVRTJRaXhIUVVGSExFTkJRVUVzUjBGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzVFVGQlFTeEpRVUZCTEVsQlFVRXNSMEZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVkQlFVRXNRMEZCUnl4blFrRkJaMElzUTBGQlF5eERRVUZET3p0UlFVYzNSaXhKUVVGSkxEWkNRVUUyUWl4SFFVRkhMRU5CUVVFc1IwRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR1ZCUVdVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUjBGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFZEJRVUVzUTBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8xRkJRek5HTEVsQlFVa3NOa0pCUVRaQ0xFbEJRVWtzU1VGQlNTeEZRVUZGTzFsQlEzcERMRFpDUVVFMlFpeEhRVUZITEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU03UVVGRGFFVXNVMEZCUVR0UlFVVkVMRTFCUVUwc09FSkJRVGhDTEVkQlFVY3NRMEZCUVN4SFFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1IwRkJRU3hEUVVGSExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1FVRkZMMFlzVVVGQlFTeE5RVUZOTEdOQlFXTXNSMEZCY1VNN1FVRkRka1FzV1VGQlFTeFhRVUZYTEVWQlFVVXNTMEZCU3p0WlFVTnNRaXh4UWtGQmNVSTdXVUZEY2tJc2RVSkJRWFZDTzFsQlEzWkNMR2RDUVVGblFqdFpRVU5vUWl4dlFrRkJiMEk3V1VGRGNFSXNhMEpCUVd0Q08xbEJRMnhDTEd0Q1FVRnJRanRaUVVOc1FpeHZRa0ZCYjBJN1dVRkRjRUlzV1VGQldUdFpRVU5hTEdGQlFXRTdXVUZEWWl4dlFrRkJiMEk3V1VGRGNFSXNhMEpCUVd0Q08xbEJRMnhDTEhkQ1FVRjNRanRaUVVONFFpd3JRa0ZCSzBJN1dVRkRMMElzZFVKQlFYVkNPMWxCUTNaQ0xHZENRVUZuUWp0WlFVTm9RaXhyUWtGQmEwSTdXVUZEYkVJc01rSkJRVEpDTzFsQlF6TkNMR3RDUVVGclFqdFpRVU5zUWl4M1FrRkJkMEk3V1VGRGVFSXNjMEpCUVhOQ08xbEJRM1JDTERaQ1FVRTJRanRaUVVNM1FpdzJRa0ZCTmtJN1dVRkROMElzT0VKQlFUaENPMU5CUXk5Q0xFTkJRVU03VVVGRlJpeFBRVU5MTEUxQlFVRXNRMEZCUVN4TlFVRkJMRU5CUVVFc1RVRkJRU3hEUVVGQkxFMUJRVUVzUTBGQlFTeEZRVUZCTEVWQlFVRXNZMEZCWXl4RFFVVnFRaXhGUVVGQkxFVkJRVUVzYjBKQlFXOUNMRVZCUVVVN1owSkJRM0JDTEdWQlFXVTdaMEpCUTJZc1owSkJRV2RDTzBGQlEycENMR0ZCUVVFc1JVRkRSQ3hoUVVGaE8xbEJRMklzWlVGQlpUdFpRVU5tTEdOQlFXTTdXVUZEWkN4VFFVRlRPMWxCUTFRc1YwRkJWenRaUVVOWUxGZEJRVmNzUlVGRFdDeFZRVUZWTEVWQlFVVTdPMEZCUlZZc1owSkJRVUVzYjBKQlFXOUNMRVZCUVVVc1kwRkJZenRoUVVOeVF5eEZRVU5FTEVOQlFVRXNRMEZCUVR0TFFVTklPMGxCUlU4c2RVSkJRWFZDTEVOQlF6ZENMR3RDUVVFNFFpeEZRVU01UWl4alFVRnZReXhGUVVGQk96dEJRVVZ3UXl4UlFVRkJMRTFCUVUwc2JVSkJRVzFDTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeExRVUZMTERSQ1FVRTBRaXhEUVVGRE8xRkJRM1pHTEUxQlFVMHNZVUZCWVN4SFFVRkhMR3RDUVVGclFpeERRVUZETEUxQlFVMHNTMEZCU3l4elFrRkJjMElzU1VGQlNTeHRRa0ZCYlVJc1EwRkJRenRSUVVWc1J5eE5RVUZOTEhWQ1FVRjFRaXhIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMEZCUlRkRkxGRkJRVUVzVFVGQlRTeFJRVUZSTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeExRVUZMTEdsQ1FVRnBRaXhEUVVGRE8wRkJRMnBGTEZGQlFVRXNUVUZCVFN4VFFVRlRMRWRCUVVjc1lVRkJZU3hIUVVGSExFOUJRVThzUjBGQlJ5eFJRVUZSTEVkQlFVY3NUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVONlJTeFJRVUZCTEUxQlFVMHNWMEZCVnl4SFFVRkhMRkZCUVZFc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhsUVVGbExEQkRRVUZITEZOQlFWTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRSUVVVelJpeE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMEZCUlRORkxGRkJRVUVzVFVGQlRTeGxRVUZsTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1owSkJRV2RDTEUxQlFVY3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1VVRkJVU3hEUVVGRExFMUJRVVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJRM2hHTEUxQlFVMHNjVUpCUVhGQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zYVVKQlFXbENMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdRVUZEYWtZc1VVRkJRU3hOUVVGTkxHZENRVUZuUWl4SFFVTndRaXh4UWtGQmNVSXNTVUZCU1N4SlFVRkpPMEZCUXpOQ0xHTkJRVVU3UVVGRFJTeG5Ra0ZCUVN4TFFVRkxMRVZCUVVVc2NVSkJRWEZDTzJkQ1FVTTFRaXhWUVVGVkxFVkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUTB3c2JVSkJRVzFDTEVOQlEzWkNPMEZCUTBZc1lVRkJRVHRqUVVORUxGTkJRVk1zUTBGQlF6czdRVUZIYUVJc1VVRkJRU3hOUVVGTkxHTkJRV01zUjBGQmNVTTdRVUZEZGtRc1dVRkJRU3hYUVVGWExFVkJRVVVzUzBGQlN6dEJRVU5zUWl4WlFVRkJMSEZDUVVGeFFpeEZRVUZGTEcxQ1FVRnRRanRaUVVNeFF5eDFRa0ZCZFVJN1FVRkRka0lzV1VGQlFTeG5Ra0ZCWjBJc1JVRkJSU3hsUVVGbE8wRkJRMnBETEZsQlFVRXNiMEpCUVc5Q0xFVkJRVVVzWjBKQlFXZENPMU5CUTNaRExFTkJRVU03VVVGRlJpeFBRVU5MTEUxQlFVRXNRMEZCUVN4TlFVRkJMRU5CUVVFc1RVRkJRU3hEUVVGQkxFMUJRVUVzUTBGQlFTeEZRVUZCTEVWQlFVRXNZMEZCWXl4RFFVVnFRaXhGUVVGQkxFVkJRVUVzYjBKQlFXOUNMRVZCUVVVN1owSkJRM0JDTEdWQlFXVTdaMEpCUTJZc1owSkJRV2RDTzBGQlEycENMR0ZCUVVFc1JVRkRSQ3hUUVVGVE8xbEJRMVFzVjBGQlZ5eEZRVU5ZTEZWQlFWVXNSVUZCUlRzN1FVRkZWaXhuUWtGQlFTeHZRa0ZCYjBJc1JVRkJSU3hqUVVGak8yRkJRM0pETEVWQlEwUXNRMEZCUVN4RFFVRkJPMHRCUTBnN1FVRkZSRHM3UVVGRlJ6dEJRVU5MTEVsQlFVRXNjVUpCUVhGQ0xFTkJRVU1zYTBKQlFUaENMRVZCUVVFN08xRkJRekZFTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWjBKQlFXZENMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZETTBVc1NVRkJTU3huUWtGQlowSXNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkROVUlzV1VGQlFTeFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTllMRk5CUVVFN1VVRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVRXNSVUZCUVN4SFFVRkJMR2RDUVVGblFpeExRVUZvUWl4SlFVRkJMRWxCUVVFc1owSkJRV2RDTEV0QlFXaENMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEdkQ1FVRm5RaXhEUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkJMRVZCUVVFc1IwRkJRU3huUWtGQlowSXNTMEZCYUVJc1NVRkJRU3hKUVVGQkxHZENRVUZuUWl4TFFVRm9RaXhMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4blFrRkJaMElzUTBGQlJ5eERRVUZETEVOQlFVTXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNMVJTeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVFc1JVRkJRU3hIUVVGQkxHZENRVUZuUWl4TFFVRm9RaXhKUVVGQkxFbEJRVUVzWjBKQlFXZENMRXRCUVdoQ0xFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMR2RDUVVGblFpeERRVUZITEVOQlFVTXNRMEZCUXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1MwRkJhRUlzU1VGQlFTeEpRVUZCTEdkQ1FVRm5RaXhMUVVGb1FpeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVVV6UlN4UlFVRkJMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVjJReXhQUVVGUE96dEJRVVZNTEZsQlFVRXNjVUpCUVhGQ0xFVkJRVVVzUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZPMU5CUTNwRExFTkJRVU03UzBGRFNEdEJRVVZFT3pzN1FVRkhSenRCUVVOTExFbEJRVUVzYlVKQlFXMUNMRU5CUVVNc2EwSkJRVGhDTEVWQlFVRTdPMEZCUTNoRUxGRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEdkQ1FVRm5RaXhEUVVGRExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUzBGQlN5eERRVUZETzBGQlEycEdMRkZCUVVFc1RVRkJUU3hoUVVGaExFZEJRVWNzUTBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF5eGxRVUZsTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1UwRkJVeXhEUVVGRExFMUJRVXNzUTBGQlF5eERRVUZETzFGQlJUVkZMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVVZtTEZGQlFVRXNTVUZCU1N4aFFVRmhMRVZCUVVVN1FVRkRha0lzV1VGQlFTeE5RVUZOTEU5QlFVOHNSMEZCUnl4clFrRkJhMElzUTBGQlF5eFhRVUZYTEVOQlFVTTdXVUZGTDBNc1NVRkJTU3hQUVVGUExFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEyNUNMR2RDUVVGQkxFbEJRVWtzWVVGQllTeEZRVUZGTzI5Q1FVTnFRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEdkRFFVRm5ReXhEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUXp0QlFVTTVSQ3hwUWtGQlFUdEJRVUZOTEhGQ1FVRkJPMjlDUVVOTUxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkRPMEZCUTNoRUxHbENRVUZCTzBGQlEwWXNZVUZCUVR0QlFVTkdMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETzB0QlEyWTdRVUZGUkRzN08wRkJSMGM3UVVGRFN5eEpRVUZCTEhWQ1FVRjFRaXhEUVVGRExITkNRVUZ2UXl4RlFVRkJPMEZCUTJ4Rk96dEJRVVZITzBGQlEwZ3NVVUZCUVN4TlFVRk5MSFZDUVVGMVFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRlZMRU5CUVVNN1FVRkZiRVE3TzBGQlJVYzdRVUZEU0N4UlFVRkJMRTFCUVUwc05rSkJRVFpDTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVZVc1EwRkJRenM3UVVGSGVFUXNVVUZCUVN4elFrRkJjMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4clFrRkJhMElzUzBGQlNUczdRVUZEY0VRc1dVRkJRU3hOUVVGTkxHRkJRV0VzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4VlFVRlZMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzWjBKQlFXZENMRU5CUVVNc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hMUVVGTExFTkJRVU03UVVGRGFrWXNXVUZCUVN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhEUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4VFFVRlRMRU5CUVVNc1RVRkJTeXhEUVVGRExFTkJRVU03UVVGRk5VVXNXVUZCUVN4SlFVRkpMR0ZCUVdFc1JVRkJSVHRCUVVOcVFpeG5Ra0ZCUVN4TlFVRk5MRTlCUVU4c1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1owSkJSUzlETEVsQlFVa3NUMEZCVHl4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOdVFpeHZRa0ZCUVN4SlFVRkpMR0ZCUVdFc1JVRkJSVHRCUVVOcVFpeDNRa0ZCUVN3MlFrRkJOa0lzUTBGQlF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1FVRkROVU1zY1VKQlFVRTdRVUZCVFN4NVFrRkJRVHRCUVVOTUxIZENRVUZCTEhWQ1FVRjFRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVTjBReXh4UWtGQlFUdEJRVU5HTEdsQ1FVRkJPMEZCUTBZc1lVRkJRVHRCUVVOSUxGTkJRVU1zUTBGQlF5eERRVUZET3p0QlFVZElMRkZCUVVFc1NVRkJTU3gxUWtGQmRVSXNRMEZCUXl4SlFVRkpMRWRCUVVjc1JVRkJSU3hGUVVGRk8xbEJRM0pETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc1EwRkJRU3d3UTBGQlFTeEZRVUUyUXl4MVFrRkJkVUlzUTBGQlF5eEpRVUZKTEVOQlFYbEpMSFZKUVVGQkxFTkJRVUVzUTBGRGJrNHNRMEZCUXp0QlFVTklMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzTmtKQlFUWkNMRU5CUVVNc1NVRkJTU3hIUVVGSExFVkJRVVVzUlVGQlJUdFpRVU16UXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xFTkJRVUVzTUVOQlFVRXNSVUZCTmtNc05rSkJRVFpDTEVOQlFVTXNTVUZCU1N4RFFVRXJTU3cyU1VGQlFTeERRVUZCTEVOQlF5OU9MRU5CUVVNN1FVRkRTQ3hUUVVGQk96dEJRVWRFTEZGQlFVRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNRMEZCUXp0QlFVTm9ReXhoUVVGQkxFbEJRVWtzUlVGQlJUdEJRVU5PTEdGQlFVRXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUzBGQlNUdFpRVU53UWl4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExIVkNRVUYxUWl4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOMlJpeEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NSVUZCUlN4alFVRmpMRU5CUVVNc1EwRkJRenRCUVVNM1JDeFRRVUZETEVOQlFVTXNRMEZCUXp0QlFVVk1MRkZCUVVFc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1EwRkJRenRCUVVOMFF5eGhRVUZCTEVsQlFVa3NSVUZCUlR0QlFVTk9MR0ZCUVVFc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTXNTMEZCU1R0QlFVTndRaXhaUVVGQkxFMUJRVTBzWTBGQll5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGJrUXNTVUZCU1N4RFFVRkRMR2REUVVGblF5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRVZCUVVVc1kwRkJZeXhEUVVGRExFTkJRVU03UVVGRGJrVXNVMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRUanRCUVVOR096czdPeUo5XG4iLCIvKiFcbiAqIEBwaXhpdi90aHJlZS12cm0tbm9kZS1jb25zdHJhaW50IHYyLjAuNlxuICogTm9kZSBjb25zdHJhaW50IG1vZHVsZSBmb3IgQHBpeGl2L3RocmVlLXZybVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMC0yMDIzIHBpeGl2IEluYy5cbiAqIEBwaXhpdi90aHJlZS12cm0tbm9kZS1jb25zdHJhaW50IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGl4aXYvdGhyZWUtdnJtL2Jsb2IvcmVsZWFzZS9MSUNFTlNFXG4gKi9cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgX3YzQSQzID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNsYXNzIFZSTU5vZGVDb25zdHJhaW50SGVscGVyIGV4dGVuZHMgVEhSRUUuR3JvdXAge1xuICAgIGNvbnN0cnVjdG9yKGNvbnN0cmFpbnQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fYXR0clBvc2l0aW9uID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAwLCAwLCAwLCAwXSksIDMpO1xuICAgICAgICB0aGlzLl9hdHRyUG9zaXRpb24uc2V0VXNhZ2UoVEhSRUUuRHluYW1pY0RyYXdVc2FnZSk7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IFRIUkVFLkJ1ZmZlckdlb21ldHJ5KCk7XG4gICAgICAgIGdlb21ldHJ5LnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCB0aGlzLl9hdHRyUG9zaXRpb24pO1xuICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICBjb2xvcjogMHhmZjAwZmYsXG4gICAgICAgICAgICBkZXB0aFRlc3Q6IGZhbHNlLFxuICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saW5lID0gbmV3IFRIUkVFLkxpbmUoZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICAgICAgdGhpcy5hZGQodGhpcy5fbGluZSk7XG4gICAgICAgIHRoaXMuY29uc3RyYWludCA9IGNvbnN0cmFpbnQ7XG4gICAgfVxuICAgIHVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKSB7XG4gICAgICAgIF92M0EkMy5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5jb25zdHJhaW50LmRlc3RpbmF0aW9uLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgdGhpcy5fYXR0clBvc2l0aW9uLnNldFhZWigwLCBfdjNBJDMueCwgX3YzQSQzLnksIF92M0EkMy56KTtcbiAgICAgICAgaWYgKHRoaXMuY29uc3RyYWludC5zb3VyY2UpIHtcbiAgICAgICAgICAgIF92M0EkMy5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5jb25zdHJhaW50LnNvdXJjZS5tYXRyaXhXb3JsZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXR0clBvc2l0aW9uLnNldFhZWigxLCBfdjNBJDMueCwgX3YzQSQzLnksIF92M0EkMy56KTtcbiAgICAgICAgdGhpcy5fYXR0clBvc2l0aW9uLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgc3VwZXIudXBkYXRlTWF0cml4V29ybGQoZm9yY2UpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZGVjb21wb3NlUG9zaXRpb24obWF0cml4LCB0YXJnZXQpIHtcbiAgICByZXR1cm4gdGFyZ2V0LnNldChtYXRyaXguZWxlbWVudHNbMTJdLCBtYXRyaXguZWxlbWVudHNbMTNdLCBtYXRyaXguZWxlbWVudHNbMTRdKTtcbn1cblxuY29uc3QgX3YzQSQyID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0IkMSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5mdW5jdGlvbiBkZWNvbXBvc2VSb3RhdGlvbihtYXRyaXgsIHRhcmdldCkge1xuICAgIG1hdHJpeC5kZWNvbXBvc2UoX3YzQSQyLCB0YXJnZXQsIF92M0IkMSk7XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cblxuLyoqXG4gKiBBIGNvbXBhdCBmdW5jdGlvbiBmb3IgYFF1YXRlcm5pb24uaW52ZXJ0KClgIC8gYFF1YXRlcm5pb24uaW52ZXJzZSgpYC5cbiAqIGBRdWF0ZXJuaW9uLmludmVydCgpYCBpcyBpbnRyb2R1Y2VkIGluIHIxMjMgYW5kIGBRdWF0ZXJuaW9uLmludmVyc2UoKWAgZW1pdHMgYSB3YXJuaW5nLlxuICogV2UgYXJlIGdvaW5nIHRvIHVzZSB0aGlzIGNvbXBhdCBmb3IgYSB3aGlsZS5cbiAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgcXVhdGVybmlvblxuICovXG5mdW5jdGlvbiBxdWF0SW52ZXJ0Q29tcGF0KHRhcmdldCkge1xuICAgIGlmICh0YXJnZXQuaW52ZXJ0KSB7XG4gICAgICAgIHRhcmdldC5pbnZlcnQoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRhcmdldC5pbnZlcnNlKCk7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG59XG5cbi8qKlxuICogQSBiYXNlIGNsYXNzIG9mIFZSTSBjb25zdHJhaW50IGNsYXNzZXMuXG4gKi9cbmNsYXNzIFZSTU5vZGVDb25zdHJhaW50IHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIGRlc3RpbmF0aW9uIG9iamVjdFxuICAgICAqIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3RcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbiwgc291cmNlKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHRoaXMud2VpZ2h0ID0gMS4wO1xuICAgIH1cbn1cblxuY29uc3QgX3YzQSQxID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0IgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfcXVhdEEkMiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEIkMiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEMgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuLyoqXG4gKiBBIGNvbnN0cmFpbnQgdGhhdCBtYWtlcyBpdCBsb29rIGF0IGEgc291cmNlIG9iamVjdC5cbiAqXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS92cm0tYy92cm0tc3BlY2lmaWNhdGlvbi90cmVlL21hc3Rlci9zcGVjaWZpY2F0aW9uL1ZSTUNfbm9kZV9jb25zdHJhaW50LTEuMF9iZXRhI3JvbGwtY29uc3RyYWludFxuICovXG5jbGFzcyBWUk1BaW1Db25zdHJhaW50IGV4dGVuZHMgVlJNTm9kZUNvbnN0cmFpbnQge1xuICAgIC8qKlxuICAgICAqIFRoZSBhaW0gYXhpcyBvZiB0aGUgY29uc3RyYWludC5cbiAgICAgKi9cbiAgICBnZXQgYWltQXhpcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FpbUF4aXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBhaW0gYXhpcyBvZiB0aGUgY29uc3RyYWludC5cbiAgICAgKi9cbiAgICBzZXQgYWltQXhpcyhhaW1BeGlzKSB7XG4gICAgICAgIHRoaXMuX2FpbUF4aXMgPSBhaW1BeGlzO1xuICAgICAgICB0aGlzLl92M0FpbUF4aXMuc2V0KGFpbUF4aXMgPT09ICdQb3NpdGl2ZVgnID8gMS4wIDogYWltQXhpcyA9PT0gJ05lZ2F0aXZlWCcgPyAtMS4wIDogMC4wLCBhaW1BeGlzID09PSAnUG9zaXRpdmVZJyA/IDEuMCA6IGFpbUF4aXMgPT09ICdOZWdhdGl2ZVknID8gLTEuMCA6IDAuMCwgYWltQXhpcyA9PT0gJ1Bvc2l0aXZlWicgPyAxLjAgOiBhaW1BeGlzID09PSAnTmVnYXRpdmVaJyA/IC0xLjAgOiAwLjApO1xuICAgIH1cbiAgICBnZXQgZGVwZW5kZW5jaWVzKCkge1xuICAgICAgICBjb25zdCBzZXQgPSBuZXcgU2V0KFt0aGlzLnNvdXJjZV0pO1xuICAgICAgICBpZiAodGhpcy5kZXN0aW5hdGlvbi5wYXJlbnQpIHtcbiAgICAgICAgICAgIHNldC5hZGQodGhpcy5kZXN0aW5hdGlvbi5wYXJlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXQ7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgICAgIHRoaXMuX2FpbUF4aXMgPSAnUG9zaXRpdmVYJztcbiAgICAgICAgdGhpcy5fdjNBaW1BeGlzID0gbmV3IFRIUkVFLlZlY3RvcjMoMSwgMCwgMCk7XG4gICAgICAgIHRoaXMuX2RzdFJlc3RRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICB9XG4gICAgc2V0SW5pdFN0YXRlKCkge1xuICAgICAgICB0aGlzLl9kc3RSZXN0UXVhdC5jb3B5KHRoaXMuZGVzdGluYXRpb24ucXVhdGVybmlvbik7XG4gICAgfVxuICAgIHVwZGF0ZSgpIHtcbiAgICAgICAgLy8gdXBkYXRlIHdvcmxkIG1hdHJpeCBvZiBkZXN0aW5hdGlvbiBhbmQgc291cmNlIG1hbnVhbGx5XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24udXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLnNvdXJjZS51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCBmYWxzZSk7XG4gICAgICAgIC8vIGdldCB3b3JsZCBxdWF0ZXJuaW9uIG9mIHRoZSBwYXJlbnQgb2YgdGhlIGRlc3RpbmF0aW9uXG4gICAgICAgIGNvbnN0IGRzdFBhcmVudFdvcmxkUXVhdCA9IF9xdWF0QSQyLmlkZW50aXR5KCk7XG4gICAgICAgIGNvbnN0IGludkRzdFBhcmVudFdvcmxkUXVhdCA9IF9xdWF0QiQyLmlkZW50aXR5KCk7XG4gICAgICAgIGlmICh0aGlzLmRlc3RpbmF0aW9uLnBhcmVudCkge1xuICAgICAgICAgICAgZGVjb21wb3NlUm90YXRpb24odGhpcy5kZXN0aW5hdGlvbi5wYXJlbnQubWF0cml4V29ybGQsIGRzdFBhcmVudFdvcmxkUXVhdCk7XG4gICAgICAgICAgICBxdWF0SW52ZXJ0Q29tcGF0KGludkRzdFBhcmVudFdvcmxkUXVhdC5jb3B5KGRzdFBhcmVudFdvcmxkUXVhdCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNhbGN1bGF0ZSBmcm9tLXRvIHZlY3RvcnMgaW4gd29ybGQgY29vcmRcbiAgICAgICAgY29uc3QgYTAgPSBfdjNBJDEuY29weSh0aGlzLl92M0FpbUF4aXMpLmFwcGx5UXVhdGVybmlvbih0aGlzLl9kc3RSZXN0UXVhdCkuYXBwbHlRdWF0ZXJuaW9uKGRzdFBhcmVudFdvcmxkUXVhdCk7XG4gICAgICAgIGNvbnN0IGExID0gZGVjb21wb3NlUG9zaXRpb24odGhpcy5zb3VyY2UubWF0cml4V29ybGQsIF92M0IpXG4gICAgICAgICAgICAuc3ViKGRlY29tcG9zZVBvc2l0aW9uKHRoaXMuZGVzdGluYXRpb24ubWF0cml4V29ybGQsIF92M0MpKVxuICAgICAgICAgICAgLm5vcm1hbGl6ZSgpO1xuICAgICAgICAvLyBjcmVhdGUgYSBmcm9tLXRvIHF1YXRlcm5pb24sIGNvbnZlcnQgdG8gZGVzdGluYXRpb24gbG9jYWwgY29vcmQsIHRoZW4gbXVsdGlwbHkgcmVzdCBxdWF0ZXJuaW9uXG4gICAgICAgIGNvbnN0IHRhcmdldFF1YXQgPSBfcXVhdENcbiAgICAgICAgICAgIC5zZXRGcm9tVW5pdFZlY3RvcnMoYTAsIGExKVxuICAgICAgICAgICAgLnByZW11bHRpcGx5KGludkRzdFBhcmVudFdvcmxkUXVhdClcbiAgICAgICAgICAgIC5tdWx0aXBseShkc3RQYXJlbnRXb3JsZFF1YXQpXG4gICAgICAgICAgICAubXVsdGlwbHkodGhpcy5fZHN0UmVzdFF1YXQpO1xuICAgICAgICAvLyBibGVuZCB3aXRoIHRoZSByZXN0IHF1YXRlcm5pb24gdXNpbmcgd2VpZ2h0XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ucXVhdGVybmlvbi5jb3B5KHRoaXMuX2RzdFJlc3RRdWF0KS5zbGVycCh0YXJnZXRRdWF0LCB0aGlzLndlaWdodCk7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxuLyoqXG4gKiBUcmF2ZXJzZSBhbmNlc3RvcnMgb2YgZ2l2ZW4gb2JqZWN0IGFuZCBjYWxsIGdpdmVuIGNhbGxiYWNrIGZyb20gcm9vdCBzaWRlLlxuICogSXQgd2lsbCBpbmNsdWRlIHRoZSBnaXZlbiBvYmplY3QgaXRzZWxmLlxuICpcbiAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdCB5b3Ugd2FudCB0byB0cmF2ZXJzZVxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsIGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaCBhbmNlc3RvcnNcbiAqL1xuZnVuY3Rpb24gdHJhdmVyc2VBbmNlc3RvcnNGcm9tUm9vdChvYmplY3QsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gW29iamVjdF07XG4gICAgbGV0IGhlYWQgPSBvYmplY3QucGFyZW50O1xuICAgIHdoaWxlIChoZWFkICE9PSBudWxsKSB7XG4gICAgICAgIGFuY2VzdG9ycy51bnNoaWZ0KGhlYWQpO1xuICAgICAgICBoZWFkID0gaGVhZC5wYXJlbnQ7XG4gICAgfVxuICAgIGFuY2VzdG9ycy5mb3JFYWNoKChhbmNlc3RvcikgPT4ge1xuICAgICAgICBjYWxsYmFjayhhbmNlc3Rvcik7XG4gICAgfSk7XG59XG5cbmNsYXNzIFZSTU5vZGVDb25zdHJhaW50TWFuYWdlciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX2NvbnN0cmFpbnRzID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9vYmplY3RDb25zdHJhaW50c01hcCA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgZ2V0IGNvbnN0cmFpbnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RyYWludHM7XG4gICAgfVxuICAgIGFkZENvbnN0cmFpbnQoY29uc3RyYWludCkge1xuICAgICAgICB0aGlzLl9jb25zdHJhaW50cy5hZGQoY29uc3RyYWludCk7XG4gICAgICAgIGxldCBvYmplY3RTZXQgPSB0aGlzLl9vYmplY3RDb25zdHJhaW50c01hcC5nZXQoY29uc3RyYWludC5kZXN0aW5hdGlvbik7XG4gICAgICAgIGlmIChvYmplY3RTZXQgPT0gbnVsbCkge1xuICAgICAgICAgICAgb2JqZWN0U2V0ID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgdGhpcy5fb2JqZWN0Q29uc3RyYWludHNNYXAuc2V0KGNvbnN0cmFpbnQuZGVzdGluYXRpb24sIG9iamVjdFNldCk7XG4gICAgICAgIH1cbiAgICAgICAgb2JqZWN0U2V0LmFkZChjb25zdHJhaW50KTtcbiAgICB9XG4gICAgZGVsZXRlQ29uc3RyYWludChjb25zdHJhaW50KSB7XG4gICAgICAgIHRoaXMuX2NvbnN0cmFpbnRzLmRlbGV0ZShjb25zdHJhaW50KTtcbiAgICAgICAgY29uc3Qgb2JqZWN0U2V0ID0gdGhpcy5fb2JqZWN0Q29uc3RyYWludHNNYXAuZ2V0KGNvbnN0cmFpbnQuZGVzdGluYXRpb24pO1xuICAgICAgICBvYmplY3RTZXQuZGVsZXRlKGNvbnN0cmFpbnQpO1xuICAgIH1cbiAgICBzZXRJbml0U3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzVHJpZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzRG9uZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgZm9yIChjb25zdCBjb25zdHJhaW50IG9mIHRoaXMuX2NvbnN0cmFpbnRzKSB7XG4gICAgICAgICAgICB0aGlzLl9wcm9jZXNzQ29uc3RyYWludChjb25zdHJhaW50LCBjb25zdHJhaW50c1RyaWVkLCBjb25zdHJhaW50c0RvbmUsIChjb25zdHJhaW50KSA9PiBjb25zdHJhaW50LnNldEluaXRTdGF0ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzVHJpZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzRG9uZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgZm9yIChjb25zdCBjb25zdHJhaW50IG9mIHRoaXMuX2NvbnN0cmFpbnRzKSB7XG4gICAgICAgICAgICB0aGlzLl9wcm9jZXNzQ29uc3RyYWludChjb25zdHJhaW50LCBjb25zdHJhaW50c1RyaWVkLCBjb25zdHJhaW50c0RvbmUsIChjb25zdHJhaW50KSA9PiBjb25zdHJhaW50LnVwZGF0ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYSBjb25zdHJhaW50LlxuICAgICAqIElmIHRoZXJlIGFyZSBvdGhlciBjb25zdHJhaW50cyB0aGF0IGFyZSBkZXBlbmRhbnQsIGl0IHdpbGwgdHJ5IHRvIHVwZGF0ZSB0aGVtIHJlY3Vyc2l2ZWx5LlxuICAgICAqIEl0IG1pZ2h0IHRocm93IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBjaXJjdWxhciBkZXBlbmRlbmNpZXMuXG4gICAgICpcbiAgICAgKiBJbnRlbmRlZCB0byBiZSB1c2VkIGluIHtAbGluayB1cGRhdGV9IGFuZCB7QGxpbmsgX3Byb2Nlc3NDb25zdHJhaW50fSBpdHNlbGYgcmVjdXJzaXZlbHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29uc3RyYWludCBBIGNvbnN0cmFpbnQgeW91IHdhbnQgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIGNvbnN0cmFpbnRzVHJpZWQgU2V0IG9mIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGFscmVhZHkgdHJpZWQgdG8gYmUgdXBkYXRlZFxuICAgICAqIEBwYXJhbSBjb25zdHJhaW50c0RvbmUgU2V0IG9mIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGFscmVhZHkgdXAgdG8gZGF0ZVxuICAgICAqL1xuICAgIF9wcm9jZXNzQ29uc3RyYWludChjb25zdHJhaW50LCBjb25zdHJhaW50c1RyaWVkLCBjb25zdHJhaW50c0RvbmUsIGNhbGxiYWNrKSB7XG4gICAgICAgIGlmIChjb25zdHJhaW50c0RvbmUuaGFzKGNvbnN0cmFpbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbnN0cmFpbnRzVHJpZWQuaGFzKGNvbnN0cmFpbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZSTU5vZGVDb25zdHJhaW50TWFuYWdlcjogQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZCB3aGlsZSB1cGRhdGluZyBjb25zdHJhaW50cycpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0cmFpbnRzVHJpZWQuYWRkKGNvbnN0cmFpbnQpO1xuICAgICAgICBjb25zdCBkZXBPYmplY3RzID0gY29uc3RyYWludC5kZXBlbmRlbmNpZXM7XG4gICAgICAgIGZvciAoY29uc3QgZGVwT2JqZWN0IG9mIGRlcE9iamVjdHMpIHtcbiAgICAgICAgICAgIHRyYXZlcnNlQW5jZXN0b3JzRnJvbVJvb3QoZGVwT2JqZWN0LCAoZGVwT2JqZWN0QW5jZXN0b3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmplY3RTZXQgPSB0aGlzLl9vYmplY3RDb25zdHJhaW50c01hcC5nZXQoZGVwT2JqZWN0QW5jZXN0b3IpO1xuICAgICAgICAgICAgICAgIGlmIChvYmplY3RTZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBkZXBDb25zdHJhaW50IG9mIG9iamVjdFNldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0NvbnN0cmFpbnQoZGVwQ29uc3RyYWludCwgY29uc3RyYWludHNUcmllZCwgY29uc3RyYWludHNEb25lLCBjYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYWxsYmFjayhjb25zdHJhaW50KTtcbiAgICAgICAgY29uc3RyYWludHNEb25lLmFkZChjb25zdHJhaW50KTtcbiAgICB9XG59XG5cbmNvbnN0IF9xdWF0QSQxID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QiQxID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbi8qKlxuICogQSBjb25zdHJhaW50IHRoYXQgdHJhbnNmZXJzIGEgcm90YXRpb24gYXJvdW5kIG9uZSBheGlzIG9mIGEgc291cmNlLlxuICpcbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL3ZybS1zcGVjaWZpY2F0aW9uL3RyZWUvbWFzdGVyL3NwZWNpZmljYXRpb24vVlJNQ19ub2RlX2NvbnN0cmFpbnQtMS4wX2JldGEjcm9sbC1jb25zdHJhaW50XG4gKi9cbmNsYXNzIFZSTVJvdGF0aW9uQ29uc3RyYWludCBleHRlbmRzIFZSTU5vZGVDb25zdHJhaW50IHtcbiAgICBnZXQgZGVwZW5kZW5jaWVzKCkge1xuICAgICAgICByZXR1cm4gbmV3IFNldChbdGhpcy5zb3VyY2VdKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoZGVzdGluYXRpb24sIHNvdXJjZSkge1xuICAgICAgICBzdXBlcihkZXN0aW5hdGlvbiwgc291cmNlKTtcbiAgICAgICAgdGhpcy5fZHN0UmVzdFF1YXQgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgICAgICB0aGlzLl9pbnZTcmNSZXN0UXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgfVxuICAgIHNldEluaXRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5fZHN0UmVzdFF1YXQuY29weSh0aGlzLmRlc3RpbmF0aW9uLnF1YXRlcm5pb24pO1xuICAgICAgICBxdWF0SW52ZXJ0Q29tcGF0KHRoaXMuX2ludlNyY1Jlc3RRdWF0LmNvcHkodGhpcy5zb3VyY2UucXVhdGVybmlvbikpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgZGVsdGEgcm90YXRpb24gZnJvbSB0aGUgcmVzdCBhYm91dCB0aGUgc291cmNlXG4gICAgICAgIGNvbnN0IHNyY0RlbHRhUXVhdCA9IF9xdWF0QSQxLmNvcHkodGhpcy5faW52U3JjUmVzdFF1YXQpLm11bHRpcGx5KHRoaXMuc291cmNlLnF1YXRlcm5pb24pO1xuICAgICAgICAvLyBtdWx0aXBseSB0aGUgZGVsdGEgdG8gdGhlIHJlc3Qgb2YgdGhlIGRlc3RpbmF0aW9uXG4gICAgICAgIGNvbnN0IHRhcmdldFF1YXQgPSBfcXVhdEIkMS5jb3B5KHRoaXMuX2RzdFJlc3RRdWF0KS5tdWx0aXBseShzcmNEZWx0YVF1YXQpO1xuICAgICAgICAvLyBibGVuZCB3aXRoIHRoZSByZXN0IHF1YXRlcm5pb24gdXNpbmcgd2VpZ2h0XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ucXVhdGVybmlvbi5jb3B5KHRoaXMuX2RzdFJlc3RRdWF0KS5zbGVycCh0YXJnZXRRdWF0LCB0aGlzLndlaWdodCk7XG4gICAgfVxufVxuXG5jb25zdCBfdjNBID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF9xdWF0QSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEIgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuLyoqXG4gKiBBIGNvbnN0cmFpbnQgdGhhdCB0cmFuc2ZlcnMgYSByb3RhdGlvbiBhcm91bmQgb25lIGF4aXMgb2YgYSBzb3VyY2UuXG4gKlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnJtLWMvdnJtLXNwZWNpZmljYXRpb24vdHJlZS9tYXN0ZXIvc3BlY2lmaWNhdGlvbi9WUk1DX25vZGVfY29uc3RyYWludC0xLjBfYmV0YSNyb2xsLWNvbnN0cmFpbnRcbiAqL1xuY2xhc3MgVlJNUm9sbENvbnN0cmFpbnQgZXh0ZW5kcyBWUk1Ob2RlQ29uc3RyYWludCB7XG4gICAgLyoqXG4gICAgICogVGhlIHJvbGwgYXhpcyBvZiB0aGUgY29uc3RyYWludC5cbiAgICAgKi9cbiAgICBnZXQgcm9sbEF4aXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb2xsQXhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIHJvbGwgYXhpcyBvZiB0aGUgY29uc3RyYWludC5cbiAgICAgKi9cbiAgICBzZXQgcm9sbEF4aXMocm9sbEF4aXMpIHtcbiAgICAgICAgdGhpcy5fcm9sbEF4aXMgPSByb2xsQXhpcztcbiAgICAgICAgdGhpcy5fdjNSb2xsQXhpcy5zZXQocm9sbEF4aXMgPT09ICdYJyA/IDEuMCA6IDAuMCwgcm9sbEF4aXMgPT09ICdZJyA/IDEuMCA6IDAuMCwgcm9sbEF4aXMgPT09ICdaJyA/IDEuMCA6IDAuMCk7XG4gICAgfVxuICAgIGdldCBkZXBlbmRlbmNpZXMoKSB7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KFt0aGlzLnNvdXJjZV0pO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbiwgc291cmNlKSB7XG4gICAgICAgIHN1cGVyKGRlc3RpbmF0aW9uLCBzb3VyY2UpO1xuICAgICAgICB0aGlzLl9yb2xsQXhpcyA9ICdYJztcbiAgICAgICAgdGhpcy5fdjNSb2xsQXhpcyA9IG5ldyBUSFJFRS5WZWN0b3IzKDEsIDAsIDApO1xuICAgICAgICB0aGlzLl9kc3RSZXN0UXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIHRoaXMuX2ludkRzdFJlc3RRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgdGhpcy5faW52U3JjUmVzdFF1YXRNdWxEc3RSZXN0UXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgfVxuICAgIHNldEluaXRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5fZHN0UmVzdFF1YXQuY29weSh0aGlzLmRlc3RpbmF0aW9uLnF1YXRlcm5pb24pO1xuICAgICAgICBxdWF0SW52ZXJ0Q29tcGF0KHRoaXMuX2ludkRzdFJlc3RRdWF0LmNvcHkodGhpcy5fZHN0UmVzdFF1YXQpKTtcbiAgICAgICAgcXVhdEludmVydENvbXBhdCh0aGlzLl9pbnZTcmNSZXN0UXVhdE11bERzdFJlc3RRdWF0LmNvcHkodGhpcy5zb3VyY2UucXVhdGVybmlvbikpLm11bHRpcGx5KHRoaXMuX2RzdFJlc3RRdWF0KTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICAvLyBjYWxjdWxhdGUgdGhlIGRlbHRhIHJvdGF0aW9uIGZyb20gdGhlIHJlc3QgYWJvdXQgdGhlIHNvdXJjZSwgdGhlbiBjb252ZXJ0IHRvIHRoZSBkZXN0aW5hdGlvbiBsb2NhbCBjb29yZFxuICAgICAgICAvKipcbiAgICAgICAgICogV2hhdCB0aGUgcXVhdERlbHRhIGlzIGludGVuZGVkIHRvIGJlOlxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGB0c1xuICAgICAgICAgKiBjb25zdCBxdWF0U3JjRGVsdGEgPSBfcXVhdEFcbiAgICAgICAgICogICAuY29weSggdGhpcy5faW52U3JjUmVzdFF1YXQgKVxuICAgICAgICAgKiAgIC5tdWx0aXBseSggdGhpcy5zb3VyY2UucXVhdGVybmlvbiApO1xuICAgICAgICAgKiBjb25zdCBxdWF0U3JjRGVsdGFJblBhcmVudCA9IF9xdWF0QlxuICAgICAgICAgKiAgIC5jb3B5KCB0aGlzLl9zcmNSZXN0UXVhdCApXG4gICAgICAgICAqICAgLm11bHRpcGx5KCBxdWF0U3JjRGVsdGEgKVxuICAgICAgICAgKiAgIC5tdWx0aXBseSggdGhpcy5faW52U3JjUmVzdFF1YXQgKTtcbiAgICAgICAgICogY29uc3QgcXVhdFNyY0RlbHRhSW5Ec3QgPSBfcXVhdEFcbiAgICAgICAgICogICAuY29weSggdGhpcy5faW52RHN0UmVzdFF1YXQgKVxuICAgICAgICAgKiAgIC5tdWx0aXBseSggcXVhdFNyY0RlbHRhSW5QYXJlbnQgKVxuICAgICAgICAgKiAgIC5tdWx0aXBseSggdGhpcy5fZHN0UmVzdFF1YXQgKTtcbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBxdWF0RGVsdGEgPSBfcXVhdEFcbiAgICAgICAgICAgIC5jb3B5KHRoaXMuX2ludkRzdFJlc3RRdWF0KVxuICAgICAgICAgICAgLm11bHRpcGx5KHRoaXMuc291cmNlLnF1YXRlcm5pb24pXG4gICAgICAgICAgICAubXVsdGlwbHkodGhpcy5faW52U3JjUmVzdFF1YXRNdWxEc3RSZXN0UXVhdCk7XG4gICAgICAgIC8vIGNyZWF0ZSBhIGZyb20tdG8gcXVhdGVybmlvblxuICAgICAgICBjb25zdCBuMSA9IF92M0EuY29weSh0aGlzLl92M1JvbGxBeGlzKS5hcHBseVF1YXRlcm5pb24ocXVhdERlbHRhKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdoYXQgdGhlIHF1YXRGcm9tVG8gaXMgaW50ZW5kZWQgdG8gYmU6XG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYHRzXG4gICAgICAgICAqIGNvbnN0IHF1YXRGcm9tVG8gPSBfcXVhdEIuc2V0RnJvbVVuaXRWZWN0b3JzKCB0aGlzLl92M1JvbGxBeGlzLCBuMSApLmludmVyc2UoKTtcbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBxdWF0RnJvbVRvID0gX3F1YXRCLnNldEZyb21Vbml0VmVjdG9ycyhuMSwgdGhpcy5fdjNSb2xsQXhpcyk7XG4gICAgICAgIC8vIHF1YXRGcm9tVG8gKiBxdWF0RGVsdGEgPT0gcm9sbCBleHRyYWN0ZWQgZnJvbSBxdWF0RGVsdGFcbiAgICAgICAgY29uc3QgdGFyZ2V0UXVhdCA9IHF1YXRGcm9tVG8ucHJlbXVsdGlwbHkodGhpcy5fZHN0UmVzdFF1YXQpLm11bHRpcGx5KHF1YXREZWx0YSk7XG4gICAgICAgIC8vIGJsZW5kIHdpdGggdGhlIHJlc3QgcXVhdGVybmlvbiB1c2luZyB3ZWlnaHRcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5xdWF0ZXJuaW9uLmNvcHkodGhpcy5fZHN0UmVzdFF1YXQpLnNsZXJwKHRhcmdldFF1YXQsIHRoaXMud2VpZ2h0KTtcbiAgICB9XG59XG5cbi8qKlxuICogUG9zc2libGUgc3BlYyB2ZXJzaW9ucyBpdCByZWNvZ25pemVzLlxuICovXG5jb25zdCBQT1NTSUJMRV9TUEVDX1ZFUlNJT05TID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbmNsYXNzIFZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIFZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgICAgIHRoaXMuaGVscGVyUm9vdCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5oZWxwZXJSb290O1xuICAgIH1cbiAgICBhZnRlclJvb3QoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgZ2x0Zi51c2VyRGF0YS52cm1Ob2RlQ29uc3RyYWludE1hbmFnZXIgPSB5aWVsZCB0aGlzLl9pbXBvcnQoZ2x0Zik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXBvcnQgY29uc3RyYWludHMgZnJvbSBhIEdMVEYgYW5kIHJldHVybnMgYSB7QGxpbmsgVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyfS5cbiAgICAgKiBJdCBtaWdodCByZXR1cm4gYG51bGxgIGluc3RlYWQgd2hlbiBpdCBkb2VzIG5vdCBuZWVkIHRvIGJlIGNyZWF0ZWQgb3Igc29tZXRoaW5nIGdvIHdyb25nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICovXG4gICAgX2ltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgY29uc3RyYWludHNcbiAgICAgICAgICAgIGNvbnN0IGlzQ29uc3RyYWludHNVc2VkID0gKChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pbmRleE9mKFZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc0NvbnN0cmFpbnRzVXNlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWFuYWdlciA9IG5ldyBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXIoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVlTm9kZXMgPSB5aWVsZCB0aGlzLnBhcnNlci5nZXREZXBlbmRlbmNpZXMoJ25vZGUnKTtcbiAgICAgICAgICAgIC8vIGltcG9ydCBjb25zdHJhaW50cyBmb3IgZWFjaCBub2Rlc1xuICAgICAgICAgICAgdGhyZWVOb2Rlcy5mb3JFYWNoKChub2RlLCBub2RlSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NoZW1hTm9kZSA9IGpzb24ubm9kZXNbbm9kZUluZGV4XTtcbiAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgZXh0ZW5zaW9uIHVzZXMgdGhlIGV4dGVuc2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYSA9IHNjaGVtYU5vZGUgPT09IG51bGwgfHwgc2NoZW1hTm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hTm9kZS5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUVdO1xuICAgICAgICAgICAgICAgIGlmIChleHRlbnNpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHNwZWNWZXJzaW9uID0gZXh0ZW5zaW9uLnNwZWNWZXJzaW9uO1xuICAgICAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUy5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW46IFVua25vd24gJHtWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRX0gc3BlY1ZlcnNpb24gXCIke3NwZWNWZXJzaW9ufVwiYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludERlZiA9IGV4dGVuc2lvbi5jb25zdHJhaW50O1xuICAgICAgICAgICAgICAgIC8vIGltcG9ydCBjb25zdHJhaW50c1xuICAgICAgICAgICAgICAgIGlmIChjb25zdHJhaW50RGVmLnJvbGwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gdGhpcy5faW1wb3J0Um9sbENvbnN0cmFpbnQobm9kZSwgdGhyZWVOb2RlcywgY29uc3RyYWludERlZi5yb2xsKTtcbiAgICAgICAgICAgICAgICAgICAgbWFuYWdlci5hZGRDb25zdHJhaW50KGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjb25zdHJhaW50RGVmLmFpbSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnN0cmFpbnQgPSB0aGlzLl9pbXBvcnRBaW1Db25zdHJhaW50KG5vZGUsIHRocmVlTm9kZXMsIGNvbnN0cmFpbnREZWYuYWltKTtcbiAgICAgICAgICAgICAgICAgICAgbWFuYWdlci5hZGRDb25zdHJhaW50KGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjb25zdHJhaW50RGVmLnJvdGF0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludCA9IHRoaXMuX2ltcG9ydFJvdGF0aW9uQ29uc3RyYWludChub2RlLCB0aHJlZU5vZGVzLCBjb25zdHJhaW50RGVmLnJvdGF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgbWFuYWdlci5hZGRDb25zdHJhaW50KGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaW5pdCBjb25zdHJhaW50c1xuICAgICAgICAgICAgZ2x0Zi5zY2VuZS51cGRhdGVNYXRyaXhXb3JsZCgpO1xuICAgICAgICAgICAgbWFuYWdlci5zZXRJbml0U3RhdGUoKTtcbiAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2ltcG9ydFJvbGxDb25zdHJhaW50KGRlc3RpbmF0aW9uLCBub2Rlcywgcm9sbENvbnN0cmFpbnREZWYpIHtcbiAgICAgICAgY29uc3QgeyBzb3VyY2U6IHNvdXJjZUluZGV4LCByb2xsQXhpcywgd2VpZ2h0IH0gPSByb2xsQ29uc3RyYWludERlZjtcbiAgICAgICAgY29uc3Qgc291cmNlID0gbm9kZXNbc291cmNlSW5kZXhdO1xuICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFZSTVJvbGxDb25zdHJhaW50KGRlc3RpbmF0aW9uLCBzb3VyY2UpO1xuICAgICAgICBpZiAocm9sbEF4aXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3RyYWludC5yb2xsQXhpcyA9IHJvbGxBeGlzO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3ZWlnaHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3RyYWludC53ZWlnaHQgPSB3ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGVscGVyUm9vdCkge1xuICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTU5vZGVDb25zdHJhaW50SGVscGVyKGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgdGhpcy5oZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25zdHJhaW50O1xuICAgIH1cbiAgICBfaW1wb3J0QWltQ29uc3RyYWludChkZXN0aW5hdGlvbiwgbm9kZXMsIGFpbUNvbnN0cmFpbnREZWYpIHtcbiAgICAgICAgY29uc3QgeyBzb3VyY2U6IHNvdXJjZUluZGV4LCBhaW1BeGlzLCB3ZWlnaHQgfSA9IGFpbUNvbnN0cmFpbnREZWY7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IG5vZGVzW3NvdXJjZUluZGV4XTtcbiAgICAgICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBWUk1BaW1Db25zdHJhaW50KGRlc3RpbmF0aW9uLCBzb3VyY2UpO1xuICAgICAgICBpZiAoYWltQXhpcyAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50LmFpbUF4aXMgPSBhaW1BeGlzO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3ZWlnaHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3RyYWludC53ZWlnaHQgPSB3ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGVscGVyUm9vdCkge1xuICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTU5vZGVDb25zdHJhaW50SGVscGVyKGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgdGhpcy5oZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25zdHJhaW50O1xuICAgIH1cbiAgICBfaW1wb3J0Um90YXRpb25Db25zdHJhaW50KGRlc3RpbmF0aW9uLCBub2Rlcywgcm90YXRpb25Db25zdHJhaW50RGVmKSB7XG4gICAgICAgIGNvbnN0IHsgc291cmNlOiBzb3VyY2VJbmRleCwgd2VpZ2h0IH0gPSByb3RhdGlvbkNvbnN0cmFpbnREZWY7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IG5vZGVzW3NvdXJjZUluZGV4XTtcbiAgICAgICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBWUk1Sb3RhdGlvbkNvbnN0cmFpbnQoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgICAgIGlmICh3ZWlnaHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3RyYWludC53ZWlnaHQgPSB3ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGVscGVyUm9vdCkge1xuICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTU5vZGVDb25zdHJhaW50SGVscGVyKGNvbnN0cmFpbnQpO1xuICAgICAgICAgICAgdGhpcy5oZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25zdHJhaW50O1xuICAgIH1cbn1cblZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FID0gJ1ZSTUNfbm9kZV9jb25zdHJhaW50JztcblxuZXhwb3J0IHsgVlJNQWltQ29uc3RyYWludCwgVlJNTm9kZUNvbnN0cmFpbnQsIFZSTU5vZGVDb25zdHJhaW50SGVscGVyLCBWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbiwgVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyLCBWUk1Sb2xsQ29uc3RyYWludCwgVlJNUm90YXRpb25Db25zdHJhaW50IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRHaHlaV1V0ZG5KdExXNXZaR1V0WTI5dWMzUnlZV2x1ZEM1dGIyUjFiR1V1YW5NaUxDSnpiM1Z5WTJWeklqcGJJaTR1TDNOeVl5OW9aV3h3WlhKekwxWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFNHVnNjR1Z5TG5Seklpd2lMaTR2YzNKakwzVjBhV3h6TDJSbFkyOXRjRzl6WlZCdmMybDBhVzl1TG5Seklpd2lMaTR2YzNKakwzVjBhV3h6TDJSbFkyOXRjRzl6WlZKdmRHRjBhVzl1TG5Seklpd2lMaTR2YzNKakwzVjBhV3h6TDNGMVlYUkpiblpsY25SRGIyMXdZWFF1ZEhNaUxDSXVMaTl6Y21NdlZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RdWRITWlMQ0l1TGk5emNtTXZWbEpOUVdsdFEyOXVjM1J5WVdsdWRDNTBjeUlzSWk0dUx5NHVMeTR1TDI1dlpHVmZiVzlrZFd4bGN5OTBjMnhwWWk5MGMyeHBZaTVsY3pZdWFuTWlMQ0l1TGk5emNtTXZkWFJwYkhNdmRISmhkbVZ5YzJWQmJtTmxjM1J2Y25OR2NtOXRVbTl2ZEM1MGN5SXNJaTR1TDNOeVl5OVdVazFPYjJSbFEyOXVjM1J5WVdsdWRFMWhibUZuWlhJdWRITWlMQ0l1TGk5emNtTXZWbEpOVW05MFlYUnBiMjVEYjI1emRISmhhVzUwTG5Seklpd2lMaTR2YzNKakwxWlNUVkp2Ykd4RGIyNXpkSEpoYVc1MExuUnpJaXdpTGk0dmMzSmpMMVpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBURzloWkdWeVVHeDFaMmx1TG5SeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MElIMGdabkp2YlNBbkxpNHZWbEpOVG05a1pVTnZibk4wY21GcGJuUW5PMXh1WEc1amIyNXpkQ0JmZGpOQklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBTR1ZzY0dWeUlHVjRkR1Z1WkhNZ1ZFaFNSVVV1UjNKdmRYQWdlMXh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnWTI5dWMzUnlZV2x1ZERvZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RN1hHNGdJSEJ5YVhaaGRHVWdYMnhwYm1VNklGUklVa1ZGTGt4cGJtVTdYRzRnSUhCeWFYWmhkR1VnWDJGMGRISlFiM05wZEdsdmJqb2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsTzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWhqYjI1emRISmhhVzUwT2lCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZENrZ2UxeHVJQ0FnSUhOMWNHVnlLQ2s3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5emFYUnBiMjRnUFNCdVpYY2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsS0c1bGR5QkdiRzloZERNeVFYSnlZWGtvV3pBc0lEQXNJREFzSURBc0lEQXNJREJkS1N3Z015azdYRzRnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjMmwwYVc5dUxuTmxkRlZ6WVdkbEtGUklVa1ZGTGtSNWJtRnRhV05FY21GM1ZYTmhaMlVwTzF4dVhHNGdJQ0FnWTI5dWMzUWdaMlZ2YldWMGNua2dQU0J1WlhjZ1ZFaFNSVVV1UW5WbVptVnlSMlZ2YldWMGNua29LVHRjYmlBZ0lDQm5aVzl0WlhSeWVTNXpaWFJCZEhSeWFXSjFkR1VvSjNCdmMybDBhVzl1Snl3Z2RHaHBjeTVmWVhSMGNsQnZjMmwwYVc5dUtUdGNibHh1SUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzSUQwZ2JtVjNJRlJJVWtWRkxreHBibVZDWVhOcFkwMWhkR1Z5YVdGc0tIdGNiaUFnSUNBZ0lHTnZiRzl5T2lBd2VHWm1NREJtWml4Y2JpQWdJQ0FnSUdSbGNIUm9WR1Z6ZERvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0JrWlhCMGFGZHlhWFJsT2lCbVlXeHpaU3hjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJSFJvYVhNdVgyeHBibVVnUFNCdVpYY2dWRWhTUlVVdVRHbHVaU2huWlc5dFpYUnllU3dnYldGMFpYSnBZV3dwTzF4dUlDQWdJSFJvYVhNdVlXUmtLSFJvYVhNdVgyeHBibVVwTzF4dVhHNGdJQ0FnZEdocGN5NWpiMjV6ZEhKaGFXNTBJRDBnWTI5dWMzUnlZV2x1ZER0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1ZOWVhSeWFYaFhiM0pzWkNobWIzSmpaVDg2SUdKdmIyeGxZVzRwT2lCMmIybGtJSHRjYmlBZ0lDQmZkak5CTG5ObGRFWnliMjFOWVhSeWFYaFFiM05wZEdsdmJpaDBhR2x6TG1OdmJuTjBjbUZwYm5RdVpHVnpkR2x1WVhScGIyNHViV0YwY21sNFYyOXliR1FwTzF4dUlDQWdJSFJvYVhNdVgyRjBkSEpRYjNOcGRHbHZiaTV6WlhSWVdWb29NQ3dnWDNZelFTNTRMQ0JmZGpOQkxua3NJRjkyTTBFdWVpazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NWpiMjV6ZEhKaGFXNTBMbk52ZFhKalpTa2dlMXh1SUNBZ0lDQWdYM1l6UVM1elpYUkdjbTl0VFdGMGNtbDRVRzl6YVhScGIyNG9kR2hwY3k1amIyNXpkSEpoYVc1MExuTnZkWEpqWlM1dFlYUnlhWGhYYjNKc1pDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTnBkR2x2Ymk1elpYUllXVm9vTVN3Z1gzWXpRUzU0TENCZmRqTkJMbmtzSUY5Mk0wRXVlaWs3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5emFYUnBiMjR1Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dVhHNGdJQ0FnYzNWd1pYSXVkWEJrWVhSbFRXRjBjbWw0VjI5eWJHUW9abTl5WTJVcE8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmtaV052YlhCdmMyVlFiM05wZEdsdmJqeFVJR1Y0ZEdWdVpITWdWRWhTUlVVdVZtVmpkRzl5TXo0b2JXRjBjbWw0T2lCVVNGSkZSUzVOWVhSeWFYZzBMQ0IwWVhKblpYUTZJRlFwT2lCVUlIdGNiaUFnY21WMGRYSnVJSFJoY21kbGRDNXpaWFFvYldGMGNtbDRMbVZzWlcxbGJuUnpXekV5WFN3Z2JXRjBjbWw0TG1Wc1pXMWxiblJ6V3pFelhTd2diV0YwY21sNExtVnNaVzFsYm5Seld6RTBYU2s3WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNWNibU52Ym5OMElGOTJNMEVnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVZMjl1YzNRZ1gzWXpRaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmtaV052YlhCdmMyVlNiM1JoZEdsdmJqeFVJR1Y0ZEdWdVpITWdWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJqNG9iV0YwY21sNE9pQlVTRkpGUlM1TllYUnlhWGcwTENCMFlYSm5aWFE2SUZRcE9pQlVJSHRjYmlBZ2JXRjBjbWw0TG1SbFkyOXRjRzl6WlNoZmRqTkJMQ0IwWVhKblpYUXNJRjkyTTBJcE8xeHVJQ0J5WlhSMWNtNGdkR0Z5WjJWME8xeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1WEc0dktpcGNiaUFxSUVFZ1kyOXRjR0YwSUdaMWJtTjBhVzl1SUdadmNpQmdVWFZoZEdWeWJtbHZiaTVwYm5abGNuUW9LV0FnTHlCZ1VYVmhkR1Z5Ym1sdmJpNXBiblpsY25ObEtDbGdMbHh1SUNvZ1lGRjFZWFJsY201cGIyNHVhVzUyWlhKMEtDbGdJR2x6SUdsdWRISnZaSFZqWldRZ2FXNGdjakV5TXlCaGJtUWdZRkYxWVhSbGNtNXBiMjR1YVc1MlpYSnpaU2dwWUNCbGJXbDBjeUJoSUhkaGNtNXBibWN1WEc0Z0tpQlhaU0JoY21VZ1oyOXBibWNnZEc4Z2RYTmxJSFJvYVhNZ1kyOXRjR0YwSUdadmNpQmhJSGRvYVd4bExseHVJQ29nUUhCaGNtRnRJSFJoY21kbGRDQkJJSFJoY21kbGRDQnhkV0YwWlhKdWFXOXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeGRXRjBTVzUyWlhKMFEyOXRjR0YwUEZRZ1pYaDBaVzVrY3lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1UGloMFlYSm5aWFE2SUZRcE9pQlVJSHRjYmlBZ2FXWWdLQ2gwWVhKblpYUWdZWE1nWVc1NUtTNXBiblpsY25RcElIdGNiaUFnSUNCMFlYSm5aWFF1YVc1MlpYSjBLQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnS0hSaGNtZGxkQ0JoY3lCaGJua3BMbWx1ZG1WeWMyVW9LVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIwWVhKblpYUTdYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1Y2JpOHFLbHh1SUNvZ1FTQmlZWE5sSUdOc1lYTnpJRzltSUZaU1RTQmpiMjV6ZEhKaGFXNTBJR05zWVhOelpYTXVYRzRnS2k5Y2JtVjRjRzl5ZENCaFluTjBjbUZqZENCamJHRnpjeUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkQ0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYjJKcVpXTjBJR0psYVc1bklHTnZibk4wY21GcGJtVmtJR0o1SUhSb1pTQjdRR3hwYm1zZ2MyOTFjbU5sZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCa1pYTjBhVzVoZEdsdmJqb2dWRWhTUlVVdVQySnFaV04wTTBRN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnZZbXBsWTNRZ1kyOXVjM1J5WVdsdWN5QjBhR1VnZTBCc2FXNXJJR1JsYzNScGJtRjBhVzl1ZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCemIzVnlZMlU2SUZSSVVrVkZMazlpYW1WamRETkVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnZDJWcFoyaDBJRzltSUhSb1pTQmpiMjV6ZEhKaGFXNTBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSGRsYVdkb2REb2diblZ0WW1WeU8xeHVYRzRnSUhCMVlteHBZeUJoWW5OMGNtRmpkQ0JuWlhRZ1pHVndaVzVrWlc1amFXVnpLQ2s2SUZObGREeFVTRkpGUlM1UFltcGxZM1F6UkQ0N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCd1lYSmhiU0JrWlhOMGFXNWhkR2x2YmlCVWFHVWdaR1Z6ZEdsdVlYUnBiMjRnYjJKcVpXTjBYRzRnSUNBcUlFQndZWEpoYlNCemIzVnlZMlVnVkdobElITnZkWEpqWlNCdlltcGxZM1JjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loa1pYTjBhVzVoZEdsdmJqb2dWRWhTUlVVdVQySnFaV04wTTBRc0lITnZkWEpqWlRvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFwSUh0Y2JpQWdJQ0IwYUdsekxtUmxjM1JwYm1GMGFXOXVJRDBnWkdWemRHbHVZWFJwYjI0N1hHNGdJQ0FnZEdocGN5NXpiM1Z5WTJVZ1BTQnpiM1Z5WTJVN1hHNWNiaUFnSUNCMGFHbHpMbmRsYVdkb2RDQTlJREV1TUR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRaWFFnYVc1cGRHbGhiQ0J6ZEdGMFpTQnZaaUIwYUdVZ1kyOXVjM1J5WVdsdWRDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QmhZbk4wY21GamRDQnpaWFJKYm1sMFUzUmhkR1VvS1RvZ2RtOXBaRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWWEJrWVhSbElHRnVaQ0JoY0hCc2VTQjBhR1VnWTI5dWMzUnlZV2x1ZEM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCaFluTjBjbUZqZENCMWNHUmhkR1VvS1RvZ2RtOXBaRHRjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lHUmxZMjl0Y0c5elpWQnZjMmwwYVc5dUlIMGdabkp2YlNBbkxpOTFkR2xzY3k5a1pXTnZiWEJ2YzJWUWIzTnBkR2x2YmljN1hHNXBiWEJ2Y25RZ2V5QmtaV052YlhCdmMyVlNiM1JoZEdsdmJpQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdlpHVmpiMjF3YjNObFVtOTBZWFJwYjI0bk8xeHVhVzF3YjNKMElIc2djWFZoZEVsdWRtVnlkRU52YlhCaGRDQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdmNYVmhkRWx1ZG1WeWRFTnZiWEJoZENjN1hHNXBiWEJ2Y25RZ2V5QldVazFPYjJSbFEyOXVjM1J5WVdsdWRDQjlJR1p5YjIwZ0p5NHZWbEpOVG05a1pVTnZibk4wY21GcGJuUW5PMXh1WEc1amIyNXpkQ0JmZGpOQklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYm1OdmJuTjBJRjkyTTBJZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WTI5dWMzUWdYM1l6UXlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDNGMVlYUkNJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibU52Ym5OMElGOXhkV0YwUXlBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc1Y2JpOHFLbHh1SUNvZ1FTQmpiMjV6ZEhKaGFXNTBJSFJvWVhRZ2JXRnJaWE1nYVhRZ2JHOXZheUJoZENCaElITnZkWEpqWlNCdlltcGxZM1F1WEc0Z0tseHVJQ29nVTJWbE9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZkbkp0TFdNdmRuSnRMWE53WldOcFptbGpZWFJwYjI0dmRISmxaUzl0WVhOMFpYSXZjM0JsWTJsbWFXTmhkR2x2Ymk5V1VrMURYMjV2WkdWZlkyOXVjM1J5WVdsdWRDMHhMakJmWW1WMFlTTnliMnhzTFdOdmJuTjBjbUZwYm5SY2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGWlNUVUZwYlVOdmJuTjBjbUZwYm5RZ1pYaDBaVzVrY3lCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZENCN1hHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ1lXbHRJR0Y0YVhNZ2IyWWdkR2hsSUdOdmJuTjBjbUZwYm5RdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBJR0ZwYlVGNGFYTW9LVG9nSjFCdmMybDBhWFpsV0NjZ2ZDQW5UbVZuWVhScGRtVllKeUI4SUNkUWIzTnBkR2wyWlZrbklId2dKMDVsWjJGMGFYWmxXU2NnZkNBblVHOXphWFJwZG1WYUp5QjhJQ2RPWldkaGRHbDJaVm9uSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZllXbHRRWGhwY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnWVdsdElHRjRhWE1nYjJZZ2RHaGxJR052Ym5OMGNtRnBiblF1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYzJWMElHRnBiVUY0YVhNb1lXbHRRWGhwY3pvZ0oxQnZjMmwwYVhabFdDY2dmQ0FuVG1WbllYUnBkbVZZSnlCOElDZFFiM05wZEdsMlpWa25JSHdnSjA1bFoyRjBhWFpsV1NjZ2ZDQW5VRzl6YVhScGRtVmFKeUI4SUNkT1pXZGhkR2wyWlZvbktTQjdYRzRnSUNBZ2RHaHBjeTVmWVdsdFFYaHBjeUE5SUdGcGJVRjRhWE03WEc0Z0lDQWdkR2hwY3k1ZmRqTkJhVzFCZUdsekxuTmxkQ2hjYmlBZ0lDQWdJR0ZwYlVGNGFYTWdQVDA5SUNkUWIzTnBkR2wyWlZnbklEOGdNUzR3SURvZ1lXbHRRWGhwY3lBOVBUMGdKMDVsWjJGMGFYWmxXQ2NnUHlBdE1TNHdJRG9nTUM0d0xGeHVJQ0FnSUNBZ1lXbHRRWGhwY3lBOVBUMGdKMUJ2YzJsMGFYWmxXU2NnUHlBeExqQWdPaUJoYVcxQmVHbHpJRDA5UFNBblRtVm5ZWFJwZG1WWkp5QS9JQzB4TGpBZ09pQXdMakFzWEc0Z0lDQWdJQ0JoYVcxQmVHbHpJRDA5UFNBblVHOXphWFJwZG1WYUp5QS9JREV1TUNBNklHRnBiVUY0YVhNZ1BUMDlJQ2RPWldkaGRHbDJaVm9uSUQ4Z0xURXVNQ0E2SURBdU1DeGNiaUFnSUNBcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCaGFXMGdZWGhwY3lCdlppQjBhR1VnWTI5dWMzUnlZV2x1ZEM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gyRnBiVUY0YVhNNklDZFFiM05wZEdsMlpWZ25JSHdnSjA1bFoyRjBhWFpsV0NjZ2ZDQW5VRzl6YVhScGRtVlpKeUI4SUNkT1pXZGhkR2wyWlZrbklId2dKMUJ2YzJsMGFYWmxXaWNnZkNBblRtVm5ZWFJwZG1WYUp6dGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSHRBYkdsdWF5QmZZV2x0UVhocGMzMGdZblYwSUdsdUlHRnVJR0ZqZEhWaGJDQldaV04wYjNJeklHWnZjbTB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5Mk0wRnBiVUY0YVhNNklGUklVa1ZGTGxabFkzUnZjak03WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCeVpYTjBJSEYxWVhSbGNtNXBiMjRnYjJZZ2RHaGxJSHRBYkdsdWF5QmtaWE4wYVc1aGRHbHZibjB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5a2MzUlNaWE4wVVhWaGREb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJqdGNibHh1SUNCd2RXSnNhV01nWjJWMElHUmxjR1Z1WkdWdVkybGxjeWdwT2lCVFpYUThWRWhTUlVVdVQySnFaV04wTTBROFZFaFNSVVV1UlhabGJuUStQaUI3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBJRDBnYm1WM0lGTmxkRHhVU0ZKRlJTNVBZbXBsWTNRelJENG9XM1JvYVhNdWMyOTFjbU5sWFNrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1a1pYTjBhVzVoZEdsdmJpNXdZWEpsYm5RcElIdGNiaUFnSUNBZ0lITmxkQzVoWkdRb2RHaHBjeTVrWlhOMGFXNWhkR2x2Ymk1d1lYSmxiblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnpaWFE3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb1pHVnpkR2x1WVhScGIyNDZJRlJJVWtWRkxrOWlhbVZqZERORUxDQnpiM1Z5WTJVNklGUklVa1ZGTGs5aWFtVmpkRE5FS1NCN1hHNGdJQ0FnYzNWd1pYSW9aR1Z6ZEdsdVlYUnBiMjRzSUhOdmRYSmpaU2s3WEc1Y2JpQWdJQ0IwYUdsekxsOWhhVzFCZUdseklEMGdKMUJ2YzJsMGFYWmxXQ2M3WEc0Z0lDQWdkR2hwY3k1ZmRqTkJhVzFCZUdseklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9NU3dnTUN3Z01DazdYRzVjYmlBZ0lDQjBhR2x6TGw5a2MzUlNaWE4wVVhWaGRDQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2MyVjBTVzVwZEZOMFlYUmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WDJSemRGSmxjM1JSZFdGMExtTnZjSGtvZEdocGN5NWtaWE4wYVc1aGRHbHZiaTV4ZFdGMFpYSnVhVzl1S1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1VvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdMeThnZFhCa1lYUmxJSGR2Y214a0lHMWhkSEpwZUNCdlppQmtaWE4wYVc1aGRHbHZiaUJoYm1RZ2MyOTFjbU5sSUcxaGJuVmhiR3g1WEc0Z0lDQWdkR2hwY3k1a1pYTjBhVzVoZEdsdmJpNTFjR1JoZEdWWGIzSnNaRTFoZEhKcGVDaDBjblZsTENCbVlXeHpaU2s3WEc0Z0lDQWdkR2hwY3k1emIzVnlZMlV1ZFhCa1lYUmxWMjl5YkdSTllYUnlhWGdvZEhKMVpTd2dabUZzYzJVcE8xeHVYRzRnSUNBZ0x5OGdaMlYwSUhkdmNteGtJSEYxWVhSbGNtNXBiMjRnYjJZZ2RHaGxJSEJoY21WdWRDQnZaaUIwYUdVZ1pHVnpkR2x1WVhScGIyNWNiaUFnSUNCamIyNXpkQ0JrYzNSUVlYSmxiblJYYjNKc1pGRjFZWFFnUFNCZmNYVmhkRUV1YVdSbGJuUnBkSGtvS1R0Y2JpQWdJQ0JqYjI1emRDQnBiblpFYzNSUVlYSmxiblJYYjNKc1pGRjFZWFFnUFNCZmNYVmhkRUl1YVdSbGJuUnBkSGtvS1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVrWlhOMGFXNWhkR2x2Ymk1d1lYSmxiblFwSUh0Y2JpQWdJQ0FnSUdSbFkyOXRjRzl6WlZKdmRHRjBhVzl1S0hSb2FYTXVaR1Z6ZEdsdVlYUnBiMjR1Y0dGeVpXNTBMbTFoZEhKcGVGZHZjbXhrTENCa2MzUlFZWEpsYm5SWGIzSnNaRkYxWVhRcE8xeHVJQ0FnSUNBZ2NYVmhkRWx1ZG1WeWRFTnZiWEJoZENocGJuWkVjM1JRWVhKbGJuUlhiM0pzWkZGMVlYUXVZMjl3ZVNoa2MzUlFZWEpsYm5SWGIzSnNaRkYxWVhRcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmpZV3hqZFd4aGRHVWdabkp2YlMxMGJ5QjJaV04wYjNKeklHbHVJSGR2Y214a0lHTnZiM0prWEc0Z0lDQWdZMjl1YzNRZ1lUQWdQU0JmZGpOQkxtTnZjSGtvZEdocGN5NWZkak5CYVcxQmVHbHpLUzVoY0hCc2VWRjFZWFJsY201cGIyNG9kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBMbUZ3Y0d4NVVYVmhkR1Z5Ym1sdmJpaGtjM1JRWVhKbGJuUlhiM0pzWkZGMVlYUXBPMXh1SUNBZ0lHTnZibk4wSUdFeElEMGdaR1ZqYjIxd2IzTmxVRzl6YVhScGIyNG9kR2hwY3k1emIzVnlZMlV1YldGMGNtbDRWMjl5YkdRc0lGOTJNMElwWEc0Z0lDQWdJQ0F1YzNWaUtHUmxZMjl0Y0c5elpWQnZjMmwwYVc5dUtIUm9hWE11WkdWemRHbHVZWFJwYjI0dWJXRjBjbWw0VjI5eWJHUXNJRjkyTTBNcEtWeHVJQ0FnSUNBZ0xtNXZjbTFoYkdsNlpTZ3BPMXh1WEc0Z0lDQWdMeThnWTNKbFlYUmxJR0VnWm5KdmJTMTBieUJ4ZFdGMFpYSnVhVzl1TENCamIyNTJaWEowSUhSdklHUmxjM1JwYm1GMGFXOXVJR3h2WTJGc0lHTnZiM0prTENCMGFHVnVJRzExYkhScGNHeDVJSEpsYzNRZ2NYVmhkR1Z5Ym1sdmJseHVJQ0FnSUdOdmJuTjBJSFJoY21kbGRGRjFZWFFnUFNCZmNYVmhkRU5jYmlBZ0lDQWdJQzV6WlhSR2NtOXRWVzVwZEZabFkzUnZjbk1vWVRBc0lHRXhLVnh1SUNBZ0lDQWdMbkJ5WlcxMWJIUnBjR3g1S0dsdWRrUnpkRkJoY21WdWRGZHZjbXhrVVhWaGRDbGNiaUFnSUNBZ0lDNXRkV3gwYVhCc2VTaGtjM1JRWVhKbGJuUlhiM0pzWkZGMVlYUXBYRzRnSUNBZ0lDQXViWFZzZEdsd2JIa29kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBPMXh1WEc0Z0lDQWdMeThnWW14bGJtUWdkMmwwYUNCMGFHVWdjbVZ6ZENCeGRXRjBaWEp1YVc5dUlIVnphVzVuSUhkbGFXZG9kRnh1SUNBZ0lIUm9hWE11WkdWemRHbHVZWFJwYjI0dWNYVmhkR1Z5Ym1sdmJpNWpiM0I1S0hSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwS1M1emJHVnljQ2gwWVhKblpYUlJkV0YwTENCMGFHbHpMbmRsYVdkb2RDazdYRzRnSUgxY2JuMWNiaUlzSWk4cUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaXBjY2x4dVEyOXdlWEpwWjJoMElDaGpLU0JOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0dVhISmNibHh5WEc1UVpYSnRhWE56YVc5dUlIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0JoYm1RdmIzSWdaR2x6ZEhKcFluVjBaU0IwYUdseklITnZablIzWVhKbElHWnZjaUJoYm5sY2NseHVjSFZ5Y0c5elpTQjNhWFJvSUc5eUlIZHBkR2h2ZFhRZ1ptVmxJR2x6SUdobGNtVmllU0JuY21GdWRHVmtMbHh5WEc1Y2NseHVWRWhGSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlGd2lRVk1nU1ZOY0lpQkJUa1FnVkVoRklFRlZWRWhQVWlCRVNWTkRURUZKVFZNZ1FVeE1JRmRCVWxKQlRsUkpSVk1nVjBsVVNGeHlYRzVTUlVkQlVrUWdWRThnVkVoSlV5QlRUMFpVVjBGU1JTQkpUa05NVlVSSlRrY2dRVXhNSUVsTlVFeEpSVVFnVjBGU1VrRk9WRWxGVXlCUFJpQk5SVkpEU0VGT1ZFRkNTVXhKVkZsY2NseHVRVTVFSUVaSlZFNUZVMU11SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFJZ1FrVWdURWxCUWt4RklFWlBVaUJCVGxrZ1UxQkZRMGxCVEN3Z1JFbFNSVU5VTEZ4eVhHNUpUa1JKVWtWRFZDd2dUMUlnUTA5T1UwVlJWVVZPVkVsQlRDQkVRVTFCUjBWVElFOVNJRUZPV1NCRVFVMUJSMFZUSUZkSVFWUlRUMFZXUlZJZ1VrVlRWVXhVU1U1SElFWlNUMDFjY2x4dVRFOVRVeUJQUmlCVlUwVXNJRVJCVkVFZ1QxSWdVRkpQUmtsVVV5d2dWMGhGVkVoRlVpQkpUaUJCVGlCQlExUkpUMDRnVDBZZ1EwOU9WRkpCUTFRc0lFNUZSMHhKUjBWT1EwVWdUMUpjY2x4dVQxUklSVklnVkU5U1ZFbFBWVk1nUVVOVVNVOU9MQ0JCVWtsVFNVNUhJRTlWVkNCUFJpQlBVaUJKVGlCRFQwNU9SVU5VU1U5T0lGZEpWRWdnVkVoRklGVlRSU0JQVWx4eVhHNVFSVkpHVDFKTlFVNURSU0JQUmlCVVNFbFRJRk5QUmxSWFFWSkZMbHh5WEc0cUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaUFxTDF4eVhHNHZLaUJuYkc5aVlXd2dVbVZtYkdWamRDd2dVSEp2YldselpTQXFMMXh5WEc1Y2NseHVkbUZ5SUdWNGRHVnVaRk4wWVhScFkzTWdQU0JtZFc1amRHbHZiaWhrTENCaUtTQjdYSEpjYmlBZ0lDQmxlSFJsYm1SVGRHRjBhV056SUQwZ1QySnFaV04wTG5ObGRGQnliM1J2ZEhsd1pVOW1JSHg4WEhKY2JpQWdJQ0FnSUNBZ0tIc2dYMTl3Y205MGIxOWZPaUJiWFNCOUlHbHVjM1JoYm1ObGIyWWdRWEp5WVhrZ0ppWWdablZ1WTNScGIyNGdLR1FzSUdJcElIc2daQzVmWDNCeWIzUnZYMThnUFNCaU95QjlLU0I4ZkZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlDaGtMQ0JpS1NCN0lHWnZjaUFvZG1GeUlIQWdhVzRnWWlrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hpTENCd0tTa2daRnR3WFNBOUlHSmJjRjA3SUgwN1hISmNiaUFnSUNCeVpYUjFjbTRnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlY0ZEdWdVpITW9aQ3dnWWlrZ2UxeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmlJQ0U5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnWWlBaFBUMGdiblZzYkNsY2NseHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJ4aGMzTWdaWGgwWlc1a2N5QjJZV3gxWlNCY0lpQXJJRk4wY21sdVp5aGlLU0FySUZ3aUlHbHpJRzV2ZENCaElHTnZibk4wY25WamRHOXlJRzl5SUc1MWJHeGNJaWs3WEhKY2JpQWdJQ0JsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnWDE4b0tTQjdJSFJvYVhNdVkyOXVjM1J5ZFdOMGIzSWdQU0JrT3lCOVhISmNiaUFnSUNCa0xuQnliM1J2ZEhsd1pTQTlJR0lnUFQwOUlHNTFiR3dnUHlCUFltcGxZM1F1WTNKbFlYUmxLR0lwSURvZ0tGOWZMbkJ5YjNSdmRIbHdaU0E5SUdJdWNISnZkRzkwZVhCbExDQnVaWGNnWDE4b0tTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0IyWVhJZ1gxOWhjM05wWjI0Z1BTQm1kVzVqZEdsdmJpZ3BJSHRjY2x4dUlDQWdJRjlmWVhOemFXZHVJRDBnVDJKcVpXTjBMbUZ6YzJsbmJpQjhmQ0JtZFc1amRHbHZiaUJmWDJGemMybG5iaWgwS1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdjeXdnYVNBOUlERXNJRzRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcElEd2dianNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITWdQU0JoY21kMWJXVnVkSE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdjeWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHpMQ0J3S1NrZ2RGdHdYU0E5SUhOYmNGMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCME8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUY5ZllYTnphV2R1TG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNKbGMzUW9jeXdnWlNrZ2UxeHlYRzRnSUNBZ2RtRnlJSFFnUFNCN2ZUdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnY3lrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h6TENCd0tTQW1KaUJsTG1sdVpHVjRUMllvY0NrZ1BDQXdLVnh5WEc0Z0lDQWdJQ0FnSUhSYmNGMGdQU0J6VzNCZE8xeHlYRzRnSUNBZ2FXWWdLSE1nSVQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzY3lBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1Z4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCd0lEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeWh6S1RzZ2FTQThJSEF1YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1V1YVc1a1pYaFBaaWh3VzJsZEtTQThJREFnSmlZZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1d2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTNWpZV3hzS0hNc0lIQmJhVjBwS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RGdHdXMmxkWFNBOUlITmJjRnRwWFYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJSbFkyOXlZWFJsS0dSbFkyOXlZWFJ2Y25Nc0lIUmhjbWRsZEN3Z2EyVjVMQ0JrWlhOaktTQjdYSEpjYmlBZ0lDQjJZWElnWXlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lISWdQU0JqSUR3Z015QS9JSFJoY21kbGRDQTZJR1JsYzJNZ1BUMDlJRzUxYkd3Z1B5QmtaWE5qSUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgwWVhKblpYUXNJR3RsZVNrZ09pQmtaWE5qTENCa08xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCU1pXWnNaV04wTG1SbFkyOXlZWFJsSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUhJZ1BTQlNaV1pzWldOMExtUmxZMjl5WVhSbEtHUmxZMjl5WVhSdmNuTXNJSFJoY21kbGRDd2dhMlY1TENCa1pYTmpLVHRjY2x4dUlDQWdJR1ZzYzJVZ1ptOXlJQ2gyWVhJZ2FTQTlJR1JsWTI5eVlYUnZjbk11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJR2xtSUNoa0lEMGdaR1ZqYjNKaGRHOXljMXRwWFNrZ2NpQTlJQ2hqSUR3Z015QS9JR1FvY2lrZ09pQmpJRDRnTXlBL0lHUW9kR0Z5WjJWMExDQnJaWGtzSUhJcElEb2daQ2gwWVhKblpYUXNJR3RsZVNrcElIeDhJSEk3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZeUErSURNZ0ppWWdjaUFtSmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kR0Z5WjJWMExDQnJaWGtzSUhJcExDQnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5d1lYSmhiU2h3WVhKaGJVbHVaR1Y0TENCa1pXTnZjbUYwYjNJcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb2RHRnlaMlYwTENCclpYa3BJSHNnWkdWamIzSmhkRzl5S0hSaGNtZGxkQ3dnYTJWNUxDQndZWEpoYlVsdVpHVjRLVHNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWxjMFJsWTI5eVlYUmxLR04wYjNJc0lHUmxjMk55YVhCMGIzSkpiaXdnWkdWamIzSmhkRzl5Y3l3Z1kyOXVkR1Y0ZEVsdUxDQnBibWwwYVdGc2FYcGxjbk1zSUdWNGRISmhTVzVwZEdsaGJHbDZaWEp6S1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCaFkyTmxjSFFvWmlrZ2V5QnBaaUFvWmlBaFBUMGdkbTlwWkNBd0lDWW1JSFI1Y0dWdlppQm1JQ0U5UFNCY0ltWjFibU4wYVc5dVhDSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKR2RXNWpkR2x2YmlCbGVIQmxZM1JsWkZ3aUtUc2djbVYwZFhKdUlHWTdJSDFjY2x4dUlDQWdJSFpoY2lCcmFXNWtJRDBnWTI5dWRHVjRkRWx1TG10cGJtUXNJR3RsZVNBOUlHdHBibVFnUFQwOUlGd2laMlYwZEdWeVhDSWdQeUJjSW1kbGRGd2lJRG9nYTJsdVpDQTlQVDBnWENKelpYUjBaWEpjSWlBL0lGd2ljMlYwWENJZ09pQmNJblpoYkhWbFhDSTdYSEpjYmlBZ0lDQjJZWElnZEdGeVoyVjBJRDBnSVdSbGMyTnlhWEIwYjNKSmJpQW1KaUJqZEc5eUlEOGdZMjl1ZEdWNGRFbHVXMXdpYzNSaGRHbGpYQ0pkSUQ4Z1kzUnZjaUE2SUdOMGIzSXVjSEp2ZEc5MGVYQmxJRG9nYm5Wc2JEdGNjbHh1SUNBZ0lIWmhjaUJrWlhOamNtbHdkRzl5SUQwZ1pHVnpZM0pwY0hSdmNrbHVJSHg4SUNoMFlYSm5aWFFnUHlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSFJoY21kbGRDd2dZMjl1ZEdWNGRFbHVMbTVoYldVcElEb2dlMzBwTzF4eVhHNGdJQ0FnZG1GeUlGOHNJR1J2Ym1VZ1BTQm1ZV3h6WlR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQmtaV052Y21GMGIzSnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZiblJsZUhRZ1BTQjdmVHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJR052Ym5SbGVIUkpiaWtnWTI5dWRHVjRkRnR3WFNBOUlIQWdQVDA5SUZ3aVlXTmpaWE56WENJZ1B5QjdmU0E2SUdOdmJuUmxlSFJKYmx0d1hUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHTnZiblJsZUhSSmJpNWhZMk5sYzNNcElHTnZiblJsZUhRdVlXTmpaWE56VzNCZElEMGdZMjl1ZEdWNGRFbHVMbUZqWTJWemMxdHdYVHRjY2x4dUlDQWdJQ0FnSUNCamIyNTBaWGgwTG1Ga1pFbHVhWFJwWVd4cGVtVnlJRDBnWm5WdVkzUnBiMjRnS0dZcElIc2dhV1lnS0dSdmJtVXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnWVdSa0lHbHVhWFJwWVd4cGVtVnljeUJoWm5SbGNpQmtaV052Y21GMGFXOXVJR2hoY3lCamIyMXdiR1YwWldSY0lpazdJR1Y0ZEhKaFNXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1lXTmpaWEIwS0dZZ2ZId2diblZzYkNrcE95QjlPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQW9NQ3dnWkdWamIzSmhkRzl5YzF0cFhTa29hMmx1WkNBOVBUMGdYQ0poWTJObGMzTnZjbHdpSUQ4Z2V5Qm5aWFE2SUdSbGMyTnlhWEIwYjNJdVoyVjBMQ0J6WlhRNklHUmxjMk55YVhCMGIzSXVjMlYwSUgwZ09pQmtaWE5qY21sd2RHOXlXMnRsZVYwc0lHTnZiblJsZUhRcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltRmpZMlZ6YzI5eVhDSXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2RtOXBaQ0F3S1NCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENBOVBUMGdiblZzYkNCOGZDQjBlWEJsYjJZZ2NtVnpkV3gwSUNFOVBTQmNJbTlpYW1WamRGd2lLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVQySnFaV04wSUdWNGNHVmpkR1ZrWENJcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVaMlYwS1NrZ1pHVnpZM0pwY0hSdmNpNW5aWFFnUFNCZk8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVjMlYwS1NrZ1pHVnpZM0pwY0hSdmNpNXpaWFFnUFNCZk8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9YeUE5SUdGalkyVndkQ2h5WlhOMWJIUXVhVzVwZENrcElHbHVhWFJwWVd4cGVtVnljeTV3ZFhOb0tGOHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDa3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVptbGxiR1JjSWlrZ2FXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1h5azdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnWkdWelkzSnBjSFJ2Y2x0clpYbGRJRDBnWHp0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnBaaUFvZEdGeVoyVjBLU0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCamIyNTBaWGgwU1c0dWJtRnRaU3dnWkdWelkzSnBjSFJ2Y2lrN1hISmNiaUFnSUNCa2IyNWxJRDBnZEhKMVpUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNKMWJrbHVhWFJwWVd4cGVtVnljeWgwYUdselFYSm5MQ0JwYm1sMGFXRnNhWHBsY25Nc0lIWmhiSFZsS1NCN1hISmNiaUFnSUNCMllYSWdkWE5sVm1Gc2RXVWdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTWp0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2FXNXBkR2xoYkdsNlpYSnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZzZFdVZ1BTQjFjMlZXWVd4MVpTQS9JR2x1YVhScFlXeHBlbVZ5YzF0cFhTNWpZV3hzS0hSb2FYTkJjbWNzSUhaaGJIVmxLU0E2SUdsdWFYUnBZV3hwZW1WeWMxdHBYUzVqWVd4c0tIUm9hWE5CY21jcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhWelpWWmhiSFZsSUQ4Z2RtRnNkV1VnT2lCMmIybGtJREE3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXdjbTl3UzJWNUtIZ3BJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQjBlWEJsYjJZZ2VDQTlQVDBnWENKemVXMWliMnhjSWlBL0lIZ2dPaUJjSWx3aUxtTnZibU5oZENoNEtUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNObGRFWjFibU4wYVc5dVRtRnRaU2htTENCdVlXMWxMQ0J3Y21WbWFYZ3BJSHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnYm1GdFpTQTlQVDBnWENKemVXMWliMnhjSWlrZ2JtRnRaU0E5SUc1aGJXVXVaR1Z6WTNKcGNIUnBiMjRnUHlCY0lsdGNJaTVqYjI1allYUW9ibUZ0WlM1a1pYTmpjbWx3ZEdsdmJpd2dYQ0pkWENJcElEb2dYQ0pjSWp0Y2NseHVJQ0FnSUhKbGRIVnliaUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1ppd2dYQ0p1WVcxbFhDSXNJSHNnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsTENCMllXeDFaVG9nY0hKbFptbDRJRDhnWENKY0lpNWpiMjVqWVhRb2NISmxabWw0TENCY0lpQmNJaXdnYm1GdFpTa2dPaUJ1WVcxbElIMHBPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmJXVjBZV1JoZEdFb2JXVjBZV1JoZEdGTFpYa3NJRzFsZEdGa1lYUmhWbUZzZFdVcElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdVbVZtYkdWamRDQTlQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ1VtVm1iR1ZqZEM1dFpYUmhaR0YwWVNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCeVpYUjFjbTRnVW1WbWJHVmpkQzV0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRjNZV2wwWlhJb2RHaHBjMEZ5Wnl3Z1gyRnlaM1Z0Wlc1MGN5d2dVQ3dnWjJWdVpYSmhkRzl5S1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCaFpHOXdkQ2gyWVd4MVpTa2dleUJ5WlhSMWNtNGdkbUZzZFdVZ2FXNXpkR0Z1WTJWdlppQlFJRDhnZG1Gc2RXVWdPaUJ1WlhjZ1VDaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTa2dleUJ5WlhOdmJIWmxLSFpoYkhWbEtUc2dmU2s3SUgxY2NseHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ0tGQWdmSHdnS0ZBZ1BTQlFjbTl0YVhObEtTa29ablZ1WTNScGIyNGdLSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUdaMWJHWnBiR3hsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNpNXVaWGgwS0haaGJIVmxLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djbVZxWldOMEtHVXBPeUI5SUgxY2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQnlaV3BsWTNSbFpDaDJZV3gxWlNrZ2V5QjBjbmtnZXlCemRHVndLR2RsYm1WeVlYUnZjbHRjSW5Sb2NtOTNYQ0pkS0haaGJIVmxLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djbVZxWldOMEtHVXBPeUI5SUgxY2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0hKbGMzVnNkQ2tnZXlCeVpYTjFiSFF1Wkc5dVpTQS9JSEpsYzI5c2RtVW9jbVZ6ZFd4MExuWmhiSFZsS1NBNklHRmtiM0IwS0hKbGMzVnNkQzUyWVd4MVpTa3VkR2hsYmlobWRXeG1hV3hzWldRc0lISmxhbVZqZEdWa0tUc2dmVnh5WEc0Z0lDQWdJQ0FnSUhOMFpYQW9LR2RsYm1WeVlYUnZjaUE5SUdkbGJtVnlZWFJ2Y2k1aGNIQnNlU2gwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6SUh4OElGdGRLU2t1Ym1WNGRDZ3BLVHRjY2x4dUlDQWdJSDBwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOW5aVzVsY21GMGIzSW9kR2hwYzBGeVp5d2dZbTlrZVNrZ2UxeHlYRzRnSUNBZ2RtRnlJRjhnUFNCN0lHeGhZbVZzT2lBd0xDQnpaVzUwT2lCbWRXNWpkR2x2YmlncElIc2dhV1lnS0hSYk1GMGdKaUF4S1NCMGFISnZkeUIwV3pGZE95QnlaWFIxY200Z2RGc3hYVHNnZlN3Z2RISjVjem9nVzEwc0lHOXdjem9nVzEwZ2ZTd2daaXdnZVN3Z2RDd2daenRjY2x4dUlDQWdJSEpsZEhWeWJpQm5JRDBnZXlCdVpYaDBPaUIyWlhKaUtEQXBMQ0JjSW5Sb2NtOTNYQ0k2SUhabGNtSW9NU2tzSUZ3aWNtVjBkWEp1WENJNklIWmxjbUlvTWlrZ2ZTd2dkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlDaG5XMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaWdwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBwTENCbk8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1S1NCN0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdjM1JsY0NoYmJpd2dkbDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0c5d0tTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHWXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKSFpXNWxjbUYwYjNJZ2FYTWdZV3h5WldGa2VTQmxlR1ZqZFhScGJtY3VYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNobklDWW1JQ2huSUQwZ01Dd2diM0JiTUYwZ0ppWWdLRjhnUFNBd0tTa3NJRjhwSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htSUQwZ01Td2dlU0FtSmlBb2RDQTlJRzl3V3pCZElDWWdNaUEvSUhsYlhDSnlaWFIxY201Y0lsMGdPaUJ2Y0Zzd1hTQS9JSGxiWENKMGFISnZkMXdpWFNCOGZDQW9LSFFnUFNCNVcxd2ljbVYwZFhKdVhDSmRLU0FtSmlCMExtTmhiR3dvZVNrc0lEQXBJRG9nZVM1dVpYaDBLU0FtSmlBaEtIUWdQU0IwTG1OaGJHd29lU3dnYjNCYk1WMHBLUzVrYjI1bEtTQnlaWFIxY200Z2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSGtnUFNBd0xDQjBLU0J2Y0NBOUlGdHZjRnN3WFNBbUlESXNJSFF1ZG1Gc2RXVmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHOXdXekJkS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURBNklHTmhjMlVnTVRvZ2RDQTlJRzl3T3lCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdORG9nWHk1c1lXSmxiQ3NyT3lCeVpYUjFjbTRnZXlCMllXeDFaVG9nYjNCYk1WMHNJR1J2Ym1VNklHWmhiSE5sSUgwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURVNklGOHViR0ZpWld3ckt6c2dlU0E5SUc5d1d6RmRPeUJ2Y0NBOUlGc3dYVHNnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRGM2SUc5d0lEMGdYeTV2Y0hNdWNHOXdLQ2s3SUY4dWRISjVjeTV3YjNBb0tUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doS0hRZ1BTQmZMblJ5ZVhNc0lIUWdQU0IwTG14bGJtZDBhQ0ErSURBZ0ppWWdkRnQwTG14bGJtZDBhQ0F0SURGZEtTQW1KaUFvYjNCYk1GMGdQVDA5SURZZ2ZId2diM0JiTUYwZ1BUMDlJRElwS1NCN0lGOGdQU0F3T3lCamIyNTBhVzUxWlRzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdNeUFtSmlBb0lYUWdmSHdnS0c5d1d6RmRJRDRnZEZzd1hTQW1KaUJ2Y0ZzeFhTQThJSFJiTTEwcEtTa2dleUJmTG14aFltVnNJRDBnYjNCYk1WMDdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzl3V3pCZElEMDlQU0EySUNZbUlGOHViR0ZpWld3Z1BDQjBXekZkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekZkT3lCMElEMGdiM0E3SUdKeVpXRnJPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hRZ0ppWWdYeTVzWVdKbGJDQThJSFJiTWwwcElIc2dYeTVzWVdKbGJDQTlJSFJiTWwwN0lGOHViM0J6TG5CMWMyZ29iM0FwT3lCaWNtVmhhenNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMFd6SmRLU0JmTG05d2N5NXdiM0FvS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUc5d0lEMGdZbTlrZVM1allXeHNLSFJvYVhOQmNtY3NJRjhwTzF4eVhHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHNnYjNBZ1BTQmJOaXdnWlYwN0lIa2dQU0F3T3lCOUlHWnBibUZzYkhrZ2V5Qm1JRDBnZENBOUlEQTdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iM0JiTUYwZ0ppQTFLU0IwYUhKdmR5QnZjRnN4WFRzZ2NtVjBkWEp1SUhzZ2RtRnNkV1U2SUc5d1d6QmRJRDhnYjNCYk1WMGdPaUIyYjJsa0lEQXNJR1J2Ym1VNklIUnlkV1VnZlR0Y2NseHVJQ0FnSUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElIWmhjaUJmWDJOeVpXRjBaVUpwYm1ScGJtY2dQU0JQWW1wbFkzUXVZM0psWVhSbElEOGdLR1oxYm1OMGFXOXVLRzhzSUcwc0lHc3NJR3N5S1NCN1hISmNiaUFnSUNCcFppQW9heklnUFQwOUlIVnVaR1ZtYVc1bFpDa2dheklnUFNCck8xeHlYRzRnSUNBZ2RtRnlJR1JsYzJNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0cwc0lHc3BPMXh5WEc0Z0lDQWdhV1lnS0NGa1pYTmpJSHg4SUNoY0ltZGxkRndpSUdsdUlHUmxjMk1nUHlBaGJTNWZYMlZ6VFc5a2RXeGxJRG9nWkdWell5NTNjbWwwWVdKc1pTQjhmQ0JrWlhOakxtTnZibVpwWjNWeVlXSnNaU2twSUh0Y2NseHVJQ0FnSUNBZ0lDQmtaWE5qSUQwZ2V5QmxiblZ0WlhKaFlteGxPaUIwY25WbExDQm5aWFE2SUdaMWJtTjBhVzl1S0NrZ2V5QnlaWFIxY200Z2JWdHJYVHNnZlNCOU8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzhzSUdzeUxDQmtaWE5qS1R0Y2NseHVmU2tnT2lBb1puVnVZM1JwYjI0b2J5d2diU3dnYXl3Z2F6SXBJSHRjY2x4dUlDQWdJR2xtSUNock1pQTlQVDBnZFc1a1pXWnBibVZrS1NCck1pQTlJR3M3WEhKY2JpQWdJQ0J2VzJzeVhTQTlJRzFiYTEwN1hISmNibjBwTzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWlhod2IzSjBVM1JoY2lodExDQnZLU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHMHBJR2xtSUNod0lDRTlQU0JjSW1SbFptRjFiSFJjSWlBbUppQWhUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzhzSUhBcEtTQmZYMk55WldGMFpVSnBibVJwYm1jb2J5d2diU3dnY0NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM1poYkhWbGN5aHZLU0I3WEhKY2JpQWdJQ0IyWVhJZ2N5QTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJc0lHMGdQU0J6SUNZbUlHOWJjMTBzSUdrZ1BTQXdPMXh5WEc0Z0lDQWdhV1lnS0cwcElISmxkSFZ5YmlCdExtTmhiR3dvYnlrN1hISmNiaUFnSUNCcFppQW9ieUFtSmlCMGVYQmxiMllnYnk1c1pXNW5kR2dnUFQwOUlGd2liblZ0WW1WeVhDSXBJSEpsZEhWeWJpQjdYSEpjYmlBZ0lDQWdJQ0FnYm1WNGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2J5QW1KaUJwSUQ0OUlHOHViR1Z1WjNSb0tTQnZJRDBnZG05cFpDQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjJZV3gxWlRvZ2J5QW1KaUJ2VzJrcksxMHNJR1J2Ym1VNklDRnZJSDA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9jeUEvSUZ3aVQySnFaV04wSUdseklHNXZkQ0JwZEdWeVlXSnNaUzVjSWlBNklGd2lVM2x0WW05c0xtbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY21WaFpDaHZMQ0J1S1NCN1hISmNiaUFnSUNCMllYSWdiU0E5SUhSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJ2VzFONWJXSnZiQzVwZEdWeVlYUnZjbDA3WEhKY2JpQWdJQ0JwWmlBb0lXMHBJSEpsZEhWeWJpQnZPMXh5WEc0Z0lDQWdkbUZ5SUdrZ1BTQnRMbU5oYkd3b2J5a3NJSElzSUdGeUlEMGdXMTBzSUdVN1hISmNiaUFnSUNCMGNua2dlMXh5WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2dvYmlBOVBUMGdkbTlwWkNBd0lIeDhJRzR0TFNBK0lEQXBJQ1ltSUNFb2NpQTlJR2t1Ym1WNGRDZ3BLUzVrYjI1bEtTQmhjaTV3ZFhOb0tISXVkbUZzZFdVcE8xeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1kyRjBZMmdnS0dWeWNtOXlLU0I3SUdVZ1BTQjdJR1Z5Y205eU9pQmxjbkp2Y2lCOU95QjlYSEpjYmlBZ0lDQm1hVzVoYkd4NUlIdGNjbHh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jaUFtSmlBaGNpNWtiMjVsSUNZbUlDaHRJRDBnYVZ0Y0luSmxkSFZ5Ymx3aVhTa3BJRzB1WTJGc2JDaHBLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdabWx1WVd4c2VTQjdJR2xtSUNobEtTQjBhSEp2ZHlCbExtVnljbTl5T3lCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQVpHVndjbVZqWVhSbFpDQXFMMXh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1FvS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCaGNpQTlJRnRkTENCcElEMGdNRHNnYVNBOElHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCaGNpQTlJR0Z5TG1OdmJtTmhkQ2hmWDNKbFlXUW9ZWEpuZFcxbGJuUnpXMmxkS1NrN1hISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQVpHVndjbVZqWVhSbFpDQXFMMXh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1JCY25KaGVYTW9LU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJ6SUQwZ01Dd2dhU0E5SURBc0lHbHNJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnYVNBOElHbHNPeUJwS3lzcElITWdLejBnWVhKbmRXMWxiblJ6VzJsZExteGxibWQwYUR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhJZ1BTQkJjbkpoZVNoektTd2dheUE5SURBc0lHa2dQU0F3T3lCcElEd2dhV3c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJoSUQwZ1lYSm5kVzFsYm5SelcybGRMQ0JxSUQwZ01Dd2dhbXdnUFNCaExteGxibWQwYURzZ2FpQThJR3BzT3lCcUt5c3NJR3NyS3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY2x0clhTQTlJR0ZiYWwwN1hISmNiaUFnSUNCeVpYUjFjbTRnY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjM0J5WldGa1FYSnlZWGtvZEc4c0lHWnliMjBzSUhCaFkyc3BJSHRjY2x4dUlDQWdJR2xtSUNod1lXTnJJSHg4SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUFQwOUlESXBJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNJRDBnWm5KdmJTNXNaVzVuZEdnc0lHRnlPeUJwSUR3Z2JEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dGeUlIeDhJQ0VvYVNCcGJpQm1jbTl0S1NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV0Z5S1NCaGNpQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR1p5YjIwc0lEQXNJR2twTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JoY2x0cFhTQTlJR1p5YjIxYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFJ2TG1OdmJtTmhkQ2hoY2lCOGZDQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWMyeHBZMlV1WTJGc2JDaG1jbTl0S1NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkYzWVdsMEtIWXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQjBhR2x6SUdsdWMzUmhibU5sYjJZZ1gxOWhkMkZwZENBL0lDaDBhR2x6TG5ZZ1BTQjJMQ0IwYUdsektTQTZJRzVsZHlCZlgyRjNZV2wwS0hZcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloYzNsdVkwZGxibVZ5WVhSdmNpaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpMQ0JuWlc1bGNtRjBiM0lwSUh0Y2NseHVJQ0FnSUdsbUlDZ2hVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjaUJwY3lCdWIzUWdaR1ZtYVc1bFpDNWNJaWs3WEhKY2JpQWdJQ0IyWVhJZ1p5QTlJR2RsYm1WeVlYUnZjaTVoY0hCc2VTaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpJSHg4SUZ0ZEtTd2dhU3dnY1NBOUlGdGRPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHa2dQU0I3ZlN3Z2RtVnlZaWhjSW01bGVIUmNJaWtzSUhabGNtSW9YQ0owYUhKdmQxd2lLU3dnZG1WeVlpaGNJbkpsZEhWeWJsd2lLU3dnYVZ0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1S1NCN0lHbG1JQ2huVzI1ZEtTQnBXMjVkSUQwZ1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1SUNoaExDQmlLU0I3SUhFdWNIVnphQ2hiYml3Z2Rpd2dZU3dnWWwwcElENGdNU0I4ZkNCeVpYTjFiV1VvYml3Z2RpazdJSDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnlaWE4xYldVb2Jpd2dkaWtnZXlCMGNua2dleUJ6ZEdWd0tHZGJibDBvZGlrcE95QjlJR05oZEdOb0lDaGxLU0I3SUhObGRIUnNaU2h4V3pCZFd6TmRMQ0JsS1RzZ2ZTQjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpkR1Z3S0hJcElIc2djaTUyWVd4MVpTQnBibk4wWVc1alpXOW1JRjlmWVhkaGFYUWdQeUJRY205dGFYTmxMbkpsYzI5c2RtVW9jaTUyWVd4MVpTNTJLUzUwYUdWdUtHWjFiR1pwYkd3c0lISmxhbVZqZENrZ09pQnpaWFIwYkdVb2NWc3dYVnN5WFN3Z2NpazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHd29kbUZzZFdVcElIc2djbVZ6ZFcxbEtGd2libVY0ZEZ3aUxDQjJZV3gxWlNrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlISmxhbVZqZENoMllXeDFaU2tnZXlCeVpYTjFiV1VvWENKMGFISnZkMXdpTENCMllXeDFaU2s3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhObGRIUnNaU2htTENCMktTQjdJR2xtSUNobUtIWXBMQ0J4TG5Ob2FXWjBLQ2tzSUhFdWJHVnVaM1JvS1NCeVpYTjFiV1VvY1Zzd1hWc3dYU3dnY1Zzd1hWc3hYU2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1ORVpXeGxaMkYwYjNJb2J5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdrc0lIQTdYSEpjYmlBZ0lDQnlaWFIxY200Z2FTQTlJSHQ5TENCMlpYSmlLRndpYm1WNGRGd2lLU3dnZG1WeVlpaGNJblJvY205M1hDSXNJR1oxYm1OMGFXOXVJQ2hsS1NCN0lIUm9jbTkzSUdVN0lIMHBMQ0IyWlhKaUtGd2ljbVYwZFhKdVhDSXBMQ0JwVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUxDQm1LU0I3SUdsYmJsMGdQU0J2VzI1ZElEOGdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUNod0lEMGdJWEFwSUQ4Z2V5QjJZV3gxWlRvZ1gxOWhkMkZwZENodlcyNWRLSFlwS1N3Z1pHOXVaVG9nWm1Gc2MyVWdmU0E2SUdZZ1B5Qm1LSFlwSURvZ2Rqc2dmU0E2SUdZN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTldZV3gxWlhNb2J5a2dlMXh5WEc0Z0lDQWdhV1lnS0NGVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1SUNBZ0lIWmhjaUJ0SUQwZ2IxdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBzSUdrN1hISmNiaUFnSUNCeVpYUjFjbTRnYlNBL0lHMHVZMkZzYkNodktTQTZJQ2h2SUQwZ2RIbHdaVzltSUY5ZmRtRnNkV1Z6SUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCZlgzWmhiSFZsY3lodktTQTZJRzliVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwTENCcElEMGdlMzBzSUhabGNtSW9YQ0p1WlhoMFhDSXBMQ0IyWlhKaUtGd2lkR2h5YjNkY0lpa3NJSFpsY21Jb1hDSnlaWFIxY201Y0lpa3NJR2xiVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmU3dnYVNrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2FWdHVYU0E5SUc5YmJsMGdKaVlnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBJSHNnZGlBOUlHOWJibDBvZGlrc0lITmxkSFJzWlNoeVpYTnZiSFpsTENCeVpXcGxZM1FzSUhZdVpHOXVaU3dnZGk1MllXeDFaU2s3SUgwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6WlhSMGJHVW9jbVZ6YjJ4MlpTd2djbVZxWldOMExDQmtMQ0IyS1NCN0lGQnliMjFwYzJVdWNtVnpiMngyWlNoMktTNTBhR1Z1S0daMWJtTjBhVzl1S0hZcElIc2djbVZ6YjJ4MlpTaDdJSFpoYkhWbE9pQjJMQ0JrYjI1bE9pQmtJSDBwT3lCOUxDQnlaV3BsWTNRcE95QjlYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDIxaGEyVlVaVzF3YkdGMFpVOWlhbVZqZENoamIyOXJaV1FzSUhKaGR5a2dlMXh5WEc0Z0lDQWdhV1lnS0U5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1kyOXZhMlZrTENCY0luSmhkMXdpTENCN0lIWmhiSFZsT2lCeVlYY2dmU2s3SUgwZ1pXeHpaU0I3SUdOdmIydGxaQzV5WVhjZ1BTQnlZWGM3SUgxY2NseHVJQ0FnSUhKbGRIVnliaUJqYjI5clpXUTdYSEpjYm4wN1hISmNibHh5WEc1MllYSWdYMTl6WlhSTmIyUjFiR1ZFWldaaGRXeDBJRDBnVDJKcVpXTjBMbU55WldGMFpTQS9JQ2htZFc1amRHbHZiaWh2TENCMktTQjdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYnl3Z1hDSmtaV1poZFd4MFhDSXNJSHNnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3dnZG1Gc2RXVTZJSFlnZlNrN1hISmNibjBwSURvZ1puVnVZM1JwYjI0b2J5d2dkaWtnZTF4eVhHNGdJQ0FnYjF0Y0ltUmxabUYxYkhSY0lsMGdQU0IyTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZhVzF3YjNKMFUzUmhjaWh0YjJRcElIdGNjbHh1SUNBZ0lHbG1JQ2h0YjJRZ0ppWWdiVzlrTGw5ZlpYTk5iMlIxYkdVcElISmxkSFZ5YmlCdGIyUTdYSEpjYmlBZ0lDQjJZWElnY21WemRXeDBJRDBnZTMwN1hISmNiaUFnSUNCcFppQW9iVzlrSUNFOUlHNTFiR3dwSUdadmNpQW9kbUZ5SUdzZ2FXNGdiVzlrS1NCcFppQW9heUFoUFQwZ1hDSmtaV1poZFd4MFhDSWdKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0cxdlpDd2dheWtwSUY5ZlkzSmxZWFJsUW1sdVpHbHVaeWh5WlhOMWJIUXNJRzF2WkN3Z2F5azdYSEpjYmlBZ0lDQmZYM05sZEUxdlpIVnNaVVJsWm1GMWJIUW9jbVZ6ZFd4MExDQnRiMlFwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBSR1ZtWVhWc2RDaHRiMlFwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQS9JRzF2WkNBNklIc2daR1ZtWVhWc2REb2diVzlrSUgwN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMk5zWVhOelVISnBkbUYwWlVacFpXeGtSMlYwS0hKbFkyVnBkbVZ5TENCemRHRjBaU3dnYTJsdVpDd2daaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2lZVndpSUNZbUlDRm1LU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVVISnBkbUYwWlNCaFkyTmxjM052Y2lCM1lYTWdaR1ZtYVc1bFpDQjNhWFJvYjNWMElHRWdaMlYwZEdWeVhDSXBPMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ6ZEdGMFpTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlEOGdjbVZqWldsMlpYSWdJVDA5SUhOMFlYUmxJSHg4SUNGbUlEb2dJWE4wWVhSbExtaGhjeWh5WldObGFYWmxjaWtwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ2NtVmhaQ0J3Y21sMllYUmxJRzFsYldKbGNpQm1jbTl0SUdGdUlHOWlhbVZqZENCM2FHOXpaU0JqYkdGemN5QmthV1FnYm05MElHUmxZMnhoY21VZ2FYUmNJaWs3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhMmx1WkNBOVBUMGdYQ0p0WENJZ1B5Qm1JRG9nYTJsdVpDQTlQVDBnWENKaFhDSWdQeUJtTG1OaGJHd29jbVZqWldsMlpYSXBJRG9nWmlBL0lHWXVkbUZzZFdVZ09pQnpkR0YwWlM1blpYUW9jbVZqWldsMlpYSXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5amJHRnpjMUJ5YVhaaGRHVkdhV1ZzWkZObGRDaHlaV05sYVhabGNpd2djM1JoZEdVc0lIWmhiSFZsTENCcmFXNWtMQ0JtS1NCN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0p0WENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pRY21sMllYUmxJRzFsZEdodlpDQnBjeUJ1YjNRZ2QzSnBkR0ZpYkdWY0lpazdYSEpjYmlBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKaFhDSWdKaVlnSVdZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pRY21sMllYUmxJR0ZqWTJWemMyOXlJSGRoY3lCa1pXWnBibVZrSUhkcGRHaHZkWFFnWVNCelpYUjBaWEpjSWlrN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlITjBZWFJsSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCeVpXTmxhWFpsY2lBaFBUMGdjM1JoZEdVZ2ZId2dJV1lnT2lBaGMzUmhkR1V1YUdGektISmxZMlZwZG1WeUtTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0IzY21sMFpTQndjbWwyWVhSbElHMWxiV0psY2lCMGJ5QmhiaUJ2WW1wbFkzUWdkMmh2YzJVZ1kyeGhjM01nWkdsa0lHNXZkQ0JrWldOc1lYSmxJR2wwWENJcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUNocmFXNWtJRDA5UFNCY0ltRmNJaUEvSUdZdVkyRnNiQ2h5WldObGFYWmxjaXdnZG1Gc2RXVXBJRG9nWmlBL0lHWXVkbUZzZFdVZ1BTQjJZV3gxWlNBNklITjBZWFJsTG5ObGRDaHlaV05sYVhabGNpd2dkbUZzZFdVcEtTd2dkbUZzZFdVN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMk5zWVhOelVISnBkbUYwWlVacFpXeGtTVzRvYzNSaGRHVXNJSEpsWTJWcGRtVnlLU0I3WEhKY2JpQWdJQ0JwWmlBb2NtVmpaV2wyWlhJZ1BUMDlJRzUxYkd3Z2ZId2dLSFI1Y0dWdlppQnlaV05sYVhabGNpQWhQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ2NtVmpaV2wyWlhJZ0lUMDlJRndpWm5WdVkzUnBiMjVjSWlrcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdkWE5sSUNkcGJpY2diM0JsY21GMGIzSWdiMjRnYm05dUxXOWlhbVZqZEZ3aUtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnYzNSaGRHVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JSEpsWTJWcGRtVnlJRDA5UFNCemRHRjBaU0E2SUhOMFlYUmxMbWhoY3loeVpXTmxhWFpsY2lrN1hISmNibjFjY2x4dUlpd2lhVzF3YjNKMElIUjVjR1VnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVjYmk4cUtseHVJQ29nVkhKaGRtVnljMlVnWVc1alpYTjBiM0p6SUc5bUlHZHBkbVZ1SUc5aWFtVmpkQ0JoYm1RZ1kyRnNiQ0JuYVhabGJpQmpZV3hzWW1GamF5Qm1jbTl0SUhKdmIzUWdjMmxrWlM1Y2JpQXFJRWwwSUhkcGJHd2dhVzVqYkhWa1pTQjBhR1VnWjJsMlpXNGdiMkpxWldOMElHbDBjMlZzWmk1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnYjJKcVpXTjBJRlJvWlNCdlltcGxZM1FnZVc5MUlIZGhiblFnZEc4Z2RISmhkbVZ5YzJWY2JpQXFJRUJ3WVhKaGJTQmpZV3hzWW1GamF5QlVhR1VnWTJGc2JDQmlZV05ySUdaMWJtTjBhVzl1SUhSb1lYUWdkMmxzYkNCaVpTQmpZV3hzWldRZ1ptOXlJR1ZoWTJnZ1lXNWpaWE4wYjNKelhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwY21GMlpYSnpaVUZ1WTJWemRHOXljMFp5YjIxU2IyOTBLRzlpYW1WamREb2dWRWhTUlVVdVQySnFaV04wTTBRc0lHTmhiR3hpWVdOck9pQW9iMkpxWldOME9pQlVTRkpGUlM1UFltcGxZM1F6UkNrZ1BUNGdkbTlwWkNrNklIWnZhV1FnZTF4dUlDQmpiMjV6ZENCaGJtTmxjM1J2Y25NNklGUklVa1ZGTGs5aWFtVmpkRE5FVzEwZ1BTQmJiMkpxWldOMFhUdGNibHh1SUNCc1pYUWdhR1ZoWkRvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFnZkNCdWRXeHNJRDBnYjJKcVpXTjBMbkJoY21WdWREdGNiaUFnZDJocGJHVWdLR2hsWVdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCaGJtTmxjM1J2Y25NdWRXNXphR2xtZENob1pXRmtLVHRjYmlBZ0lDQm9aV0ZrSUQwZ2FHVmhaQzV3WVhKbGJuUTdYRzRnSUgxY2JseHVJQ0JoYm1ObGMzUnZjbk11Wm05eVJXRmphQ2dvWVc1alpYTjBiM0lwSUQwK0lIdGNiaUFnSUNCallXeHNZbUZqYXloaGJtTmxjM1J2Y2lrN1hHNGdJSDBwTzF4dWZWeHVJaXdpYVcxd2IzSjBJSFI1Y0dVZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBJSDBnWm5KdmJTQW5MaTlXVWsxT2IyUmxRMjl1YzNSeVlXbHVkQ2M3WEc1cGJYQnZjblFnZXlCMGNtRjJaWEp6WlVGdVkyVnpkRzl5YzBaeWIyMVNiMjkwSUgwZ1puSnZiU0FuTGk5MWRHbHNjeTkwY21GMlpYSnpaVUZ1WTJWemRHOXljMFp5YjIxU2IyOTBKenRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBUV0Z1WVdkbGNpQjdYRzRnSUhCeWFYWmhkR1VnWDJOdmJuTjBjbUZwYm5SeklEMGdibVYzSUZObGREeFdVazFPYjJSbFEyOXVjM1J5WVdsdWRENG9LVHRjYmlBZ2NIVmliR2xqSUdkbGRDQmpiMjV6ZEhKaGFXNTBjeWdwT2lCVFpYUThWbEpOVG05a1pVTnZibk4wY21GcGJuUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTI5dWMzUnlZV2x1ZEhNN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOXZZbXBsWTNSRGIyNXpkSEpoYVc1MGMwMWhjQ0E5SUc1bGR5Qk5ZWEE4VkVoU1JVVXVUMkpxWldOME0wUXNJRk5sZER4V1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEQ0K0tDazdYRzVjYmlBZ2NIVmliR2xqSUdGa1pFTnZibk4wY21GcGJuUW9ZMjl1YzNSeVlXbHVkRG9nVmxKTlRtOWtaVU52Ym5OMGNtRnBiblFwT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TGw5amIyNXpkSEpoYVc1MGN5NWhaR1FvWTI5dWMzUnlZV2x1ZENrN1hHNWNiaUFnSUNCc1pYUWdiMkpxWldOMFUyVjBJRDBnZEdocGN5NWZiMkpxWldOMFEyOXVjM1J5WVdsdWRITk5ZWEF1WjJWMEtHTnZibk4wY21GcGJuUXVaR1Z6ZEdsdVlYUnBiMjRwTzF4dUlDQWdJR2xtSUNodlltcGxZM1JUWlhRZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2IySnFaV04wVTJWMElEMGdibVYzSUZObGREeFdVazFPYjJSbFEyOXVjM1J5WVdsdWRENG9LVHRjYmlBZ0lDQWdJSFJvYVhNdVgyOWlhbVZqZEVOdmJuTjBjbUZwYm5SelRXRndMbk5sZENoamIyNXpkSEpoYVc1MExtUmxjM1JwYm1GMGFXOXVMQ0J2WW1wbFkzUlRaWFFwTzF4dUlDQWdJSDFjYmlBZ0lDQnZZbXBsWTNSVFpYUXVZV1JrS0dOdmJuTjBjbUZwYm5RcE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHUmxiR1YwWlVOdmJuTjBjbUZwYm5Rb1kyOXVjM1J5WVdsdWREb2dWbEpOVG05a1pVTnZibk4wY21GcGJuUXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbDlqYjI1emRISmhhVzUwY3k1a1pXeGxkR1VvWTI5dWMzUnlZV2x1ZENrN1hHNWNiaUFnSUNCamIyNXpkQ0J2WW1wbFkzUlRaWFFnUFNCMGFHbHpMbDl2WW1wbFkzUkRiMjV6ZEhKaGFXNTBjMDFoY0M1blpYUW9ZMjl1YzNSeVlXbHVkQzVrWlhOMGFXNWhkR2x2YmlraE8xeHVJQ0FnSUc5aWFtVmpkRk5sZEM1a1pXeGxkR1VvWTI5dWMzUnlZV2x1ZENrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2MyVjBTVzVwZEZOMFlYUmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUdOdmJuTjBjbUZwYm5SelZISnBaV1FnUFNCdVpYY2dVMlYwUEZaU1RVNXZaR1ZEYjI1emRISmhhVzUwUGlncE8xeHVJQ0FnSUdOdmJuTjBJR052Ym5OMGNtRnBiblJ6Ukc5dVpTQTlJRzVsZHlCVFpYUThWbEpOVG05a1pVTnZibk4wY21GcGJuUStLQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUdOdmJuTjBjbUZwYm5RZ2IyWWdkR2hwY3k1ZlkyOXVjM1J5WVdsdWRITXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQnliMk5sYzNORGIyNXpkSEpoYVc1MEtHTnZibk4wY21GcGJuUXNJR052Ym5OMGNtRnBiblJ6VkhKcFpXUXNJR052Ym5OMGNtRnBiblJ6Ukc5dVpTd2dLR052Ym5OMGNtRnBiblFwSUQwK0lHTnZibk4wY21GcGJuUXVjMlYwU1c1cGRGTjBZWFJsS0NrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1VvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzNRZ1kyOXVjM1J5WVdsdWRITlVjbWxsWkNBOUlHNWxkeUJUWlhROFZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RK0tDazdYRzRnSUNBZ1kyOXVjM1FnWTI5dWMzUnlZV2x1ZEhORWIyNWxJRDBnYm1WM0lGTmxkRHhXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRDRvS1R0Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1kyOXVjM1J5WVdsdWRDQnZaaUIwYUdsekxsOWpiMjV6ZEhKaGFXNTBjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZjSEp2WTJWemMwTnZibk4wY21GcGJuUW9ZMjl1YzNSeVlXbHVkQ3dnWTI5dWMzUnlZV2x1ZEhOVWNtbGxaQ3dnWTI5dWMzUnlZV2x1ZEhORWIyNWxMQ0FvWTI5dWMzUnlZV2x1ZENrZ1BUNGdZMjl1YzNSeVlXbHVkQzUxY0dSaGRHVW9LU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZWd1pHRjBaU0JoSUdOdmJuTjBjbUZwYm5RdVhHNGdJQ0FxSUVsbUlIUm9aWEpsSUdGeVpTQnZkR2hsY2lCamIyNXpkSEpoYVc1MGN5QjBhR0YwSUdGeVpTQmtaWEJsYm1SaGJuUXNJR2wwSUhkcGJHd2dkSEo1SUhSdklIVndaR0YwWlNCMGFHVnRJSEpsWTNWeWMybDJaV3g1TGx4dUlDQWdLaUJKZENCdGFXZG9kQ0IwYUhKdmR5QmhiaUJsY25KdmNpQnBaaUIwYUdWeVpTQmhjbVVnWTJseVkzVnNZWElnWkdWd1pXNWtaVzVqYVdWekxseHVJQ0FnS2x4dUlDQWdLaUJKYm5SbGJtUmxaQ0IwYnlCaVpTQjFjMlZrSUdsdUlIdEFiR2x1YXlCMWNHUmhkR1Y5SUdGdVpDQjdRR3hwYm1zZ1gzQnliMk5sYzNORGIyNXpkSEpoYVc1MGZTQnBkSE5sYkdZZ2NtVmpkWEp6YVhabGJIa3VYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JqYjI1emRISmhhVzUwSUVFZ1kyOXVjM1J5WVdsdWRDQjViM1VnZDJGdWRDQjBieUIxY0dSaGRHVmNiaUFnSUNvZ1FIQmhjbUZ0SUdOdmJuTjBjbUZwYm5SelZISnBaV1FnVTJWMElHOW1JR052Ym5OMGNtRnBiblJ6SUhSb1lYUWdZWEpsSUdGc2NtVmhaSGtnZEhKcFpXUWdkRzhnWW1VZ2RYQmtZWFJsWkZ4dUlDQWdLaUJBY0dGeVlXMGdZMjl1YzNSeVlXbHVkSE5FYjI1bElGTmxkQ0J2WmlCamIyNXpkSEpoYVc1MGN5QjBhR0YwSUdGeVpTQmhiSEpsWVdSNUlIVndJSFJ2SUdSaGRHVmNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM0J5YjJObGMzTkRiMjV6ZEhKaGFXNTBLRnh1SUNBZ0lHTnZibk4wY21GcGJuUTZJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBMRnh1SUNBZ0lHTnZibk4wY21GcGJuUnpWSEpwWldRNklGTmxkRHhXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRDRzWEc0Z0lDQWdZMjl1YzNSeVlXbHVkSE5FYjI1bE9pQlRaWFE4VmxKTlRtOWtaVU52Ym5OMGNtRnBiblErTEZ4dUlDQWdJR05oYkd4aVlXTnJPaUFvWTI5dWMzUnlZV2x1ZERvZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RcElEMCtJSFp2YVdRc1hHNGdJQ2s2SUhadmFXUWdlMXh1SUNBZ0lHbG1JQ2hqYjI1emRISmhhVzUwYzBSdmJtVXVhR0Z6S0dOdmJuTjBjbUZwYm5RcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZibk4wY21GcGJuUnpWSEpwWldRdWFHRnpLR052Ym5OMGNtRnBiblFwS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFaU1RVNXZaR1ZEYjI1emRISmhhVzUwVFdGdVlXZGxjam9nUTJseVkzVnNZWElnWkdWd1pXNWtaVzVqZVNCa1pYUmxZM1JsWkNCM2FHbHNaU0IxY0dSaGRHbHVaeUJqYjI1emRISmhhVzUwY3ljcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRISmhhVzUwYzFSeWFXVmtMbUZrWkNoamIyNXpkSEpoYVc1MEtUdGNibHh1SUNBZ0lHTnZibk4wSUdSbGNFOWlhbVZqZEhNZ1BTQmpiMjV6ZEhKaGFXNTBMbVJsY0dWdVpHVnVZMmxsY3p0Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUdSbGNFOWlhbVZqZENCdlppQmtaWEJQWW1wbFkzUnpLU0I3WEc0Z0lDQWdJQ0IwY21GMlpYSnpaVUZ1WTJWemRHOXljMFp5YjIxU2IyOTBLR1JsY0U5aWFtVmpkQ3dnS0dSbGNFOWlhbVZqZEVGdVkyVnpkRzl5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHOWlhbVZqZEZObGRDQTlJSFJvYVhNdVgyOWlhbVZqZEVOdmJuTjBjbUZwYm5SelRXRndMbWRsZENoa1pYQlBZbXBsWTNSQmJtTmxjM1J2Y2lrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h2WW1wbFkzUlRaWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR1JsY0VOdmJuTjBjbUZwYm5RZ2IyWWdiMkpxWldOMFUyVjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5d2NtOWpaWE56UTI5dWMzUnlZV2x1ZENoa1pYQkRiMjV6ZEhKaGFXNTBMQ0JqYjI1emRISmhhVzUwYzFSeWFXVmtMQ0JqYjI1emRISmhhVzUwYzBSdmJtVXNJR05oYkd4aVlXTnJLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTmhiR3hpWVdOcktHTnZibk4wY21GcGJuUXBPMXh1WEc0Z0lDQWdZMjl1YzNSeVlXbHVkSE5FYjI1bExtRmtaQ2hqYjI1emRISmhhVzUwS1R0Y2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dWFXMXdiM0owSUhzZ2NYVmhkRWx1ZG1WeWRFTnZiWEJoZENCOUlHWnliMjBnSnk0dmRYUnBiSE12Y1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ2M3WEc1cGJYQnZjblFnZXlCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSnk0dlZsSk5UbTlrWlVOdmJuTjBjbUZwYm5Rbk8xeHVYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDNGMVlYUkNJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibHh1THlvcVhHNGdLaUJCSUdOdmJuTjBjbUZwYm5RZ2RHaGhkQ0IwY21GdWMyWmxjbk1nWVNCeWIzUmhkR2x2YmlCaGNtOTFibVFnYjI1bElHRjRhWE1nYjJZZ1lTQnpiM1Z5WTJVdVhHNGdLbHh1SUNvZ1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZG5KdExXTXZkbkp0TFhOd1pXTnBabWxqWVhScGIyNHZkSEpsWlM5dFlYTjBaWEl2YzNCbFkybG1hV05oZEdsdmJpOVdVazFEWDI1dlpHVmZZMjl1YzNSeVlXbHVkQzB4TGpCZlltVjBZU055YjJ4c0xXTnZibk4wY21GcGJuUmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFZKdmRHRjBhVzl1UTI5dWMzUnlZV2x1ZENCbGVIUmxibVJ6SUZaU1RVNXZaR1ZEYjI1emRISmhhVzUwSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCeVpYTjBJSEYxWVhSbGNtNXBiMjRnYjJZZ2RHaGxJSHRBYkdsdWF5QmtaWE4wYVc1aGRHbHZibjB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5a2MzUlNaWE4wVVhWaGREb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR2x1ZG1WeWMyVWdiMllnZEdobElISmxjM1FnY1hWaGRHVnlibWx2YmlCdlppQjBhR1VnZTBCc2FXNXJJSE52ZFhKalpYMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlwYm5aVGNtTlNaWE4wVVhWaGREb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJqdGNibHh1SUNCd2RXSnNhV01nWjJWMElHUmxjR1Z1WkdWdVkybGxjeWdwT2lCVFpYUThWRWhTUlVVdVQySnFaV04wTTBROFZFaFNSVVV1UlhabGJuUStQaUI3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJUWlhRb1czUm9hWE11YzI5MWNtTmxYU2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb1pHVnpkR2x1WVhScGIyNDZJRlJJVWtWRkxrOWlhbVZqZERORUxDQnpiM1Z5WTJVNklGUklVa1ZGTGs5aWFtVmpkRE5FS1NCN1hHNGdJQ0FnYzNWd1pYSW9aR1Z6ZEdsdVlYUnBiMjRzSUhOdmRYSmpaU2s3WEc1Y2JpQWdJQ0IwYUdsekxsOWtjM1JTWlhOMFVYVmhkQ0E5SUc1bGR5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtDazdYRzRnSUNBZ2RHaHBjeTVmYVc1MlUzSmpVbVZ6ZEZGMVlYUWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklITmxkRWx1YVhSVGRHRjBaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TGw5a2MzUlNaWE4wVVhWaGRDNWpiM0I1S0hSb2FYTXVaR1Z6ZEdsdVlYUnBiMjR1Y1hWaGRHVnlibWx2YmlrN1hHNGdJQ0FnY1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ2gwYUdsekxsOXBiblpUY21OU1pYTjBVWFZoZEM1amIzQjVLSFJvYVhNdWMyOTFjbU5sTG5GMVlYUmxjbTVwYjI0cEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QjFjR1JoZEdVb0tUb2dkbTlwWkNCN1hHNGdJQ0FnTHk4Z1kyRnNZM1ZzWVhSbElIUm9aU0JrWld4MFlTQnliM1JoZEdsdmJpQm1jbTl0SUhSb1pTQnlaWE4wSUdGaWIzVjBJSFJvWlNCemIzVnlZMlZjYmlBZ0lDQmpiMjV6ZENCemNtTkVaV3gwWVZGMVlYUWdQU0JmY1hWaGRFRXVZMjl3ZVNoMGFHbHpMbDlwYm5aVGNtTlNaWE4wVVhWaGRDa3ViWFZzZEdsd2JIa29kR2hwY3k1emIzVnlZMlV1Y1hWaGRHVnlibWx2YmlrN1hHNWNiaUFnSUNBdkx5QnRkV3gwYVhCc2VTQjBhR1VnWkdWc2RHRWdkRzhnZEdobElISmxjM1FnYjJZZ2RHaGxJR1JsYzNScGJtRjBhVzl1WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwVVhWaGRDQTlJRjl4ZFdGMFFpNWpiM0I1S0hSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwS1M1dGRXeDBhWEJzZVNoemNtTkVaV3gwWVZGMVlYUXBPMXh1WEc0Z0lDQWdMeThnWW14bGJtUWdkMmwwYUNCMGFHVWdjbVZ6ZENCeGRXRjBaWEp1YVc5dUlIVnphVzVuSUhkbGFXZG9kRnh1SUNBZ0lIUm9hWE11WkdWemRHbHVZWFJwYjI0dWNYVmhkR1Z5Ym1sdmJpNWpiM0I1S0hSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwS1M1emJHVnljQ2gwWVhKblpYUlJkV0YwTENCMGFHbHpMbmRsYVdkb2RDazdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJSEYxWVhSSmJuWmxjblJEYjIxd1lYUWdmU0JtY205dElDY3VMM1YwYVd4ekwzRjFZWFJKYm5abGNuUkRiMjF3WVhRbk8xeHVhVzF3YjNKMElIc2dWbEpOVG05a1pVTnZibk4wY21GcGJuUWdmU0JtY205dElDY3VMMVpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBKenRjYmx4dVkyOXVjM1FnWDNZelFTQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmY1hWaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVZMjl1YzNRZ1gzRjFZWFJDSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYmx4dUx5b3FYRzRnS2lCQklHTnZibk4wY21GcGJuUWdkR2hoZENCMGNtRnVjMlpsY25NZ1lTQnliM1JoZEdsdmJpQmhjbTkxYm1RZ2IyNWxJR0Y0YVhNZ2IyWWdZU0J6YjNWeVkyVXVYRzRnS2x4dUlDb2dVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmRuSnRMV012ZG5KdExYTndaV05wWm1sallYUnBiMjR2ZEhKbFpTOXRZWE4wWlhJdmMzQmxZMmxtYVdOaGRHbHZiaTlXVWsxRFgyNXZaR1ZmWTI5dWMzUnlZV2x1ZEMweExqQmZZbVYwWVNOeWIyeHNMV052Ym5OMGNtRnBiblJjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZaU1RWSnZiR3hEYjI1emRISmhhVzUwSUdWNGRHVnVaSE1nVmxKTlRtOWtaVU52Ym5OMGNtRnBiblFnZTF4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhKdmJHd2dZWGhwY3lCdlppQjBhR1VnWTI5dWMzUnlZV2x1ZEM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdjbTlzYkVGNGFYTW9LVG9nSjFnbklId2dKMWtuSUh3Z0oxb25JSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY205c2JFRjRhWE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSEp2Ykd3Z1lYaHBjeUJ2WmlCMGFHVWdZMjl1YzNSeVlXbHVkQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhRZ2NtOXNiRUY0YVhNb2NtOXNiRUY0YVhNNklDZFlKeUI4SUNkWkp5QjhJQ2RhSnlrZ2UxeHVJQ0FnSUhSb2FYTXVYM0p2Ykd4QmVHbHpJRDBnY205c2JFRjRhWE03WEc0Z0lDQWdkR2hwY3k1ZmRqTlNiMnhzUVhocGN5NXpaWFFvY205c2JFRjRhWE1nUFQwOUlDZFlKeUEvSURFdU1DQTZJREF1TUN3Z2NtOXNiRUY0YVhNZ1BUMDlJQ2RaSnlBL0lERXVNQ0E2SURBdU1Dd2djbTlzYkVGNGFYTWdQVDA5SUNkYUp5QS9JREV1TUNBNklEQXVNQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSEp2Ykd3Z1lYaHBjeUJ2WmlCMGFHVWdZMjl1YzNSeVlXbHVkQzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNKdmJHeEJlR2x6T2lBbldDY2dmQ0FuV1NjZ2ZDQW5XaWM3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCN1FHeHBibXNnWDNKdmJHeEJlR2x6ZlNCaWRYUWdhVzRnWVc0Z1lXTjBkV0ZzSUZabFkzUnZjak1nWm05eWJTNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM1l6VW05c2JFRjRhWE02SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J5WlhOMElIRjFZWFJsY201cGIyNGdiMllnZEdobElIdEFiR2x1YXlCa1pYTjBhVzVoZEdsdmJuMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlrYzNSU1pYTjBVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHbHVkbVZ5YzJVZ2IyWWdkR2hsSUhKbGMzUWdjWFZoZEdWeWJtbHZiaUJ2WmlCMGFHVWdlMEJzYVc1cklHUmxjM1JwYm1GMGFXOXVmUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJsdWRrUnpkRkpsYzNSUmRXRjBPaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQmdjM0pqVW1WemRGRjFZWFF1YVc1MlpYSjBLQ2tnS2lCa2MzUlNaWE4wVVhWaGRHQXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlwYm5aVGNtTlNaWE4wVVhWaGRFMTFiRVJ6ZEZKbGMzUlJkV0YwT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1TzF4dVhHNGdJSEIxWW14cFl5Qm5aWFFnWkdWd1pXNWtaVzVqYVdWektDazZJRk5sZER4VVNGSkZSUzVQWW1wbFkzUXpSRHhVU0ZKRlJTNUZkbVZ1ZEQ0K0lIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGTmxkQ2hiZEdocGN5NXpiM1Z5WTJWZEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWhrWlhOMGFXNWhkR2x2YmpvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFzSUhOdmRYSmpaVG9nVkVoU1JVVXVUMkpxWldOME0wUXBJSHRjYmlBZ0lDQnpkWEJsY2loa1pYTjBhVzVoZEdsdmJpd2djMjkxY21ObEtUdGNibHh1SUNBZ0lIUm9hWE11WDNKdmJHeEJlR2x6SUQwZ0oxZ25PMXh1SUNBZ0lIUm9hWE11WDNZelVtOXNiRUY0YVhNZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3hMQ0F3TENBd0tUdGNibHh1SUNBZ0lIUm9hWE11WDJSemRGSmxjM1JSZFdGMElEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JpQWdJQ0IwYUdsekxsOXBiblpFYzNSU1pYTjBVWFZoZENBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc0Z0lDQWdkR2hwY3k1ZmFXNTJVM0pqVW1WemRGRjFZWFJOZFd4RWMzUlNaWE4wVVhWaGRDQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2MyVjBTVzVwZEZOMFlYUmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WDJSemRGSmxjM1JSZFdGMExtTnZjSGtvZEdocGN5NWtaWE4wYVc1aGRHbHZiaTV4ZFdGMFpYSnVhVzl1S1R0Y2JpQWdJQ0J4ZFdGMFNXNTJaWEowUTI5dGNHRjBLSFJvYVhNdVgybHVka1J6ZEZKbGMzUlJkV0YwTG1OdmNIa29kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBLVHRjYmlBZ0lDQnhkV0YwU1c1MlpYSjBRMjl0Y0dGMEtIUm9hWE11WDJsdWRsTnlZMUpsYzNSUmRXRjBUWFZzUkhOMFVtVnpkRkYxWVhRdVkyOXdlU2gwYUdsekxuTnZkWEpqWlM1eGRXRjBaWEp1YVc5dUtTa3ViWFZzZEdsd2JIa29kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSFZ3WkdGMFpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNBdkx5QmpZV3hqZFd4aGRHVWdkR2hsSUdSbGJIUmhJSEp2ZEdGMGFXOXVJR1p5YjIwZ2RHaGxJSEpsYzNRZ1lXSnZkWFFnZEdobElITnZkWEpqWlN3Z2RHaGxiaUJqYjI1MlpYSjBJSFJ2SUhSb1pTQmtaWE4wYVc1aGRHbHZiaUJzYjJOaGJDQmpiMjl5WkZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUZkb1lYUWdkR2hsSUhGMVlYUkVaV3gwWVNCcGN5QnBiblJsYm1SbFpDQjBieUJpWlRwY2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUdCZ1lIUnpYRzRnSUNBZ0lDb2dZMjl1YzNRZ2NYVmhkRk55WTBSbGJIUmhJRDBnWDNGMVlYUkJYRzRnSUNBZ0lDb2dJQ0F1WTI5d2VTZ2dkR2hwY3k1ZmFXNTJVM0pqVW1WemRGRjFZWFFnS1Z4dUlDQWdJQ0FxSUNBZ0xtMTFiSFJwY0d4NUtDQjBhR2x6TG5OdmRYSmpaUzV4ZFdGMFpYSnVhVzl1SUNrN1hHNGdJQ0FnSUNvZ1kyOXVjM1FnY1hWaGRGTnlZMFJsYkhSaFNXNVFZWEpsYm5RZ1BTQmZjWFZoZEVKY2JpQWdJQ0FnS2lBZ0lDNWpiM0I1S0NCMGFHbHpMbDl6Y21OU1pYTjBVWFZoZENBcFhHNGdJQ0FnSUNvZ0lDQXViWFZzZEdsd2JIa29JSEYxWVhSVGNtTkVaV3gwWVNBcFhHNGdJQ0FnSUNvZ0lDQXViWFZzZEdsd2JIa29JSFJvYVhNdVgybHVkbE55WTFKbGMzUlJkV0YwSUNrN1hHNGdJQ0FnSUNvZ1kyOXVjM1FnY1hWaGRGTnlZMFJsYkhSaFNXNUVjM1FnUFNCZmNYVmhkRUZjYmlBZ0lDQWdLaUFnSUM1amIzQjVLQ0IwYUdsekxsOXBiblpFYzNSU1pYTjBVWFZoZENBcFhHNGdJQ0FnSUNvZ0lDQXViWFZzZEdsd2JIa29JSEYxWVhSVGNtTkVaV3gwWVVsdVVHRnlaVzUwSUNsY2JpQWdJQ0FnS2lBZ0lDNXRkV3gwYVhCc2VTZ2dkR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUWdLVHRjYmlBZ0lDQWdLaUJnWUdCY2JpQWdJQ0FnS2k5Y2JpQWdJQ0JqYjI1emRDQnhkV0YwUkdWc2RHRWdQU0JmY1hWaGRFRmNiaUFnSUNBZ0lDNWpiM0I1S0hSb2FYTXVYMmx1ZGtSemRGSmxjM1JSZFdGMEtWeHVJQ0FnSUNBZ0xtMTFiSFJwY0d4NUtIUm9hWE11YzI5MWNtTmxMbkYxWVhSbGNtNXBiMjRwWEc0Z0lDQWdJQ0F1YlhWc2RHbHdiSGtvZEdocGN5NWZhVzUyVTNKalVtVnpkRkYxWVhSTmRXeEVjM1JTWlhOMFVYVmhkQ2s3WEc1Y2JpQWdJQ0F2THlCamNtVmhkR1VnWVNCbWNtOXRMWFJ2SUhGMVlYUmxjbTVwYjI1Y2JpQWdJQ0JqYjI1emRDQnVNU0E5SUY5Mk0wRXVZMjl3ZVNoMGFHbHpMbDkyTTFKdmJHeEJlR2x6S1M1aGNIQnNlVkYxWVhSbGNtNXBiMjRvY1hWaGRFUmxiSFJoS1R0Y2JseHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGZG9ZWFFnZEdobElIRjFZWFJHY205dFZHOGdhWE1nYVc1MFpXNWtaV1FnZEc4Z1ltVTZYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQmdZR0IwYzF4dUlDQWdJQ0FxSUdOdmJuTjBJSEYxWVhSR2NtOXRWRzhnUFNCZmNYVmhkRUl1YzJWMFJuSnZiVlZ1YVhSV1pXTjBiM0p6S0NCMGFHbHpMbDkyTTFKdmJHeEJlR2x6TENCdU1TQXBMbWx1ZG1WeWMyVW9LVHRjYmlBZ0lDQWdLaUJnWUdCY2JpQWdJQ0FnS2k5Y2JpQWdJQ0JqYjI1emRDQnhkV0YwUm5KdmJWUnZJRDBnWDNGMVlYUkNMbk5sZEVaeWIyMVZibWwwVm1WamRHOXljeWh1TVN3Z2RHaHBjeTVmZGpOU2IyeHNRWGhwY3lrN1hHNWNiaUFnSUNBdkx5QnhkV0YwUm5KdmJWUnZJQ29nY1hWaGRFUmxiSFJoSUQwOUlISnZiR3dnWlhoMGNtRmpkR1ZrSUdaeWIyMGdjWFZoZEVSbGJIUmhYRzRnSUNBZ1kyOXVjM1FnZEdGeVoyVjBVWFZoZENBOUlIRjFZWFJHY205dFZHOHVjSEpsYlhWc2RHbHdiSGtvZEdocGN5NWZaSE4wVW1WemRGRjFZWFFwTG0xMWJIUnBjR3g1S0hGMVlYUkVaV3gwWVNrN1hHNWNiaUFnSUNBdkx5QmliR1Z1WkNCM2FYUm9JSFJvWlNCeVpYTjBJSEYxWVhSbGNtNXBiMjRnZFhOcGJtY2dkMlZwWjJoMFhHNGdJQ0FnZEdocGN5NWtaWE4wYVc1aGRHbHZiaTV4ZFdGMFpYSnVhVzl1TG1OdmNIa29kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBMbk5zWlhKd0tIUmhjbWRsZEZGMVlYUXNJSFJvYVhNdWQyVnBaMmgwS1R0Y2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElIUjVjR1VnS2lCaGN5QkRiMjV6ZEhKaGFXNTBVMk5vWlcxaElHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTFqTFc1dlpHVXRZMjl1YzNSeVlXbHVkQzB4TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZE1WRVlzSUVkTVZFWk1iMkZrWlhKUWJIVm5hVzRzSUVkTVZFWlFZWEp6WlhJZ2ZTQm1jbTl0SUNkMGFISmxaUzlsZUdGdGNHeGxjeTlxYzIwdmJHOWhaR1Z5Y3k5SFRGUkdURzloWkdWeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZaU1RVNXZaR1ZEYjI1emRISmhhVzUwU0dWc2NHVnlJSDBnWm5KdmJTQW5MaTlvWld4d1pYSnpKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOVG05a1pVTnZibk4wY21GcGJuUk1iMkZrWlhKUWJIVm5hVzVQY0hScGIyNXpJSDBnWm5KdmJTQW5MaTlXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1uTzF4dWFXMXdiM0owSUhzZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5STllXNWhaMlZ5SUgwZ1puSnZiU0FuTGk5V1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEUxaGJtRm5aWEluTzF4dWFXMXdiM0owSUhzZ1ZsSk5VbTkwWVhScGIyNURiMjV6ZEhKaGFXNTBJSDBnWm5KdmJTQW5MaTlXVWsxU2IzUmhkR2x2YmtOdmJuTjBjbUZwYm5Rbk8xeHVhVzF3YjNKMElIc2dSMHhVUmlCaGN5QkhURlJHVTJOb1pXMWhJSDBnWm5KdmJTQW5RR2RzZEdZdGRISmhibk5tYjNKdEwyTnZjbVVuTzF4dWFXMXdiM0owSUhzZ1ZsSk5RV2x0UTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSnk0dlZsSk5RV2x0UTI5dWMzUnlZV2x1ZENjN1hHNXBiWEJ2Y25RZ2V5QldVazFTYjJ4c1EyOXVjM1J5WVdsdWRDQjlJR1p5YjIwZ0p5NHZWbEpOVW05c2JFTnZibk4wY21GcGJuUW5PMXh1WEc0dktpcGNiaUFxSUZCdmMzTnBZbXhsSUhOd1pXTWdkbVZ5YzJsdmJuTWdhWFFnY21WamIyZHVhWHBsY3k1Y2JpQXFMMXh1WTI5dWMzUWdVRTlUVTBsQ1RFVmZVMUJGUTE5V1JWSlRTVTlPVXlBOUlHNWxkeUJUWlhRb1d5Y3hMakFuTENBbk1TNHdMV0psZEdFblhTazdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QldVazFPYjJSbFEyOXVjM1J5WVdsdWRFeHZZV1JsY2xCc2RXZHBiaUJwYlhCc1pXMWxiblJ6SUVkTVZFWk1iMkZrWlhKUWJIVm5hVzRnZTF4dUlDQndkV0pzYVdNZ2MzUmhkR2xqSUhKbFlXUnZibXg1SUVWWVZFVk9VMGxQVGw5T1FVMUZJRDBnSjFaU1RVTmZibTlrWlY5amIyNXpkSEpoYVc1MEp6dGNibHh1SUNBdktpcGNiaUFnSUNvZ1UzQmxZMmxtZVNCaGJpQlBZbXBsWTNRelJDQjBieUJoWkdRZ2UwQnNhVzVySUZaU1RVNXZaR1ZEYjI1emRISmhhVzUwU0dWc2NHVnlmU0J6TGx4dUlDQWdLaUJKWmlCdWIzUWdjM0JsWTJsbWFXVmtMQ0JvWld4d1pYSWdkMmxzYkNCdWIzUWdZbVVnWTNKbFlYUmxaQzVjYmlBZ0lDb2dTV1lnWUhKbGJtUmxjazl5WkdWeVlDQnBjeUJ6WlhRZ2RHOGdkR2hsSUhKdmIzUXNJR2hsYkhCbGNuTWdkMmxzYkNCamIzQjVJSFJvWlNCellXMWxJR0J5Wlc1a1pYSlBjbVJsY21BZ0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHaGxiSEJsY2xKdmIzUS9PaUJVU0ZKRlJTNVBZbXBsWTNRelJEdGNibHh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnY0dGeWMyVnlPaUJIVEZSR1VHRnljMlZ5TzF4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYm1GdFpTZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lISmxkSFZ5YmlCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEV4dllXUmxjbEJzZFdkcGJpNUZXRlJGVGxOSlQwNWZUa0ZOUlR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHdZWEp6WlhJNklFZE1WRVpRWVhKelpYSXNJRzl3ZEdsdmJuTS9PaUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1wSUh0Y2JpQWdJQ0IwYUdsekxuQmhjbk5sY2lBOUlIQmhjbk5sY2p0Y2JseHVJQ0FnSUhSb2FYTXVhR1ZzY0dWeVVtOXZkQ0E5SUc5d2RHbHZibk0vTG1obGJIQmxjbEp2YjNRN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1lYTjVibU1nWVdaMFpYSlNiMjkwS0dkc2RHWTZJRWRNVkVZcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JuYkhSbUxuVnpaWEpFWVhSaExuWnliVTV2WkdWRGIyNXpkSEpoYVc1MFRXRnVZV2RsY2lBOUlHRjNZV2wwSUhSb2FYTXVYMmx0Y0c5eWRDaG5iSFJtS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpiWEJ2Y25RZ1kyOXVjM1J5WVdsdWRITWdabkp2YlNCaElFZE1WRVlnWVc1a0lISmxkSFZ5Ym5NZ1lTQjdRR3hwYm1zZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5STllXNWhaMlZ5ZlM1Y2JpQWdJQ29nU1hRZ2JXbG5hSFFnY21WMGRYSnVJR0J1ZFd4c1lDQnBibk4wWldGa0lIZG9aVzRnYVhRZ1pHOWxjeUJ1YjNRZ2JtVmxaQ0IwYnlCaVpTQmpjbVZoZEdWa0lHOXlJSE52YldWMGFHbHVaeUJuYnlCM2NtOXVaeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdkc2RHWWdRU0J3WVhKelpXUWdjbVZ6ZFd4MElHOW1JRWRNVkVZZ2RHRnJaVzRnWm5KdmJTQkhURlJHVEc5aFpHVnlYRzRnSUNBcUwxeHVJQ0J3Y205MFpXTjBaV1FnWVhONWJtTWdYMmx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRTFoYm1GblpYSWdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJSFJvYVhNdWNHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJQzh2SUdWaGNteDVJR0ZpYjNKMElHbG1JR2wwSUdSdlpYTnVKM1FnZFhObElHTnZibk4wY21GcGJuUnpYRzRnSUNBZ1kyOXVjM1FnYVhORGIyNXpkSEpoYVc1MGMxVnpaV1FnUFNCcWMyOXVMbVY0ZEdWdWMybHZibk5WYzJWa1B5NXBibVJsZUU5bUtGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFRHOWhaR1Z5VUd4MVoybHVMa1ZZVkVWT1UwbFBUbDlPUVUxRktTQWhQVDBnTFRFN1hHNGdJQ0FnYVdZZ0tDRnBjME52Ym5OMGNtRnBiblJ6VlhObFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JXRnVZV2RsY2lBOUlHNWxkeUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRTFoYm1GblpYSW9LVHRjYmlBZ0lDQmpiMjV6ZENCMGFISmxaVTV2WkdWek9pQlVTRkpGUlM1UFltcGxZM1F6UkZ0ZElEMGdZWGRoYVhRZ2RHaHBjeTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqYVdWektDZHViMlJsSnlrN1hHNWNiaUFnSUNBdkx5QnBiWEJ2Y25RZ1kyOXVjM1J5WVdsdWRITWdabTl5SUdWaFkyZ2dibTlrWlhOY2JpQWdJQ0IwYUhKbFpVNXZaR1Z6TG1admNrVmhZMmdvS0c1dlpHVXNJRzV2WkdWSmJtUmxlQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYzJOb1pXMWhUbTlrWlNBOUlHcHpiMjR1Ym05a1pYTWhXMjV2WkdWSmJtUmxlRjA3WEc1Y2JpQWdJQ0FnSUM4dklHTm9aV05ySUdsbUlIUm9aU0JsZUhSbGJuTnBiMjRnZFhObGN5QjBhR1VnWlhoMFpXNXphVzl1WEc0Z0lDQWdJQ0JqYjI1emRDQmxlSFJsYm5OcGIyNGdQU0J6WTJobGJXRk9iMlJsUHk1bGVIUmxibk5wYjI1elB5NWJWbEpOVG05a1pVTnZibk4wY21GcGJuUk1iMkZrWlhKUWJIVm5hVzR1UlZoVVJVNVRTVTlPWDA1QlRVVmRJR0Z6WEc0Z0lDQWdJQ0FnSUh3Z1EyOXVjM1J5WVdsdWRGTmphR1Z0WVM1V1VrMURUbTlrWlVOdmJuTjBjbUZwYm5SY2JpQWdJQ0FnSUNBZ2ZDQjFibVJsWm1sdVpXUTdYRzVjYmlBZ0lDQWdJR2xtSUNobGVIUmxibk5wYjI0Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZibk4wSUhOd1pXTldaWEp6YVc5dUlEMGdaWGgwWlc1emFXOXVMbk53WldOV1pYSnphVzl1TzF4dUlDQWdJQ0FnYVdZZ0tDRlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUTG1oaGN5aHpjR1ZqVm1WeWMybHZiaWtwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0FnSUdCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEV4dllXUmxjbEJzZFdkcGJqb2dWVzVyYm05M2JpQWtlMVpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBURzloWkdWeVVHeDFaMmx1TGtWWVZFVk9VMGxQVGw5T1FVMUZmU0J6Y0dWalZtVnljMmx2YmlCY0lpUjdjM0JsWTFabGNuTnBiMjU5WENKZ0xGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR052Ym5OMElHTnZibk4wY21GcGJuUkVaV1lnUFNCbGVIUmxibk5wYjI0dVkyOXVjM1J5WVdsdWREdGNibHh1SUNBZ0lDQWdMeThnYVcxd2IzSjBJR052Ym5OMGNtRnBiblJ6WEc0Z0lDQWdJQ0JwWmlBb1kyOXVjM1J5WVdsdWRFUmxaaTV5YjJ4c0lDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyOXVjM1J5WVdsdWRDQTlJSFJvYVhNdVgybHRjRzl5ZEZKdmJHeERiMjV6ZEhKaGFXNTBLRzV2WkdVc0lIUm9jbVZsVG05a1pYTXNJR052Ym5OMGNtRnBiblJFWldZdWNtOXNiQ2s3WEc0Z0lDQWdJQ0FnSUcxaGJtRm5aWEl1WVdSa1EyOXVjM1J5WVdsdWRDaGpiMjV6ZEhKaGFXNTBLVHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWTI5dWMzUnlZV2x1ZEVSbFppNWhhVzBnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjI1emRISmhhVzUwSUQwZ2RHaHBjeTVmYVcxd2IzSjBRV2x0UTI5dWMzUnlZV2x1ZENodWIyUmxMQ0IwYUhKbFpVNXZaR1Z6TENCamIyNXpkSEpoYVc1MFJHVm1MbUZwYlNrN1hHNGdJQ0FnSUNBZ0lHMWhibUZuWlhJdVlXUmtRMjl1YzNSeVlXbHVkQ2hqYjI1emRISmhhVzUwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kyOXVjM1J5WVdsdWRFUmxaaTV5YjNSaGRHbHZiaUFoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR052Ym5OMGNtRnBiblFnUFNCMGFHbHpMbDlwYlhCdmNuUlNiM1JoZEdsdmJrTnZibk4wY21GcGJuUW9ibTlrWlN3Z2RHaHlaV1ZPYjJSbGN5d2dZMjl1YzNSeVlXbHVkRVJsWmk1eWIzUmhkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lHMWhibUZuWlhJdVlXUmtRMjl1YzNSeVlXbHVkQ2hqYjI1emRISmhhVzUwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUM4dklHbHVhWFFnWTI5dWMzUnlZV2x1ZEhOY2JpQWdJQ0JuYkhSbUxuTmpaVzVsTG5Wd1pHRjBaVTFoZEhKcGVGZHZjbXhrS0NrN1hHNGdJQ0FnYldGdVlXZGxjaTV6WlhSSmJtbDBVM1JoZEdVb0tUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdFlXNWhaMlZ5TzF4dUlDQjlYRzVjYmlBZ2NISnZkR1ZqZEdWa0lGOXBiWEJ2Y25SU2IyeHNRMjl1YzNSeVlXbHVkQ2hjYmlBZ0lDQmtaWE4wYVc1aGRHbHZiam9nVkVoU1JVVXVUMkpxWldOME0wUXNYRzRnSUNBZ2JtOWtaWE02SUZSSVVrVkZMazlpYW1WamRETkVXMTBzWEc0Z0lDQWdjbTlzYkVOdmJuTjBjbUZwYm5SRVpXWTZJRU52Ym5OMGNtRnBiblJUWTJobGJXRXVVbTlzYkVOdmJuTjBjbUZwYm5Rc1hHNGdJQ2s2SUZaU1RWSnZiR3hEYjI1emRISmhhVzUwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSE52ZFhKalpUb2djMjkxY21ObFNXNWtaWGdzSUhKdmJHeEJlR2x6TENCM1pXbG5hSFFnZlNBOUlISnZiR3hEYjI1emRISmhhVzUwUkdWbU8xeHVJQ0FnSUdOdmJuTjBJSE52ZFhKalpTQTlJRzV2WkdWelczTnZkWEpqWlVsdVpHVjRYVHRjYmlBZ0lDQmpiMjV6ZENCamIyNXpkSEpoYVc1MElEMGdibVYzSUZaU1RWSnZiR3hEYjI1emRISmhhVzUwS0dSbGMzUnBibUYwYVc5dUxDQnpiM1Z5WTJVcE8xeHVYRzRnSUNBZ2FXWWdLSEp2Ykd4QmVHbHpJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR052Ym5OMGNtRnBiblF1Y205c2JFRjRhWE1nUFNCeWIyeHNRWGhwY3p0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hkbGFXZG9kQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JqYjI1emRISmhhVzUwTG5kbGFXZG9kQ0E5SUhkbGFXZG9kRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NW9aV3h3WlhKU2IyOTBLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQm9aV3h3WlhJZ1BTQnVaWGNnVmxKTlRtOWtaVU52Ym5OMGNtRnBiblJJWld4d1pYSW9ZMjl1YzNSeVlXbHVkQ2s3WEc0Z0lDQWdJQ0IwYUdsekxtaGxiSEJsY2xKdmIzUXVZV1JrS0dobGJIQmxjaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHTnZibk4wY21GcGJuUTdYRzRnSUgxY2JseHVJQ0J3Y205MFpXTjBaV1FnWDJsdGNHOXlkRUZwYlVOdmJuTjBjbUZwYm5Rb1hHNGdJQ0FnWkdWemRHbHVZWFJwYjI0NklGUklVa1ZGTGs5aWFtVmpkRE5FTEZ4dUlDQWdJRzV2WkdWek9pQlVTRkpGUlM1UFltcGxZM1F6UkZ0ZExGeHVJQ0FnSUdGcGJVTnZibk4wY21GcGJuUkVaV1k2SUVOdmJuTjBjbUZwYm5SVFkyaGxiV0V1UVdsdFEyOXVjM1J5WVdsdWRDeGNiaUFnS1RvZ1ZsSk5RV2x0UTI5dWMzUnlZV2x1ZENCN1hHNGdJQ0FnWTI5dWMzUWdleUJ6YjNWeVkyVTZJSE52ZFhKalpVbHVaR1Y0TENCaGFXMUJlR2x6TENCM1pXbG5hSFFnZlNBOUlHRnBiVU52Ym5OMGNtRnBiblJFWldZN1hHNGdJQ0FnWTI5dWMzUWdjMjkxY21ObElEMGdibTlrWlhOYmMyOTFjbU5sU1c1a1pYaGRPMXh1SUNBZ0lHTnZibk4wSUdOdmJuTjBjbUZwYm5RZ1BTQnVaWGNnVmxKTlFXbHRRMjl1YzNSeVlXbHVkQ2hrWlhOMGFXNWhkR2x2Yml3Z2MyOTFjbU5sS1R0Y2JseHVJQ0FnSUdsbUlDaGhhVzFCZUdseklDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHTnZibk4wY21GcGJuUXVZV2x0UVhocGN5QTlJR0ZwYlVGNGFYTTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDNaV2xuYUhRZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1J5WVdsdWRDNTNaV2xuYUhRZ1BTQjNaV2xuYUhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YUdWc2NHVnlVbTl2ZENrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYUdWc2NHVnlJRDBnYm1WM0lGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFNHVnNjR1Z5S0dOdmJuTjBjbUZwYm5RcE8xeHVJQ0FnSUNBZ2RHaHBjeTVvWld4d1pYSlNiMjkwTG1Ga1pDaG9aV3h3WlhJcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJqYjI1emRISmhhVzUwTzF4dUlDQjlYRzVjYmlBZ2NISnZkR1ZqZEdWa0lGOXBiWEJ2Y25SU2IzUmhkR2x2YmtOdmJuTjBjbUZwYm5Rb1hHNGdJQ0FnWkdWemRHbHVZWFJwYjI0NklGUklVa1ZGTGs5aWFtVmpkRE5FTEZ4dUlDQWdJRzV2WkdWek9pQlVTRkpGUlM1UFltcGxZM1F6UkZ0ZExGeHVJQ0FnSUhKdmRHRjBhVzl1UTI5dWMzUnlZV2x1ZEVSbFpqb2dRMjl1YzNSeVlXbHVkRk5qYUdWdFlTNVNiM1JoZEdsdmJrTnZibk4wY21GcGJuUXNYRzRnSUNrNklGWlNUVkp2ZEdGMGFXOXVRMjl1YzNSeVlXbHVkQ0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnpiM1Z5WTJVNklITnZkWEpqWlVsdVpHVjRMQ0IzWldsbmFIUWdmU0E5SUhKdmRHRjBhVzl1UTI5dWMzUnlZV2x1ZEVSbFpqdGNiaUFnSUNCamIyNXpkQ0J6YjNWeVkyVWdQU0J1YjJSbGMxdHpiM1Z5WTJWSmJtUmxlRjA3WEc0Z0lDQWdZMjl1YzNRZ1kyOXVjM1J5WVdsdWRDQTlJRzVsZHlCV1VrMVNiM1JoZEdsdmJrTnZibk4wY21GcGJuUW9aR1Z6ZEdsdVlYUnBiMjRzSUhOdmRYSmpaU2s3WEc1Y2JpQWdJQ0JwWmlBb2QyVnBaMmgwSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBjbUZwYm5RdWQyVnBaMmgwSUQwZ2QyVnBaMmgwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbWhsYkhCbGNsSnZiM1FwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2hsYkhCbGNpQTlJRzVsZHlCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEVobGJIQmxjaWhqYjI1emRISmhhVzUwS1R0Y2JpQWdJQ0FnSUhSb2FYTXVhR1ZzY0dWeVVtOXZkQzVoWkdRb2FHVnNjR1Z5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZMjl1YzNSeVlXbHVkRHRjYmlBZ2ZWeHVmVnh1SWwwc0ltNWhiV1Z6SWpwYklsOTJNMEVpTENKZmRqTkNJaXdpWDNGMVlYUkJJaXdpWDNGMVlYUkNJbDBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN08wRkJSMEVzVFVGQlRVRXNUVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlJYQkNMRTFCUVVFc2RVSkJRWGRDTEZOQlFWRXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRVHRCUVV0MFJDeEpRVUZCTEZkQlFVRXNRMEZCYlVJc1ZVRkJOa0lzUlVGQlFUdEJRVU01UXl4UlFVRkJMRXRCUVVzc1JVRkJSU3hEUVVGRE8wRkJSVklzVVVGQlFTeEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjRSaXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0QlFVVndSQ3hSUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xRkJRelZETEZGQlFWRXNRMEZCUXl4WlFVRlpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0QlFVVjBSQ3hSUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeERRVUZETzBGQlF6TkRMRmxCUVVFc1MwRkJTeXhGUVVGRkxGRkJRVkU3UVVGRFppeFpRVUZCTEZOQlFWTXNSVUZCUlN4TFFVRkxPMEZCUTJoQ0xGbEJRVUVzVlVGQlZTeEZRVUZGTEV0QlFVczdRVUZEYkVJc1UwRkJRU3hEUVVGRExFTkJRVU03UVVGRlNDeFJRVUZCTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVOb1JDeFJRVUZCTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlJYSkNMRkZCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eFZRVUZWTEVOQlFVTTdTMEZET1VJN1FVRkZUU3hKUVVGQkxHbENRVUZwUWl4RFFVRkRMRXRCUVdVc1JVRkJRVHRSUVVOMFEwRXNUVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzBGQlEzQkZMRkZCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRlFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZja1FzVVVGQlFTeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJUU3hGUVVGRk8xbEJRekZDUVN4TlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZEYUVVc1UwRkJRVHRCUVVORUxGRkJRVUVzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhGUVVGRlFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRmNrUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZGZEVNc1VVRkJRU3hMUVVGTExFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGFFTTdRVUZEUmpzN1FVTXhRMlVzVTBGQlFTeHBRa0ZCYVVJc1EwRkJNRUlzVFVGQmNVSXNSVUZCUlN4TlFVRlRMRVZCUVVFN1NVRkRla1lzVDBGQlR5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGJrWTdPMEZEUmtFc1RVRkJUVUVzVFVGQlNTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRMnBETEUxQlFVMURMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVnFRaXhUUVVGQkxHbENRVUZwUWl4RFFVRTJRaXhOUVVGeFFpeEZRVUZGTEUxQlFWTXNSVUZCUVR0SlFVTTFSaXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZEUkN4TlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRlF5eE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTnlReXhKUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENPenRCUTA1Qk96czdPenRCUVV0SE8wRkJRMGNzVTBGQlZTeG5Ra0ZCWjBJc1EwRkJOa0lzVFVGQlV5eEZRVUZCTzBsQlEzQkZMRWxCUVVzc1RVRkJZeXhEUVVGRExFMUJRVTBzUlVGQlJUdFJRVU14UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UVVGRGFrSXNTMEZCUVR0QlFVRk5MRk5CUVVFN1VVRkRTaXhOUVVGakxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZETTBJc1MwRkJRVHRCUVVWRUxFbEJRVUVzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJN08wRkRaRUU3TzBGQlJVYzdUVUZEYlVJc2FVSkJRV2xDTEVOQlFVRTdRVUZyUW5KRE96czdRVUZIUnp0SlFVTklMRmRCUVcxQ0xFTkJRVUVzVjBGQk1rSXNSVUZCUlN4TlFVRnpRaXhGUVVGQk8wRkJRM0JGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhYUVVGWExFTkJRVU03UVVGREwwSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVVZ5UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzB0QlEyNUNPMEZCVjBZN08wRkRja05FTEUxQlFVMUVMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5SU3hSUVVGTkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1FVRkRkRU1zVFVGQlRVTXNVVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlEzUkRMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUlhSRE96czdPMEZCU1VjN1FVRkRSeXhOUVVGUExHZENRVUZwUWl4VFFVRlJMR2xDUVVGcFFpeERRVUZCTzBGQlEzSkVPenRCUVVWSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEU5QlFVOHNSMEZCUVR0UlFVTm9RaXhQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTTdTMEZEZEVJN1FVRkZSRHM3UVVGRlJ6dEpRVU5JTEVsQlFWY3NUMEZCVHl4RFFVRkRMRTlCUVRCR0xFVkJRVUU3UVVGRE0wY3NVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hIUVVGSExFOUJRVThzUTBGQlF6dEJRVU40UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVU5xUWl4UFFVRlBMRXRCUVVzc1YwRkJWeXhIUVVGSExFZEJRVWNzUjBGQlJ5eFBRVUZQTEV0QlFVc3NWMEZCVnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUlVGRGNFVXNUMEZCVHl4TFFVRkxMRmRCUVZjc1IwRkJSeXhIUVVGSExFZEJRVWNzVDBGQlR5eExRVUZMTEZkQlFWY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFVkJRM0JGTEU5QlFVOHNTMEZCU3l4WFFVRlhMRWRCUVVjc1IwRkJSeXhIUVVGSExFOUJRVThzUzBGQlN5eFhRVUZYTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVOeVJTeERRVUZETzB0QlEwZzdRVUZwUWtRc1NVRkJRU3hKUVVGWExGbEJRVmtzUjBGQlFUdFJRVU55UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQmFVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZ1UkN4UlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eE5RVUZOTEVWQlFVVTdXVUZETTBJc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRMnhETEZOQlFVRTdRVUZGUkN4UlFVRkJMRTlCUVU4c1IwRkJSeXhEUVVGRE8wdEJRMW83U1VGRlJDeFhRVUZ0UWl4RFFVRkJMRmRCUVRKQ0xFVkJRVVVzVFVGQmMwSXNSVUZCUVR0QlFVTndSU3hSUVVGQkxFdEJRVXNzUTBGQlF5eFhRVUZYTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkZNMElzVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRmRCUVZjc1EwRkJRenRCUVVNMVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRk4wTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0TFFVTTFRenRKUVVWTkxGbEJRVmtzUjBGQlFUdFJRVU5xUWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wdEJRM0pFTzBsQlJVMHNUVUZCVFN4SFFVRkJPenRSUVVWWUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPenRCUVVjelF5eFJRVUZCTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWRFTEZGQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRCUVVNM1F5eFJRVUZCTEUxQlFVMHNjVUpCUVhGQ0xFZEJRVWRETEZGQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRCUVVOb1JDeFJRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVU3V1VGRE0wSXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1dVRkRNMFVzWjBKQlFXZENMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTnNSU3hUUVVGQk96dFJRVWRFTEUxQlFVMHNSVUZCUlN4SFFVRkhTQ3hOUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMR1ZCUVdVc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMUZCUXpkSExFMUJRVTBzUlVGQlJTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RlFVRkZMRWxCUVVrc1EwRkJRenRoUVVONFJDeEhRVUZITEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03UVVGRE1VUXNZVUZCUVN4VFFVRlRMRVZCUVVVc1EwRkJRenM3VVVGSFppeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5PMEZCUTNSQ0xHRkJRVUVzYTBKQlFXdENMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF6dGhRVU14UWl4WFFVRlhMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTTdZVUZEYkVNc1VVRkJVU3hEUVVGRExHdENRVUZyUWl4RFFVRkRPMEZCUXpWQ0xHRkJRVUVzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenM3VVVGSEwwSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRMUVVOd1JqdEJRVU5HT3p0QlEzcEhSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQmIwZEJPMEZCUTA4c1UwRkJVeXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEZWQlFWVXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVeXhGUVVGRk8wRkJRemRFTEVsQlFVa3NVMEZCVXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzVDBGQlR5eExRVUZMTEZsQlFWa3NRMEZCUXl4SFFVRkhMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eFZRVUZWTEU5QlFVOHNSVUZCUlN4RlFVRkZMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTJoSUxFbEJRVWtzVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFVkJRVVVzVlVGQlZTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZPMEZCUXk5RUxGRkJRVkVzVTBGQlV5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0QlFVTnVSeXhSUVVGUkxGTkJRVk1zVVVGQlVTeERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0QlFVTjBSeXhSUVVGUkxGTkJRVk1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTXNSVUZCUlR0QlFVTjBTQ3hSUVVGUkxFbEJRVWtzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeFZRVUZWTEVsQlFVa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU01UlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOUU96dEJRM2hJUVRzN096czdPMEZCVFVjN1FVRkRZU3hUUVVGQkxIbENRVUY1UWl4RFFVRkRMRTFCUVhOQ0xFVkJRVVVzVVVGQk1FTXNSVUZCUVR0QlFVTXhSeXhKUVVGQkxFMUJRVTBzVTBGQlV5eEhRVUZ4UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJSVGRETEVsQlFVRXNTVUZCU1N4SlFVRkpMRWRCUVRCQ0xFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZEYUVRc1QwRkJUeXhKUVVGSkxFdEJRVXNzU1VGQlNTeEZRVUZGTzBGQlEzQkNMRkZCUVVFc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTjRRaXhSUVVGQkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMEZCUTNCQ0xFdEJRVUU3UVVGRlJDeEpRVUZCTEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhSUVVGUkxFdEJRVWs3VVVGRE4wSXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM0pDTEV0QlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3N08wMURha0poTEhkQ1FVRjNRaXhEUVVGQk8wRkJRWEpETEVsQlFVRXNWMEZCUVN4SFFVRkJPMEZCUTFVc1VVRkJRU3hKUVVGQkxFTkJRVUVzV1VGQldTeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRnhRaXhEUVVGRE8wRkJTelZETEZGQlFVRXNTVUZCUVN4RFFVRkJMSEZDUVVGeFFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRXdReXhEUVVGRE8wdEJaMFp1Ump0QlFYQkdReXhKUVVGQkxFbEJRVmNzVjBGQlZ5eEhRVUZCTzFGQlEzQkNMRTlCUVU4c1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dExRVU14UWp0QlFVbE5MRWxCUVVFc1lVRkJZU3hEUVVGRExGVkJRVFpDTEVWQlFVRTdRVUZEYUVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVWc1F5eFJRVUZCTEVsQlFVa3NVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlEzWkZMRWxCUVVrc1UwRkJVeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU55UWl4WlFVRkJMRk5CUVZNc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQmNVSXNRMEZCUXp0WlFVTjZReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF5eFhRVUZYTEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkRia1VzVTBGQlFUdEJRVU5FTEZGQlFVRXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dExRVU16UWp0QlFVVk5MRWxCUVVFc1owSkJRV2RDTEVOQlFVTXNWVUZCTmtJc1JVRkJRVHRCUVVOdVJDeFJRVUZCTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlJYSkRMRkZCUVVFc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkZMRU5CUVVNN1FVRkRNVVVzVVVGQlFTeFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wdEJRemxDTzBsQlJVMHNXVUZCV1N4SFFVRkJPMEZCUTJwQ0xGRkJRVUVzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQmNVSXNRMEZCUXp0QlFVTjBSQ3hSUVVGQkxFMUJRVTBzWlVGQlpTeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRnhRaXhEUVVGRE8wRkJSWEpFTEZGQlFVRXNTMEZCU3l4TlFVRk5MRlZCUVZVc1NVRkJTU3hKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTzBGQlF6RkRMRmxCUVVFc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4bFFVRmxMRVZCUVVVc1EwRkJReXhWUVVGVkxFdEJRVXNzVlVGQlZTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRia2dzVTBGQlFUdExRVU5HTzBsQlJVMHNUVUZCVFN4SFFVRkJPMEZCUTFnc1VVRkJRU3hOUVVGTkxHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGeFFpeERRVUZETzBGQlEzUkVMRkZCUVVFc1RVRkJUU3hsUVVGbExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYRkNMRU5CUVVNN1FVRkZja1FzVVVGQlFTeExRVUZMTEUxQlFVMHNWVUZCVlN4SlFVRkpMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVU3UVVGRE1VTXNXVUZCUVN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEdWQlFXVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1MwRkJTeXhWUVVGVkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTTNSeXhUUVVGQk8wdEJRMFk3UVVGRlJEczdPenM3T3pzN096dEJRVlZITzBGQlEwc3NTVUZCUVN4clFrRkJhMElzUTBGRGVFSXNWVUZCTmtJc1JVRkROMElzWjBKQlFYZERMRVZCUTNoRExHVkJRWFZETEVWQlEzWkRMRkZCUVdsRUxFVkJRVUU3UVVGRmFrUXNVVUZCUVN4SlFVRkpMR1ZCUVdVc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVTdXVUZEYmtNc1QwRkJUenRCUVVOU0xGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZPMEZCUTNCRExGbEJRVUVzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dFJrRkJiVVlzUTBGQlF5eERRVUZETzBGQlEzUkhMRk5CUVVFN1FVRkRSQ3hSUVVGQkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVVZxUXl4UlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTTdRVUZETTBNc1VVRkJRU3hMUVVGTExFMUJRVTBzVTBGQlV5eEpRVUZKTEZWQlFWVXNSVUZCUlR0QlFVTnNReXhaUVVGQkxIbENRVUY1UWl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRExHbENRVUZwUWl4TFFVRkpPMmRDUVVONlJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNSMEZCUnl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdRVUZEY0VVc1owSkJRVUVzU1VGQlNTeFRRVUZUTEVWQlFVVTdRVUZEWWl4dlFrRkJRU3hMUVVGTExFMUJRVTBzWVVGQllTeEpRVUZKTEZOQlFWTXNSVUZCUlR0M1FrRkRja01zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExHRkJRV0VzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hsUVVGbExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEY2tZc2NVSkJRVUU3UVVGRFJpeHBRa0ZCUVR0QlFVTklMR0ZCUVVNc1EwRkJReXhEUVVGRE8wRkJRMG9zVTBGQlFUdFJRVVZFTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVWeVFpeFJRVUZCTEdWQlFXVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03UzBGRGFrTTdRVUZEUmpzN1FVTjBSa1FzVFVGQlRVVXNVVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlEzUkRMRTFCUVUxRExGRkJRVTBzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRCUVVWMFF6czdPenRCUVVsSE8wRkJRMGNzVFVGQlR5eHhRa0ZCYzBJc1UwRkJVU3hwUWtGQmFVSXNRMEZCUVR0QlFWY3hSQ3hKUVVGQkxFbEJRVmNzV1VGQldTeEhRVUZCTzFGQlEzSkNMRTlCUVU4c1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVNdlFqdEpRVVZFTEZkQlFXMUNMRU5CUVVFc1YwRkJNa0lzUlVGQlJTeE5RVUZ6UWl4RlFVRkJPMEZCUTNCRkxGRkJRVUVzUzBGQlN5eERRVUZETEZkQlFWY3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVVelFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFGQlF6TkRMRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1MwRkRMME03U1VGRlRTeFpRVUZaTEVkQlFVRTdVVUZEYWtJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU53UkN4UlFVRkJMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOeVJUdEpRVVZOTEUxQlFVMHNSMEZCUVRzN1FVRkZXQ3hSUVVGQkxFMUJRVTBzV1VGQldTeEhRVUZIUkN4UlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXpzN1FVRkhlRVlzVVVGQlFTeE5RVUZOTEZWQlFWVXNSMEZCUjBNc1VVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZET3p0UlFVZDZSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzB0QlEzQkdPMEZCUTBZN08wRkROME5FTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlEycERMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJSWFJET3pzN08wRkJTVWM3UVVGRFJ5eE5RVUZQTEdsQ1FVRnJRaXhUUVVGUkxHbENRVUZwUWl4RFFVRkJPMEZCUTNSRU96dEJRVVZITzBGQlEwZ3NTVUZCUVN4SlFVRlhMRkZCUVZFc1IwRkJRVHRSUVVOcVFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRka0k3UVVGRlJEczdRVUZGUnp0SlFVTklMRWxCUVZjc1VVRkJVU3hEUVVGRExGRkJRWGxDTEVWQlFVRTdRVUZETTBNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEZGQlFWRXNRMEZCUXp0QlFVTXhRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1MwRkJTeXhIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NSVUZCUlN4UlFVRlJMRXRCUVVzc1IwRkJSeXhIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVWQlFVVXNVVUZCVVN4TFFVRkxMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTMEZEYUVnN1FVRXlRa1FzU1VGQlFTeEpRVUZYTEZsQlFWa3NSMEZCUVR0UlFVTnlRaXhQUVVGUExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03UzBGREwwSTdTVUZGUkN4WFFVRnRRaXhEUVVGQkxGZEJRVEpDTEVWQlFVVXNUVUZCYzBJc1JVRkJRVHRCUVVOd1JTeFJRVUZCTEV0QlFVc3NRMEZCUXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRk0wSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU55UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGT1VNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVNelF5eEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFGQlF6bERMRWxCUVVrc1EwRkJReXcyUWtGQk5rSXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dExRVU0zUkR0SlFVVk5MRmxCUVZrc1IwRkJRVHRSUVVOcVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMEZCUTNCRUxGRkJRVUVzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGREwwUXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETERaQ1FVRTJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRMUVVNdlJ6dEpRVVZOTEUxQlFVMHNSMEZCUVRzN1FVRkZXRHM3T3pzN096czdPenM3T3pzN096dEJRV2RDUnp0UlFVTklMRTFCUVUwc1UwRkJVeXhIUVVGSExFMUJRVTA3UVVGRGNrSXNZVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF6dEJRVU14UWl4aFFVRkJMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXp0QlFVTm9ReXhoUVVGQkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU1zUTBGQlF6czdRVUZIYUVRc1VVRkJRU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF5eGxRVUZsTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkZiRVU3T3pzN096dEJRVTFITzBGQlEwZ3NVVUZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXpzN1FVRkhia1VzVVVGQlFTeE5RVUZOTEZWQlFWVXNSMEZCUnl4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03TzFGQlIycEdMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UzBGRGNFWTdRVUZEUmpzN1FVTXhSMFE3TzBGQlJVYzdRVUZEU0N4TlFVRk5MSE5DUVVGelFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTTdUVUZGTDBNc05rSkJRVFpDTEVOQlFVRTdRVUZaZUVNc1NVRkJRU3hKUVVGWExFbEJRVWtzUjBGQlFUdFJRVU5pTEU5QlFVOHNOa0pCUVRaQ0xFTkJRVU1zWTBGQll5eERRVUZETzB0QlEzSkVPMGxCUlVRc1YwRkJiVUlzUTBGQlFTeE5RVUZyUWl4RlFVRkZMRTlCUVRoRExFVkJRVUU3UVVGRGJrWXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dFJRVVZ5UWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFOUJRVThzUzBGQlFTeEpRVUZCTEVsQlFWQXNUMEZCVHl4TFFVRlFMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEU5QlFVOHNRMEZCUlN4VlFVRlZMRU5CUVVNN1MwRkRka003UVVGRldTeEpRVUZCTEZOQlFWTXNRMEZCUXl4SlFVRlZMRVZCUVVFN08wRkJReTlDTEZsQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgzUWtGQmQwSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVMEZEYmtVc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGQlFUdEJRVVZFT3pzN096dEJRVXRITzBGQlEyRXNTVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJWU3hGUVVGQk96czdRVUZEYUVNc1dVRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVhkQ0xFTkJRVU03TzBGQlIyeEVMRmxCUVVFc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVVc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVRkRMR05CUVdNc1EwRkJReXhOUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6VkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlR0QlFVTjBRaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NkMEpCUVhkQ0xFVkJRVVVzUTBGQlF6dFpRVU12UXl4TlFVRk5MRlZCUVZVc1IwRkJjVUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR1ZCUVdVc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6czdXVUZITDBVc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4VFFVRlRMRXRCUVVrN08yZENRVU55UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPenRCUVVjeFF5eG5Ra0ZCUVN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFZRVUZWTEdGQlFWWXNWVUZCVlN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZXTEZWQlFWVXNRMEZCUlN4VlFVRlZMRTFCUVVjc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzTmtKQlFUWkNMRU5CUVVNc1kwRkJZeXhEUVVVeFJTeERRVUZETzJkQ1FVVmtMRWxCUVVrc1UwRkJVeXhKUVVGSkxFbEJRVWtzUlVGQlJUdHZRa0ZEY2tJc1QwRkJUenRCUVVOU0xHbENRVUZCTzBGQlJVUXNaMEpCUVVFc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEZkQlFWY3NRMEZCUXp0QlFVTXhReXhuUWtGQlFTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZPMjlDUVVNMVF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMRU5CUVRCRExIVkRRVUZCTEVWQlFVRXNOa0pCUVRaQ0xFTkJRVU1zWTBGQll5eERRVUZwUWl4alFVRkJMRVZCUVVFc1YwRkJWeXhEUVVGSExFTkJRVUVzUTBGQlFTeERRVU4wU0N4RFFVRkRPMjlDUVVOR0xFOUJRVTg3UVVGRFVpeHBRa0ZCUVR0QlFVVkVMR2RDUVVGQkxFMUJRVTBzWVVGQllTeEhRVUZITEZOQlFWTXNRMEZCUXl4VlFVRlZMRU5CUVVNN08wRkJSek5ETEdkQ1FVRkJMRWxCUVVrc1lVRkJZU3hEUVVGRExFbEJRVWtzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZET1VJc2IwSkJRVUVzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVsQlFVa3NSVUZCUlN4VlFVRlZMRVZCUVVVc1lVRkJZU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEzQkdMRzlDUVVGQkxFOUJRVThzUTBGQlF5eGhRVUZoTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkRia01zYVVKQlFVRTdRVUZCVFN4eFFrRkJRU3hKUVVGSkxHRkJRV0VzUTBGQlF5eEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTNCRExHOUNRVUZCTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTnNSaXh2UWtGQlFTeFBRVUZQTEVOQlFVTXNZVUZCWVN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wRkJRMjVETEdsQ1FVRkJPMEZCUVUwc2NVSkJRVUVzU1VGQlNTeGhRVUZoTEVOQlFVTXNVVUZCVVN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVONlF5eHZRa0ZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxGVkJRVlVzUlVGQlJTeGhRVUZoTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkROVVlzYjBKQlFVRXNUMEZCVHl4RFFVRkRMR0ZCUVdFc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU51UXl4cFFrRkJRVHRCUVVOSUxHRkJRVU1zUTBGQlF5eERRVUZET3p0QlFVZElMRmxCUVVFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3hEUVVGRE8xbEJReTlDTEU5QlFVOHNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRCUVVWMlFpeFpRVUZCTEU5QlFVOHNUMEZCVHl4RFFVRkRPenRCUVVOb1FpeExRVUZCTzBGQlJWTXNTVUZCUVN4eFFrRkJjVUlzUTBGRE4wSXNWMEZCTWtJc1JVRkRNMElzUzBGQmRVSXNSVUZEZGtJc2FVSkJRV3RFTEVWQlFVRTdVVUZGYkVRc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFhRVUZYTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSExHbENRVUZwUWl4RFFVRkRPMEZCUTNCRkxGRkJRVUVzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRMnhETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNWMEZCVnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVGxFTEVsQlFVa3NVVUZCVVN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOd1FpeFpRVUZCTEZWQlFWVXNRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wRkJRMmhETEZOQlFVRTdVVUZEUkN4SlFVRkpMRTFCUVUwc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGJFSXNXVUZCUVN4VlFVRlZMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVU0xUWl4VFFVRkJPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTzBGQlEyNUNMRmxCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU4yUkN4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpkQ0xGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNWVUZCVlN4RFFVRkRPMHRCUTI1Q08wRkJSVk1zU1VGQlFTeHZRa0ZCYjBJc1EwRkROVUlzVjBGQk1rSXNSVUZETTBJc1MwRkJkVUlzUlVGRGRrSXNaMEpCUVdkRUxFVkJRVUU3VVVGRmFFUXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hYUVVGWExFVkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMR2RDUVVGblFpeERRVUZETzBGQlEyeEZMRkZCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTJ4RExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NaMEpCUVdkQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRkRUxFbEJRVWtzVDBGQlR5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTnVRaXhaUVVGQkxGVkJRVlVzUTBGQlF5eFBRVUZQTEVkQlFVY3NUMEZCVHl4RFFVRkRPMEZCUXpsQ0xGTkJRVUU3VVVGRFJDeEpRVUZKTEUxQlFVMHNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRiRUlzV1VGQlFTeFZRVUZWTEVOQlFVTXNUVUZCVFN4SFFVRkhMRTFCUVUwc1EwRkJRenRCUVVNMVFpeFRRVUZCTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRk8wRkJRMjVDTEZsQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3gxUWtGQmRVSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVOMlJDeFpRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6ZENMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzVlVGQlZTeERRVUZETzB0QlEyNUNPMEZCUlZNc1NVRkJRU3g1UWtGQmVVSXNRMEZEYWtNc1YwRkJNa0lzUlVGRE0wSXNTMEZCZFVJc1JVRkRka0lzY1VKQlFUQkVMRVZCUVVFN1VVRkZNVVFzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WFFVRlhMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzY1VKQlFYRkNMRU5CUVVNN1FVRkRPVVFzVVVGQlFTeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03VVVGRGJFTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3h4UWtGQmNVSXNRMEZCUXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRmJFVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRMnhDTEZsQlFVRXNWVUZCVlN4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRE5VSXNVMEZCUVR0UlFVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJUdEJRVU51UWl4WlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzZFVKQlFYVkNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03UVVGRGRrUXNXVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0QlFVTTNRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeFBRVUZQTEZWQlFWVXNRMEZCUXp0TFFVTnVRanM3UVVGNlNuTkNMRFpDUVVGakxFTkJRVUVzWTBGQlFTeEhRVUZITEhOQ1FVRnpRanM3T3pzaWZRPT1cbiIsIi8qIVxuICogQHBpeGl2L3RocmVlLXZybS1zcHJpbmdib25lIHYyLjAuNlxuICogU3ByaW5nIGJvbmUgbW9kdWxlIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1zcHJpbmdib25lIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGl4aXYvdGhyZWUtdnJtL2Jsb2IvcmVsZWFzZS9MSUNFTlNFXG4gKi9cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2hhcGUgb2YgYSBjb2xsaWRlci5cbiAqL1xuY2xhc3MgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGUge1xufVxuXG5jb25zdCBfdjNBJDQgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQiQxID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNsYXNzIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlQ2Fwc3VsZSBleHRlbmRzIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlIHtcbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuICdjYXBzdWxlJztcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyYW1zKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm9mZnNldCA9IChfYSA9IHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy5vZmZzZXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG5ldyBUSFJFRS5WZWN0b3IzKDAuMCwgMC4wLCAwLjApO1xuICAgICAgICB0aGlzLnRhaWwgPSAoX2IgPSBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMudGFpbCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDAuMCk7XG4gICAgICAgIHRoaXMucmFkaXVzID0gKF9jID0gcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLnJhZGl1cykgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMC4wO1xuICAgIH1cbiAgICBjYWxjdWxhdGVDb2xsaXNpb24oY29sbGlkZXJNYXRyaXgsIG9iamVjdFBvc2l0aW9uLCBvYmplY3RSYWRpdXMsIHRhcmdldCkge1xuICAgICAgICBfdjNBJDQuY29weSh0aGlzLm9mZnNldCkuYXBwbHlNYXRyaXg0KGNvbGxpZGVyTWF0cml4KTsgLy8gdHJhbnNmb3JtZWQgaGVhZFxuICAgICAgICBfdjNCJDEuY29weSh0aGlzLnRhaWwpLmFwcGx5TWF0cml4NChjb2xsaWRlck1hdHJpeCk7IC8vIHRyYW5zZm9ybWVkIHRhaWxcbiAgICAgICAgX3YzQiQxLnN1YihfdjNBJDQpOyAvLyBmcm9tIGhlYWQgdG8gdGFpbFxuICAgICAgICBjb25zdCBsZW5ndGhTcUNhcHN1bGUgPSBfdjNCJDEubGVuZ3RoU3EoKTtcbiAgICAgICAgdGFyZ2V0LmNvcHkob2JqZWN0UG9zaXRpb24pLnN1YihfdjNBJDQpOyAvLyBmcm9tIGhlYWQgdG8gb2JqZWN0XG4gICAgICAgIGNvbnN0IGRvdCA9IF92M0IkMS5kb3QodGFyZ2V0KTsgLy8gZG90IHByb2R1Y3Qgb2Ygb2Zmc2V0VG9UYWlsIGFuZCBvZmZzZXRUb09iamVjdFxuICAgICAgICBpZiAoZG90IDw9IDAuMCkgO1xuICAgICAgICBlbHNlIGlmIChsZW5ndGhTcUNhcHN1bGUgPD0gZG90KSB7XG4gICAgICAgICAgICAvLyBpZiBvYmplY3QgaXMgbmVhciBmcm9tIHRoZSB0YWlsXG4gICAgICAgICAgICB0YXJnZXQuc3ViKF92M0IkMSk7IC8vIGZyb20gdGFpbCB0byBvYmplY3RcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGlmIG9iamVjdCBpcyBiZXR3ZWVuIHR3byBlbmRzXG4gICAgICAgICAgICBfdjNCJDEubXVsdGlwbHlTY2FsYXIoZG90IC8gbGVuZ3RoU3FDYXBzdWxlKTsgLy8gZnJvbSBoZWFkIHRvIHRoZSBuZWFyZXN0IHBvaW50IG9mIHRoZSBzaGFmdFxuICAgICAgICAgICAgdGFyZ2V0LnN1YihfdjNCJDEpOyAvLyBmcm9tIHRoZSBzaGFmdCBwb2ludCB0byBvYmplY3RcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByYWRpdXMgPSBvYmplY3RSYWRpdXMgKyB0aGlzLnJhZGl1cztcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSB0YXJnZXQubGVuZ3RoKCkgLSByYWRpdXM7XG4gICAgICAgIHRhcmdldC5ub3JtYWxpemUoKTtcbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlO1xuICAgIH1cbn1cblxuY2xhc3MgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVTcGhlcmUgZXh0ZW5kcyBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZSB7XG4gICAgZ2V0IHR5cGUoKSB7XG4gICAgICAgIHJldHVybiAnc3BoZXJlJztcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyYW1zKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gKF9hID0gcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLm9mZnNldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDAuMCk7XG4gICAgICAgIHRoaXMucmFkaXVzID0gKF9iID0gcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLnJhZGl1cykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMC4wO1xuICAgIH1cbiAgICBjYWxjdWxhdGVDb2xsaXNpb24oY29sbGlkZXJNYXRyaXgsIG9iamVjdFBvc2l0aW9uLCBvYmplY3RSYWRpdXMsIHRhcmdldCkge1xuICAgICAgICB0YXJnZXQuY29weSh0aGlzLm9mZnNldCkuYXBwbHlNYXRyaXg0KGNvbGxpZGVyTWF0cml4KTsgLy8gdHJhbnNmb3JtZWQgb2Zmc2V0XG4gICAgICAgIHRhcmdldC5uZWdhdGUoKS5hZGQob2JqZWN0UG9zaXRpb24pOyAvLyBhIHZlY3RvciBmcm9tIGNvbGxpZGVyIGNlbnRlciB0byBvYmplY3QgcG9zaXRpb25cbiAgICAgICAgY29uc3QgcmFkaXVzID0gb2JqZWN0UmFkaXVzICsgdGhpcy5yYWRpdXM7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gdGFyZ2V0Lmxlbmd0aCgpIC0gcmFkaXVzO1xuICAgICAgICB0YXJnZXQubm9ybWFsaXplKCk7XG4gICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICB9XG59XG5cbmNvbnN0IF92M0EkMyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jbGFzcyBDb2xsaWRlclNoYXBlQ2Fwc3VsZUJ1ZmZlckdlb21ldHJ5IGV4dGVuZHMgVEhSRUUuQnVmZmVyR2VvbWV0cnkge1xuICAgIGNvbnN0cnVjdG9yKHNoYXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMud29ybGRTY2FsZSA9IDEuMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IDA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRPZmZzZXQgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFpbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIHRoaXMuX3NoYXBlID0gc2hhcGU7XG4gICAgICAgIHRoaXMuX2F0dHJQb3MgPSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ldyBGbG9hdDMyQXJyYXkoMzk2KSwgMyk7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHRoaXMuX2F0dHJQb3MpO1xuICAgICAgICB0aGlzLl9hdHRySW5kZXggPSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ldyBVaW50MTZBcnJheSgyNjQpLCAxKTtcbiAgICAgICAgdGhpcy5zZXRJbmRleCh0aGlzLl9hdHRySW5kZXgpO1xuICAgICAgICB0aGlzLl9idWlsZEluZGV4KCk7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuICAgIHVwZGF0ZSgpIHtcbiAgICAgICAgbGV0IHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IHRoaXMuX3NoYXBlLnJhZGl1cyAvIHRoaXMud29ybGRTY2FsZTtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRSYWRpdXMgIT09IHJhZGl1cykge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IHJhZGl1cztcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRPZmZzZXQuZXF1YWxzKHRoaXMuX3NoYXBlLm9mZnNldCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRPZmZzZXQuY29weSh0aGlzLl9zaGFwZS5vZmZzZXQpO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhaWwgPSBfdjNBJDMuY29weSh0aGlzLl9zaGFwZS50YWlsKS5kaXZpZGVTY2FsYXIodGhpcy53b3JsZFNjYWxlKTtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUYWlsLmRpc3RhbmNlVG9TcXVhcmVkKHRhaWwpID4gMWUtMTApIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUYWlsLmNvcHkodGFpbCk7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZUdlb21ldHJ5KSB7XG4gICAgICAgICAgICB0aGlzLl9idWlsZFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2J1aWxkUG9zaXRpb24oKSB7XG4gICAgICAgIF92M0EkMy5jb3B5KHRoaXMuX2N1cnJlbnRUYWlsKS5zdWIodGhpcy5fY3VycmVudE9mZnNldCk7XG4gICAgICAgIGNvbnN0IGwgPSBfdjNBJDMubGVuZ3RoKCkgLyB0aGlzLl9jdXJyZW50UmFkaXVzO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAxNjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gKGkgLyAxNi4wKSAqIE1hdGguUEk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWihpLCAtTWF0aC5zaW4odCksIC1NYXRoLmNvcyh0KSwgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDE3ICsgaSwgbCArIE1hdGguc2luKHQpLCBNYXRoLmNvcyh0KSwgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDM0ICsgaSwgLU1hdGguc2luKHQpLCAwLjAsIC1NYXRoLmNvcyh0KSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig1MSArIGksIGwgKyBNYXRoLnNpbih0KSwgMC4wLCBNYXRoLmNvcyh0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gKGkgLyAxNi4wKSAqIE1hdGguUEk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig2OCArIGksIDAuMCwgTWF0aC5zaW4odCksIE1hdGguY29zKHQpKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDEwMCArIGksIGwsIE1hdGguc2luKHQpLCBNYXRoLmNvcyh0KSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGhldGEgPSBNYXRoLmF0YW4yKF92M0EkMy55LCBNYXRoLnNxcnQoX3YzQSQzLnggKiBfdjNBJDMueCArIF92M0EkMy56ICogX3YzQSQzLnopKTtcbiAgICAgICAgY29uc3QgcGhpID0gLU1hdGguYXRhbjIoX3YzQSQzLnosIF92M0EkMy54KTtcbiAgICAgICAgdGhpcy5yb3RhdGVaKHRoZXRhKTtcbiAgICAgICAgdGhpcy5yb3RhdGVZKHBoaSk7XG4gICAgICAgIHRoaXMuc2NhbGUodGhpcy5fY3VycmVudFJhZGl1cywgdGhpcy5fY3VycmVudFJhZGl1cywgdGhpcy5fY3VycmVudFJhZGl1cyk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKHRoaXMuX2N1cnJlbnRPZmZzZXQueCwgdGhpcy5fY3VycmVudE9mZnNldC55LCB0aGlzLl9jdXJyZW50T2Zmc2V0LnopO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgX2J1aWxkSW5kZXgoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaTEgPSAoaSArIDEpICUgMzQ7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoaSAqIDIsIGksIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSg2OCArIGkgKiAyLCAzNCArIGksIDM0ICsgaTEpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaTEgPSAoaSArIDEpICUgMzI7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoMTM2ICsgaSAqIDIsIDY4ICsgaSwgNjggKyBpMSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoMjAwICsgaSAqIDIsIDEwMCArIGksIDEwMCArIGkxKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdHRySW5kZXgubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbn1cblxuY2xhc3MgQ29sbGlkZXJTaGFwZVNwaGVyZUJ1ZmZlckdlb21ldHJ5IGV4dGVuZHMgVEhSRUUuQnVmZmVyR2VvbWV0cnkge1xuICAgIGNvbnN0cnVjdG9yKHNoYXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMud29ybGRTY2FsZSA9IDEuMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IDA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRPZmZzZXQgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICB0aGlzLl9zaGFwZSA9IHNoYXBlO1xuICAgICAgICB0aGlzLl9hdHRyUG9zID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDMyICogMyAqIDMpLCAzKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgdGhpcy5fYXR0clBvcyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleCA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IFVpbnQxNkFycmF5KDY0ICogMyksIDEpO1xuICAgICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2F0dHJJbmRleCk7XG4gICAgICAgIHRoaXMuX2J1aWxkSW5kZXgoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gdGhpcy5fc2hhcGUucmFkaXVzIC8gdGhpcy53b3JsZFNjYWxlO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFJhZGl1cyAhPT0gcmFkaXVzKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gcmFkaXVzO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudE9mZnNldC5lcXVhbHModGhpcy5fc2hhcGUub2Zmc2V0KSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudE9mZnNldC5jb3B5KHRoaXMuX3NoYXBlLm9mZnNldCk7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZUdlb21ldHJ5KSB7XG4gICAgICAgICAgICB0aGlzLl9idWlsZFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2J1aWxkUG9zaXRpb24oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdCA9IChpIC8gMTYuMCkgKiBNYXRoLlBJO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooaSwgTWF0aC5jb3ModCksIE1hdGguc2luKHQpLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMzIgKyBpLCAwLjAsIE1hdGguY29zKHQpLCBNYXRoLnNpbih0KSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig2NCArIGksIE1hdGguc2luKHQpLCAwLjAsIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNjYWxlKHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZSh0aGlzLl9jdXJyZW50T2Zmc2V0LngsIHRoaXMuX2N1cnJlbnRPZmZzZXQueSwgdGhpcy5fY3VycmVudE9mZnNldC56KTtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIF9idWlsZEluZGV4KCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGkxID0gKGkgKyAxKSAlIDMyO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKGkgKiAyLCBpLCBpMSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoNjQgKyBpICogMiwgMzIgKyBpLCAzMiArIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSgxMjggKyBpICogMiwgNjQgKyBpLCA2NCArIGkxKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdHRySW5kZXgubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbn1cblxuY29uc3QgX3YzQSQyID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNsYXNzIFZSTVNwcmluZ0JvbmVDb2xsaWRlckhlbHBlciBleHRlbmRzIFRIUkVFLkdyb3VwIHtcbiAgICBjb25zdHJ1Y3Rvcihjb2xsaWRlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb2xsaWRlciA9IGNvbGxpZGVyO1xuICAgICAgICBpZiAodGhpcy5jb2xsaWRlci5zaGFwZSBpbnN0YW5jZW9mIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlU3BoZXJlKSB7XG4gICAgICAgICAgICB0aGlzLl9nZW9tZXRyeSA9IG5ldyBDb2xsaWRlclNoYXBlU3BoZXJlQnVmZmVyR2VvbWV0cnkodGhpcy5jb2xsaWRlci5zaGFwZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5jb2xsaWRlci5zaGFwZSBpbnN0YW5jZW9mIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlQ2Fwc3VsZSkge1xuICAgICAgICAgICAgdGhpcy5fZ2VvbWV0cnkgPSBuZXcgQ29sbGlkZXJTaGFwZUNhcHN1bGVCdWZmZXJHZW9tZXRyeSh0aGlzLmNvbGxpZGVyLnNoYXBlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNU3ByaW5nQm9uZUNvbGxpZGVySGVscGVyOiBVbmtub3duIGNvbGxpZGVyIHNoYXBlIHR5cGUgZGV0ZWN0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICBjb2xvcjogMHhmZjAwZmYsXG4gICAgICAgICAgICBkZXB0aFRlc3Q6IGZhbHNlLFxuICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saW5lID0gbmV3IFRIUkVFLkxpbmVTZWdtZW50cyh0aGlzLl9nZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgICB0aGlzLmFkZCh0aGlzLl9saW5lKTtcbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgdGhpcy5fZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgIH1cbiAgICB1cGRhdGVNYXRyaXhXb3JsZChmb3JjZSkge1xuICAgICAgICB0aGlzLmNvbGxpZGVyLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5tYXRyaXguY29weSh0aGlzLmNvbGxpZGVyLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgY29uc3QgbWF0cml4V29ybGRFbGVtZW50cyA9IHRoaXMubWF0cml4LmVsZW1lbnRzO1xuICAgICAgICB0aGlzLl9nZW9tZXRyeS53b3JsZFNjYWxlID0gX3YzQSQyXG4gICAgICAgICAgICAuc2V0KG1hdHJpeFdvcmxkRWxlbWVudHNbMF0sIG1hdHJpeFdvcmxkRWxlbWVudHNbMV0sIG1hdHJpeFdvcmxkRWxlbWVudHNbMl0pXG4gICAgICAgICAgICAubGVuZ3RoKCk7IC8vIGNhbGN1bGF0ZSBzY2FsZSBvZiB4IGNvbXBvbmVudFxuICAgICAgICB0aGlzLl9nZW9tZXRyeS51cGRhdGUoKTtcbiAgICAgICAgc3VwZXIudXBkYXRlTWF0cml4V29ybGQoZm9yY2UpO1xuICAgIH1cbn1cblxuY2xhc3MgU3ByaW5nQm9uZUJ1ZmZlckdlb21ldHJ5IGV4dGVuZHMgVEhSRUUuQnVmZmVyR2VvbWV0cnkge1xuICAgIGNvbnN0cnVjdG9yKHNwcmluZ0JvbmUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy53b3JsZFNjYWxlID0gMS4wO1xuICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFRhaWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICB0aGlzLl9zcHJpbmdCb25lID0gc3ByaW5nQm9uZTtcbiAgICAgICAgdGhpcy5fYXR0clBvcyA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IEZsb2F0MzJBcnJheSgyOTQpLCAzKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgdGhpcy5fYXR0clBvcyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleCA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IFVpbnQxNkFycmF5KDE5NCksIDEpO1xuICAgICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2F0dHJJbmRleCk7XG4gICAgICAgIHRoaXMuX2J1aWxkSW5kZXgoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gdGhpcy5fc3ByaW5nQm9uZS5zZXR0aW5ncy5oaXRSYWRpdXMgLyB0aGlzLndvcmxkU2NhbGU7XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmFkaXVzICE9PSByYWRpdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSByYWRpdXM7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9jdXJyZW50VGFpbC5lcXVhbHModGhpcy5fc3ByaW5nQm9uZS5pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhaWwuY29weSh0aGlzLl9zcHJpbmdCb25lLmluaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRVcGRhdGVHZW9tZXRyeSkge1xuICAgICAgICAgICAgdGhpcy5fYnVpbGRQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9idWlsZFBvc2l0aW9uKCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSAoaSAvIDE2LjApICogTWF0aC5QSTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKGksIE1hdGguY29zKHQpLCBNYXRoLnNpbih0KSwgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDMyICsgaSwgMC4wLCBNYXRoLmNvcyh0KSwgTWF0aC5zaW4odCkpO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooNjQgKyBpLCBNYXRoLnNpbih0KSwgMC4wLCBNYXRoLmNvcyh0KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY2FsZSh0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUodGhpcy5fY3VycmVudFRhaWwueCwgdGhpcy5fY3VycmVudFRhaWwueSwgdGhpcy5fY3VycmVudFRhaWwueik7XG4gICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDk2LCAwLCAwLCAwKTtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooOTcsIHRoaXMuX2N1cnJlbnRUYWlsLngsIHRoaXMuX2N1cnJlbnRUYWlsLnksIHRoaXMuX2N1cnJlbnRUYWlsLnopO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgX2J1aWxkSW5kZXgoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaTEgPSAoaSArIDEpICUgMzI7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoaSAqIDIsIGksIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSg2NCArIGkgKiAyLCAzMiArIGksIDMyICsgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDEyOCArIGkgKiAyLCA2NCArIGksIDY0ICsgaTEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSgxOTIsIDk2LCA5Nyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxufVxuXG5jb25zdCBfdjNBJDEgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY2xhc3MgVlJNU3ByaW5nQm9uZUpvaW50SGVscGVyIGV4dGVuZHMgVEhSRUUuR3JvdXAge1xuICAgIGNvbnN0cnVjdG9yKHNwcmluZ0JvbmUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3ByaW5nQm9uZSA9IHNwcmluZ0JvbmU7XG4gICAgICAgIHRoaXMuX2dlb21ldHJ5ID0gbmV3IFNwcmluZ0JvbmVCdWZmZXJHZW9tZXRyeSh0aGlzLnNwcmluZ0JvbmUpO1xuICAgICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgICAgICBjb2xvcjogMHhmZmZmMDAsXG4gICAgICAgICAgICBkZXB0aFRlc3Q6IGZhbHNlLFxuICAgICAgICAgICAgZGVwdGhXcml0ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9saW5lID0gbmV3IFRIUkVFLkxpbmVTZWdtZW50cyh0aGlzLl9nZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgICB0aGlzLmFkZCh0aGlzLl9saW5lKTtcbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgdGhpcy5fZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgIH1cbiAgICB1cGRhdGVNYXRyaXhXb3JsZChmb3JjZSkge1xuICAgICAgICB0aGlzLnNwcmluZ0JvbmUuYm9uZS51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMubWF0cml4LmNvcHkodGhpcy5zcHJpbmdCb25lLmJvbmUubWF0cml4V29ybGQpO1xuICAgICAgICBjb25zdCBtYXRyaXhXb3JsZEVsZW1lbnRzID0gdGhpcy5tYXRyaXguZWxlbWVudHM7XG4gICAgICAgIHRoaXMuX2dlb21ldHJ5LndvcmxkU2NhbGUgPSBfdjNBJDFcbiAgICAgICAgICAgIC5zZXQobWF0cml4V29ybGRFbGVtZW50c1swXSwgbWF0cml4V29ybGRFbGVtZW50c1sxXSwgbWF0cml4V29ybGRFbGVtZW50c1syXSlcbiAgICAgICAgICAgIC5sZW5ndGgoKTsgLy8gY2FsY3VsYXRlIHNjYWxlIG9mIHggY29tcG9uZW50XG4gICAgICAgIHRoaXMuX2dlb21ldHJ5LnVwZGF0ZSgpO1xuICAgICAgICBzdXBlci51cGRhdGVNYXRyaXhXb3JsZChmb3JjZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb2xsaWRlciBvZiBhIFZSTS5cbiAqL1xuY2xhc3MgVlJNU3ByaW5nQm9uZUNvbGxpZGVyIGV4dGVuZHMgVEhSRUUuT2JqZWN0M0Qge1xuICAgIGNvbnN0cnVjdG9yKHNoYXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2hhcGUgPSBzaGFwZTtcbiAgICB9XG59XG5cbmNvbnN0IF9tYXRBJDEgPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuLyoqXG4gKiBBIGNvbXBhdCBmdW5jdGlvbiBmb3IgYE1hdHJpeDQuaW52ZXJ0KClgIC8gYE1hdHJpeDQuZ2V0SW52ZXJzZSgpYC5cbiAqIGBNYXRyaXg0LmludmVydCgpYCBpcyBpbnRyb2R1Y2VkIGluIHIxMjMgYW5kIGBNYXRyaXg0LmdldEludmVyc2UoKWAgZW1pdHMgYSB3YXJuaW5nLlxuICogV2UgYXJlIGdvaW5nIHRvIHVzZSB0aGlzIGNvbXBhdCBmb3IgYSB3aGlsZS5cbiAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgbWF0cml4XG4gKi9cbmZ1bmN0aW9uIG1hdDRJbnZlcnRDb21wYXQodGFyZ2V0KSB7XG4gICAgaWYgKHRhcmdldC5pbnZlcnQpIHtcbiAgICAgICAgdGFyZ2V0LmludmVydCgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGFyZ2V0LmdldEludmVyc2UoX21hdEEkMS5jb3B5KHRhcmdldCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuXG5jbGFzcyBNYXRyaXg0SW52ZXJzZUNhY2hlIHtcbiAgICAvKipcbiAgICAgKiBJbnZlcnNlIG9mIGdpdmVuIG1hdHJpeC5cbiAgICAgKiBOb3RlIHRoYXQgaXQgd2lsbCByZXR1cm4gaXRzIGludGVybmFsIHByaXZhdGUgaW5zdGFuY2UuXG4gICAgICogTWFrZSBzdXJlIGNvcHlpbmcgdGhpcyBiZWZvcmUgbXV0YXRlIHRoaXMuXG4gICAgICovXG4gICAgZ2V0IGludmVyc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLl9zaG91bGRVcGRhdGVJbnZlcnNlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnZlcnNlQ2FjaGUuY29weSh0aGlzLm1hdHJpeCk7XG4gICAgICAgICAgICBtYXQ0SW52ZXJ0Q29tcGF0KHRoaXMuX2ludmVyc2VDYWNoZSk7XG4gICAgICAgICAgICB0aGlzLl9zaG91bGRVcGRhdGVJbnZlcnNlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludmVyc2VDYWNoZTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IobWF0cml4KSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIGNhY2hlIG9mIGludmVyc2Ugb2YgY3VycmVudCBtYXRyaXguXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9pbnZlcnNlQ2FjaGUgPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQSBmbGFnIHRoYXQgbWFrZXMgaXQgd2FudCB0byByZWNhbGN1bGF0ZSBpdHMge0BsaW5rIF9pbnZlcnNlQ2FjaGV9LlxuICAgICAgICAgKiBXaWxsIGJlIHNldCBgdHJ1ZWAgd2hlbiBgZWxlbWVudHNgIGFyZSBtdXRhdGVkIGFuZCBiZSB1c2VkIGluIGBnZXRJbnZlcnNlYC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3Nob3VsZFVwZGF0ZUludmVyc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLm1hdHJpeCA9IG1hdHJpeDtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IHtcbiAgICAgICAgICAgIHNldDogKG9iaiwgcHJvcCwgbmV3VmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvdWxkVXBkYXRlSW52ZXJzZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgb2JqW3Byb3BdID0gbmV3VmFsO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fb3JpZ2luYWxFbGVtZW50cyA9IG1hdHJpeC5lbGVtZW50cztcbiAgICAgICAgbWF0cml4LmVsZW1lbnRzID0gbmV3IFByb3h5KG1hdHJpeC5lbGVtZW50cywgaGFuZGxlcik7XG4gICAgfVxuICAgIHJldmVydCgpIHtcbiAgICAgICAgdGhpcy5tYXRyaXguZWxlbWVudHMgPSB0aGlzLl9vcmlnaW5hbEVsZW1lbnRzO1xuICAgIH1cbn1cblxuLy8gYmFzZWQgb25cbi8vIGh0dHA6Ly9yb2NrZXRqdW1wLnNrci5qcC91bml0eTNkLzEwOS9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kd2FuZ28vVW5pVlJNL2Jsb2IvbWFzdGVyL1NjcmlwdHMvU3ByaW5nQm9uZS9WUk1TcHJpbmdCb25lLmNzXG5jb25zdCBJREVOVElUWV9NQVRSSVg0ID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcbi8vIOioiOeul+S4reOBruS4gOaZguS/neWtmOeUqOWkieaVsO+8iOS4gOW6puOCpOODs+OCueOCv+ODs+OCueOCkuS9nOOBo+OBn+OCieOBguOBqOOBr+S9v+OBhOWbnuOBme+8iVxuY29uc3QgX3YzQSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfdjNCID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0MgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuLyoqXG4gKiBBIHRlbXBvcmFyeSB2YXJpYWJsZSB3aGljaCBpcyB1c2VkIGluIGB1cGRhdGVgXG4gKi9cbmNvbnN0IF93b3JsZFNwYWNlUG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuLyoqXG4gKiBBIHRlbXBvcmFyeSB2YXJpYWJsZSB3aGljaCBpcyB1c2VkIGluIGB1cGRhdGVgXG4gKi9cbmNvbnN0IF9jZW50ZXJTcGFjZVBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbi8qKlxuICogQSB0ZW1wb3JhcnkgdmFyaWFibGUgd2hpY2ggaXMgdXNlZCBpbiBgdXBkYXRlYFxuICovXG5jb25zdCBfbmV4dFRhaWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3F1YXRBID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9tYXRBID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcbmNvbnN0IF9tYXRCID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcbi8qKlxuICogQSBjbGFzcyByZXByZXNlbnRzIGEgc2luZ2xlIGpvaW50IG9mIGEgc3ByaW5nIGJvbmUuXG4gKiBJdCBzaG91bGQgYmUgbWFuYWdlZCBieSBhIFtbVlJNU3ByaW5nQm9uZU1hbmFnZXJdXS5cbiAqL1xuY2xhc3MgVlJNU3ByaW5nQm9uZUpvaW50IHtcbiAgICBnZXQgY2VudGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2VudGVyO1xuICAgIH1cbiAgICBzZXQgY2VudGVyKGNlbnRlcikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIC8vIHVuaW5zdGFsbCBpbnZlcnNlIGNhY2hlXG4gICAgICAgIGlmICgoX2EgPSB0aGlzLl9jZW50ZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS51c2VyRGF0YS5pbnZlcnNlQ2FjaGVQcm94eSkge1xuICAgICAgICAgICAgdGhpcy5fY2VudGVyLnVzZXJEYXRhLmludmVyc2VDYWNoZVByb3h5LnJldmVydCgpO1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NlbnRlci51c2VyRGF0YS5pbnZlcnNlQ2FjaGVQcm94eTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjaGFuZ2UgdGhlIGNlbnRlclxuICAgICAgICB0aGlzLl9jZW50ZXIgPSBjZW50ZXI7XG4gICAgICAgIC8vIGluc3RhbGwgaW52ZXJzZSBjYWNoZVxuICAgICAgICBpZiAodGhpcy5fY2VudGVyKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2NlbnRlci51c2VyRGF0YS5pbnZlcnNlQ2FjaGVQcm94eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NlbnRlci51c2VyRGF0YS5pbnZlcnNlQ2FjaGVQcm94eSA9IG5ldyBNYXRyaXg0SW52ZXJzZUNhY2hlKHRoaXMuX2NlbnRlci5tYXRyaXhXb3JsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGluaXRpYWxMb2NhbENoaWxkUG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSB3b3JsZCBtYXRyaXggb2YgaXRzIHBhcmVudCBvYmplY3QuXG4gICAgICogTm90ZSB0aGF0IGl0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG1hdHJpeC4gRG9uJ3QgbXV0YXRlIHRoaXMgZGlyZWN0bHkhXG4gICAgICovXG4gICAgZ2V0IF9wYXJlbnRNYXRyaXhXb3JsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYm9uZS5wYXJlbnQgPyB0aGlzLmJvbmUucGFyZW50Lm1hdHJpeFdvcmxkIDogSURFTlRJVFlfTUFUUklYNDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IFZSTVNwcmluZ0JvbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYm9uZSBBbiBPYmplY3QzRCB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhpcyBib25lXG4gICAgICogQHBhcmFtIGNoaWxkIEFuIE9iamVjdDNEIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGEgdGFpbCBvZiB0aGlzIHNwcmluZyBib25lLiBJdCBjYW4gYmUgbnVsbCB3aGVuIHRoZSBzcHJpbmcgYm9uZSBpcyBpbXBvcnRlZCBmcm9tIFZSTSAwLjBcbiAgICAgKiBAcGFyYW0gc2V0dGluZ3MgU2V2ZXJhbCBwYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gYmVoYXZpb3Igb2YgdGhlIHNwcmluZyBib25lXG4gICAgICogQHBhcmFtIGNvbGxpZGVyR3JvdXBzIENvbGxpZGVyIGdyb3VwcyB0aGF0IHdpbGwgYmUgY29sbGlkZWQgd2l0aCB0aGlzIHNwcmluZyBib25lXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoYm9uZSwgY2hpbGQsIHNldHRpbmdzID0ge30sIGNvbGxpZGVyR3JvdXBzID0gW10pIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZSwgX2Y7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDdXJyZW50IHBvc2l0aW9uIG9mIGNoaWxkIHRhaWwsIGluIGNlbnRlciB1bml0LiBXaWxsIGJlIHVzZWQgZm9yIHZlcmxldCBpbnRlZ3JhdGlvbi5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWlsID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByZXZpb3VzIHBvc2l0aW9uIG9mIGNoaWxkIHRhaWwsIGluIGNlbnRlciB1bml0LiBXaWxsIGJlIHVzZWQgZm9yIHZlcmxldCBpbnRlZ3JhdGlvbi5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3ByZXZUYWlsID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluaXRpYWwgYXhpcyBvZiB0aGUgYm9uZSwgaW4gbG9jYWwgdW5pdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2JvbmVBeGlzID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIExlbmd0aCBvZiB0aGUgYm9uZSBpbiB3b3JsZCB1bml0LlxuICAgICAgICAgKiBXaWxsIGJlIHVzZWQgZm9yIG5vcm1hbGl6YXRpb24gaW4gdXBkYXRlIGxvb3AsIHdpbGwgYmUgdXBkYXRlZCBieSB7QGxpbmsgX2NhbGNXb3JsZFNwYWNlQm9uZUxlbmd0aH0uXG4gICAgICAgICAqXG4gICAgICAgICAqIEl0J3Mgc2FtZSBhcyBsb2NhbCB1bml0IGxlbmd0aCB1bmxlc3MgdGhlcmUgYXJlIHNjYWxlIHRyYW5zZm9ybWF0aW9ucyBpbiB0aGUgd29ybGQgc3BhY2UuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl93b3JsZFNwYWNlQm9uZUxlbmd0aCA9IDAuMDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoaXMgc3ByaW5nYm9uZSB3aWxsIGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHNwYWNlIHJlbGF0aXZlIGZyb20gdGhpcyBvYmplY3QuXG4gICAgICAgICAqIElmIHRoaXMgaXMgYG51bGxgLCBzcHJpbmdib25lIHdpbGwgYmUgY2FsY3VsYXRlZCBpbiB3b3JsZCBzcGFjZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2NlbnRlciA9IG51bGw7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbml0aWFsIHN0YXRlIG9mIHRoZSBsb2NhbCBtYXRyaXggb2YgdGhlIGJvbmUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuICAgICAgICAvKipcbiAgICAgICAgICogSW5pdGlhbCBzdGF0ZSBvZiB0aGUgcm90YXRpb24gb2YgdGhlIGJvbmUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxSb3RhdGlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbml0aWFsIHN0YXRlIG9mIHRoZSBwb3NpdGlvbiBvZiBpdHMgY2hpbGQuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgdGhpcy5ib25lID0gYm9uZTsgLy8gdW5pVlJN44Gn44GuIHBhcmVudFxuICAgICAgICB0aGlzLmJvbmUubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlOyAvLyB1cGRhdGXjgavjgojjgoroqIjnrpfjgZXjgozjgovjga7jgad0aHJlZS5qc+WGheOBp+OBruiHquWLleWHpueQhuOBr+S4jeimgVxuICAgICAgICB0aGlzLmNoaWxkID0gY2hpbGQ7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7XG4gICAgICAgICAgICBoaXRSYWRpdXM6IChfYSA9IHNldHRpbmdzLmhpdFJhZGl1cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMC4wLFxuICAgICAgICAgICAgc3RpZmZuZXNzOiAoX2IgPSBzZXR0aW5ncy5zdGlmZm5lc3MpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDEuMCxcbiAgICAgICAgICAgIGdyYXZpdHlQb3dlcjogKF9jID0gc2V0dGluZ3MuZ3Jhdml0eVBvd2VyKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjAsXG4gICAgICAgICAgICBncmF2aXR5RGlyOiAoX2UgPSAoX2QgPSBzZXR0aW5ncy5ncmF2aXR5RGlyKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuY2xvbmUoKSkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAtMS4wLCAwLjApLFxuICAgICAgICAgICAgZHJhZ0ZvcmNlOiAoX2YgPSBzZXR0aW5ncy5kcmFnRm9yY2UpICE9PSBudWxsICYmIF9mICE9PSB2b2lkIDAgPyBfZiA6IDAuNCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb2xsaWRlckdyb3VwcyA9IGNvbGxpZGVyR3JvdXBzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhpcyBzcHJpbmcgYm9uZS5cbiAgICAgKiBZb3UgbWlnaHQgd2FudCB0byBjYWxsIHtAbGluayBWUk1TcHJpbmdCb25lTWFuYWdlci5zZXRJbml0U3RhdGV9IGluc3RlYWQuXG4gICAgICovXG4gICAgc2V0SW5pdFN0YXRlKCkge1xuICAgICAgICAvLyByZW1lbWJlciBpbml0aWFsIHBvc2l0aW9uIG9mIGl0c2VsZlxuICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxNYXRyaXguY29weSh0aGlzLmJvbmUubWF0cml4KTtcbiAgICAgICAgdGhpcy5faW5pdGlhbExvY2FsUm90YXRpb24uY29weSh0aGlzLmJvbmUucXVhdGVybmlvbik7XG4gICAgICAgIC8vIHNlZSBpbml0aWFsIHBvc2l0aW9uIG9mIGl0cyBsb2NhbCBjaGlsZFxuICAgICAgICBpZiAodGhpcy5jaGlsZCkge1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbExvY2FsQ2hpbGRQb3NpdGlvbi5jb3B5KHRoaXMuY2hpbGQucG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gdnJtMCByZXF1aXJlcyBhIDdjbSBmaXhlZCBib25lIGxlbmd0aCBmb3IgdGhlIGZpbmFsIG5vZGUgaW4gYSBjaGFpblxuICAgICAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnJtLWMvdnJtLXNwZWNpZmljYXRpb24vdHJlZS9tYXN0ZXIvc3BlY2lmaWNhdGlvbi9WUk1DX3NwcmluZ0JvbmUtMS4wI2Fib3V0LXNwcmluZy1jb25maWd1cmF0aW9uXG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uLmNvcHkodGhpcy5ib25lLnBvc2l0aW9uKS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcigwLjA3KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb3B5IHRoZSBjaGlsZCBwb3NpdGlvbiB0byB0YWlsc1xuICAgICAgICBjb25zdCBtYXRyaXhXb3JsZFRvQ2VudGVyID0gdGhpcy5fZ2V0TWF0cml4V29ybGRUb0NlbnRlcihfbWF0QSk7XG4gICAgICAgIHRoaXMuYm9uZS5sb2NhbFRvV29ybGQodGhpcy5fY3VycmVudFRhaWwuY29weSh0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uKSkuYXBwbHlNYXRyaXg0KG1hdHJpeFdvcmxkVG9DZW50ZXIpO1xuICAgICAgICB0aGlzLl9wcmV2VGFpbC5jb3B5KHRoaXMuX2N1cnJlbnRUYWlsKTtcbiAgICAgICAgLy8gc2V0IGluaXRpYWwgc3RhdGVzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gbG9jYWwgY2hpbGQgcG9zaXRpb25cbiAgICAgICAgdGhpcy5fYm9uZUF4aXMuY29weSh0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uKS5ub3JtYWxpemUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIHN0YXRlIG9mIHRoaXMgYm9uZS5cbiAgICAgKiBZb3UgbWlnaHQgd2FudCB0byBjYWxsIFtbVlJNU3ByaW5nQm9uZU1hbmFnZXIucmVzZXRdXSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJlc2V0KCkge1xuICAgICAgICB0aGlzLmJvbmUucXVhdGVybmlvbi5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbFJvdGF0aW9uKTtcbiAgICAgICAgLy8gV2UgbmVlZCB0byB1cGRhdGUgaXRzIG1hdHJpeFdvcmxkIG1hbnVhbGx5LCBzaW5jZSB3ZSB0d2Vha2VkIHRoZSBib25lIGJ5IG91ciBoYW5kXG4gICAgICAgIHRoaXMuYm9uZS51cGRhdGVNYXRyaXgoKTtcbiAgICAgICAgdGhpcy5ib25lLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5fcGFyZW50TWF0cml4V29ybGQsIHRoaXMuYm9uZS5tYXRyaXgpO1xuICAgICAgICAvLyBBcHBseSB1cGRhdGVkIHBvc2l0aW9uIHRvIHRhaWwgc3RhdGVzXG4gICAgICAgIGNvbnN0IG1hdHJpeFdvcmxkVG9DZW50ZXIgPSB0aGlzLl9nZXRNYXRyaXhXb3JsZFRvQ2VudGVyKF9tYXRBKTtcbiAgICAgICAgdGhpcy5ib25lLmxvY2FsVG9Xb3JsZCh0aGlzLl9jdXJyZW50VGFpbC5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pKS5hcHBseU1hdHJpeDQobWF0cml4V29ybGRUb0NlbnRlcik7XG4gICAgICAgIHRoaXMuX3ByZXZUYWlsLmNvcHkodGhpcy5fY3VycmVudFRhaWwpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhlIHN0YXRlIG9mIHRoaXMgYm9uZS5cbiAgICAgKiBZb3UgbWlnaHQgd2FudCB0byBjYWxsIFtbVlJNU3ByaW5nQm9uZU1hbmFnZXIudXBkYXRlXV0gaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZWx0YSBkZWx0YVRpbWVcbiAgICAgKi9cbiAgICB1cGRhdGUoZGVsdGEpIHtcbiAgICAgICAgaWYgKGRlbHRhIDw9IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgX3dvcmxkU3BhY2VCb25lTGVuZ3RoXG4gICAgICAgIHRoaXMuX2NhbGNXb3JsZFNwYWNlQm9uZUxlbmd0aCgpO1xuICAgICAgICAvLyBHZXQgYm9uZSBwb3NpdGlvbiBpbiBjZW50ZXIgc3BhY2VcbiAgICAgICAgX3dvcmxkU3BhY2VQb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5ib25lLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgbGV0IG1hdHJpeFdvcmxkVG9DZW50ZXIgPSB0aGlzLl9nZXRNYXRyaXhXb3JsZFRvQ2VudGVyKF9tYXRBKTtcbiAgICAgICAgX2NlbnRlclNwYWNlUG9zaXRpb24uY29weShfd29ybGRTcGFjZVBvc2l0aW9uKS5hcHBseU1hdHJpeDQobWF0cml4V29ybGRUb0NlbnRlcik7XG4gICAgICAgIGNvbnN0IHF1YXRXb3JsZFRvQ2VudGVyID0gX3F1YXRBLnNldEZyb21Sb3RhdGlvbk1hdHJpeChtYXRyaXhXb3JsZFRvQ2VudGVyKTtcbiAgICAgICAgLy8gR2V0IHBhcmVudCBtYXRyaXggaW4gY2VudGVyIHNwYWNlXG4gICAgICAgIGNvbnN0IGNlbnRlclNwYWNlUGFyZW50TWF0cml4ID0gX21hdEIuY29weShtYXRyaXhXb3JsZFRvQ2VudGVyKS5tdWx0aXBseSh0aGlzLl9wYXJlbnRNYXRyaXhXb3JsZCk7XG4gICAgICAgIC8vIEdldCBib25lQXhpcyBpbiBjZW50ZXIgc3BhY2VcbiAgICAgICAgY29uc3QgY2VudGVyU3BhY2VCb25lQXhpcyA9IF92M0JcbiAgICAgICAgICAgIC5jb3B5KHRoaXMuX2JvbmVBeGlzKVxuICAgICAgICAgICAgLmFwcGx5TWF0cml4NCh0aGlzLl9pbml0aWFsTG9jYWxNYXRyaXgpXG4gICAgICAgICAgICAuYXBwbHlNYXRyaXg0KGNlbnRlclNwYWNlUGFyZW50TWF0cml4KVxuICAgICAgICAgICAgLnN1YihfY2VudGVyU3BhY2VQb3NpdGlvbilcbiAgICAgICAgICAgIC5ub3JtYWxpemUoKTtcbiAgICAgICAgLy8gZ3Jhdml0eSBpbiBjZW50ZXIgc3BhY2VcbiAgICAgICAgY29uc3QgY2VudGVyU3BhY2VHcmF2aXR5ID0gX3YzQy5jb3B5KHRoaXMuc2V0dGluZ3MuZ3Jhdml0eURpcikuYXBwbHlRdWF0ZXJuaW9uKHF1YXRXb3JsZFRvQ2VudGVyKS5ub3JtYWxpemUoKTtcbiAgICAgICAgY29uc3QgbWF0cml4Q2VudGVyVG9Xb3JsZCA9IHRoaXMuX2dldE1hdHJpeENlbnRlclRvV29ybGQoX21hdEEpO1xuICAgICAgICAvLyB2ZXJsZXTnqY3liIbjgafmrKHjga7kvY3nva7jgpLoqIjnrpdcbiAgICAgICAgX25leHRUYWlsXG4gICAgICAgICAgICAuY29weSh0aGlzLl9jdXJyZW50VGFpbClcbiAgICAgICAgICAgIC5hZGQoX3YzQVxuICAgICAgICAgICAgLmNvcHkodGhpcy5fY3VycmVudFRhaWwpXG4gICAgICAgICAgICAuc3ViKHRoaXMuX3ByZXZUYWlsKVxuICAgICAgICAgICAgLm11bHRpcGx5U2NhbGFyKDEgLSB0aGlzLnNldHRpbmdzLmRyYWdGb3JjZSkpIC8vIOWJjeODleODrOODvOODoOOBruenu+WLleOCkue2mee2muOBmeOCiyjmuJvoobDjgoLjgYLjgovjgogpXG4gICAgICAgICAgICAuYWRkKF92M0EuY29weShjZW50ZXJTcGFjZUJvbmVBeGlzKS5tdWx0aXBseVNjYWxhcih0aGlzLnNldHRpbmdzLnN0aWZmbmVzcyAqIGRlbHRhKSkgLy8g6Kaq44Gu5Zue6Lui44Gr44KI44KL5a2Q44Oc44O844Oz44Gu56e75YuV55uu5qiZXG4gICAgICAgICAgICAuYWRkKF92M0EuY29weShjZW50ZXJTcGFjZUdyYXZpdHkpLm11bHRpcGx5U2NhbGFyKHRoaXMuc2V0dGluZ3MuZ3Jhdml0eVBvd2VyICogZGVsdGEpKSAvLyDlpJblipvjgavjgojjgovnp7vli5Xph49cbiAgICAgICAgICAgIC5hcHBseU1hdHJpeDQobWF0cml4Q2VudGVyVG9Xb3JsZCk7IC8vIHRhaWzjgpJ3b3JsZCBzcGFjZeOBq+aIu+OBmVxuICAgICAgICAvLyBub3JtYWxpemUgYm9uZSBsZW5ndGhcbiAgICAgICAgX25leHRUYWlsLnN1Yihfd29ybGRTcGFjZVBvc2l0aW9uKS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0aGlzLl93b3JsZFNwYWNlQm9uZUxlbmd0aCkuYWRkKF93b3JsZFNwYWNlUG9zaXRpb24pO1xuICAgICAgICAvLyBDb2xsaXNpb27jgafnp7vli5VcbiAgICAgICAgdGhpcy5fY29sbGlzaW9uKF9uZXh0VGFpbCk7XG4gICAgICAgIC8vIHVwZGF0ZSBwcmV2VGFpbCBhbmQgY3VycmVudFRhaWxcbiAgICAgICAgbWF0cml4V29ybGRUb0NlbnRlciA9IHRoaXMuX2dldE1hdHJpeFdvcmxkVG9DZW50ZXIoX21hdEEpO1xuICAgICAgICB0aGlzLl9wcmV2VGFpbC5jb3B5KHRoaXMuX2N1cnJlbnRUYWlsKTtcbiAgICAgICAgdGhpcy5fY3VycmVudFRhaWwuY29weShfdjNBLmNvcHkoX25leHRUYWlsKS5hcHBseU1hdHJpeDQobWF0cml4V29ybGRUb0NlbnRlcikpO1xuICAgICAgICAvLyBBcHBseSByb3RhdGlvbiwgY29udmVydCB2ZWN0b3IzIHRoaW5nIGludG8gYWN0dWFsIHF1YXRlcm5pb25cbiAgICAgICAgLy8gT3JpZ2luYWwgVW5pVlJNIGlzIGRvaW5nIGNlbnRlciB1bml0IGNhbGN1bHVzIGF0IGhlcmUgYnV0IHdlJ3JlIGdvbm5hIGRvIHRoaXMgb24gbG9jYWwgdW5pdFxuICAgICAgICBjb25zdCB3b3JsZFNwYWNlSW5pdGlhbE1hdHJpeEludiA9IG1hdDRJbnZlcnRDb21wYXQoX21hdEEuY29weSh0aGlzLl9wYXJlbnRNYXRyaXhXb3JsZCkubXVsdGlwbHkodGhpcy5faW5pdGlhbExvY2FsTWF0cml4KSk7XG4gICAgICAgIGNvbnN0IGFwcGx5Um90YXRpb24gPSBfcXVhdEEuc2V0RnJvbVVuaXRWZWN0b3JzKHRoaXMuX2JvbmVBeGlzLCBfdjNBLmNvcHkoX25leHRUYWlsKS5hcHBseU1hdHJpeDQod29ybGRTcGFjZUluaXRpYWxNYXRyaXhJbnYpLm5vcm1hbGl6ZSgpKTtcbiAgICAgICAgdGhpcy5ib25lLnF1YXRlcm5pb24uY29weSh0aGlzLl9pbml0aWFsTG9jYWxSb3RhdGlvbikubXVsdGlwbHkoYXBwbHlSb3RhdGlvbik7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdXBkYXRlIGl0cyBtYXRyaXhXb3JsZCBtYW51YWxseSwgc2luY2Ugd2UgdHdlYWtlZCB0aGUgYm9uZSBieSBvdXIgaGFuZFxuICAgICAgICB0aGlzLmJvbmUudXBkYXRlTWF0cml4KCk7XG4gICAgICAgIHRoaXMuYm9uZS5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMuX3BhcmVudE1hdHJpeFdvcmxkLCB0aGlzLmJvbmUubWF0cml4KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRG8gY29sbGlzaW9uIG1hdGggYWdhaW5zdCBldmVyeSBjb2xsaWRlcnMgYXR0YWNoZWQgdG8gdGhpcyBib25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhaWwgVGhlIHRhaWwgeW91IHdhbnQgdG8gcHJvY2Vzc1xuICAgICAqL1xuICAgIF9jb2xsaXNpb24odGFpbCkge1xuICAgICAgICB0aGlzLmNvbGxpZGVyR3JvdXBzLmZvckVhY2goKGNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbGxpZGVyR3JvdXAuY29sbGlkZXJzLmZvckVhY2goKGNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdCA9IGNvbGxpZGVyLnNoYXBlLmNhbGN1bGF0ZUNvbGxpc2lvbihjb2xsaWRlci5tYXRyaXhXb3JsZCwgdGFpbCwgdGhpcy5zZXR0aW5ncy5oaXRSYWRpdXMsIF92M0EpO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0IDwgMC4wKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGhpdFxuICAgICAgICAgICAgICAgICAgICB0YWlsLmFkZChfdjNBLm11bHRpcGx5U2NhbGFyKC1kaXN0KSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBib25lIGxlbmd0aFxuICAgICAgICAgICAgICAgICAgICB0YWlsLnN1Yihfd29ybGRTcGFjZVBvc2l0aW9uKS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0aGlzLl93b3JsZFNwYWNlQm9uZUxlbmd0aCkuYWRkKF93b3JsZFNwYWNlUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSB7QGxpbmsgX3dvcmxkU3BhY2VCb25lTGVuZ3RofS5cbiAgICAgKiBJbnRlbmRlZCB0byBiZSB1c2VkIGluIHtAbGluayB1cGRhdGV9LlxuICAgICAqL1xuICAgIF9jYWxjV29ybGRTcGFjZUJvbmVMZW5ndGgoKSB7XG4gICAgICAgIF92M0Euc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMuYm9uZS5tYXRyaXhXb3JsZCk7IC8vIGdldCB3b3JsZCBwb3NpdGlvbiBvZiB0aGlzLmJvbmVcbiAgICAgICAgaWYgKHRoaXMuY2hpbGQpIHtcbiAgICAgICAgICAgIF92M0Iuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMuY2hpbGQubWF0cml4V29ybGQpOyAvLyBnZXQgd29ybGQgcG9zaXRpb24gb2YgdGhpcy5jaGlsZFxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3YzQi5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pO1xuICAgICAgICAgICAgX3YzQi5hcHBseU1hdHJpeDQodGhpcy5ib25lLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93b3JsZFNwYWNlQm9uZUxlbmd0aCA9IF92M0Euc3ViKF92M0IpLmxlbmd0aCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBtYXRyaXggdGhhdCBjb252ZXJ0cyBjZW50ZXIgc3BhY2UgaW50byB3b3JsZCBzcGFjZS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IFRhcmdldCBtYXRyaXhcbiAgICAgKi9cbiAgICBfZ2V0TWF0cml4Q2VudGVyVG9Xb3JsZCh0YXJnZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NlbnRlcikge1xuICAgICAgICAgICAgdGFyZ2V0LmNvcHkodGhpcy5fY2VudGVyLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldC5pZGVudGl0eSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG1hdHJpeCB0aGF0IGNvbnZlcnRzIHdvcmxkIHNwYWNlIGludG8gY2VudGVyIHNwYWNlLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IG1hdHJpeFxuICAgICAqL1xuICAgIF9nZXRNYXRyaXhXb3JsZFRvQ2VudGVyKHRhcmdldCkge1xuICAgICAgICBpZiAodGhpcy5fY2VudGVyKSB7XG4gICAgICAgICAgICB0YXJnZXQuY29weSh0aGlzLl9jZW50ZXIudXNlckRhdGEuaW52ZXJzZUNhY2hlUHJveHkuaW52ZXJzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXQuaWRlbnRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5mdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQW5jZXN0b3JzRnJvbVJvb3Qob2JqZWN0LCBjYWxsYmFjaykge1xuICAgIGNvbnN0IGFuY2VzdG9ycyA9IFtdO1xuICAgIGxldCBoZWFkID0gb2JqZWN0O1xuICAgIHdoaWxlIChoZWFkICE9PSBudWxsKSB7XG4gICAgICAgIGFuY2VzdG9ycy51bnNoaWZ0KGhlYWQpO1xuICAgICAgICBoZWFkID0gaGVhZC5wYXJlbnQ7XG4gICAgfVxuICAgIGFuY2VzdG9ycy5mb3JFYWNoKChhbmNlc3RvcikgPT4ge1xuICAgICAgICBjYWxsYmFjayhhbmNlc3Rvcik7XG4gICAgfSk7XG59XG5cbi8qKlxuICogVHJhdmVyc2UgY2hpbGRyZW4gb2YgZ2l2ZW4gb2JqZWN0IGFuZCBleGVjdXRlIGdpdmVuIGNhbGxiYWNrLlxuICogVGhlIGdpdmVuIG9iamVjdCBpdHNlbGYgd29udCBiZSBnaXZlbiB0byB0aGUgY2FsbGJhY2suXG4gKiBJZiB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBjYWxsYmFjayBpcyBgdHJ1ZWAsIGl0IHdpbGwgaGFsdCB0aGUgdHJhdmVyc2FsIG9mIGl0cyBjaGlsZHJlbi5cbiAqIEBwYXJhbSBvYmplY3QgQSByb290IG9iamVjdFxuICogQHBhcmFtIGNhbGxiYWNrIEEgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIGZvciBlYWNoIGNoaWxkcmVuXG4gKi9cbmZ1bmN0aW9uIHRyYXZlcnNlQ2hpbGRyZW5VbnRpbENvbmRpdGlvbk1ldChvYmplY3QsIGNhbGxiYWNrKSB7XG4gICAgb2JqZWN0LmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKGNoaWxkKTtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgIHRyYXZlcnNlQ2hpbGRyZW5VbnRpbENvbmRpdGlvbk1ldChjaGlsZCwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmNsYXNzIFZSTVNwcmluZ0JvbmVNYW5hZ2VyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fam9pbnRzID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9vYmplY3RTcHJpbmdCb25lc01hcCA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgZ2V0IGpvaW50cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2pvaW50cztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBqb2ludHN9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0IHNwcmluZ0JvbmVzKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTVNwcmluZ0JvbmVNYW5hZ2VyOiBzcHJpbmdCb25lcyBpcyBkZXByZWNhdGVkLiB1c2Ugam9pbnRzIGluc3RlYWQuJyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9qb2ludHM7XG4gICAgfVxuICAgIGdldCBjb2xsaWRlckdyb3VwcygpIHtcbiAgICAgICAgY29uc3Qgc2V0ID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9qb2ludHMuZm9yRWFjaCgoc3ByaW5nQm9uZSkgPT4ge1xuICAgICAgICAgICAgc3ByaW5nQm9uZS5jb2xsaWRlckdyb3Vwcy5mb3JFYWNoKChjb2xsaWRlckdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0LmFkZChjb2xsaWRlckdyb3VwKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oc2V0KTtcbiAgICB9XG4gICAgZ2V0IGNvbGxpZGVycygpIHtcbiAgICAgICAgY29uc3Qgc2V0ID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLmNvbGxpZGVyR3JvdXBzLmZvckVhY2goKGNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbGxpZGVyR3JvdXAuY29sbGlkZXJzLmZvckVhY2goKGNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0LmFkZChjb2xsaWRlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHNldCk7XG4gICAgfVxuICAgIGFkZEpvaW50KGpvaW50KSB7XG4gICAgICAgIHRoaXMuX2pvaW50cy5hZGQoam9pbnQpO1xuICAgICAgICBsZXQgb2JqZWN0U2V0ID0gdGhpcy5fb2JqZWN0U3ByaW5nQm9uZXNNYXAuZ2V0KGpvaW50LmJvbmUpO1xuICAgICAgICBpZiAob2JqZWN0U2V0ID09IG51bGwpIHtcbiAgICAgICAgICAgIG9iamVjdFNldCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHRoaXMuX29iamVjdFNwcmluZ0JvbmVzTWFwLnNldChqb2ludC5ib25lLCBvYmplY3RTZXQpO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdFNldC5hZGQoam9pbnQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGFkZEpvaW50fSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGFkZFNwcmluZ0JvbmUoam9pbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1TcHJpbmdCb25lTWFuYWdlcjogYWRkU3ByaW5nQm9uZSgpIGlzIGRlcHJlY2F0ZWQuIHVzZSBhZGRKb2ludCgpIGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuYWRkSm9pbnQoam9pbnQpO1xuICAgIH1cbiAgICBkZWxldGVKb2ludChqb2ludCkge1xuICAgICAgICB0aGlzLl9qb2ludHMuZGVsZXRlKGpvaW50KTtcbiAgICAgICAgY29uc3Qgb2JqZWN0U2V0ID0gdGhpcy5fb2JqZWN0U3ByaW5nQm9uZXNNYXAuZ2V0KGpvaW50LmJvbmUpO1xuICAgICAgICBvYmplY3RTZXQuZGVsZXRlKGpvaW50KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBkZWxldGVKb2ludH0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBkZWxldGVTcHJpbmdCb25lKGpvaW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignVlJNU3ByaW5nQm9uZU1hbmFnZXI6IGRlbGV0ZVNwcmluZ0JvbmUoKSBpcyBkZXByZWNhdGVkLiB1c2UgZGVsZXRlSm9pbnQoKSBpbnN0ZWFkLicpO1xuICAgICAgICB0aGlzLmRlbGV0ZUpvaW50KGpvaW50KTtcbiAgICB9XG4gICAgc2V0SW5pdFN0YXRlKCkge1xuICAgICAgICBjb25zdCBzcHJpbmdCb25lc1RyaWVkID0gbmV3IFNldCgpO1xuICAgICAgICBjb25zdCBzcHJpbmdCb25lc0RvbmUgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IG9iamVjdFVwZGF0ZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc3ByaW5nQm9uZSBvZiB0aGlzLl9qb2ludHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NTcHJpbmdCb25lKHNwcmluZ0JvbmUsIHNwcmluZ0JvbmVzVHJpZWQsIHNwcmluZ0JvbmVzRG9uZSwgb2JqZWN0VXBkYXRlZCwgKHNwcmluZ0JvbmUpID0+IHNwcmluZ0JvbmUuc2V0SW5pdFN0YXRlKCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlc2V0KCkge1xuICAgICAgICBjb25zdCBzcHJpbmdCb25lc1RyaWVkID0gbmV3IFNldCgpO1xuICAgICAgICBjb25zdCBzcHJpbmdCb25lc0RvbmUgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IG9iamVjdFVwZGF0ZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc3ByaW5nQm9uZSBvZiB0aGlzLl9qb2ludHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NTcHJpbmdCb25lKHNwcmluZ0JvbmUsIHNwcmluZ0JvbmVzVHJpZWQsIHNwcmluZ0JvbmVzRG9uZSwgb2JqZWN0VXBkYXRlZCwgKHNwcmluZ0JvbmUpID0+IHNwcmluZ0JvbmUucmVzZXQoKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdXBkYXRlKGRlbHRhKSB7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzVHJpZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzRG9uZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3Qgb2JqZWN0VXBkYXRlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgZm9yIChjb25zdCBzcHJpbmdCb25lIG9mIHRoaXMuX2pvaW50cykge1xuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBzcHJpbmdib25lXG4gICAgICAgICAgICB0aGlzLl9wcm9jZXNzU3ByaW5nQm9uZShzcHJpbmdCb25lLCBzcHJpbmdCb25lc1RyaWVkLCBzcHJpbmdCb25lc0RvbmUsIG9iamVjdFVwZGF0ZWQsIChzcHJpbmdCb25lKSA9PiBzcHJpbmdCb25lLnVwZGF0ZShkZWx0YSkpO1xuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkcmVuIHdvcmxkIG1hdHJpY2VzXG4gICAgICAgICAgICAvLyBpdCBpcyByZXF1aXJlZCB3aGVuIHRoZSBzcHJpbmcgYm9uZSBjaGFpbiBpcyBzcGFyc2VcbiAgICAgICAgICAgIHRyYXZlcnNlQ2hpbGRyZW5VbnRpbENvbmRpdGlvbk1ldChzcHJpbmdCb25lLmJvbmUsIChvYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBvYmplY3QgaGFzIGF0dGFjaGVkIHNwcmluZ2JvbmUsIGhhbHQgdGhlIHRyYXZlcnNhbFxuICAgICAgICAgICAgICAgIGlmICgoKF9iID0gKF9hID0gdGhpcy5fb2JqZWN0U3ByaW5nQm9uZXNNYXAuZ2V0KG9iamVjdCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zaXplKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSB1cGRhdGUgaXRzIHdvcmxkIG1hdHJpeFxuICAgICAgICAgICAgICAgIG9iamVjdC51cGRhdGVXb3JsZE1hdHJpeChmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBhIHNwcmluZyBib25lLlxuICAgICAqIElmIHRoZXJlIGFyZSBvdGhlciBzcHJpbmcgYm9uZSB0aGF0IGFyZSBkZXBlbmRhbnQsIGl0IHdpbGwgdHJ5IHRvIHVwZGF0ZSB0aGVtIHJlY3Vyc2l2ZWx5LlxuICAgICAqIEl0IHVwZGF0ZXMgbWF0cml4V29ybGQgb2YgYWxsIGFuY2VzdG9ycyBhbmQgbXlzZWxmLlxuICAgICAqIEl0IG1pZ2h0IHRocm93IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBjaXJjdWxhciBkZXBlbmRlbmNpZXMuXG4gICAgICpcbiAgICAgKiBJbnRlbmRlZCB0byBiZSB1c2VkIGluIHtAbGluayB1cGRhdGV9IGFuZCB7QGxpbmsgX3Byb2Nlc3NTcHJpbmdCb25lfSBpdHNlbGYgcmVjdXJzaXZlbHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3ByaW5nQm9uZSBBIHNwcmluZ0JvbmUgeW91IHdhbnQgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIHNwcmluZ0JvbmVzVHJpZWQgU2V0IG9mIHNwcmluZ0JvbmVzIHRoYXQgYXJlIGFscmVhZHkgdHJpZWQgdG8gYmUgdXBkYXRlZFxuICAgICAqIEBwYXJhbSBzcHJpbmdCb25lc0RvbmUgU2V0IG9mIHNwcmluZ0JvbmVzIHRoYXQgYXJlIGFscmVhZHkgdXAgdG8gZGF0ZVxuICAgICAqIEBwYXJhbSBvYmplY3RVcGRhdGVkIFNldCBvZiBvYmplY3QzRCB3aG9zZSBtYXRyaXhXb3JsZCBpcyB1cGRhdGVkXG4gICAgICovXG4gICAgX3Byb2Nlc3NTcHJpbmdCb25lKHNwcmluZ0JvbmUsIHNwcmluZ0JvbmVzVHJpZWQsIHNwcmluZ0JvbmVzRG9uZSwgb2JqZWN0VXBkYXRlZCwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKHNwcmluZ0JvbmVzRG9uZS5oYXMoc3ByaW5nQm9uZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3ByaW5nQm9uZXNUcmllZC5oYXMoc3ByaW5nQm9uZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNU3ByaW5nQm9uZU1hbmFnZXI6IENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWQgd2hpbGUgdXBkYXRpbmcgc3ByaW5nYm9uZXMnKTtcbiAgICAgICAgfVxuICAgICAgICBzcHJpbmdCb25lc1RyaWVkLmFkZChzcHJpbmdCb25lKTtcbiAgICAgICAgY29uc3QgZGVwT2JqZWN0cyA9IHRoaXMuX2dldERlcGVuZGVuY2llcyhzcHJpbmdCb25lKTtcbiAgICAgICAgZm9yIChjb25zdCBkZXBPYmplY3Qgb2YgZGVwT2JqZWN0cykge1xuICAgICAgICAgICAgdHJhdmVyc2VBbmNlc3RvcnNGcm9tUm9vdChkZXBPYmplY3QsIChkZXBPYmplY3RBbmNlc3RvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iamVjdFNldCA9IHRoaXMuX29iamVjdFNwcmluZ0JvbmVzTWFwLmdldChkZXBPYmplY3RBbmNlc3Rvcik7XG4gICAgICAgICAgICAgICAgaWYgKG9iamVjdFNldCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRlcFNwcmluZ0JvbmUgb2Ygb2JqZWN0U2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzU3ByaW5nQm9uZShkZXBTcHJpbmdCb25lLCBzcHJpbmdCb25lc1RyaWVkLCBzcHJpbmdCb25lc0RvbmUsIG9iamVjdFVwZGF0ZWQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICghb2JqZWN0VXBkYXRlZC5oYXMoZGVwT2JqZWN0QW5jZXN0b3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBtYXRyaXggb2Ygbm9uLXNwcmluZ2JvbmVcbiAgICAgICAgICAgICAgICAgICAgZGVwT2JqZWN0QW5jZXN0b3IudXBkYXRlV29ybGRNYXRyaXgoZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0VXBkYXRlZC5hZGQoZGVwT2JqZWN0QW5jZXN0b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVwZGF0ZSBteSBtYXRyaXhcbiAgICAgICAgc3ByaW5nQm9uZS5ib25lLnVwZGF0ZU1hdHJpeCgpO1xuICAgICAgICBzcHJpbmdCb25lLmJvbmUudXBkYXRlV29ybGRNYXRyaXgoZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgY2FsbGJhY2soc3ByaW5nQm9uZSk7XG4gICAgICAgIG9iamVjdFVwZGF0ZWQuYWRkKHNwcmluZ0JvbmUuYm9uZSk7XG4gICAgICAgIHNwcmluZ0JvbmVzRG9uZS5hZGQoc3ByaW5nQm9uZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHNldCBvZiBvYmplY3RzIHRoYXQgYXJlIGRlcGVuZGFudCBvZiBnaXZlbiBzcHJpbmcgYm9uZS5cbiAgICAgKiBAcGFyYW0gc3ByaW5nQm9uZSBBIHNwcmluZyBib25lXG4gICAgICogQHJldHVybiBBIHNldCBvZiBvYmplY3RzIHRoYXQgYXJlIGRlcGVuZGFudCBvZiBnaXZlbiBzcHJpbmcgYm9uZVxuICAgICAqL1xuICAgIF9nZXREZXBlbmRlbmNpZXMoc3ByaW5nQm9uZSkge1xuICAgICAgICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHNwcmluZ0JvbmUuYm9uZS5wYXJlbnQ7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHNldC5hZGQocGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICBzcHJpbmdCb25lLmNvbGxpZGVyR3JvdXBzLmZvckVhY2goKGNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbGxpZGVyR3JvdXAuY29sbGlkZXJzLmZvckVhY2goKGNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0LmFkZChjb2xsaWRlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzZXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG5jbGFzcyBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUU7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5qb2ludEhlbHBlclJvb3QgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuam9pbnRIZWxwZXJSb290O1xuICAgICAgICB0aGlzLmNvbGxpZGVySGVscGVyUm9vdCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5jb2xsaWRlckhlbHBlclJvb3Q7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybVNwcmluZ0JvbmVNYW5hZ2VyID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wb3J0IHNwcmluZyBib25lcyBmcm9tIGEgR0xURiBhbmQgcmV0dXJuIGEge0BsaW5rIFZSTVNwcmluZ0JvbmVNYW5hZ2VyfS5cbiAgICAgKiBJdCBtaWdodCByZXR1cm4gYG51bGxgIGluc3RlYWQgd2hlbiBpdCBkb2VzIG5vdCBuZWVkIHRvIGJlIGNyZWF0ZWQgb3Igc29tZXRoaW5nIGdvIHdyb25nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICovXG4gICAgX2ltcG9ydChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2MVJlc3VsdCA9IHlpZWxkIHRoaXMuX3YxSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYxUmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjFSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2MFJlc3VsdCA9IHlpZWxkIHRoaXMuX3YwSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYwUmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjBSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MUltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gZ2x0Zi5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHNwcmluZyBib25lc1xuICAgICAgICAgICAgY29uc3QgaXNTcHJpbmdCb25lVXNlZCA9ICgoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5kZXhPZihWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc1NwcmluZ0JvbmVVc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYW5hZ2VyID0gbmV3IFZSTVNwcmluZ0JvbmVNYW5hZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCB0aHJlZU5vZGVzID0geWllbGQgZ2x0Zi5wYXJzZXIuZ2V0RGVwZW5kZW5jaWVzKCdub2RlJyk7XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYltWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FXTtcbiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUy5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luOiBVbmtub3duICR7VlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRX0gc3BlY1ZlcnNpb24gXCIke3NwZWNWZXJzaW9ufVwiYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb2xsaWRlcnMgPSAoX2MgPSBleHRlbnNpb24uY29sbGlkZXJzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubWFwKChzY2hlbWFDb2xsaWRlciwgaUNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdGhyZWVOb2Rlc1tzY2hlbWFDb2xsaWRlci5ub2RlXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2hlbWFTaGFwZSA9IHNjaGVtYUNvbGxpZGVyLnNoYXBlO1xuICAgICAgICAgICAgICAgIGlmIChzY2hlbWFTaGFwZS5zcGhlcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ltcG9ydFNwaGVyZUNvbGxpZGVyKG5vZGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogbmV3IFRIUkVFLlZlY3RvcjMoKS5mcm9tQXJyYXkoKF9hID0gc2NoZW1hU2hhcGUuc3BoZXJlLm9mZnNldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogWzAuMCwgMC4wLCAwLjBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl1czogKF9iID0gc2NoZW1hU2hhcGUuc3BoZXJlLnJhZGl1cykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMC4wLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2NoZW1hU2hhcGUuY2Fwc3VsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faW1wb3J0Q2Fwc3VsZUNvbGxpZGVyKG5vZGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogbmV3IFRIUkVFLlZlY3RvcjMoKS5mcm9tQXJyYXkoKF9jID0gc2NoZW1hU2hhcGUuY2Fwc3VsZS5vZmZzZXQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IFswLjAsIDAuMCwgMC4wXSksXG4gICAgICAgICAgICAgICAgICAgICAgICByYWRpdXM6IChfZCA9IHNjaGVtYVNoYXBlLmNhcHN1bGUucmFkaXVzKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwLjAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWlsOiBuZXcgVEhSRUUuVmVjdG9yMygpLmZyb21BcnJheSgoX2UgPSBzY2hlbWFTaGFwZS5jYXBzdWxlLnRhaWwpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IFswLjAsIDAuMCwgMC4wXSksXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW46IFRoZSBjb2xsaWRlciAjJHtpQ29sbGlkZXJ9IGhhcyBubyB2YWxpZCBzaGFwZWApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBjb2xsaWRlckdyb3VwcyA9IChfZCA9IGV4dGVuc2lvbi5jb2xsaWRlckdyb3VwcykgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLm1hcCgoc2NoZW1hQ29sbGlkZXJHcm91cCwgaUNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgY29uc3QgY29scyA9ICgoX2EgPSBzY2hlbWFDb2xsaWRlckdyb3VwLmNvbGxpZGVycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoaUNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbCA9IGNvbGxpZGVycyA9PT0gbnVsbCB8fCBjb2xsaWRlcnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbGxpZGVyc1tpQ29sbGlkZXJdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbjogVGhlIGNvbGxpZGVyR3JvdXAgIyR7aUNvbGxpZGVyR3JvdXB9IGF0dGVtcHRlZCB0byB1c2UgYSBjb2xsaWRlciAjJHtpQ29sbGlkZXJ9IGJ1dCBub3QgZm91bmRgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29sO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbGxpZGVyczogY29scyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc2NoZW1hQ29sbGlkZXJHcm91cC5uYW1lLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIChfZSA9IGV4dGVuc2lvbi5zcHJpbmdzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuZm9yRWFjaCgoc2NoZW1hU3ByaW5nLCBpU3ByaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVtYUpvaW50cyA9IHNjaGVtYVNwcmluZy5qb2ludHM7XG4gICAgICAgICAgICAgICAgLy8gcHJlcGFyZSBjb2xsaWRlcnNcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xsaWRlckdyb3Vwc0ZvclNwcmluZyA9IChfYSA9IHNjaGVtYVNwcmluZy5jb2xsaWRlckdyb3VwcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm1hcCgoaUNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBjb2xsaWRlckdyb3VwcyA9PT0gbnVsbCB8fCBjb2xsaWRlckdyb3VwcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29sbGlkZXJHcm91cHNbaUNvbGxpZGVyR3JvdXBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXAgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luOiBUaGUgc3ByaW5nICMke2lTcHJpbmd9IGF0dGVtcHRlZCB0byB1c2UgYSBjb2xsaWRlckdyb3VwICR7aUNvbGxpZGVyR3JvdXB9IGJ1dCBub3QgZm91bmRgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VudGVyID0gc2NoZW1hU3ByaW5nLmNlbnRlciAhPSBudWxsID8gdGhyZWVOb2Rlc1tzY2hlbWFTcHJpbmcuY2VudGVyXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBsZXQgcHJldlNjaGVtYUpvaW50O1xuICAgICAgICAgICAgICAgIHNjaGVtYUpvaW50cy5mb3JFYWNoKChzY2hlbWFKb2ludCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldlNjaGVtYUpvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVJbmRleCA9IHByZXZTY2hlbWFKb2ludC5ub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRocmVlTm9kZXNbbm9kZUluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkSW5kZXggPSBzY2hlbWFKb2ludC5ub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGQgPSB0aHJlZU5vZGVzW2NoaWxkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJlcGFyZSBzZXR0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXR0aW5nID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpdFJhZGl1czogcHJldlNjaGVtYUpvaW50LmhpdFJhZGl1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFnRm9yY2U6IHByZXZTY2hlbWFKb2ludC5kcmFnRm9yY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jhdml0eVBvd2VyOiBwcmV2U2NoZW1hSm9pbnQuZ3Jhdml0eVBvd2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0aWZmbmVzczogcHJldlNjaGVtYUpvaW50LnN0aWZmbmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmF2aXR5RGlyOiBwcmV2U2NoZW1hSm9pbnQuZ3Jhdml0eURpciAhPSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbmV3IFRIUkVFLlZlY3RvcjMoKS5mcm9tQXJyYXkocHJldlNjaGVtYUpvaW50LmdyYXZpdHlEaXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBzcHJpbmcgYm9uZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGpvaW50ID0gdGhpcy5faW1wb3J0Sm9pbnQobm9kZSwgY2hpbGQsIHNldHRpbmcsIGNvbGxpZGVyR3JvdXBzRm9yU3ByaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2ludC5jZW50ZXIgPSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLmFkZEpvaW50KGpvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwcmV2U2NoZW1hSm9pbnQgPSBzY2hlbWFKb2ludDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaW5pdCBzcHJpbmcgYm9uZXNcbiAgICAgICAgICAgIG1hbmFnZXIuc2V0SW5pdFN0YXRlKCk7XG4gICAgICAgICAgICByZXR1cm4gbWFuYWdlcjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MEltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IGdsdGYucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSB2cm1cbiAgICAgICAgICAgIGNvbnN0IGlzVlJNVXNlZCA9ICgoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5kZXhPZignVlJNJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IGhhdmUgYm9uZSBncm91cHNcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iWydWUk0nXTtcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbiA9IGV4dGVuc2lvbiA9PT0gbnVsbCB8fCBleHRlbnNpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4dGVuc2lvbi5zZWNvbmRhcnlBbmltYXRpb247XG4gICAgICAgICAgICBpZiAoIXNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hQm9uZUdyb3VwcyA9IHNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbiA9PT0gbnVsbCB8fCBzY2hlbWFTZWNvbmRhcnlBbmltYXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbi5ib25lR3JvdXBzO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFCb25lR3JvdXBzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYW5hZ2VyID0gbmV3IFZSTVNwcmluZ0JvbmVNYW5hZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCB0aHJlZU5vZGVzID0geWllbGQgZ2x0Zi5wYXJzZXIuZ2V0RGVwZW5kZW5jaWVzKCdub2RlJyk7XG4gICAgICAgICAgICBjb25zdCBjb2xsaWRlckdyb3VwcyA9IChfYyA9IHNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbi5jb2xsaWRlckdyb3VwcykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm1hcCgoc2NoZW1hQ29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdGhyZWVOb2Rlc1tzY2hlbWFDb2xsaWRlckdyb3VwLm5vZGVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbGxpZGVycyA9ICgoX2EgPSBzY2hlbWFDb2xsaWRlckdyb3VwLmNvbGxpZGVycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoc2NoZW1hQ29sbGlkZXIsIGlDb2xsaWRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDAuMCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY2hlbWFDb2xsaWRlci5vZmZzZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldC5zZXQoKF9hID0gc2NoZW1hQ29sbGlkZXIub2Zmc2V0LngpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDAuMCwgKF9iID0gc2NoZW1hQ29sbGlkZXIub2Zmc2V0LnkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDAuMCwgc2NoZW1hQ29sbGlkZXIub2Zmc2V0LnogPyAtc2NoZW1hQ29sbGlkZXIub2Zmc2V0LnogOiAwLjApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbXBvcnRTcGhlcmVDb2xsaWRlcihub2RlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICByYWRpdXM6IChfYyA9IHNjaGVtYUNvbGxpZGVyLnJhZGl1cykgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMC4wLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb2xsaWRlcnMgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaW1wb3J0IHNwcmluZyBib25lcyBmb3IgZWFjaCBzcHJpbmcgYm9uZSBncm91cHNcbiAgICAgICAgICAgIHNjaGVtYUJvbmVHcm91cHMgPT09IG51bGwgfHwgc2NoZW1hQm9uZUdyb3VwcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hQm9uZUdyb3Vwcy5mb3JFYWNoKChzY2hlbWFCb25lR3JvdXAsIGlCb25lR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByb290SW5kaWNlcyA9IHNjaGVtYUJvbmVHcm91cC5ib25lcztcbiAgICAgICAgICAgICAgICBpZiAoIXJvb3RJbmRpY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcm9vdEluZGljZXMuZm9yRWFjaCgocm9vdEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdCA9IHRocmVlTm9kZXNbcm9vdEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJlcGFyZSBzZXR0aW5nXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyYXZpdHlEaXIgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2NoZW1hQm9uZUdyb3VwLmdyYXZpdHlEaXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYXZpdHlEaXIuc2V0KChfYSA9IHNjaGVtYUJvbmVHcm91cC5ncmF2aXR5RGlyLngpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDAuMCwgKF9iID0gc2NoZW1hQm9uZUdyb3VwLmdyYXZpdHlEaXIueSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMC4wLCAoX2MgPSBzY2hlbWFCb25lR3JvdXAuZ3Jhdml0eURpci56KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Jhdml0eURpci5zZXQoMC4wLCAtMS4wLCAwLjApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbnRlciA9IHNjaGVtYUJvbmVHcm91cC5jZW50ZXIgIT0gbnVsbCA/IHRocmVlTm9kZXNbc2NoZW1hQm9uZUdyb3VwLmNlbnRlcl0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNldHRpbmcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoaXRSYWRpdXM6IHNjaGVtYUJvbmVHcm91cC5oaXRSYWRpdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkcmFnRm9yY2U6IHNjaGVtYUJvbmVHcm91cC5kcmFnRm9yY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBncmF2aXR5UG93ZXI6IHNjaGVtYUJvbmVHcm91cC5ncmF2aXR5UG93ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGlmZm5lc3M6IHNjaGVtYUJvbmVHcm91cC5zdGlmZmluZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3Jhdml0eURpcixcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJlcGFyZSBjb2xsaWRlcnNcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sbGlkZXJHcm91cHNGb3JTcHJpbmcgPSAoX2QgPSBzY2hlbWFCb25lR3JvdXAuY29sbGlkZXJHcm91cHMpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5tYXAoKGlDb2xsaWRlckdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IGNvbGxpZGVyR3JvdXBzID09PSBudWxsIHx8IGNvbGxpZGVyR3JvdXBzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb2xsaWRlckdyb3Vwc1tpQ29sbGlkZXJHcm91cF07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXAgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbjogVGhlIHNwcmluZyAjJHtpQm9uZUdyb3VwfSBhdHRlbXB0ZWQgdG8gdXNlIGEgY29sbGlkZXJHcm91cCAke2lDb2xsaWRlckdyb3VwfSBidXQgbm90IGZvdW5kYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUgc3ByaW5nIGJvbmVzXG4gICAgICAgICAgICAgICAgICAgIHJvb3QudHJhdmVyc2UoKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gKF9hID0gbm9kZS5jaGlsZHJlblswXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGpvaW50ID0gdGhpcy5faW1wb3J0Sm9pbnQobm9kZSwgY2hpbGQsIHNldHRpbmcsIGNvbGxpZGVyR3JvdXBzRm9yU3ByaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2ludC5jZW50ZXIgPSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLmFkZEpvaW50KGpvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIGluaXQgc3ByaW5nIGJvbmVzXG4gICAgICAgICAgICBnbHRmLnNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG4gICAgICAgICAgICBtYW5hZ2VyLnNldEluaXRTdGF0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXI7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfaW1wb3J0Sm9pbnQobm9kZSwgY2hpbGQsIHNldHRpbmcsIGNvbGxpZGVyR3JvdXBzRm9yU3ByaW5nKSB7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmUgPSBuZXcgVlJNU3ByaW5nQm9uZUpvaW50KG5vZGUsIGNoaWxkLCBzZXR0aW5nLCBjb2xsaWRlckdyb3Vwc0ZvclNwcmluZyk7XG4gICAgICAgIGlmICh0aGlzLmpvaW50SGVscGVyUm9vdCkge1xuICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTVNwcmluZ0JvbmVKb2ludEhlbHBlcihzcHJpbmdCb25lKTtcbiAgICAgICAgICAgIHRoaXMuam9pbnRIZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICAgICAgaGVscGVyLnJlbmRlck9yZGVyID0gdGhpcy5qb2ludEhlbHBlclJvb3QucmVuZGVyT3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNwcmluZ0JvbmU7XG4gICAgfVxuICAgIF9pbXBvcnRTcGhlcmVDb2xsaWRlcihkZXN0aW5hdGlvbiwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0LCByYWRpdXMgfSA9IHBhcmFtcztcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBuZXcgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVTcGhlcmUoeyBvZmZzZXQsIHJhZGl1cyB9KTtcbiAgICAgICAgY29uc3QgY29sbGlkZXIgPSBuZXcgVlJNU3ByaW5nQm9uZUNvbGxpZGVyKHNoYXBlKTtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKGNvbGxpZGVyKTtcbiAgICAgICAgaWYgKHRoaXMuY29sbGlkZXJIZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNU3ByaW5nQm9uZUNvbGxpZGVySGVscGVyKGNvbGxpZGVyKTtcbiAgICAgICAgICAgIHRoaXMuY29sbGlkZXJIZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICAgICAgaGVscGVyLnJlbmRlck9yZGVyID0gdGhpcy5jb2xsaWRlckhlbHBlclJvb3QucmVuZGVyT3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxpZGVyO1xuICAgIH1cbiAgICBfaW1wb3J0Q2Fwc3VsZUNvbGxpZGVyKGRlc3RpbmF0aW9uLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgeyBvZmZzZXQsIHJhZGl1cywgdGFpbCB9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCBzaGFwZSA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZUNhcHN1bGUoeyBvZmZzZXQsIHJhZGl1cywgdGFpbCB9KTtcbiAgICAgICAgY29uc3QgY29sbGlkZXIgPSBuZXcgVlJNU3ByaW5nQm9uZUNvbGxpZGVyKHNoYXBlKTtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKGNvbGxpZGVyKTtcbiAgICAgICAgaWYgKHRoaXMuY29sbGlkZXJIZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNU3ByaW5nQm9uZUNvbGxpZGVySGVscGVyKGNvbGxpZGVyKTtcbiAgICAgICAgICAgIHRoaXMuY29sbGlkZXJIZWxwZXJSb290LmFkZChoZWxwZXIpO1xuICAgICAgICAgICAgaGVscGVyLnJlbmRlck9yZGVyID0gdGhpcy5jb2xsaWRlckhlbHBlclJvb3QucmVuZGVyT3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxpZGVyO1xuICAgIH1cbn1cblZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUgPSAnVlJNQ19zcHJpbmdCb25lJztcblxuZXhwb3J0IHsgVlJNU3ByaW5nQm9uZUNvbGxpZGVyLCBWUk1TcHJpbmdCb25lQ29sbGlkZXJIZWxwZXIsIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlLCBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZUNhcHN1bGUsIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlU3BoZXJlLCBWUk1TcHJpbmdCb25lSm9pbnQsIFZSTVNwcmluZ0JvbmVKb2ludEhlbHBlciwgVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbiwgVlJNU3ByaW5nQm9uZU1hbmFnZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFhOd2NtbHVaMkp2Ym1VdWJXOWtkV3hsTG1weklpd2ljMjkxY21ObGN5STZXeUl1TGk5emNtTXZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VTJoaGNHVXVkSE1pTENJdUxpOXpjbU12VmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZEWVhCemRXeGxMblJ6SWl3aUxpNHZjM0pqTDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsVTNCb1pYSmxMblJ6SWl3aUxpNHZjM0pqTDJobGJIQmxjbk12ZFhScGJITXZRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1ZDZFdabVpYSkhaVzl0WlhSeWVTNTBjeUlzSWk0dUwzTnlZeTlvWld4d1pYSnpMM1YwYVd4ekwwTnZiR3hwWkdWeVUyaGhjR1ZUY0dobGNtVkNkV1ptWlhKSFpXOXRaWFJ5ZVM1MGN5SXNJaTR1TDNOeVl5OW9aV3h3WlhKekwxWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxja2hsYkhCbGNpNTBjeUlzSWk0dUwzTnlZeTlvWld4d1pYSnpMM1YwYVd4ekwxTndjbWx1WjBKdmJtVkNkV1ptWlhKSFpXOXRaWFJ5ZVM1MGN5SXNJaTR1TDNOeVl5OW9aV3h3WlhKekwxWlNUVk53Y21sdVowSnZibVZLYjJsdWRFaGxiSEJsY2k1MGN5SXNJaTR1TDNOeVl5OVdVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEl1ZEhNaUxDSXVMaTl6Y21NdmRYUnBiSE12YldGME5FbHVkbVZ5ZEVOdmJYQmhkQzUwY3lJc0lpNHVMM055WXk5MWRHbHNjeTlOWVhSeWFYZzBTVzUyWlhKelpVTmhZMmhsTG5Seklpd2lMaTR2YzNKakwxWlNUVk53Y21sdVowSnZibVZLYjJsdWRDNTBjeUlzSWk0dUx5NHVMeTR1TDI1dlpHVmZiVzlrZFd4bGN5OTBjMnhwWWk5MGMyeHBZaTVsY3pZdWFuTWlMQ0l1TGk5emNtTXZkWFJwYkhNdmRISmhkbVZ5YzJWQmJtTmxjM1J2Y25OR2NtOXRVbTl2ZEM1MGN5SXNJaTR1TDNOeVl5OTFkR2xzY3k5MGNtRjJaWEp6WlVOb2FXeGtjbVZ1Vlc1MGFXeERiMjVrYVhScGIyNU5aWFF1ZEhNaUxDSXVMaTl6Y21NdlZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSXVkSE1pTENJdUxpOXpjbU12VmxKTlUzQnlhVzVuUW05dVpVeHZZV1JsY2xCc2RXZHBiaTUwY3lKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlGSmxjSEpsYzJWdWRITWdZU0J6YUdGd1pTQnZaaUJoSUdOdmJHeHBaR1Z5TGx4dUlDb3ZYRzVsZUhCdmNuUWdZV0p6ZEhKaFkzUWdZMnhoYzNNZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dVZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIUjVjR1VnYjJZZ2RHaGxJSE5vWVhCbExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHRmljM1J5WVdOMElHZGxkQ0IwZVhCbEtDazZJSE4wY21sdVp6dGNibHh1SUNBdktpcGNiaUFnSUNvZ1EyRnNZM1ZzWVhSbElHRWdaR2x6ZEdGdVkyVWdZVzVrSUdFZ1pHbHlaV04wYVc5dUlHWnliMjBnZEdobElHTnZiR3hwWkdWeUlIUnZJR0VnZEdGeVoyVjBJRzlpYW1WamRDNWNiaUFnSUNvZ1NYUW5jeUJvYVhRZ2FXWWdkR2hsSUdScGMzUmhibU5sSUdseklHNWxaMkYwYVhabExseHVJQ0FnS2lCVWFHVWdaR2x5WldOMGFXOXVJSGRwYkd3Z1ltVWdZMjl1ZEdGcGJtVmtJR2x1SUhSb1pTQm5hWFpsYmlCMFlYSm5aWFFnZG1WamRHOXlMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnWTI5c2JHbGtaWEpOWVhSeWFYZ2dRU0J0WVhSeWFYZ2djbVZ3Y21WelpXNTBjeUIwYUdVZ2RISmhibk5tYjNKdElHOW1JSFJvWlNCamIyeHNhV1JsY2x4dUlDQWdLaUJBY0dGeVlXMGdiMkpxWldOMFVHOXphWFJwYjI0Z1FTQjJaV04wYjNJZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnY0c5emFYUnBiMjRnYjJZZ2RHaGxJSFJoY21kbGRDQnZZbXBsWTNSY2JpQWdJQ29nUUhCaGNtRnRJRzlpYW1WamRGSmhaR2wxY3lCVWFHVWdjbUZrYVhWeklHOW1JSFJvWlNCdlltcGxZM1JjYmlBZ0lDb2dRSEJoY21GdElIUmhjbWRsZENCVWFHVWdjbVZ6ZFd4MElHUnBjbVZqZEdsdmJpQjNhV3hzSUdKbElHTnZiblJoYVc1bFpDQnBiaUIwYUdseklIWmxZM1J2Y2x4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGaWMzUnlZV04wSUdOaGJHTjFiR0YwWlVOdmJHeHBjMmx2YmloY2JpQWdJQ0JqYjJ4c2FXUmxjazFoZEhKcGVEb2dWRWhTUlVVdVRXRjBjbWw0TkN4Y2JpQWdJQ0J2WW1wbFkzUlFiM05wZEdsdmJqb2dWRWhTUlVVdVZtVmpkRzl5TXl4Y2JpQWdJQ0J2WW1wbFkzUlNZV1JwZFhNNklHNTFiV0psY2l4Y2JpQWdJQ0IwWVhKblpYUTZJRlJJVWtWRkxsWmxZM1J2Y2pNc1hHNGdJQ2s2SUc1MWJXSmxjanRjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbElIMGdabkp2YlNBbkxpOVdVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pTYzdYRzVjYm1OdmJuTjBJRjkyTTBFZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WTI5dWMzUWdYM1l6UWlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pVTmhjSE4xYkdVZ1pYaDBaVzVrY3lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlNCN1hHNGdJSEIxWW14cFl5Qm5aWFFnZEhsd1pTZ3BPaUFuWTJGd2MzVnNaU2NnZTF4dUlDQWdJSEpsZEhWeWJpQW5ZMkZ3YzNWc1pTYzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHOW1abk5sZENCdlppQjBhR1VnYUdWaFpDQm1jbTl0SUhSb1pTQnZjbWxuYVc0dVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2IyWm1jMlYwT2lCVVNGSkZSUzVXWldOMGIzSXpPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYjJabWMyVjBJRzltSUhSb1pTQjBZV2xzSUdaeWIyMGdkR2hsSUc5eWFXZHBiaTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUIwWVdsc09pQlVTRkpGUlM1V1pXTjBiM0l6TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2NtRmthWFZ6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKaFpHbDFjem9nYm5WdFltVnlPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHdZWEpoYlhNL09pQjdJSEpoWkdsMWN6ODZJRzUxYldKbGNqc2diMlptYzJWMFB6b2dWRWhTUlVVdVZtVmpkRzl5TXpzZ2RHRnBiRDg2SUZSSVVrVkZMbFpsWTNSdmNqTWdmU2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzVjYmlBZ0lDQjBhR2x6TG05bVpuTmxkQ0E5SUhCaGNtRnRjejh1YjJabWMyVjBJRDgvSUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0RBdU1Dd2dNQzR3TENBd0xqQXBPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJSEJoY21GdGN6OHVkR0ZwYkNBL1B5QnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3dMakFzSURBdU1Dd2dNQzR3S1R0Y2JpQWdJQ0IwYUdsekxuSmhaR2wxY3lBOUlIQmhjbUZ0Y3o4dWNtRmthWFZ6SUQ4L0lEQXVNRHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJqWVd4amRXeGhkR1ZEYjJ4c2FYTnBiMjRvWEc0Z0lDQWdZMjlzYkdsa1pYSk5ZWFJ5YVhnNklGUklVa1ZGTGsxaGRISnBlRFFzWEc0Z0lDQWdiMkpxWldOMFVHOXphWFJwYjI0NklGUklVa1ZGTGxabFkzUnZjak1zWEc0Z0lDQWdiMkpxWldOMFVtRmthWFZ6T2lCdWRXMWlaWElzWEc0Z0lDQWdkR0Z5WjJWME9pQlVTRkpGUlM1V1pXTjBiM0l6TEZ4dUlDQXBPaUJ1ZFcxaVpYSWdlMXh1SUNBZ0lGOTJNMEV1WTI5d2VTaDBhR2x6TG05bVpuTmxkQ2t1WVhCd2JIbE5ZWFJ5YVhnMEtHTnZiR3hwWkdWeVRXRjBjbWw0S1RzZ0x5OGdkSEpoYm5ObWIzSnRaV1FnYUdWaFpGeHVJQ0FnSUY5Mk0wSXVZMjl3ZVNoMGFHbHpMblJoYVd3cExtRndjR3g1VFdGMGNtbDROQ2hqYjJ4c2FXUmxjazFoZEhKcGVDazdJQzh2SUhSeVlXNXpabTl5YldWa0lIUmhhV3hjYmlBZ0lDQmZkak5DTG5OMVlpaGZkak5CS1RzZ0x5OGdabkp2YlNCb1pXRmtJSFJ2SUhSaGFXeGNiaUFnSUNCamIyNXpkQ0JzWlc1bmRHaFRjVU5oY0hOMWJHVWdQU0JmZGpOQ0xteGxibWQwYUZOeEtDazdYRzVjYmlBZ0lDQjBZWEpuWlhRdVkyOXdlU2h2WW1wbFkzUlFiM05wZEdsdmJpa3VjM1ZpS0Y5Mk0wRXBPeUF2THlCbWNtOXRJR2hsWVdRZ2RHOGdiMkpxWldOMFhHNGdJQ0FnWTI5dWMzUWdaRzkwSUQwZ1gzWXpRaTVrYjNRb2RHRnlaMlYwS1RzZ0x5OGdaRzkwSUhCeWIyUjFZM1FnYjJZZ2IyWm1jMlYwVkc5VVlXbHNJR0Z1WkNCdlptWnpaWFJVYjA5aWFtVmpkRnh1WEc0Z0lDQWdhV1lnS0dSdmRDQThQU0F3TGpBcElIdGNiaUFnSUNBZ0lDOHZJR2xtSUc5aWFtVmpkQ0JwY3lCdVpXRnlJR1p5YjIwZ2RHaGxJR2hsWVdSY2JpQWdJQ0FnSUM4dklHUnZJRzV2ZEdocGJtY3NJSFZ6WlNCMGFHVWdZM1Z5Y21WdWRDQjJZV3gxWlNCa2FYSmxZM1JzZVZ4dUlDQWdJSDBnWld4elpTQnBaaUFvYkdWdVozUm9VM0ZEWVhCemRXeGxJRHc5SUdSdmRDa2dlMXh1SUNBZ0lDQWdMeThnYVdZZ2IySnFaV04wSUdseklHNWxZWElnWm5KdmJTQjBhR1VnZEdGcGJGeHVJQ0FnSUNBZ2RHRnlaMlYwTG5OMVlpaGZkak5DS1RzZ0x5OGdabkp2YlNCMFlXbHNJSFJ2SUc5aWFtVmpkRnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QnBaaUJ2WW1wbFkzUWdhWE1nWW1WMGQyVmxiaUIwZDI4Z1pXNWtjMXh1SUNBZ0lDQWdYM1l6UWk1dGRXeDBhWEJzZVZOallXeGhjaWhrYjNRZ0x5QnNaVzVuZEdoVGNVTmhjSE4xYkdVcE95QXZMeUJtY205dElHaGxZV1FnZEc4Z2RHaGxJRzVsWVhKbGMzUWdjRzlwYm5RZ2IyWWdkR2hsSUhOb1lXWjBYRzRnSUNBZ0lDQjBZWEpuWlhRdWMzVmlLRjkyTTBJcE95QXZMeUJtY205dElIUm9aU0J6YUdGbWRDQndiMmx1ZENCMGJ5QnZZbXBsWTNSY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnlZV1JwZFhNZ1BTQnZZbXBsWTNSU1lXUnBkWE1nS3lCMGFHbHpMbkpoWkdsMWN6dGNiaUFnSUNCamIyNXpkQ0JrYVhOMFlXNWpaU0E5SUhSaGNtZGxkQzVzWlc1bmRHZ29LU0F0SUhKaFpHbDFjenRjYmlBZ0lDQjBZWEpuWlhRdWJtOXliV0ZzYVhwbEtDazdYRzRnSUNBZ2NtVjBkWEp1SUdScGMzUmhibU5sTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZXlCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlNCOUlHWnliMjBnSnk0dlZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dVbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWVGNHaGxjbVVnWlhoMFpXNWtjeUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaU0I3WEc0Z0lIQjFZbXhwWXlCblpYUWdkSGx3WlNncE9pQW5jM0JvWlhKbEp5QjdYRzRnSUNBZ2NtVjBkWEp1SUNkemNHaGxjbVVuTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J2Wm1aelpYUWdabkp2YlNCMGFHVWdiM0pwWjJsdUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHOW1abk5sZERvZ1ZFaFNSVVV1Vm1WamRHOXlNenRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhKaFpHbDFjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WVdScGRYTTZJRzUxYldKbGNqdGNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnlZVzF6UHpvZ2V5QnlZV1JwZFhNL09pQnVkVzFpWlhJN0lHOW1abk5sZEQ4NklGUklVa1ZGTGxabFkzUnZjak1nZlNrZ2UxeHVJQ0FnSUhOMWNHVnlLQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtOW1abk5sZENBOUlIQmhjbUZ0Y3o4dWIyWm1jMlYwSUQ4L0lHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektEQXVNQ3dnTUM0d0xDQXdMakFwTzF4dUlDQWdJSFJvYVhNdWNtRmthWFZ6SUQwZ2NHRnlZVzF6UHk1eVlXUnBkWE1nUHo4Z01DNHdPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR05oYkdOMWJHRjBaVU52Ykd4cGMybHZiaWhjYmlBZ0lDQmpiMnhzYVdSbGNrMWhkSEpwZURvZ1ZFaFNSVVV1VFdGMGNtbDROQ3hjYmlBZ0lDQnZZbXBsWTNSUWIzTnBkR2x2YmpvZ1ZFaFNSVVV1Vm1WamRHOXlNeXhjYmlBZ0lDQnZZbXBsWTNSU1lXUnBkWE02SUc1MWJXSmxjaXhjYmlBZ0lDQjBZWEpuWlhRNklGUklVa1ZGTGxabFkzUnZjak1zWEc0Z0lDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2RHRnlaMlYwTG1OdmNIa29kR2hwY3k1dlptWnpaWFFwTG1Gd2NHeDVUV0YwY21sNE5DaGpiMnhzYVdSbGNrMWhkSEpwZUNrN0lDOHZJSFJ5WVc1elptOXliV1ZrSUc5bVpuTmxkRnh1SUNBZ0lIUmhjbWRsZEM1dVpXZGhkR1VvS1M1aFpHUW9iMkpxWldOMFVHOXphWFJwYjI0cE95QXZMeUJoSUhabFkzUnZjaUJtY205dElHTnZiR3hwWkdWeUlHTmxiblJsY2lCMGJ5QnZZbXBsWTNRZ2NHOXphWFJwYjI1Y2JpQWdJQ0JqYjI1emRDQnlZV1JwZFhNZ1BTQnZZbXBsWTNSU1lXUnBkWE1nS3lCMGFHbHpMbkpoWkdsMWN6dGNiaUFnSUNCamIyNXpkQ0JrYVhOMFlXNWpaU0E5SUhSaGNtZGxkQzVzWlc1bmRHZ29LU0F0SUhKaFpHbDFjenRjYmlBZ0lDQjBZWEpuWlhRdWJtOXliV0ZzYVhwbEtDazdYRzRnSUNBZ2NtVjBkWEp1SUdScGMzUmhibU5sTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZXlCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1VnZlNCbWNtOXRJQ2N1TGk4dUxpOVdVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pVTmhjSE4xYkdVbk8xeHVhVzF3YjNKMElIc2dRMjlzYkdsa1pYSlRhR0Z3WlVKMVptWmxja2RsYjIxbGRISjVJSDBnWm5KdmJTQW5MaTlEYjJ4c2FXUmxjbE5vWVhCbFFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dVhHNWpiMjV6ZENCZmRqTkJJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vS1R0Y2JseHVaWGh3YjNKMElHTnNZWE56SUVOdmJHeHBaR1Z5VTJoaGNHVkRZWEJ6ZFd4bFFuVm1abVZ5UjJWdmJXVjBjbmtnWlhoMFpXNWtjeUJVU0ZKRlJTNUNkV1ptWlhKSFpXOXRaWFJ5ZVNCcGJYQnNaVzFsYm5SeklFTnZiR3hwWkdWeVUyaGhjR1ZDZFdabVpYSkhaVzl0WlhSeWVTQjdYRzRnSUhCMVlteHBZeUIzYjNKc1pGTmpZV3hsSUQwZ01TNHdPMXh1WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyRjBkSEpRYjNNNklGUklVa1ZGTGtKMVptWmxja0YwZEhKcFluVjBaVHRjYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZllYUjBja2x1WkdWNE9pQlVTRkpGUlM1Q2RXWm1aWEpCZEhSeWFXSjFkR1U3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gzTm9ZWEJsT2lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1U3WEc0Z0lIQnlhWFpoZEdVZ1gyTjFjbkpsYm5SU1lXUnBkWE1nUFNBd08xeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJRjlqZFhKeVpXNTBUMlptYzJWMElEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZlkzVnljbVZ1ZEZSaGFXd2dQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWh6YUdGd1pUb2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VTJoaGNHVkRZWEJ6ZFd4bEtTQjdYRzRnSUNBZ2MzVndaWElvS1R0Y2JseHVJQ0FnSUhSb2FYTXVYM05vWVhCbElEMGdjMmhoY0dVN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVVHOXpJRDBnYm1WM0lGUklVa1ZGTGtKMVptWmxja0YwZEhKcFluVjBaU2h1WlhjZ1JteHZZWFF6TWtGeWNtRjVLRE01Tmlrc0lETXBPMXh1SUNBZ0lIUm9hWE11YzJWMFFYUjBjbWxpZFhSbEtDZHdiM05wZEdsdmJpY3NJSFJvYVhNdVgyRjBkSEpRYjNNcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWVhSMGNrbHVaR1Y0SUQwZ2JtVjNJRlJJVWtWRkxrSjFabVpsY2tGMGRISnBZblYwWlNodVpYY2dWV2x1ZERFMlFYSnlZWGtvTWpZMEtTd2dNU2s3WEc0Z0lDQWdkR2hwY3k1elpYUkpibVJsZUNoMGFHbHpMbDloZEhSeVNXNWtaWGdwTzF4dVhHNGdJQ0FnZEdocGN5NWZZblZwYkdSSmJtUmxlQ2dwTzF4dUlDQWdJSFJvYVhNdWRYQmtZWFJsS0NrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2RYQmtZWFJsS0NrNklIWnZhV1FnZTF4dUlDQWdJR3hsZENCemFHOTFiR1JWY0dSaGRHVkhaVzl0WlhSeWVTQTlJR1poYkhObE8xeHVYRzRnSUNBZ1kyOXVjM1FnY21Ga2FYVnpJRDBnZEdocGN5NWZjMmhoY0dVdWNtRmthWFZ6SUM4Z2RHaHBjeTUzYjNKc1pGTmpZV3hsTzF4dUlDQWdJR2xtSUNoMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWeklDRTlQU0J5WVdScGRYTXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgyTjFjbkpsYm5SU1lXUnBkWE1nUFNCeVlXUnBkWE03WEc0Z0lDQWdJQ0J6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNBOUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlqZFhKeVpXNTBUMlptYzJWMExtVnhkV0ZzY3loMGFHbHpMbDl6YUdGd1pTNXZabVp6WlhRcEtTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5amRYSnlaVzUwVDJabWMyVjBMbU52Y0hrb2RHaHBjeTVmYzJoaGNHVXViMlptYzJWMEtUdGNiaUFnSUNBZ0lITm9iM1ZzWkZWd1pHRjBaVWRsYjIxbGRISjVJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0IwWVdsc0lEMGdYM1l6UVM1amIzQjVLSFJvYVhNdVgzTm9ZWEJsTG5SaGFXd3BMbVJwZG1sa1pWTmpZV3hoY2loMGFHbHpMbmR2Y214a1UyTmhiR1VwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkM1a2FYTjBZVzVqWlZSdlUzRjFZWEpsWkNoMFlXbHNLU0ErSURGbExURXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQzVqYjNCNUtIUmhhV3dwTzF4dUlDQWdJQ0FnYzJodmRXeGtWWEJrWVhSbFIyVnZiV1YwY25rZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemFHOTFiR1JWY0dSaGRHVkhaVzl0WlhSeWVTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlluVnBiR1JRYjNOcGRHbHZiaWdwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJKMWFXeGtVRzl6YVhScGIyNG9LVG9nZG05cFpDQjdYRzRnSUNBZ1gzWXpRUzVqYjNCNUtIUm9hWE11WDJOMWNuSmxiblJVWVdsc0tTNXpkV0lvZEdocGN5NWZZM1Z5Y21WdWRFOW1abk5sZENrN1hHNGdJQ0FnWTI5dWMzUWdiQ0E5SUY5Mk0wRXViR1Z1WjNSb0tDa2dMeUIwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6TzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUEQwZ01UWTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZENBOUlDaHBJQzhnTVRZdU1Da2dLaUJOWVhSb0xsQkpPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2locExDQXRUV0YwYUM1emFXNG9kQ2tzSUMxTllYUm9MbU52Y3loMEtTd2dNQzR3S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtERTNJQ3NnYVN3Z2JDQXJJRTFoZEdndWMybHVLSFFwTENCTllYUm9MbU52Y3loMEtTd2dNQzR3S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtETTBJQ3NnYVN3Z0xVMWhkR2d1YzJsdUtIUXBMQ0F3TGpBc0lDMU5ZWFJvTG1OdmN5aDBLU2s3WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2lnMU1TQXJJR2tzSUd3Z0t5Qk5ZWFJvTG5OcGJpaDBLU3dnTUM0d0xDQk5ZWFJvTG1OdmN5aDBLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0F6TWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjBJRDBnS0drZ0x5QXhOaTR3S1NBcUlFMWhkR2d1VUVrN1hHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVVHOXpMbk5sZEZoWldpZzJPQ0FySUdrc0lEQXVNQ3dnVFdGMGFDNXphVzRvZENrc0lFMWhkR2d1WTI5ektIUXBLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0RFd01DQXJJR2tzSUd3c0lFMWhkR2d1YzJsdUtIUXBMQ0JOWVhSb0xtTnZjeWgwS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdkR2hsZEdFZ1BTQk5ZWFJvTG1GMFlXNHlLRjkyTTBFdWVTd2dUV0YwYUM1emNYSjBLRjkyTTBFdWVDQXFJRjkyTTBFdWVDQXJJRjkyTTBFdWVpQXFJRjkyTTBFdWVpa3BPMXh1SUNBZ0lHTnZibk4wSUhCb2FTQTlJQzFOWVhSb0xtRjBZVzR5S0Y5Mk0wRXVlaXdnWDNZelFTNTRLVHRjYmx4dUlDQWdJSFJvYVhNdWNtOTBZWFJsV2loMGFHVjBZU2s3WEc0Z0lDQWdkR2hwY3k1eWIzUmhkR1ZaS0hCb2FTazdYRzRnSUNBZ2RHaHBjeTV6WTJGc1pTaDBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpMQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6TENCMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWektUdGNiaUFnSUNCMGFHbHpMblJ5WVc1emJHRjBaU2gwYUdsekxsOWpkWEp5Wlc1MFQyWm1jMlYwTG5nc0lIUm9hWE11WDJOMWNuSmxiblJQWm1aelpYUXVlU3dnZEdocGN5NWZZM1Z5Y21WdWRFOW1abk5sZEM1NktUdGNibHh1SUNBZ0lIUm9hWE11WDJGMGRISlFiM011Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZlluVnBiR1JKYm1SbGVDZ3BPaUIyYjJsa0lIdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElETTBPeUJwS3lzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdreElEMGdLR2tnS3lBeEtTQWxJRE0wTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1YzJWMFdGa29hU0FxSURJc0lHa3NJR2t4S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKSmJtUmxlQzV6WlhSWVdTZzJPQ0FySUdrZ0tpQXlMQ0F6TkNBcklHa3NJRE0wSUNzZ2FURXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dNekk3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FURWdQU0FvYVNBcklERXBJQ1VnTXpJN1hHNWNiaUFnSUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1elpYUllXU2d4TXpZZ0t5QnBJQ29nTWl3Z05qZ2dLeUJwTENBMk9DQXJJR2t4S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKSmJtUmxlQzV6WlhSWVdTZ3lNREFnS3lCcElDb2dNaXdnTVRBd0lDc2dhU3dnTVRBd0lDc2dhVEVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbElIMGdabkp2YlNBbkxpNHZMaTR2VmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZUY0dobGNtVW5PMXh1YVcxd2IzSjBJSHNnUTI5c2JHbGtaWEpUYUdGd1pVSjFabVpsY2tkbGIyMWxkSEo1SUgwZ1puSnZiU0FuTGk5RGIyeHNhV1JsY2xOb1lYQmxRblZtWm1WeVIyVnZiV1YwY25rbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1EyOXNiR2xrWlhKVGFHRndaVk53YUdWeVpVSjFabVpsY2tkbGIyMWxkSEo1SUdWNGRHVnVaSE1nVkVoU1JVVXVRblZtWm1WeVIyVnZiV1YwY25rZ2FXMXdiR1Z0Wlc1MGN5QkRiMnhzYVdSbGNsTm9ZWEJsUW5WbVptVnlSMlZ2YldWMGNua2dlMXh1SUNCd2RXSnNhV01nZDI5eWJHUlRZMkZzWlNBOUlERXVNRHRjYmx4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOWhkSFJ5VUc5ek9pQlVTRkpGUlM1Q2RXWm1aWEpCZEhSeWFXSjFkR1U3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyRjBkSEpKYm1SbGVEb2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsTzF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOXphR0Z3WlRvZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWVGNHaGxjbVU3WEc0Z0lIQnlhWFpoZEdVZ1gyTjFjbkpsYm5SU1lXUnBkWE1nUFNBd08xeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJRjlqZFhKeVpXNTBUMlptYzJWMElEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9jMmhoY0dVNklGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmx4dUlDQWdJSFJvYVhNdVgzTm9ZWEJsSUQwZ2MyaGhjR1U3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5eklEMGdibVYzSUZSSVVrVkZMa0oxWm1abGNrRjBkSEpwWW5WMFpTaHVaWGNnUm14dllYUXpNa0Z5Y21GNUtETXlJQ29nTXlBcUlETXBMQ0F6S1R0Y2JpQWdJQ0IwYUdsekxuTmxkRUYwZEhKcFluVjBaU2duY0c5emFYUnBiMjRuTENCMGFHbHpMbDloZEhSeVVHOXpLVHRjYmx4dUlDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDQTlJRzVsZHlCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVW9ibVYzSUZWcGJuUXhOa0Z5Y21GNUtEWTBJQ29nTXlrc0lERXBPMXh1SUNBZ0lIUm9hWE11YzJWMFNXNWtaWGdvZEdocGN5NWZZWFIwY2tsdVpHVjRLVHRjYmx4dUlDQWdJSFJvYVhNdVgySjFhV3hrU1c1a1pYZ29LVHRjYmlBZ0lDQjBhR2x6TG5Wd1pHRjBaU2dwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhWd1pHRjBaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQnNaWFFnYzJodmRXeGtWWEJrWVhSbFIyVnZiV1YwY25rZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUdOdmJuTjBJSEpoWkdsMWN5QTlJSFJvYVhNdVgzTm9ZWEJsTG5KaFpHbDFjeUF2SUhSb2FYTXVkMjl5YkdSVFkyRnNaVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lBaFBUMGdjbUZrYVhWektTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpJRDBnY21Ga2FYVnpPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2doZEdocGN5NWZZM1Z5Y21WdWRFOW1abk5sZEM1bGNYVmhiSE1vZEdocGN5NWZjMmhoY0dVdWIyWm1jMlYwS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWTNWeWNtVnVkRTltWm5ObGRDNWpiM0I1S0hSb2FYTXVYM05vWVhCbExtOW1abk5sZENrN1hHNGdJQ0FnSUNCemFHOTFiR1JWY0dSaGRHVkhaVzl0WlhSeWVTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaVWRsYjIxbGRISjVLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOWlkV2xzWkZCdmMybDBhVzl1S0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZlluVnBiR1JRYjNOcGRHbHZiaWdwT2lCMmIybGtJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRE15T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElIUWdQU0FvYVNBdklERTJMakFwSUNvZ1RXRjBhQzVRU1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV6WlhSWVdWb29hU3dnVFdGMGFDNWpiM01vZENrc0lFMWhkR2d1YzJsdUtIUXBMQ0F3TGpBcE8xeHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV6WlhSWVdWb29NeklnS3lCcExDQXdMakFzSUUxaGRHZ3VZMjl6S0hRcExDQk5ZWFJvTG5OcGJpaDBLU2s3WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2lnMk5DQXJJR2tzSUUxaGRHZ3VjMmx1S0hRcExDQXdMakFzSUUxaGRHZ3VZMjl6S0hRcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbk5qWVd4bEtIUm9hWE11WDJOMWNuSmxiblJTWVdScGRYTXNJSFJvYVhNdVgyTjFjbkpsYm5SU1lXUnBkWE1zSUhSb2FYTXVYMk4xY25KbGJuUlNZV1JwZFhNcE8xeHVJQ0FnSUhSb2FYTXVkSEpoYm5Oc1lYUmxLSFJvYVhNdVgyTjFjbkpsYm5SUFptWnpaWFF1ZUN3Z2RHaHBjeTVmWTNWeWNtVnVkRTltWm5ObGRDNTVMQ0IwYUdsekxsOWpkWEp5Wlc1MFQyWm1jMlYwTG5vcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV1WldWa2MxVndaR0YwWlNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5aWRXbHNaRWx1WkdWNEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z016STdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVRFZ1BTQW9hU0FySURFcElDVWdNekk3WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKSmJtUmxlQzV6WlhSWVdTaHBJQ29nTWl3Z2FTd2dhVEVwTzF4dUlDQWdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRMbk5sZEZoWktEWTBJQ3NnYVNBcUlESXNJRE15SUNzZ2FTd2dNeklnS3lCcE1TazdYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlTVzVrWlhndWMyVjBXRmtvTVRJNElDc2dhU0FxSURJc0lEWTBJQ3NnYVN3Z05qUWdLeUJwTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRMbTVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeUlIMGdabkp2YlNBbkxpNHZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5Snp0Y2JtbHRjRzl5ZENCN0lGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFEyRndjM1ZzWlNCOUlHWnliMjBnSnk0dUwxWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFEyRndjM1ZzWlNjN1hHNXBiWEJ2Y25RZ2V5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pWTndhR1Z5WlNCOUlHWnliMjBnSnk0dUwxWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsSnp0Y2JtbHRjRzl5ZENCN0lFTnZiR3hwWkdWeVUyaGhjR1ZDZFdabVpYSkhaVzl0WlhSeWVTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdlEyOXNiR2xrWlhKVGFHRndaVUoxWm1abGNrZGxiMjFsZEhKNUp6dGNibWx0Y0c5eWRDQjdJRU52Ykd4cFpHVnlVMmhoY0dWRFlYQnpkV3hsUW5WbVptVnlSMlZ2YldWMGNua2dmU0JtY205dElDY3VMM1YwYVd4ekwwTnZiR3hwWkdWeVUyaGhjR1ZEWVhCemRXeGxRblZtWm1WeVIyVnZiV1YwY25rbk8xeHVhVzF3YjNKMElIc2dRMjlzYkdsa1pYSlRhR0Z3WlZOd2FHVnlaVUoxWm1abGNrZGxiMjFsZEhKNUlIMGdabkp2YlNBbkxpOTFkR2xzY3k5RGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbFFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dVhHNWpiMjV6ZENCZmRqTkJJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vS1R0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNraGxiSEJsY2lCbGVIUmxibVJ6SUZSSVVrVkZMa2R5YjNWd0lIdGNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJR052Ykd4cFpHVnlPaUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhJN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2dYMmRsYjIxbGRISjVPaUJEYjJ4c2FXUmxjbE5vWVhCbFFuVm1abVZ5UjJWdmJXVjBjbms3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyeHBibVU2SUZSSVVrVkZMa3hwYm1WVFpXZHRaVzUwY3p0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvWTI5c2JHbGtaWEk2SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNpa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNGdJQ0FnZEdocGN5NXRZWFJ5YVhoQmRYUnZWWEJrWVhSbElEMGdabUZzYzJVN1hHNWNiaUFnSUNCMGFHbHpMbU52Ykd4cFpHVnlJRDBnWTI5c2JHbGtaWEk3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVqYjJ4c2FXUmxjaTV6YUdGd1pTQnBibk4wWVc1alpXOW1JRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5blpXOXRaWFJ5ZVNBOUlHNWxkeUJEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsUW5WbVptVnlSMlZ2YldWMGNua29kR2hwY3k1amIyeHNhV1JsY2k1emFHRndaU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtTnZiR3hwWkdWeUxuTm9ZWEJsSUdsdWMzUmhibU5sYjJZZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWRFlYQnpkV3hsS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDluWlc5dFpYUnllU0E5SUc1bGR5QkRiMnhzYVdSbGNsTm9ZWEJsUTJGd2MzVnNaVUoxWm1abGNrZGxiMjFsZEhKNUtIUm9hWE11WTI5c2JHbGtaWEl1YzJoaGNHVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNraGxiSEJsY2pvZ1ZXNXJibTkzYmlCamIyeHNhV1JsY2lCemFHRndaU0IwZVhCbElHUmxkR1ZqZEdWa0p5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3dnUFNCdVpYY2dWRWhTUlVVdVRHbHVaVUpoYzJsalRXRjBaWEpwWVd3b2UxeHVJQ0FnSUNBZ1kyOXNiM0k2SURCNFptWXdNR1ptTEZ4dUlDQWdJQ0FnWkdWd2RHaFVaWE4wT2lCbVlXeHpaU3hjYmlBZ0lDQWdJR1JsY0hSb1YzSnBkR1U2SUdaaGJITmxMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdkR2hwY3k1ZmJHbHVaU0E5SUc1bGR5QlVTRkpGUlM1TWFXNWxVMlZuYldWdWRITW9kR2hwY3k1ZloyVnZiV1YwY25rc0lHMWhkR1Z5YVdGc0tUdGNiaUFnSUNCMGFHbHpMbUZrWkNoMGFHbHpMbDlzYVc1bEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmthWE53YjNObEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMmRsYjIxbGRISjVMbVJwYzNCdmMyVW9LVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVk5ZWFJ5YVhoWGIzSnNaQ2htYjNKalpUb2dZbTl2YkdWaGJpazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVZMjlzYkdsa1pYSXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29kSEoxWlN3Z1ptRnNjMlVwTzF4dVhHNGdJQ0FnZEdocGN5NXRZWFJ5YVhndVkyOXdlU2gwYUdsekxtTnZiR3hwWkdWeUxtMWhkSEpwZUZkdmNteGtLVHRjYmx4dUlDQWdJR052Ym5OMElHMWhkSEpwZUZkdmNteGtSV3hsYldWdWRITWdQU0IwYUdsekxtMWhkSEpwZUM1bGJHVnRaVzUwY3p0Y2JpQWdJQ0IwYUdsekxsOW5aVzl0WlhSeWVTNTNiM0pzWkZOallXeGxJRDBnWDNZelFWeHVJQ0FnSUNBZ0xuTmxkQ2h0WVhSeWFYaFhiM0pzWkVWc1pXMWxiblJ6V3pCZExDQnRZWFJ5YVhoWGIzSnNaRVZzWlcxbGJuUnpXekZkTENCdFlYUnlhWGhYYjNKc1pFVnNaVzFsYm5Seld6SmRLVnh1SUNBZ0lDQWdMbXhsYm1kMGFDZ3BPeUF2THlCallXeGpkV3hoZEdVZ2MyTmhiR1VnYjJZZ2VDQmpiMjF3YjI1bGJuUmNibHh1SUNBZ0lIUm9hWE11WDJkbGIyMWxkSEo1TG5Wd1pHRjBaU2dwTzF4dVhHNGdJQ0FnYzNWd1pYSXVkWEJrWVhSbFRXRjBjbWw0VjI5eWJHUW9abTl5WTJVcE8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2V5QldVazFUY0hKcGJtZENiMjVsU205cGJuUWdmU0JtY205dElDY3VMaTh1TGk5V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5Rbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1UzQnlhVzVuUW05dVpVSjFabVpsY2tkbGIyMWxkSEo1SUdWNGRHVnVaSE1nVkVoU1JVVXVRblZtWm1WeVIyVnZiV1YwY25rZ2UxeHVJQ0J3ZFdKc2FXTWdkMjl5YkdSVFkyRnNaU0E5SURFdU1EdGNibHh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5aGRIUnlVRzl6T2lCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJGMGRISkpibVJsZURvZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxPMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5emNISnBibWRDYjI1bE9pQldVazFUY0hKcGJtZENiMjVsU205cGJuUTdYRzRnSUhCeWFYWmhkR1VnWDJOMWNuSmxiblJTWVdScGRYTWdQU0F3TzF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOWpkWEp5Wlc1MFZHRnBiQ0E5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNiaUFnY0hWaWJHbGpJR052Ym5OMGNuVmpkRzl5S0hOd2NtbHVaMEp2Ym1VNklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRDa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNWNiaUFnSUNCMGFHbHpMbDl6Y0hKcGJtZENiMjVsSUQwZ2MzQnlhVzVuUW05dVpUdGNibHh1SUNBZ0lIUm9hWE11WDJGMGRISlFiM01nUFNCdVpYY2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsS0c1bGR5QkdiRzloZERNeVFYSnlZWGtvTWprMEtTd2dNeWs3WEc0Z0lDQWdkR2hwY3k1elpYUkJkSFJ5YVdKMWRHVW9KM0J2YzJsMGFXOXVKeXdnZEdocGN5NWZZWFIwY2xCdmN5azdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlTVzVrWlhnZ1BTQnVaWGNnVkVoU1JVVXVRblZtWm1WeVFYUjBjbWxpZFhSbEtHNWxkeUJWYVc1ME1UWkJjbkpoZVNneE9UUXBMQ0F4S1R0Y2JpQWdJQ0IwYUdsekxuTmxkRWx1WkdWNEtIUm9hWE11WDJGMGRISkpibVJsZUNrN1hHNWNiaUFnSUNCMGFHbHpMbDlpZFdsc1pFbHVaR1Y0S0NrN1hHNGdJQ0FnZEdocGN5NTFjR1JoZEdVb0tUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QjFjR1JoZEdVb0tUb2dkbTlwWkNCN1hHNGdJQ0FnYkdWMElITm9iM1ZzWkZWd1pHRjBaVWRsYjIxbGRISjVJRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQmpiMjV6ZENCeVlXUnBkWE1nUFNCMGFHbHpMbDl6Y0hKcGJtZENiMjVsTG5ObGRIUnBibWR6TG1ocGRGSmhaR2wxY3lBdklIUm9hWE11ZDI5eWJHUlRZMkZzWlR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmWTNWeWNtVnVkRkpoWkdsMWN5QWhQVDBnY21Ga2FYVnpLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6SUQwZ2NtRmthWFZ6TzF4dUlDQWdJQ0FnYzJodmRXeGtWWEJrWVhSbFIyVnZiV1YwY25rZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNnaGRHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dVpYRjFZV3h6S0hSb2FYTXVYM053Y21sdVowSnZibVV1YVc1cGRHbGhiRXh2WTJGc1EyaHBiR1JRYjNOcGRHbHZiaWtwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMk4xY25KbGJuUlVZV2xzTG1OdmNIa29kR2hwY3k1ZmMzQnlhVzVuUW05dVpTNXBibWwwYVdGc1RHOWpZV3hEYUdsc1pGQnZjMmwwYVc5dUtUdGNiaUFnSUNBZ0lITm9iM1ZzWkZWd1pHRjBaVWRsYjIxbGRISjVJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMkoxYVd4a1VHOXphWFJwYjI0b0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOWlkV2xzWkZCdmMybDBhVzl1S0NrNklIWnZhV1FnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnTXpJN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkQ0E5SUNocElDOGdNVFl1TUNrZ0tpQk5ZWFJvTGxCSk8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWhwTENCTllYUm9MbU52Y3loMEtTd2dUV0YwYUM1emFXNG9kQ2tzSURBdU1DazdYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWd6TWlBcklHa3NJREF1TUN3Z1RXRjBhQzVqYjNNb2RDa3NJRTFoZEdndWMybHVLSFFwS1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtEWTBJQ3NnYVN3Z1RXRjBhQzV6YVc0b2RDa3NJREF1TUN3Z1RXRjBhQzVqYjNNb2RDa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzJOaGJHVW9kR2hwY3k1ZlkzVnljbVZ1ZEZKaFpHbDFjeXdnZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3l3Z2RHaHBjeTVmWTNWeWNtVnVkRkpoWkdsMWN5azdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyeGhkR1VvZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1ZUN3Z2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dWVTd2dkR2hwY3k1ZlkzVnljbVZ1ZEZSaGFXd3VlaWs3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2lnNU5pd2dNQ3dnTUN3Z01DazdYRzRnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV6WlhSWVdWb29PVGNzSUhSb2FYTXVYMk4xY25KbGJuUlVZV2xzTG5nc0lIUm9hWE11WDJOMWNuSmxiblJVWVdsc0xua3NJSFJvYVhNdVgyTjFjbkpsYm5SVVlXbHNMbm9wTzF4dVhHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlpZFdsc1pFbHVaR1Y0S0NrNklIWnZhV1FnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnTXpJN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhVEVnUFNBb2FTQXJJREVwSUNVZ016STdYRzVjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXpaWFJZV1NocElDb2dNaXdnYVN3Z2FURXBPMXh1SUNBZ0lDQWdkR2hwY3k1ZllYUjBja2x1WkdWNExuTmxkRmhaS0RZMElDc2dhU0FxSURJc0lETXlJQ3NnYVN3Z016SWdLeUJwTVNrN1hHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1YzJWMFdGa29NVEk0SUNzZ2FTQXFJRElzSURZMElDc2dhU3dnTmpRZ0t5QnBNU2s3WEc0Z0lDQWdmVnh1SUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1elpYUllXU2d4T1RJc0lEazJMQ0E1TnlrN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZXlCV1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RZ2ZTQm1jbTl0SUNjdUxpOVdVazFUY0hKcGJtZENiMjVsU205cGJuUW5PMXh1YVcxd2IzSjBJSHNnVTNCeWFXNW5RbTl1WlVKMVptWmxja2RsYjIxbGRISjVJSDBnWm5KdmJTQW5MaTkxZEdsc2N5OVRjSEpwYm1kQ2IyNWxRblZtWm1WeVIyVnZiV1YwY25rbk8xeHVYRzVqYjI1emRDQmZkak5CSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRFaGxiSEJsY2lCbGVIUmxibVJ6SUZSSVVrVkZMa2R5YjNWd0lIdGNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJSE53Y21sdVowSnZibVU2SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZER0Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmZaMlZ2YldWMGNuazZJRk53Y21sdVowSnZibVZDZFdabVpYSkhaVzl0WlhSeWVUdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JmYkdsdVpUb2dWRWhTUlVVdVRHbHVaVk5sWjIxbGJuUnpPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHpjSEpwYm1kQ2IyNWxPaUJXVWsxVGNISnBibWRDYjI1bFNtOXBiblFwSUh0Y2JpQWdJQ0J6ZFhCbGNpZ3BPMXh1SUNBZ0lIUm9hWE11YldGMGNtbDRRWFYwYjFWd1pHRjBaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdkR2hwY3k1emNISnBibWRDYjI1bElEMGdjM0J5YVc1blFtOXVaVHRjYmx4dUlDQWdJSFJvYVhNdVgyZGxiMjFsZEhKNUlEMGdibVYzSUZOd2NtbHVaMEp2Ym1WQ2RXWm1aWEpIWlc5dFpYUnllU2gwYUdsekxuTndjbWx1WjBKdmJtVXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd3Z1BTQnVaWGNnVkVoU1JVVXVUR2x1WlVKaGMybGpUV0YwWlhKcFlXd29lMXh1SUNBZ0lDQWdZMjlzYjNJNklEQjRabVptWmpBd0xGeHVJQ0FnSUNBZ1pHVndkR2hVWlhOME9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUdSbGNIUm9WM0pwZEdVNklHWmhiSE5sTEZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnZEdocGN5NWZiR2x1WlNBOUlHNWxkeUJVU0ZKRlJTNU1hVzVsVTJWbmJXVnVkSE1vZEdocGN5NWZaMlZ2YldWMGNua3NJRzFoZEdWeWFXRnNLVHRjYmlBZ0lDQjBhR2x6TG1Ga1pDaDBhR2x6TGw5c2FXNWxLVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJrYVhOd2IzTmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WDJkbGIyMWxkSEo1TG1ScGMzQnZjMlVvS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1ZOWVhSeWFYaFhiM0pzWkNobWIzSmpaVG9nWW05dmJHVmhiaWs2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11YzNCeWFXNW5RbTl1WlM1aWIyNWxMblZ3WkdGMFpWZHZjbXhrVFdGMGNtbDRLSFJ5ZFdVc0lHWmhiSE5sS1R0Y2JseHVJQ0FnSUhSb2FYTXViV0YwY21sNExtTnZjSGtvZEdocGN5NXpjSEpwYm1kQ2IyNWxMbUp2Ym1VdWJXRjBjbWw0VjI5eWJHUXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXRjBjbWw0VjI5eWJHUkZiR1Z0Wlc1MGN5QTlJSFJvYVhNdWJXRjBjbWw0TG1Wc1pXMWxiblJ6TzF4dUlDQWdJSFJvYVhNdVgyZGxiMjFsZEhKNUxuZHZjbXhrVTJOaGJHVWdQU0JmZGpOQlhHNGdJQ0FnSUNBdWMyVjBLRzFoZEhKcGVGZHZjbXhrUld4bGJXVnVkSE5iTUYwc0lHMWhkSEpwZUZkdmNteGtSV3hsYldWdWRITmJNVjBzSUcxaGRISnBlRmR2Y214a1JXeGxiV1Z1ZEhOYk1sMHBYRzRnSUNBZ0lDQXViR1Z1WjNSb0tDazdJQzh2SUdOaGJHTjFiR0YwWlNCelkyRnNaU0J2WmlCNElHTnZiWEJ2Ym1WdWRGeHVYRzRnSUNBZ2RHaHBjeTVmWjJWdmJXVjBjbmt1ZFhCa1lYUmxLQ2s3WEc1Y2JpQWdJQ0J6ZFhCbGNpNTFjR1JoZEdWTllYUnlhWGhYYjNKc1pDaG1iM0pqWlNrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1VnZlNCbWNtOXRJQ2N1TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsSnp0Y2JseHVMeW9xWEc0Z0tpQlNaWEJ5WlhObGJuUnpJR0VnWTI5c2JHbGtaWElnYjJZZ1lTQldVazB1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSWdaWGgwWlc1a2N5QlVTRkpGUlM1UFltcGxZM1F6UkNCN1hHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2MyaGhjR1VnYjJZZ2RHaGxJR052Ykd4cFpHVnlMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJSE5vWVhCbE9pQldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pUdGNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2MyaGhjR1U2SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmx4dUlDQWdJSFJvYVhNdWMyaGhjR1VnUFNCemFHRndaVHRjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1WEc1amIyNXpkQ0JmYldGMFFTQTlJRzVsZHlCVVNGSkZSUzVOWVhSeWFYZzBLQ2s3WEc1Y2JpOHFLbHh1SUNvZ1FTQmpiMjF3WVhRZ1puVnVZM1JwYjI0Z1ptOXlJR0JOWVhSeWFYZzBMbWx1ZG1WeWRDZ3BZQ0F2SUdCTllYUnlhWGcwTG1kbGRFbHVkbVZ5YzJVb0tXQXVYRzRnS2lCZ1RXRjBjbWw0TkM1cGJuWmxjblFvS1dBZ2FYTWdhVzUwY205a2RXTmxaQ0JwYmlCeU1USXpJR0Z1WkNCZ1RXRjBjbWw0TkM1blpYUkpiblpsY25ObEtDbGdJR1Z0YVhSeklHRWdkMkZ5Ym1sdVp5NWNiaUFxSUZkbElHRnlaU0JuYjJsdVp5QjBieUIxYzJVZ2RHaHBjeUJqYjIxd1lYUWdabTl5SUdFZ2QyaHBiR1V1WEc0Z0tpQkFjR0Z5WVcwZ2RHRnlaMlYwSUVFZ2RHRnlaMlYwSUcxaGRISnBlRnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRjBORWx1ZG1WeWRFTnZiWEJoZER4VUlHVjRkR1Z1WkhNZ1ZFaFNSVVV1VFdGMGNtbDRORDRvZEdGeVoyVjBPaUJVS1RvZ1ZDQjdYRzRnSUdsbUlDZ29kR0Z5WjJWMElHRnpJR0Z1ZVNrdWFXNTJaWEowS1NCN1hHNGdJQ0FnZEdGeVoyVjBMbWx1ZG1WeWRDZ3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQ2gwWVhKblpYUWdZWE1nWVc1NUtTNW5aWFJKYm5abGNuTmxLRjl0WVhSQkxtTnZjSGtvZEdGeVoyVjBLU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZEdGeVoyVjBPMXh1ZlZ4dUlpd2lhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dWFXMXdiM0owSUhzZ2JXRjBORWx1ZG1WeWRFTnZiWEJoZENCOUlHWnliMjBnSnk0dmJXRjBORWx1ZG1WeWRFTnZiWEJoZENjN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTllYUnlhWGcwU1c1MlpYSnpaVU5oWTJobElIdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQjBZWEpuWlhRZ2JXRjBjbWw0TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUcxaGRISnBlRG9nVkVoU1JVVXVUV0YwY21sNE5EdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQmpZV05vWlNCdlppQnBiblpsY25ObElHOW1JR04xY25KbGJuUWdiV0YwY21sNExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmZhVzUyWlhKelpVTmhZMmhsSUQwZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURRb0tUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQm1iR0ZuSUhSb1lYUWdiV0ZyWlhNZ2FYUWdkMkZ1ZENCMGJ5QnlaV05oYkdOMWJHRjBaU0JwZEhNZ2UwQnNhVzVySUY5cGJuWmxjbk5sUTJGamFHVjlMbHh1SUNBZ0tpQlhhV3hzSUdKbElITmxkQ0JnZEhKMVpXQWdkMmhsYmlCZ1pXeGxiV1Z1ZEhOZ0lHRnlaU0J0ZFhSaGRHVmtJR0Z1WkNCaVpTQjFjMlZrSUdsdUlHQm5aWFJKYm5abGNuTmxZQzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNOb2IzVnNaRlZ3WkdGMFpVbHVkbVZ5YzJVZ1BTQjBjblZsTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2IzSnBaMmx1WVd3Z2IyWWdZRzFoZEhKcGVDNWxiR1Z0Wlc1MGMyQmNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2dYMjl5YVdkcGJtRnNSV3hsYldWdWRITTZJRzUxYldKbGNsdGRPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpiblpsY25ObElHOW1JR2RwZG1WdUlHMWhkSEpwZUM1Y2JpQWdJQ29nVG05MFpTQjBhR0YwSUdsMElIZHBiR3dnY21WMGRYSnVJR2wwY3lCcGJuUmxjbTVoYkNCd2NtbDJZWFJsSUdsdWMzUmhibU5sTGx4dUlDQWdLaUJOWVd0bElITjFjbVVnWTI5d2VXbHVaeUIwYUdseklHSmxabTl5WlNCdGRYUmhkR1VnZEdocGN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnYVc1MlpYSnpaU2dwT2lCVVNGSkZSUzVOWVhSeWFYZzBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NWZjMmh2ZFd4a1ZYQmtZWFJsU1c1MlpYSnpaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZhVzUyWlhKelpVTmhZMmhsTG1OdmNIa29kR2hwY3k1dFlYUnlhWGdwTzF4dUlDQWdJQ0FnYldGME5FbHVkbVZ5ZEVOdmJYQmhkQ2gwYUdsekxsOXBiblpsY25ObFEyRmphR1VwTzF4dUlDQWdJQ0FnZEdocGN5NWZjMmh2ZFd4a1ZYQmtZWFJsU1c1MlpYSnpaU0E5SUdaaGJITmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm5abGNuTmxRMkZqYUdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9iV0YwY21sNE9pQlVTRkpGUlM1TllYUnlhWGcwS1NCN1hHNGdJQ0FnZEdocGN5NXRZWFJ5YVhnZ1BTQnRZWFJ5YVhnN1hHNWNiaUFnSUNCamIyNXpkQ0JvWVc1a2JHVnlPaUJRY205NGVVaGhibVJzWlhJOGJuVnRZbVZ5VzEwK0lEMGdlMXh1SUNBZ0lDQWdjMlYwT2lBb2IySnFMQ0J3Y205d09pQmhibmtzSUc1bGQxWmhiQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5emFHOTFiR1JWY0dSaGRHVkpiblpsY25ObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ2IySnFXM0J5YjNCZElEMGdibVYzVm1Gc08xeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnZEdocGN5NWZiM0pwWjJsdVlXeEZiR1Z0Wlc1MGN5QTlJRzFoZEhKcGVDNWxiR1Z0Wlc1MGN6dGNiaUFnSUNCdFlYUnlhWGd1Wld4bGJXVnVkSE1nUFNCdVpYY2dVSEp2ZUhrb2JXRjBjbWw0TG1Wc1pXMWxiblJ6TENCb1lXNWtiR1Z5S1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCeVpYWmxjblFvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1dFlYUnlhWGd1Wld4bGJXVnVkSE1nUFNCMGFHbHpMbDl2Y21sbmFXNWhiRVZzWlcxbGJuUnpPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdleUJ0WVhRMFNXNTJaWEowUTI5dGNHRjBJSDBnWm5KdmJTQW5MaTkxZEdsc2N5OXRZWFEwU1c1MlpYSjBRMjl0Y0dGMEp6dGNibWx0Y0c5eWRDQjdJRTFoZEhKcGVEUkpiblpsY25ObFEyRmphR1VnZlNCbWNtOXRJQ2N1TDNWMGFXeHpMMDFoZEhKcGVEUkpiblpsY25ObFEyRmphR1VuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKSGNtOTFjQ0I5SUdaeWIyMGdKeTR2VmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVIzSnZkWEFuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxVGNISnBibWRDYjI1bFNtOXBiblJUWlhSMGFXNW5jeUI5SUdaeWIyMGdKeTR2VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwVTJWMGRHbHVaM01uTzF4dVhHNHZMeUJpWVhObFpDQnZibHh1THk4Z2FIUjBjRG92TDNKdlkydGxkR3AxYlhBdWMydHlMbXB3TDNWdWFYUjVNMlF2TVRBNUwxeHVMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJSM1lXNW5ieTlWYm1sV1VrMHZZbXh2WWk5dFlYTjBaWEl2VTJOeWFYQjBjeTlUY0hKcGJtZENiMjVsTDFaU1RWTndjbWx1WjBKdmJtVXVZM05jYmx4dVkyOXVjM1FnU1VSRlRsUkpWRmxmVFVGVVVrbFlOQ0E5SUc1bGR5QlVTRkpGUlM1TllYUnlhWGcwS0NrN1hHNWNiaTh2SU9pb2lPZXVsK1M0cmVPQnJ1UzRnT2FaZ3VTL25lV3RtT2VVcU9Xa2llYVZzTys4aU9TNGdPVzZwdU9DcE9PRHMrT0N1ZU9DditPRHMrT0N1ZU9Da3VTOW5PT0JvK09CbitPQ2llT0JndU9CcU9PQnIrUzl2K09CaE9XYm51T0JtZSs4aVZ4dVkyOXVjM1FnWDNZelFTQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmZGpOQ0lEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYm1OdmJuTjBJRjkyTTBNZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WEc0dktpcGNiaUFxSUVFZ2RHVnRjRzl5WVhKNUlIWmhjbWxoWW14bElIZG9hV05vSUdseklIVnpaV1FnYVc0Z1lIVndaR0YwWldCY2JpQXFMMXh1WTI5dWMzUWdYM2R2Y214a1UzQmhZMlZRYjNOcGRHbHZiaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNiaThxS2x4dUlDb2dRU0IwWlcxd2IzSmhjbmtnZG1GeWFXRmliR1VnZDJocFkyZ2dhWE1nZFhObFpDQnBiaUJnZFhCa1lYUmxZRnh1SUNvdlhHNWpiMjV6ZENCZlkyVnVkR1Z5VTNCaFkyVlFiM05wZEdsdmJpQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1Y2JpOHFLbHh1SUNvZ1FTQjBaVzF3YjNKaGNua2dkbUZ5YVdGaWJHVWdkMmhwWTJnZ2FYTWdkWE5sWkNCcGJpQmdkWEJrWVhSbFlGeHVJQ292WEc1amIyNXpkQ0JmYm1WNGRGUmhhV3dnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDIxaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VFdGMGNtbDROQ2dwTzF4dVkyOXVjM1FnWDIxaGRFSWdQU0J1WlhjZ1ZFaFNSVVV1VFdGMGNtbDROQ2dwTzF4dVhHNHZLaXBjYmlBcUlFRWdZMnhoYzNNZ2NtVndjbVZ6Wlc1MGN5QmhJSE5wYm1kc1pTQnFiMmx1ZENCdlppQmhJSE53Y21sdVp5QmliMjVsTGx4dUlDb2dTWFFnYzJodmRXeGtJR0psSUcxaGJtRm5aV1FnWW5rZ1lTQmJXMVpTVFZOd2NtbHVaMEp2Ym1WTllXNWhaMlZ5WFYwdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFUY0hKcGJtZENiMjVsU205cGJuUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1UyVjBkR2x1WjNNZ2IyWWdkR2hsSUdKdmJtVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjMlYwZEdsdVozTTZJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRk5sZEhScGJtZHpPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMnhzYVdSbGNpQm5jbTkxY0hNZ1lYUjBZV05vWldRZ2RHOGdkR2hwY3lCaWIyNWxMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR052Ykd4cFpHVnlSM0p2ZFhCek9pQldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpIY205MWNGdGRPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJiaUJQWW1wbFkzUXpSQ0JoZEhSaFkyaGxaQ0IwYnlCMGFHbHpJR0p2Ym1VdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ1ltOXVaVG9nVkVoU1JVVXVUMkpxWldOME0wUTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRnVJRTlpYW1WamRETkVJSFJvWVhRZ2QybHNiQ0JpWlNCMWMyVmtJR0Z6SUdFZ2RHRnBiQ0J2WmlCMGFHbHpJSE53Y21sdVp5QmliMjVsTGx4dUlDQWdLaUJKZENCallXNGdZbVVnYm5Wc2JDQjNhR1Z1SUhSb1pTQnpjSEpwYm1jZ1ltOXVaU0JwY3lCcGJYQnZjblJsWkNCbWNtOXRJRlpTVFNBd0xqQXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2dZMmhwYkdRNklGUklVa1ZGTGs5aWFtVmpkRE5FSUh3Z2JuVnNiRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM1Z5Y21WdWRDQndiM05wZEdsdmJpQnZaaUJqYUdsc1pDQjBZV2xzTENCcGJpQmpaVzUwWlhJZ2RXNXBkQzRnVjJsc2JDQmlaU0IxYzJWa0lHWnZjaUIyWlhKc1pYUWdhVzUwWldkeVlYUnBiMjR1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5amRYSnlaVzUwVkdGcGJDQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkJ5WlhacGIzVnpJSEJ2YzJsMGFXOXVJRzltSUdOb2FXeGtJSFJoYVd3c0lHbHVJR05sYm5SbGNpQjFibWwwTGlCWGFXeHNJR0psSUhWelpXUWdabTl5SUhabGNteGxkQ0JwYm5SbFozSmhkR2x2Ymk1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzQnlaWFpVWVdsc0lEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTVzVwZEdsaGJDQmhlR2x6SUc5bUlIUm9aU0JpYjI1bExDQnBiaUJzYjJOaGJDQjFibWwwTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZlltOXVaVUY0YVhNZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQk1aVzVuZEdnZ2IyWWdkR2hsSUdKdmJtVWdhVzRnZDI5eWJHUWdkVzVwZEM1Y2JpQWdJQ29nVjJsc2JDQmlaU0IxYzJWa0lHWnZjaUJ1YjNKdFlXeHBlbUYwYVc5dUlHbHVJSFZ3WkdGMFpTQnNiMjl3TENCM2FXeHNJR0psSUhWd1pHRjBaV1FnWW5rZ2UwQnNhVzVySUY5allXeGpWMjl5YkdSVGNHRmpaVUp2Ym1WTVpXNW5kR2g5TGx4dUlDQWdLbHh1SUNBZ0tpQkpkQ2R6SUhOaGJXVWdZWE1nYkc5allXd2dkVzVwZENCc1pXNW5kR2dnZFc1c1pYTnpJSFJvWlhKbElHRnlaU0J6WTJGc1pTQjBjbUZ1YzJadmNtMWhkR2x2Ym5NZ2FXNGdkR2hsSUhkdmNteGtJSE53WVdObExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZkMjl5YkdSVGNHRmpaVUp2Ym1WTVpXNW5kR2dnUFNBd0xqQTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9hWE1nYzNCeWFXNW5ZbTl1WlNCM2FXeHNJR0psSUdOaGJHTjFiR0YwWldRZ1ltRnpaV1FnYjI0Z2RHaGxJSE53WVdObElISmxiR0YwYVhabElHWnliMjBnZEdocGN5QnZZbXBsWTNRdVhHNGdJQ0FxSUVsbUlIUm9hWE1nYVhNZ1lHNTFiR3hnTENCemNISnBibWRpYjI1bElIZHBiR3dnWW1VZ1kyRnNZM1ZzWVhSbFpDQnBiaUIzYjNKc1pDQnpjR0ZqWlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gyTmxiblJsY2pvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFnZkNCdWRXeHNJRDBnYm5Wc2JEdGNiaUFnY0hWaWJHbGpJR2RsZENCalpXNTBaWElvS1RvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFnZkNCdWRXeHNJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTJWdWRHVnlPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnWTJWdWRHVnlLR05sYm5SbGNqb2dWRWhTUlVVdVQySnFaV04wTTBRZ2ZDQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z2RXNXBibk4wWVd4c0lHbHVkbVZ5YzJVZ1kyRmphR1ZjYmlBZ0lDQnBaaUFvZEdocGN5NWZZMlZ1ZEdWeVB5NTFjMlZ5UkdGMFlTNXBiblpsY25ObFEyRmphR1ZRY205NGVTa2dlMXh1SUNBZ0lDQWdLSFJvYVhNdVgyTmxiblJsY2k1MWMyVnlSR0YwWVM1cGJuWmxjbk5sUTJGamFHVlFjbTk0ZVNCaGN5Qk5ZWFJ5YVhnMFNXNTJaWEp6WlVOaFkyaGxLUzV5WlhabGNuUW9LVHRjYmlBZ0lDQWdJR1JsYkdWMFpTQjBhR2x6TGw5alpXNTBaWEl1ZFhObGNrUmhkR0V1YVc1MlpYSnpaVU5oWTJobFVISnZlSGs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWTJoaGJtZGxJSFJvWlNCalpXNTBaWEpjYmlBZ0lDQjBhR2x6TGw5alpXNTBaWElnUFNCalpXNTBaWEk3WEc1Y2JpQWdJQ0F2THlCcGJuTjBZV3hzSUdsdWRtVnljMlVnWTJGamFHVmNiaUFnSUNCcFppQW9kR2hwY3k1ZlkyVnVkR1Z5S1NCN1hHNGdJQ0FnSUNCcFppQW9JWFJvYVhNdVgyTmxiblJsY2k1MWMyVnlSR0YwWVM1cGJuWmxjbk5sUTJGamFHVlFjbTk0ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5alpXNTBaWEl1ZFhObGNrUmhkR0V1YVc1MlpYSnpaVU5oWTJobFVISnZlSGtnUFNCdVpYY2dUV0YwY21sNE5FbHVkbVZ5YzJWRFlXTm9aU2gwYUdsekxsOWpaVzUwWlhJdWJXRjBjbWw0VjI5eWJHUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYm1sMGFXRnNJSE4wWVhSbElHOW1JSFJvWlNCc2IyTmhiQ0J0WVhSeWFYZ2diMllnZEdobElHSnZibVV1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5cGJtbDBhV0ZzVEc5allXeE5ZWFJ5YVhnZ1BTQnVaWGNnVkVoU1JVVXVUV0YwY21sNE5DZ3BPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpibWwwYVdGc0lITjBZWFJsSUc5bUlIUm9aU0J5YjNSaGRHbHZiaUJ2WmlCMGFHVWdZbTl1WlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gybHVhWFJwWVd4TWIyTmhiRkp2ZEdGMGFXOXVJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkNCemRHRjBaU0J2WmlCMGFHVWdjRzl6YVhScGIyNGdiMllnYVhSeklHTm9hV3hrTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmFXNXBkR2xoYkV4dlkyRnNRMmhwYkdSUWIzTnBkR2x2YmlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzRnSUhCMVlteHBZeUJuWlhRZ2FXNXBkR2xoYkV4dlkyRnNRMmhwYkdSUWIzTnBkR2x2YmlncE9pQlVTRkpGUlM1V1pXTjBiM0l6SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmFXNXBkR2xoYkV4dlkyRnNRMmhwYkdSUWIzTnBkR2x2Ymp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0IzYjNKc1pDQnRZWFJ5YVhnZ2IyWWdhWFJ6SUhCaGNtVnVkQ0J2WW1wbFkzUXVYRzRnSUNBcUlFNXZkR1VnZEdoaGRDQnBkQ0J5WlhSMWNtNXpJR0VnY21WbVpYSmxibU5sSUhSdklIUm9aU0J0WVhSeWFYZ3VJRVJ2YmlkMElHMTFkR0YwWlNCMGFHbHpJR1JwY21WamRHeDVJVnh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JuWlhRZ1gzQmhjbVZ1ZEUxaGRISnBlRmR2Y214a0tDazZJRlJJVWtWRkxrMWhkSEpwZURRZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtSnZibVV1Y0dGeVpXNTBJRDhnZEdocGN5NWliMjVsTG5CaGNtVnVkQzV0WVhSeWFYaFhiM0pzWkNBNklFbEVSVTVVU1ZSWlgwMUJWRkpKV0RRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdibVYzSUZaU1RWTndjbWx1WjBKdmJtVXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JpYjI1bElFRnVJRTlpYW1WamRETkVJSFJvWVhRZ2QybHNiQ0JpWlNCaGRIUmhZMmhsWkNCMGJ5QjBhR2x6SUdKdmJtVmNiaUFnSUNvZ1FIQmhjbUZ0SUdOb2FXeGtJRUZ1SUU5aWFtVmpkRE5FSUhSb1lYUWdkMmxzYkNCaVpTQjFjMlZrSUdGeklHRWdkR0ZwYkNCdlppQjBhR2x6SUhOd2NtbHVaeUJpYjI1bExpQkpkQ0JqWVc0Z1ltVWdiblZzYkNCM2FHVnVJSFJvWlNCemNISnBibWNnWW05dVpTQnBjeUJwYlhCdmNuUmxaQ0JtY205dElGWlNUU0F3TGpCY2JpQWdJQ29nUUhCaGNtRnRJSE5sZEhScGJtZHpJRk5sZG1WeVlXd2djR0Z5WVcxbGRHVnljeUJ5Wld4aGRHVmtJSFJ2SUdKbGFHRjJhVzl5SUc5bUlIUm9aU0J6Y0hKcGJtY2dZbTl1WlZ4dUlDQWdLaUJBY0dGeVlXMGdZMjlzYkdsa1pYSkhjbTkxY0hNZ1EyOXNiR2xrWlhJZ1ozSnZkWEJ6SUhSb1lYUWdkMmxzYkNCaVpTQmpiMnhzYVdSbFpDQjNhWFJvSUhSb2FYTWdjM0J5YVc1bklHSnZibVZjYmlBZ0lDb3ZYRzRnSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUdKdmJtVTZJRlJJVWtWRkxrOWlhbVZqZERORUxGeHVJQ0FnSUdOb2FXeGtPaUJVU0ZKRlJTNVBZbXBsWTNRelJDQjhJRzUxYkd3c1hHNGdJQ0FnYzJWMGRHbHVaM002SUZCaGNuUnBZV3c4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwVTJWMGRHbHVaM00rSUQwZ2UzMHNYRzRnSUNBZ1kyOXNiR2xrWlhKSGNtOTFjSE02SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNrZHliM1Z3VzEwZ1BTQmJYU3hjYmlBZ0tTQjdYRzRnSUNBZ2RHaHBjeTVpYjI1bElEMGdZbTl1WlRzZ0x5OGdkVzVwVmxKTjQ0R240NEd1SUhCaGNtVnVkRnh1SUNBZ0lIUm9hWE11WW05dVpTNXRZWFJ5YVhoQmRYUnZWWEJrWVhSbElEMGdabUZzYzJVN0lDOHZJSFZ3WkdGMFplT0JxK09DaU9PQ2l1aW9pT2V1bCtPQmxlT0NqT09DaStPQnJ1T0JwM1JvY21WbExtcHo1WWFGNDRHbjQ0R3U2SWVxNVl1VjVZZW01NUNHNDRHdjVMaU42S2FCWEc1Y2JpQWdJQ0IwYUdsekxtTm9hV3hrSUQwZ1kyaHBiR1E3WEc1Y2JpQWdJQ0IwYUdsekxuTmxkSFJwYm1keklEMGdlMXh1SUNBZ0lDQWdhR2wwVW1Ga2FYVnpPaUJ6WlhSMGFXNW5jeTVvYVhSU1lXUnBkWE1nUHo4Z01DNHdMRnh1SUNBZ0lDQWdjM1JwWm1adVpYTnpPaUJ6WlhSMGFXNW5jeTV6ZEdsbVptNWxjM01nUHo4Z01TNHdMRnh1SUNBZ0lDQWdaM0poZG1sMGVWQnZkMlZ5T2lCelpYUjBhVzVuY3k1bmNtRjJhWFI1VUc5M1pYSWdQejhnTUM0d0xGeHVJQ0FnSUNBZ1ozSmhkbWwwZVVScGNqb2djMlYwZEdsdVozTXVaM0poZG1sMGVVUnBjajh1WTJ4dmJtVW9LU0EvUHlCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlnd0xqQXNJQzB4TGpBc0lEQXVNQ2tzWEc0Z0lDQWdJQ0JrY21GblJtOXlZMlU2SUhObGRIUnBibWR6TG1SeVlXZEdiM0pqWlNBL1B5QXdMalFzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJSFJvYVhNdVkyOXNiR2xrWlhKSGNtOTFjSE1nUFNCamIyeHNhV1JsY2tkeWIzVndjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVFpYUWdkR2hsSUdsdWFYUnBZV3dnYzNSaGRHVWdiMllnZEdocGN5QnpjSEpwYm1jZ1ltOXVaUzVjYmlBZ0lDb2dXVzkxSUcxcFoyaDBJSGRoYm5RZ2RHOGdZMkZzYkNCN1FHeHBibXNnVmxKTlUzQnlhVzVuUW05dVpVMWhibUZuWlhJdWMyVjBTVzVwZEZOMFlYUmxmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE5sZEVsdWFYUlRkR0YwWlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0F2THlCeVpXMWxiV0psY2lCcGJtbDBhV0ZzSUhCdmMybDBhVzl1SUc5bUlHbDBjMlZzWmx4dUlDQWdJSFJvYVhNdVgybHVhWFJwWVd4TWIyTmhiRTFoZEhKcGVDNWpiM0I1S0hSb2FYTXVZbTl1WlM1dFlYUnlhWGdwTzF4dUlDQWdJSFJvYVhNdVgybHVhWFJwWVd4TWIyTmhiRkp2ZEdGMGFXOXVMbU52Y0hrb2RHaHBjeTVpYjI1bExuRjFZWFJsY201cGIyNHBPMXh1WEc0Z0lDQWdMeThnYzJWbElHbHVhWFJwWVd3Z2NHOXphWFJwYjI0Z2IyWWdhWFJ6SUd4dlkyRnNJR05vYVd4a1hHNGdJQ0FnYVdZZ0tIUm9hWE11WTJocGJHUXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgybHVhWFJwWVd4TWIyTmhiRU5vYVd4a1VHOXphWFJwYjI0dVkyOXdlU2gwYUdsekxtTm9hV3hrTG5CdmMybDBhVzl1S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnZG5KdE1DQnlaWEYxYVhKbGN5QmhJRGRqYlNCbWFYaGxaQ0JpYjI1bElHeGxibWQwYUNCbWIzSWdkR2hsSUdacGJtRnNJRzV2WkdVZ2FXNGdZU0JqYUdGcGJseHVJQ0FnSUNBZ0x5OGdVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmRuSnRMV012ZG5KdExYTndaV05wWm1sallYUnBiMjR2ZEhKbFpTOXRZWE4wWlhJdmMzQmxZMmxtYVdOaGRHbHZiaTlXVWsxRFgzTndjbWx1WjBKdmJtVXRNUzR3STJGaWIzVjBMWE53Y21sdVp5MWpiMjVtYVdkMWNtRjBhVzl1WEc0Z0lDQWdJQ0IwYUdsekxsOXBibWwwYVdGc1RHOWpZV3hEYUdsc1pGQnZjMmwwYVc5dUxtTnZjSGtvZEdocGN5NWliMjVsTG5CdmMybDBhVzl1S1M1dWIzSnRZV3hwZW1Vb0tTNXRkV3gwYVhCc2VWTmpZV3hoY2lnd0xqQTNLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqYjNCNUlIUm9aU0JqYUdsc1pDQndiM05wZEdsdmJpQjBieUIwWVdsc2MxeHVJQ0FnSUdOdmJuTjBJRzFoZEhKcGVGZHZjbXhrVkc5RFpXNTBaWElnUFNCMGFHbHpMbDluWlhSTllYUnlhWGhYYjNKc1pGUnZRMlZ1ZEdWeUtGOXRZWFJCS1R0Y2JpQWdJQ0IwYUdsekxtSnZibVV1Ykc5allXeFViMWR2Y214a0tIUm9hWE11WDJOMWNuSmxiblJVWVdsc0xtTnZjSGtvZEdocGN5NWZhVzVwZEdsaGJFeHZZMkZzUTJocGJHUlFiM05wZEdsdmJpa3BMbUZ3Y0d4NVRXRjBjbWw0TkNodFlYUnlhWGhYYjNKc1pGUnZRMlZ1ZEdWeUtUdGNiaUFnSUNCMGFHbHpMbDl3Y21WMlZHRnBiQzVqYjNCNUtIUm9hWE11WDJOMWNuSmxiblJVWVdsc0tUdGNibHh1SUNBZ0lDOHZJSE5sZENCcGJtbDBhV0ZzSUhOMFlYUmxjeUIwYUdGMElHRnlaU0J5Wld4aGRHVmtJSFJ2SUd4dlkyRnNJR05vYVd4a0lIQnZjMmwwYVc5dVhHNGdJQ0FnZEdocGN5NWZZbTl1WlVGNGFYTXVZMjl3ZVNoMGFHbHpMbDlwYm1sMGFXRnNURzlqWVd4RGFHbHNaRkJ2YzJsMGFXOXVLUzV1YjNKdFlXeHBlbVVvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWE5sZENCMGFHVWdjM1JoZEdVZ2IyWWdkR2hwY3lCaWIyNWxMbHh1SUNBZ0tpQlpiM1VnYldsbmFIUWdkMkZ1ZENCMGJ5QmpZV3hzSUZ0YlZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSXVjbVZ6WlhSZFhTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxjMlYwS0NrNklIWnZhV1FnZTF4dUlDQWdJSFJvYVhNdVltOXVaUzV4ZFdGMFpYSnVhVzl1TG1OdmNIa29kR2hwY3k1ZmFXNXBkR2xoYkV4dlkyRnNVbTkwWVhScGIyNHBPMXh1WEc0Z0lDQWdMeThnVjJVZ2JtVmxaQ0IwYnlCMWNHUmhkR1VnYVhSeklHMWhkSEpwZUZkdmNteGtJRzFoYm5WaGJHeDVMQ0J6YVc1alpTQjNaU0IwZDJWaGEyVmtJSFJvWlNCaWIyNWxJR0o1SUc5MWNpQm9ZVzVrWEc0Z0lDQWdkR2hwY3k1aWIyNWxMblZ3WkdGMFpVMWhkSEpwZUNncE8xeHVJQ0FnSUhSb2FYTXVZbTl1WlM1dFlYUnlhWGhYYjNKc1pDNXRkV3gwYVhCc2VVMWhkSEpwWTJWektIUm9hWE11WDNCaGNtVnVkRTFoZEhKcGVGZHZjbXhrTENCMGFHbHpMbUp2Ym1VdWJXRjBjbWw0S1R0Y2JseHVJQ0FnSUM4dklFRndjR3g1SUhWd1pHRjBaV1FnY0c5emFYUnBiMjRnZEc4Z2RHRnBiQ0J6ZEdGMFpYTmNiaUFnSUNCamIyNXpkQ0J0WVhSeWFYaFhiM0pzWkZSdlEyVnVkR1Z5SUQwZ2RHaHBjeTVmWjJWMFRXRjBjbWw0VjI5eWJHUlViME5sYm5SbGNpaGZiV0YwUVNrN1hHNGdJQ0FnZEdocGN5NWliMjVsTG14dlkyRnNWRzlYYjNKc1pDaDBhR2x6TGw5amRYSnlaVzUwVkdGcGJDNWpiM0I1S0hSb2FYTXVYMmx1YVhScFlXeE1iMk5oYkVOb2FXeGtVRzl6YVhScGIyNHBLUzVoY0hCc2VVMWhkSEpwZURRb2JXRjBjbWw0VjI5eWJHUlViME5sYm5SbGNpazdYRzRnSUNBZ2RHaHBjeTVmY0hKbGRsUmhhV3d1WTI5d2VTaDBhR2x6TGw5amRYSnlaVzUwVkdGcGJDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVlhCa1lYUmxJSFJvWlNCemRHRjBaU0J2WmlCMGFHbHpJR0p2Ym1VdVhHNGdJQ0FxSUZsdmRTQnRhV2RvZENCM1lXNTBJSFJ2SUdOaGJHd2dXMXRXVWsxVGNISnBibWRDYjI1bFRXRnVZV2RsY2k1MWNHUmhkR1ZkWFNCcGJuTjBaV0ZrTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1pHVnNkR0VnWkdWc2RHRlVhVzFsWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nZFhCa1lYUmxLR1JsYkhSaE9pQnVkVzFpWlhJcE9pQjJiMmxrSUh0Y2JpQWdJQ0JwWmlBb1pHVnNkR0VnUEQwZ01Da2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdWWEJrWVhSbElIUm9aU0JmZDI5eWJHUlRjR0ZqWlVKdmJtVk1aVzVuZEdoY2JpQWdJQ0IwYUdsekxsOWpZV3hqVjI5eWJHUlRjR0ZqWlVKdmJtVk1aVzVuZEdnb0tUdGNibHh1SUNBZ0lDOHZJRWRsZENCaWIyNWxJSEJ2YzJsMGFXOXVJR2x1SUdObGJuUmxjaUJ6Y0dGalpWeHVJQ0FnSUY5M2IzSnNaRk53WVdObFVHOXphWFJwYjI0dWMyVjBSbkp2YlUxaGRISnBlRkJ2YzJsMGFXOXVLSFJvYVhNdVltOXVaUzV0WVhSeWFYaFhiM0pzWkNrN1hHNGdJQ0FnYkdWMElHMWhkSEpwZUZkdmNteGtWRzlEWlc1MFpYSWdQU0IwYUdsekxsOW5aWFJOWVhSeWFYaFhiM0pzWkZSdlEyVnVkR1Z5S0Y5dFlYUkJLVHRjYmlBZ0lDQmZZMlZ1ZEdWeVUzQmhZMlZRYjNOcGRHbHZiaTVqYjNCNUtGOTNiM0pzWkZOd1lXTmxVRzl6YVhScGIyNHBMbUZ3Y0d4NVRXRjBjbWw0TkNodFlYUnlhWGhYYjNKc1pGUnZRMlZ1ZEdWeUtUdGNiaUFnSUNCamIyNXpkQ0J4ZFdGMFYyOXliR1JVYjBObGJuUmxjaUE5SUY5eGRXRjBRUzV6WlhSR2NtOXRVbTkwWVhScGIyNU5ZWFJ5YVhnb2JXRjBjbWw0VjI5eWJHUlViME5sYm5SbGNpazdYRzVjYmlBZ0lDQXZMeUJIWlhRZ2NHRnlaVzUwSUcxaGRISnBlQ0JwYmlCalpXNTBaWElnYzNCaFkyVmNiaUFnSUNCamIyNXpkQ0JqWlc1MFpYSlRjR0ZqWlZCaGNtVnVkRTFoZEhKcGVDQTlJRjl0WVhSQ0xtTnZjSGtvYldGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2lrdWJYVnNkR2x3Ykhrb2RHaHBjeTVmY0dGeVpXNTBUV0YwY21sNFYyOXliR1FwTzF4dVhHNGdJQ0FnTHk4Z1IyVjBJR0p2Ym1WQmVHbHpJR2x1SUdObGJuUmxjaUJ6Y0dGalpWeHVJQ0FnSUdOdmJuTjBJR05sYm5SbGNsTndZV05sUW05dVpVRjRhWE1nUFNCZmRqTkNYRzRnSUNBZ0lDQXVZMjl3ZVNoMGFHbHpMbDlpYjI1bFFYaHBjeWxjYmlBZ0lDQWdJQzVoY0hCc2VVMWhkSEpwZURRb2RHaHBjeTVmYVc1cGRHbGhiRXh2WTJGc1RXRjBjbWw0S1Z4dUlDQWdJQ0FnTG1Gd2NHeDVUV0YwY21sNE5DaGpaVzUwWlhKVGNHRmpaVkJoY21WdWRFMWhkSEpwZUNsY2JpQWdJQ0FnSUM1emRXSW9YMk5sYm5SbGNsTndZV05sVUc5emFYUnBiMjRwWEc0Z0lDQWdJQ0F1Ym05eWJXRnNhWHBsS0NrN1hHNWNiaUFnSUNBdkx5Qm5jbUYyYVhSNUlHbHVJR05sYm5SbGNpQnpjR0ZqWlZ4dUlDQWdJR052Ym5OMElHTmxiblJsY2xOd1lXTmxSM0poZG1sMGVTQTlJRjkyTTBNdVkyOXdlU2gwYUdsekxuTmxkSFJwYm1kekxtZHlZWFpwZEhsRWFYSXBMbUZ3Y0d4NVVYVmhkR1Z5Ym1sdmJpaHhkV0YwVjI5eWJHUlViME5sYm5SbGNpa3VibTl5YldGc2FYcGxLQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnRZWFJ5YVhoRFpXNTBaWEpVYjFkdmNteGtJRDBnZEdocGN5NWZaMlYwVFdGMGNtbDRRMlZ1ZEdWeVZHOVhiM0pzWkNoZmJXRjBRU2s3WEc1Y2JpQWdJQ0F2THlCMlpYSnNaWFRucVkzbGlJYmpnYWZtcktIamdhN2t2WTNudmE3amdwTG9xSWpucnBkY2JpQWdJQ0JmYm1WNGRGUmhhV3hjYmlBZ0lDQWdJQzVqYjNCNUtIUm9hWE11WDJOMWNuSmxiblJVWVdsc0tWeHVJQ0FnSUNBZ0xtRmtaQ2hjYmlBZ0lDQWdJQ0FnWDNZelFWeHVJQ0FnSUNBZ0lDQWdJQzVqYjNCNUtIUm9hWE11WDJOMWNuSmxiblJVWVdsc0tWeHVJQ0FnSUNBZ0lDQWdJQzV6ZFdJb2RHaHBjeTVmY0hKbGRsUmhhV3dwWEc0Z0lDQWdJQ0FnSUNBZ0xtMTFiSFJwY0d4NVUyTmhiR0Z5S0RFZ0xTQjBhR2x6TG5ObGRIUnBibWR6TG1SeVlXZEdiM0pqWlNrc1hHNGdJQ0FnSUNBcElDOHZJT1dKamVPRGxlT0RyT09Edk9PRG9PT0JydWVudStXTGxlT0NrdWUybWVlMm11T0JtZU9DaXlqbXVKdm9vYkRqZ29MamdZTGpnb3ZqZ29ncFhHNGdJQ0FnSUNBdVlXUmtLRjkyTTBFdVkyOXdlU2hqWlc1MFpYSlRjR0ZqWlVKdmJtVkJlR2x6S1M1dGRXeDBhWEJzZVZOallXeGhjaWgwYUdsekxuTmxkSFJwYm1kekxuTjBhV1ptYm1WemN5QXFJR1JsYkhSaEtTa2dMeThnNkthcTQ0R3U1WnVlNkx1aTQ0R3I0NEtJNDRLTDVhMlE0NE9jNDRPODQ0T3o0NEd1NTZlNzVZdVY1NXV1NXFpWlhHNGdJQ0FnSUNBdVlXUmtLRjkyTTBFdVkyOXdlU2hqWlc1MFpYSlRjR0ZqWlVkeVlYWnBkSGtwTG0xMWJIUnBjR3g1VTJOaGJHRnlLSFJvYVhNdWMyVjBkR2x1WjNNdVozSmhkbWwwZVZCdmQyVnlJQ29nWkdWc2RHRXBLU0F2THlEbHBKYmxpcHZqZ2F2amdvampnb3ZucDd2bGk1WHBoNDljYmlBZ0lDQWdJQzVoY0hCc2VVMWhkSEpwZURRb2JXRjBjbWw0UTJWdWRHVnlWRzlYYjNKc1pDazdJQzh2SUhSaGFXempncEozYjNKc1pDQnpjR0ZqWmVPQnErYUl1K09CbVZ4dVhHNGdJQ0FnTHk4Z2JtOXliV0ZzYVhwbElHSnZibVVnYkdWdVozUm9YRzRnSUNBZ1gyNWxlSFJVWVdsc0xuTjFZaWhmZDI5eWJHUlRjR0ZqWlZCdmMybDBhVzl1S1M1dWIzSnRZV3hwZW1Vb0tTNXRkV3gwYVhCc2VWTmpZV3hoY2loMGFHbHpMbDkzYjNKc1pGTndZV05sUW05dVpVeGxibWQwYUNrdVlXUmtLRjkzYjNKc1pGTndZV05sVUc5emFYUnBiMjRwTzF4dVhHNGdJQ0FnTHk4Z1EyOXNiR2x6YVc5dTQ0R241NmU3NVl1VlhHNGdJQ0FnZEdocGN5NWZZMjlzYkdsemFXOXVLRjl1WlhoMFZHRnBiQ2s3WEc1Y2JpQWdJQ0F2THlCMWNHUmhkR1VnY0hKbGRsUmhhV3dnWVc1a0lHTjFjbkpsYm5SVVlXbHNYRzRnSUNBZ2JXRjBjbWw0VjI5eWJHUlViME5sYm5SbGNpQTlJSFJvYVhNdVgyZGxkRTFoZEhKcGVGZHZjbXhrVkc5RFpXNTBaWElvWDIxaGRFRXBPMXh1WEc0Z0lDQWdkR2hwY3k1ZmNISmxkbFJoYVd3dVkyOXdlU2gwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQ2s3WEc0Z0lDQWdkR2hwY3k1ZlkzVnljbVZ1ZEZSaGFXd3VZMjl3ZVNoZmRqTkJMbU52Y0hrb1gyNWxlSFJVWVdsc0tTNWhjSEJzZVUxaGRISnBlRFFvYldGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2lrcE8xeHVYRzRnSUNBZ0x5OGdRWEJ3YkhrZ2NtOTBZWFJwYjI0c0lHTnZiblpsY25RZ2RtVmpkRzl5TXlCMGFHbHVaeUJwYm5SdklHRmpkSFZoYkNCeGRXRjBaWEp1YVc5dVhHNGdJQ0FnTHk4Z1QzSnBaMmx1WVd3Z1ZXNXBWbEpOSUdseklHUnZhVzVuSUdObGJuUmxjaUIxYm1sMElHTmhiR04xYkhWeklHRjBJR2hsY21VZ1luVjBJSGRsSjNKbElHZHZibTVoSUdSdklIUm9hWE1nYjI0Z2JHOWpZV3dnZFc1cGRGeHVJQ0FnSUdOdmJuTjBJSGR2Y214a1UzQmhZMlZKYm1sMGFXRnNUV0YwY21sNFNXNTJJRDBnYldGME5FbHVkbVZ5ZEVOdmJYQmhkQ2hjYmlBZ0lDQWdJRjl0WVhSQkxtTnZjSGtvZEdocGN5NWZjR0Z5Wlc1MFRXRjBjbWw0VjI5eWJHUXBMbTExYkhScGNHeDVLSFJvYVhNdVgybHVhWFJwWVd4TWIyTmhiRTFoZEhKcGVDa3NYRzRnSUNBZ0tUdGNiaUFnSUNCamIyNXpkQ0JoY0hCc2VWSnZkR0YwYVc5dUlEMGdYM0YxWVhSQkxuTmxkRVp5YjIxVmJtbDBWbVZqZEc5eWN5aGNiaUFnSUNBZ0lIUm9hWE11WDJKdmJtVkJlR2x6TEZ4dUlDQWdJQ0FnWDNZelFTNWpiM0I1S0Y5dVpYaDBWR0ZwYkNrdVlYQndiSGxOWVhSeWFYZzBLSGR2Y214a1UzQmhZMlZKYm1sMGFXRnNUV0YwY21sNFNXNTJLUzV1YjNKdFlXeHBlbVVvS1N4Y2JpQWdJQ0FwTzF4dVhHNGdJQ0FnZEdocGN5NWliMjVsTG5GMVlYUmxjbTVwYjI0dVkyOXdlU2gwYUdsekxsOXBibWwwYVdGc1RHOWpZV3hTYjNSaGRHbHZiaWt1YlhWc2RHbHdiSGtvWVhCd2JIbFNiM1JoZEdsdmJpazdYRzVjYmlBZ0lDQXZMeUJYWlNCdVpXVmtJSFJ2SUhWd1pHRjBaU0JwZEhNZ2JXRjBjbWw0VjI5eWJHUWdiV0Z1ZFdGc2JIa3NJSE5wYm1ObElIZGxJSFIzWldGclpXUWdkR2hsSUdKdmJtVWdZbmtnYjNWeUlHaGhibVJjYmlBZ0lDQjBhR2x6TG1KdmJtVXVkWEJrWVhSbFRXRjBjbWw0S0NrN1hHNGdJQ0FnZEdocGN5NWliMjVsTG0xaGRISnBlRmR2Y214a0xtMTFiSFJwY0d4NVRXRjBjbWxqWlhNb2RHaHBjeTVmY0dGeVpXNTBUV0YwY21sNFYyOXliR1FzSUhSb2FYTXVZbTl1WlM1dFlYUnlhWGdwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFUnZJR052Ykd4cGMybHZiaUJ0WVhSb0lHRm5ZV2x1YzNRZ1pYWmxjbmtnWTI5c2JHbGtaWEp6SUdGMGRHRmphR1ZrSUhSdklIUm9hWE1nWW05dVpTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSFJoYVd3Z1ZHaGxJSFJoYVd3Z2VXOTFJSGRoYm5RZ2RHOGdjSEp2WTJWemMxeHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZZMjlzYkdsemFXOXVLSFJoYVd3NklGUklVa1ZGTGxabFkzUnZjak1wT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TG1OdmJHeHBaR1Z5UjNKdmRYQnpMbVp2Y2tWaFkyZ29LR052Ykd4cFpHVnlSM0p2ZFhBcElEMCtJSHRjYmlBZ0lDQWdJR052Ykd4cFpHVnlSM0p2ZFhBdVkyOXNiR2xrWlhKekxtWnZja1ZoWTJnb0tHTnZiR3hwWkdWeUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNRZ1BTQmpiMnhzYVdSbGNpNXphR0Z3WlM1allXeGpkV3hoZEdWRGIyeHNhWE5wYjI0b1kyOXNiR2xrWlhJdWJXRjBjbWw0VjI5eWJHUXNJSFJoYVd3c0lIUm9hWE11YzJWMGRHbHVaM011YUdsMFVtRmthWFZ6TENCZmRqTkJLVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9aR2x6ZENBOElEQXVNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJR2hwZEZ4dUlDQWdJQ0FnSUNBZ0lIUmhhV3d1WVdSa0tGOTJNMEV1YlhWc2RHbHdiSGxUWTJGc1lYSW9MV1JwYzNRcEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklHNXZjbTFoYkdsNlpTQmliMjVsSUd4bGJtZDBhRnh1SUNBZ0lDQWdJQ0FnSUhSaGFXd3VjM1ZpS0Y5M2IzSnNaRk53WVdObFVHOXphWFJwYjI0cExtNXZjbTFoYkdsNlpTZ3BMbTExYkhScGNHeDVVMk5oYkdGeUtIUm9hWE11WDNkdmNteGtVM0JoWTJWQ2IyNWxUR1Z1WjNSb0tTNWhaR1FvWDNkdmNteGtVM0JoWTJWUWIzTnBkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOaGJHTjFiR0YwWlNCMGFHVWdlMEJzYVc1cklGOTNiM0pzWkZOd1lXTmxRbTl1WlV4bGJtZDBhSDB1WEc0Z0lDQXFJRWx1ZEdWdVpHVmtJSFJ2SUdKbElIVnpaV1FnYVc0Z2UwQnNhVzVySUhWd1pHRjBaWDB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5allXeGpWMjl5YkdSVGNHRmpaVUp2Ym1WTVpXNW5kR2dvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdYM1l6UVM1elpYUkdjbTl0VFdGMGNtbDRVRzl6YVhScGIyNG9kR2hwY3k1aWIyNWxMbTFoZEhKcGVGZHZjbXhrS1RzZ0x5OGdaMlYwSUhkdmNteGtJSEJ2YzJsMGFXOXVJRzltSUhSb2FYTXVZbTl1WlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WTJocGJHUXBJSHRjYmlBZ0lDQWdJRjkyTTBJdWMyVjBSbkp2YlUxaGRISnBlRkJ2YzJsMGFXOXVLSFJvYVhNdVkyaHBiR1F1YldGMGNtbDRWMjl5YkdRcE95QXZMeUJuWlhRZ2QyOXliR1FnY0c5emFYUnBiMjRnYjJZZ2RHaHBjeTVqYUdsc1pGeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JmZGpOQ0xtTnZjSGtvZEdocGN5NWZhVzVwZEdsaGJFeHZZMkZzUTJocGJHUlFiM05wZEdsdmJpazdYRzRnSUNBZ0lDQmZkak5DTG1Gd2NHeDVUV0YwY21sNE5DaDBhR2x6TG1KdmJtVXViV0YwY21sNFYyOXliR1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVgzZHZjbXhrVTNCaFkyVkNiMjVsVEdWdVozUm9JRDBnWDNZelFTNXpkV0lvWDNZelFpa3ViR1Z1WjNSb0tDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnYldGMGNtbDRJSFJvWVhRZ1kyOXVkbVZ5ZEhNZ1kyVnVkR1Z5SUhOd1lXTmxJR2x1ZEc4Z2QyOXliR1FnYzNCaFkyVXVYRzRnSUNBcUlFQndZWEpoYlNCMFlYSm5aWFFnVkdGeVoyVjBJRzFoZEhKcGVGeHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZaMlYwVFdGMGNtbDRRMlZ1ZEdWeVZHOVhiM0pzWkNoMFlYSm5aWFE2SUZSSVVrVkZMazFoZEhKcGVEUXBPaUJVU0ZKRlJTNU5ZWFJ5YVhnMElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZlkyVnVkR1Z5S1NCN1hHNGdJQ0FnSUNCMFlYSm5aWFF1WTI5d2VTaDBhR2x6TGw5alpXNTBaWEl1YldGMGNtbDRWMjl5YkdRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwWVhKblpYUXVhV1JsYm5ScGRIa29LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHRnlaMlYwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElHMWhkSEpwZUNCMGFHRjBJR052Ym5abGNuUnpJSGR2Y214a0lITndZV05sSUdsdWRHOGdZMlZ1ZEdWeUlITndZV05sTGx4dUlDQWdLaUJBY0dGeVlXMGdkR0Z5WjJWMElGUmhjbWRsZENCdFlYUnlhWGhjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJkbGRFMWhkSEpwZUZkdmNteGtWRzlEWlc1MFpYSW9kR0Z5WjJWME9pQlVTRkpGUlM1TllYUnlhWGcwS1RvZ1ZFaFNSVVV1VFdGMGNtbDROQ0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYMk5sYm5SbGNpa2dlMXh1SUNBZ0lDQWdkR0Z5WjJWMExtTnZjSGtvS0hSb2FYTXVYMk5sYm5SbGNpNTFjMlZ5UkdGMFlTNXBiblpsY25ObFEyRmphR1ZRY205NGVTQmhjeUJOWVhSeWFYZzBTVzUyWlhKelpVTmhZMmhsS1M1cGJuWmxjbk5sS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR0Z5WjJWMExtbGtaVzUwYVhSNUtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSaGNtZGxkRHRjYmlBZ2ZWeHVmVnh1SWl3aUx5b3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2x4eVhHNURiM0I1Y21sbmFIUWdLR01wSUUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJpNWNjbHh1WEhKY2JsQmxjbTFwYzNOcGIyNGdkRzhnZFhObExDQmpiM0I1TENCdGIyUnBabmtzSUdGdVpDOXZjaUJrYVhOMGNtbGlkWFJsSUhSb2FYTWdjMjltZEhkaGNtVWdabTl5SUdGdWVWeHlYRzV3ZFhKd2IzTmxJSGRwZEdnZ2IzSWdkMmwwYUc5MWRDQm1aV1VnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1F1WEhKY2JseHlYRzVVU0VVZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdYQ0pCVXlCSlUxd2lJRUZPUkNCVVNFVWdRVlZVU0U5U0lFUkpVME5NUVVsTlV5QkJURXdnVjBGU1VrRk9WRWxGVXlCWFNWUklYSEpjYmxKRlIwRlNSQ0JVVHlCVVNFbFRJRk5QUmxSWFFWSkZJRWxPUTB4VlJFbE9SeUJCVEV3Z1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdWeHlYRzVCVGtRZ1JrbFVUa1ZUVXk0Z1NVNGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVpQkNSU0JNU1VGQ1RFVWdSazlTSUVGT1dTQlRVRVZEU1VGTUxDQkVTVkpGUTFRc1hISmNia2xPUkVsU1JVTlVMQ0JQVWlCRFQwNVRSVkZWUlU1VVNVRk1JRVJCVFVGSFJWTWdUMUlnUVU1WklFUkJUVUZIUlZNZ1YwaEJWRk5QUlZaRlVpQlNSVk5WVEZSSlRrY2dSbEpQVFZ4eVhHNU1UMU5USUU5R0lGVlRSU3dnUkVGVVFTQlBVaUJRVWs5R1NWUlRMQ0JYU0VWVVNFVlNJRWxPSUVGT0lFRkRWRWxQVGlCUFJpQkRUMDVVVWtGRFZDd2dUa1ZIVEVsSFJVNURSU0JQVWx4eVhHNVBWRWhGVWlCVVQxSlVTVTlWVXlCQlExUkpUMDRzSUVGU1NWTkpUa2NnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdWVk5GSUU5U1hISmNibEJGVWtaUFVrMUJUa05GSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1V1WEhKY2Jpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xSUNvdlhISmNiaThxSUdkc2IySmhiQ0JTWldac1pXTjBMQ0JRY205dGFYTmxJQ292WEhKY2JseHlYRzUyWVhJZ1pYaDBaVzVrVTNSaGRHbGpjeUE5SUdaMWJtTjBhVzl1S0dRc0lHSXBJSHRjY2x4dUlDQWdJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllnZkh4Y2NseHVJQ0FnSUNBZ0lDQW9leUJmWDNCeWIzUnZYMTg2SUZ0ZElIMGdhVzV6ZEdGdVkyVnZaaUJCY25KaGVTQW1KaUJtZFc1amRHbHZiaUFvWkN3Z1lpa2dleUJrTGw5ZmNISnZkRzlmWHlBOUlHSTdJSDBwSUh4OFhISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdLR1FzSUdJcElIc2dabTl5SUNoMllYSWdjQ0JwYmlCaUtTQnBaaUFvVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0dJc0lIQXBLU0JrVzNCZElEMGdZbHR3WFRzZ2ZUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCbGVIUmxibVJUZEdGMGFXTnpLR1FzSUdJcE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWlhoMFpXNWtjeWhrTENCaUtTQjdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR0lnSVQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCaUlDRTlQU0J1ZFd4c0tWeHlYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRGJHRnpjeUJsZUhSbGJtUnpJSFpoYkhWbElGd2lJQ3NnVTNSeWFXNW5LR0lwSUNzZ1hDSWdhWE1nYm05MElHRWdZMjl1YzNSeWRXTjBiM0lnYjNJZ2JuVnNiRndpS1R0Y2NseHVJQ0FnSUdWNGRHVnVaRk4wWVhScFkzTW9aQ3dnWWlrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCZlh5Z3BJSHNnZEdocGN5NWpiMjV6ZEhKMVkzUnZjaUE5SUdRN0lIMWNjbHh1SUNBZ0lHUXVjSEp2ZEc5MGVYQmxJRDBnWWlBOVBUMGdiblZzYkNBL0lFOWlhbVZqZEM1amNtVmhkR1VvWWlrZ09pQW9YMTh1Y0hKdmRHOTBlWEJsSUQwZ1lpNXdjbTkwYjNSNWNHVXNJRzVsZHlCZlh5Z3BLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUhaaGNpQmZYMkZ6YzJsbmJpQTlJR1oxYm1OMGFXOXVLQ2tnZTF4eVhHNGdJQ0FnWDE5aGMzTnBaMjRnUFNCUFltcGxZM1F1WVhOemFXZHVJSHg4SUdaMWJtTjBhVzl1SUY5ZllYTnphV2R1S0hRcElIdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ6TENCcElEMGdNU3dnYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa2dQQ0J1T3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjeUE5SUdGeVozVnRaVzUwYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJ6S1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLSE1zSUhBcEtTQjBXM0JkSUQwZ2MxdHdYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z1gxOWhjM05wWjI0dVlYQndiSGtvZEdocGN5d2dZWEpuZFcxbGJuUnpLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNtVnpkQ2h6TENCbEtTQjdYSEpjYmlBZ0lDQjJZWElnZENBOUlIdDlPMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjQ0JwYmlCektTQnBaaUFvVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0hNc0lIQXBJQ1ltSUdVdWFXNWtaWGhQWmlod0tTQThJREFwWEhKY2JpQWdJQ0FnSUNBZ2RGdHdYU0E5SUhOYmNGMDdYSEpjYmlBZ0lDQnBaaUFvY3lBaFBTQnVkV3hzSUNZbUlIUjVjR1Z2WmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4eklEMDlQU0JjSW1aMWJtTjBhVzl1WENJcFhISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBc0lIQWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0hNcE95QnBJRHdnY0M1c1pXNW5kR2c3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWlM1cGJtUmxlRTltS0hCYmFWMHBJRHdnTUNBbUppQlBZbXBsWTNRdWNISnZkRzkwZVhCbExuQnliM0JsY25SNVNYTkZiblZ0WlhKaFlteGxMbU5oYkd3b2N5d2djRnRwWFNrcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBXM0JiYVYxZElEMGdjMXR3VzJsZFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdkRHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlpHVmpiM0poZEdVb1pHVmpiM0poZEc5eWN5d2dkR0Z5WjJWMExDQnJaWGtzSUdSbGMyTXBJSHRjY2x4dUlDQWdJSFpoY2lCaklEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFDd2djaUE5SUdNZ1BDQXpJRDhnZEdGeVoyVjBJRG9nWkdWell5QTlQVDBnYm5Wc2JDQS9JR1JsYzJNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0hSaGNtZGxkQ3dnYTJWNUtTQTZJR1JsYzJNc0lHUTdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRkpsWm14bFkzUWdQVDA5SUZ3aWIySnFaV04wWENJZ0ppWWdkSGx3Wlc5bUlGSmxabXhsWTNRdVpHVmpiM0poZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlrZ2NpQTlJRkpsWm14bFkzUXVaR1ZqYjNKaGRHVW9aR1ZqYjNKaGRHOXljeXdnZEdGeVoyVjBMQ0JyWlhrc0lHUmxjMk1wTzF4eVhHNGdJQ0FnWld4elpTQm1iM0lnS0haaGNpQnBJRDBnWkdWamIzSmhkRzl5Y3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lHa3RMU2tnYVdZZ0tHUWdQU0JrWldOdmNtRjBiM0p6VzJsZEtTQnlJRDBnS0dNZ1BDQXpJRDhnWkNoeUtTQTZJR01nUGlBeklEOGdaQ2gwWVhKblpYUXNJR3RsZVN3Z2Npa2dPaUJrS0hSaGNtZGxkQ3dnYTJWNUtTa2dmSHdnY2p0Y2NseHVJQ0FnSUhKbGRIVnliaUJqSUQ0Z015QW1KaUJ5SUNZbUlFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwWVhKblpYUXNJR3RsZVN3Z2Npa3NJSEk3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzQmhjbUZ0S0hCaGNtRnRTVzVrWlhnc0lHUmxZMjl5WVhSdmNpa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDaDBZWEpuWlhRc0lHdGxlU2tnZXlCa1pXTnZjbUYwYjNJb2RHRnlaMlYwTENCclpYa3NJSEJoY21GdFNXNWtaWGdwT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlZ6UkdWamIzSmhkR1VvWTNSdmNpd2daR1Z6WTNKcGNIUnZja2x1TENCa1pXTnZjbUYwYjNKekxDQmpiMjUwWlhoMFNXNHNJR2x1YVhScFlXeHBlbVZ5Y3l3Z1pYaDBjbUZKYm1sMGFXRnNhWHBsY25NcElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHRmpZMlZ3ZENobUtTQjdJR2xtSUNobUlDRTlQU0IyYjJsa0lEQWdKaVlnZEhsd1pXOW1JR1lnSVQwOUlGd2lablZ1WTNScGIyNWNJaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrWjFibU4wYVc5dUlHVjRjR1ZqZEdWa1hDSXBPeUJ5WlhSMWNtNGdaanNnZlZ4eVhHNGdJQ0FnZG1GeUlHdHBibVFnUFNCamIyNTBaWGgwU1c0dWEybHVaQ3dnYTJWNUlEMGdhMmx1WkNBOVBUMGdYQ0puWlhSMFpYSmNJaUEvSUZ3aVoyVjBYQ0lnT2lCcmFXNWtJRDA5UFNCY0luTmxkSFJsY2x3aUlEOGdYQ0p6WlhSY0lpQTZJRndpZG1Gc2RXVmNJanRjY2x4dUlDQWdJSFpoY2lCMFlYSm5aWFFnUFNBaFpHVnpZM0pwY0hSdmNrbHVJQ1ltSUdOMGIzSWdQeUJqYjI1MFpYaDBTVzViWENKemRHRjBhV05jSWwwZ1B5QmpkRzl5SURvZ1kzUnZjaTV3Y205MGIzUjVjR1VnT2lCdWRXeHNPMXh5WEc0Z0lDQWdkbUZ5SUdSbGMyTnlhWEIwYjNJZ1BTQmtaWE5qY21sd2RHOXlTVzRnZkh3Z0tIUmhjbWRsZENBL0lFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvZEdGeVoyVjBMQ0JqYjI1MFpYaDBTVzR1Ym1GdFpTa2dPaUI3ZlNrN1hISmNiaUFnSUNCMllYSWdYeXdnWkc5dVpTQTlJR1poYkhObE8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJR1JsWTI5eVlYUnZjbk11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZMjl1ZEdWNGRDQTlJSHQ5TzF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnWTI5dWRHVjRkRWx1S1NCamIyNTBaWGgwVzNCZElEMGdjQ0E5UFQwZ1hDSmhZMk5sYzNOY0lpQS9JSHQ5SURvZ1kyOXVkR1Y0ZEVsdVczQmRPMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdZMjl1ZEdWNGRFbHVMbUZqWTJWemN5a2dZMjl1ZEdWNGRDNWhZMk5sYzNOYmNGMGdQU0JqYjI1MFpYaDBTVzR1WVdOalpYTnpXM0JkTzF4eVhHNGdJQ0FnSUNBZ0lHTnZiblJsZUhRdVlXUmtTVzVwZEdsaGJHbDZaWElnUFNCbWRXNWpkR2x2YmlBb1ppa2dleUJwWmlBb1pHOXVaU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCaFpHUWdhVzVwZEdsaGJHbDZaWEp6SUdGbWRHVnlJR1JsWTI5eVlYUnBiMjRnYUdGeklHTnZiWEJzWlhSbFpGd2lLVHNnWlhoMGNtRkpibWwwYVdGc2FYcGxjbk11Y0hWemFDaGhZMk5sY0hRb1ppQjhmQ0J1ZFd4c0tTazdJSDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJQ2d3TENCa1pXTnZjbUYwYjNKelcybGRLU2hyYVc1a0lEMDlQU0JjSW1GalkyVnpjMjl5WENJZ1B5QjdJR2RsZERvZ1pHVnpZM0pwY0hSdmNpNW5aWFFzSUhObGREb2daR1Z6WTNKcGNIUnZjaTV6WlhRZ2ZTQTZJR1JsYzJOeWFYQjBiM0piYTJWNVhTd2dZMjl1ZEdWNGRDazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2lZV05qWlhOemIzSmNJaWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUQwOVBTQjJiMmxrSURBcElHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MElEMDlQU0J1ZFd4c0lIeDhJSFI1Y0dWdlppQnlaWE4xYkhRZ0lUMDlJRndpYjJKcVpXTjBYQ0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlBZbXBsWTNRZ1pYaHdaV04wWldSY0lpazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmSUQwZ1lXTmpaWEIwS0hKbGMzVnNkQzVuWlhRcEtTQmtaWE5qY21sd2RHOXlMbWRsZENBOUlGODdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmSUQwZ1lXTmpaWEIwS0hKbGMzVnNkQzV6WlhRcEtTQmtaWE5qY21sd2RHOXlMbk5sZENBOUlGODdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmSUQwZ1lXTmpaWEIwS0hKbGMzVnNkQzVwYm1sMEtTa2dhVzVwZEdsaGJHbDZaWEp6TG5CMWMyZ29YeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLRjhnUFNCaFkyTmxjSFFvY21WemRXeDBLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSm1hV1ZzWkZ3aUtTQnBibWwwYVdGc2FYcGxjbk11Y0hWemFDaGZLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCa1pYTmpjbWx3ZEc5eVcydGxlVjBnUFNCZk8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR2xtSUNoMFlYSm5aWFFwSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBZWEpuWlhRc0lHTnZiblJsZUhSSmJpNXVZVzFsTENCa1pYTmpjbWx3ZEc5eUtUdGNjbHh1SUNBZ0lHUnZibVVnUFNCMGNuVmxPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNuVnVTVzVwZEdsaGJHbDZaWEp6S0hSb2FYTkJjbWNzSUdsdWFYUnBZV3hwZW1WeWN5d2dkbUZzZFdVcElIdGNjbHh1SUNBZ0lIWmhjaUIxYzJWV1lXeDFaU0E5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBeU8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnBibWwwYVdGc2FYcGxjbk11YkdWdVozUm9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVd4MVpTQTlJSFZ6WlZaaGJIVmxJRDhnYVc1cGRHbGhiR2w2WlhKelcybGRMbU5oYkd3b2RHaHBjMEZ5Wnl3Z2RtRnNkV1VwSURvZ2FXNXBkR2xoYkdsNlpYSnpXMmxkTG1OaGJHd29kR2hwYzBGeVp5azdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2RYTmxWbUZzZFdVZ1B5QjJZV3gxWlNBNklIWnZhV1FnTUR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0J5YjNCTFpYa29lQ2tnZTF4eVhHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQjRJRDA5UFNCY0luTjViV0p2YkZ3aUlEOGdlQ0E2SUZ3aVhDSXVZMjl1WTJGMEtIZ3BPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMyVjBSblZ1WTNScGIyNU9ZVzFsS0dZc0lHNWhiV1VzSUhCeVpXWnBlQ2tnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVlXMWxJRDA5UFNCY0luTjViV0p2YkZ3aUtTQnVZVzFsSUQwZ2JtRnRaUzVrWlhOamNtbHdkR2x2YmlBL0lGd2lXMXdpTG1OdmJtTmhkQ2h1WVcxbExtUmxjMk55YVhCMGFXOXVMQ0JjSWwxY0lpa2dPaUJjSWx3aU8xeHlYRzRnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaG1MQ0JjSW01aGJXVmNJaXdnZXlCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc0lIWmhiSFZsT2lCd2NtVm1hWGdnUHlCY0lsd2lMbU52Ym1OaGRDaHdjbVZtYVhnc0lGd2lJRndpTENCdVlXMWxLU0E2SUc1aGJXVWdmU2s3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXRaWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnYldWMFlXUmhkR0ZXWVd4MVpTa2dlMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJTWldac1pXTjBJRDA5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JSFI1Y0dWdlppQlNaV1pzWldOMExtMWxkR0ZrWVhSaElEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElISmxkSFZ5YmlCU1pXWnNaV04wTG0xbGRHRmtZWFJoS0cxbGRHRmtZWFJoUzJWNUxDQnRaWFJoWkdGMFlWWmhiSFZsS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWGRoYVhSbGNpaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpMQ0JRTENCblpXNWxjbUYwYjNJcElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHRmtiM0IwS0haaGJIVmxLU0I3SUhKbGRIVnliaUIyWVd4MVpTQnBibk4wWVc1alpXOW1JRkFnUHlCMllXeDFaU0E2SUc1bGR5QlFLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxLU0I3SUhKbGMyOXNkbVVvZG1Gc2RXVXBPeUI5S1RzZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QW9VQ0I4ZkNBb1VDQTlJRkJ5YjIxcGMyVXBLU2htZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z1puVnNabWxzYkdWa0tIWmhiSFZsS1NCN0lIUnllU0I3SUhOMFpYQW9aMlZ1WlhKaGRHOXlMbTVsZUhRb2RtRnNkV1VwS1RzZ2ZTQmpZWFJqYUNBb1pTa2dleUJ5WldwbFkzUW9aU2s3SUgwZ2ZWeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJSEpsYW1WamRHVmtLSFpoYkhWbEtTQjdJSFJ5ZVNCN0lITjBaWEFvWjJWdVpYSmhkRzl5VzF3aWRHaHliM2RjSWwwb2RtRnNkV1VwS1RzZ2ZTQmpZWFJqYUNBb1pTa2dleUJ5WldwbFkzUW9aU2s3SUgwZ2ZWeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJSE4wWlhBb2NtVnpkV3gwS1NCN0lISmxjM1ZzZEM1a2IyNWxJRDhnY21WemIyeDJaU2h5WlhOMWJIUXVkbUZzZFdVcElEb2dZV1J2Y0hRb2NtVnpkV3gwTG5aaGJIVmxLUzUwYUdWdUtHWjFiR1pwYkd4bFpDd2djbVZxWldOMFpXUXBPeUI5WEhKY2JpQWdJQ0FnSUNBZ2MzUmxjQ2dvWjJWdVpYSmhkRzl5SUQwZ1oyVnVaWEpoZEc5eUxtRndjR3g1S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNZ2ZId2dXMTBwS1M1dVpYaDBLQ2twTzF4eVhHNGdJQ0FnZlNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMmRsYm1WeVlYUnZjaWgwYUdselFYSm5MQ0JpYjJSNUtTQjdYSEpjYmlBZ0lDQjJZWElnWHlBOUlIc2diR0ZpWld3NklEQXNJSE5sYm5RNklHWjFibU4wYVc5dUtDa2dleUJwWmlBb2RGc3dYU0FtSURFcElIUm9jbTkzSUhSYk1WMDdJSEpsZEhWeWJpQjBXekZkT3lCOUxDQjBjbmx6T2lCYlhTd2diM0J6T2lCYlhTQjlMQ0JtTENCNUxDQjBMQ0JuTzF4eVhHNGdJQ0FnY21WMGRYSnVJR2NnUFNCN0lHNWxlSFE2SUhabGNtSW9NQ2tzSUZ3aWRHaHliM2RjSWpvZ2RtVnlZaWd4S1N3Z1hDSnlaWFIxY201Y0lqb2dkbVZ5WWlneUtTQjlMQ0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdLR2RiVTNsdFltOXNMbWwwWlhKaGRHOXlYU0E5SUdaMWJtTjBhVzl1S0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlNrc0lHYzdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQjJaWEppS0c0cElIc2djbVYwZFhKdUlHWjFibU4wYVc5dUlDaDJLU0I3SUhKbGRIVnliaUJ6ZEdWd0tGdHVMQ0IyWFNrN0lIMDdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE4wWlhBb2IzQXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9aaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrZGxibVZ5WVhSdmNpQnBjeUJoYkhKbFlXUjVJR1Y0WldOMWRHbHVaeTVjSWlrN1hISmNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHY2dKaVlnS0djZ1BTQXdMQ0J2Y0Zzd1hTQW1KaUFvWHlBOUlEQXBLU3dnWHlrZ2RISjVJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dZZ1BTQXhMQ0I1SUNZbUlDaDBJRDBnYjNCYk1GMGdKaUF5SUQ4Z2VWdGNJbkpsZEhWeWJsd2lYU0E2SUc5d1d6QmRJRDhnZVZ0Y0luUm9jbTkzWENKZElIeDhJQ2dvZENBOUlIbGJYQ0p5WlhSMWNtNWNJbDBwSUNZbUlIUXVZMkZzYkNoNUtTd2dNQ2tnT2lCNUxtNWxlSFFwSUNZbUlDRW9kQ0E5SUhRdVkyRnNiQ2g1TENCdmNGc3hYU2twTG1SdmJtVXBJSEpsZEhWeWJpQjBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZVNBOUlEQXNJSFFwSUc5d0lEMGdXMjl3V3pCZElDWWdNaXdnZEM1MllXeDFaVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9iM0JiTUYwcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ01Eb2dZMkZ6WlNBeE9pQjBJRDBnYjNBN0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0EwT2lCZkxteGhZbVZzS3lzN0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCdmNGc3hYU3dnWkc5dVpUb2dabUZzYzJVZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ05Ub2dYeTVzWVdKbGJDc3JPeUI1SUQwZ2IzQmJNVjA3SUc5d0lEMGdXekJkT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTnpvZ2IzQWdQU0JmTG05d2N5NXdiM0FvS1RzZ1h5NTBjbmx6TG5CdmNDZ3BPeUJqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFE2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NFb2RDQTlJRjh1ZEhKNWN5d2dkQ0E5SUhRdWJHVnVaM1JvSUQ0Z01DQW1KaUIwVzNRdWJHVnVaM1JvSUMwZ01WMHBJQ1ltSUNodmNGc3dYU0E5UFQwZ05pQjhmQ0J2Y0Zzd1hTQTlQVDBnTWlrcElIc2dYeUE5SURBN0lHTnZiblJwYm5WbE95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzl3V3pCZElEMDlQU0F6SUNZbUlDZ2hkQ0I4ZkNBb2IzQmJNVjBnUGlCMFd6QmRJQ1ltSUc5d1d6RmRJRHdnZEZzelhTa3BLU0I3SUY4dWJHRmlaV3dnUFNCdmNGc3hYVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYjNCYk1GMGdQVDA5SURZZ0ppWWdYeTVzWVdKbGJDQThJSFJiTVYwcElIc2dYeTVzWVdKbGJDQTlJSFJiTVYwN0lIUWdQU0J2Y0RzZ1luSmxZV3M3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RDQW1KaUJmTG14aFltVnNJRHdnZEZzeVhTa2dleUJmTG14aFltVnNJRDBnZEZzeVhUc2dYeTV2Y0hNdWNIVnphQ2h2Y0NrN0lHSnlaV0ZyT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUmJNbDBwSUY4dWIzQnpMbkJ2Y0NncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY4dWRISjVjeTV3YjNBb0tUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2IzQWdQU0JpYjJSNUxtTmhiR3dvZEdocGMwRnlaeXdnWHlrN1hISmNiaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZXlCdmNDQTlJRnMyTENCbFhUc2dlU0E5SURBN0lIMGdabWx1WVd4c2VTQjdJR1lnUFNCMElEMGdNRHNnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h2Y0Zzd1hTQW1JRFVwSUhSb2NtOTNJRzl3V3pGZE95QnlaWFIxY200Z2V5QjJZV3gxWlRvZ2IzQmJNRjBnUHlCdmNGc3hYU0E2SUhadmFXUWdNQ3dnWkc5dVpUb2dkSEoxWlNCOU8xeHlYRzRnSUNBZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdkbUZ5SUY5ZlkzSmxZWFJsUW1sdVpHbHVaeUE5SUU5aWFtVmpkQzVqY21WaGRHVWdQeUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQjJZWElnWkdWell5QTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2JTd2dheWs3WEhKY2JpQWdJQ0JwWmlBb0lXUmxjMk1nZkh3Z0tGd2laMlYwWENJZ2FXNGdaR1Z6WXlBL0lDRnRMbDlmWlhOTmIyUjFiR1VnT2lCa1pYTmpMbmR5YVhSaFlteGxJSHg4SUdSbGMyTXVZMjl1Wm1sbmRYSmhZbXhsS1NrZ2UxeHlYRzRnSUNBZ0lDQWdJR1JsYzJNZ1BTQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1puVnVZM1JwYjI0b0tTQjdJSEpsZEhWeWJpQnRXMnRkT3lCOUlIMDdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYnl3Z2F6SXNJR1JsYzJNcE8xeHlYRzU5S1NBNklDaG1kVzVqZEdsdmJpaHZMQ0J0TENCckxDQnJNaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHc3lJRDA5UFNCMWJtUmxabWx1WldRcElHc3lJRDBnYXp0Y2NseHVJQ0FnSUc5YmF6SmRJRDBnYlZ0clhUdGNjbHh1ZlNrN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5bGVIQnZjblJUZEdGeUtHMHNJRzhwSUh0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdiU2tnYVdZZ0tIQWdJVDA5SUZ3aVpHVm1ZWFZzZEZ3aUlDWW1JQ0ZQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYnl3Z2NDa3BJRjlmWTNKbFlYUmxRbWx1WkdsdVp5aHZMQ0J0TENCd0tUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmZG1Gc2RXVnpLRzhwSUh0Y2NseHVJQ0FnSUhaaGNpQnpJRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JRk41YldKdmJDNXBkR1Z5WVhSdmNpd2diU0E5SUhNZ0ppWWdiMXR6WFN3Z2FTQTlJREE3WEhKY2JpQWdJQ0JwWmlBb2JTa2djbVYwZFhKdUlHMHVZMkZzYkNodktUdGNjbHh1SUNBZ0lHbG1JQ2h2SUNZbUlIUjVjR1Z2WmlCdkxteGxibWQwYUNBOVBUMGdYQ0p1ZFcxaVpYSmNJaWtnY21WMGRYSnVJSHRjY2x4dUlDQWdJQ0FnSUNCdVpYaDBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZJQ1ltSUdrZ1BqMGdieTVzWlc1bmRHZ3BJRzhnUFNCMmIybGtJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSFpoYkhWbE9pQnZJQ1ltSUc5YmFTc3JYU3dnWkc5dVpUb2dJVzhnZlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWh6SUQ4Z1hDSlBZbXBsWTNRZ2FYTWdibTkwSUdsMFpYSmhZbXhsTGx3aUlEb2dYQ0pUZVcxaWIyd3VhWFJsY21GMGIzSWdhWE1nYm05MElHUmxabWx1WldRdVhDSXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpXRmtLRzhzSUc0cElIdGNjbHh1SUNBZ0lIWmhjaUJ0SUQwZ2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUc5YlUzbHRZbTlzTG1sMFpYSmhkRzl5WFR0Y2NseHVJQ0FnSUdsbUlDZ2hiU2tnY21WMGRYSnVJRzg3WEhKY2JpQWdJQ0IyWVhJZ2FTQTlJRzB1WTJGc2JDaHZLU3dnY2l3Z1lYSWdQU0JiWFN3Z1pUdGNjbHh1SUNBZ0lIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NodUlEMDlQU0IyYjJsa0lEQWdmSHdnYmkwdElENGdNQ2tnSmlZZ0lTaHlJRDBnYVM1dVpYaDBLQ2twTG1SdmJtVXBJR0Z5TG5CMWMyZ29jaTUyWVd4MVpTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQmpZWFJqYUNBb1pYSnliM0lwSUhzZ1pTQTlJSHNnWlhKeWIzSTZJR1Z5Y205eUlIMDdJSDFjY2x4dUlDQWdJR1pwYm1Gc2JIa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5SUNZbUlDRnlMbVJ2Ym1VZ0ppWWdLRzBnUFNCcFcxd2ljbVYwZFhKdVhDSmRLU2tnYlM1allXeHNLR2twTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYVc1aGJHeDVJSHNnYVdZZ0tHVXBJSFJvY205M0lHVXVaWEp5YjNJN0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCaGNqdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFQmtaWEJ5WldOaGRHVmtJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzTndjbVZoWkNncElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHRnlJRDBnVzEwc0lHa2dQU0F3T3lCcElEd2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lHRnlJRDBnWVhJdVkyOXVZMkYwS0Y5ZmNtVmhaQ2hoY21kMWJXVnVkSE5iYVYwcEtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCaGNqdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFQmtaWEJ5WldOaGRHVmtJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzTndjbVZoWkVGeWNtRjVjeWdwSUh0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhNZ1BTQXdMQ0JwSUQwZ01Dd2dhV3dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcElEd2dhV3c3SUdrckt5a2djeUFyUFNCaGNtZDFiV1Z1ZEhOYmFWMHViR1Z1WjNSb08xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2NpQTlJRUZ5Y21GNUtITXBMQ0JySUQwZ01Dd2dhU0E5SURBN0lHa2dQQ0JwYkRzZ2FTc3JLVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdFZ1BTQmhjbWQxYldWdWRITmJhVjBzSUdvZ1BTQXdMQ0JxYkNBOUlHRXViR1Z1WjNSb095QnFJRHdnYW13N0lHb3JLeXdnYXlzcktWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVcydGRJRDBnWVZ0cVhUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUkJjbkpoZVNoMGJ5d2dabkp2YlN3Z2NHRmpheWtnZTF4eVhHNGdJQ0FnYVdZZ0tIQmhZMnNnZkh3Z1lYSm5kVzFsYm5SekxteGxibWQwYUNBOVBUMGdNaWtnWm05eUlDaDJZWElnYVNBOUlEQXNJR3dnUFNCbWNtOXRMbXhsYm1kMGFDd2dZWEk3SUdrZ1BDQnNPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1lYSWdmSHdnSVNocElHbHVJR1p5YjIwcEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doWVhJcElHRnlJRDBnUVhKeVlYa3VjSEp2ZEc5MGVYQmxMbk5zYVdObExtTmhiR3dvWm5KdmJTd2dNQ3dnYVNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdGeVcybGRJRDBnWm5KdmJWdHBYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnZEc4dVkyOXVZMkYwS0dGeUlIeDhJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR1p5YjIwcEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhkaGFYUW9kaWtnZTF4eVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNZ2FXNXpkR0Z1WTJWdlppQmZYMkYzWVdsMElEOGdLSFJvYVhNdWRpQTlJSFlzSUhSb2FYTXBJRG9nYm1WM0lGOWZZWGRoYVhRb2RpazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGemVXNWpSMlZ1WlhKaGRHOXlLSFJvYVhOQmNtY3NJRjloY21kMWJXVnVkSE1zSUdkbGJtVnlZWFJ2Y2lrZ2UxeHlYRzRnSUNBZ2FXWWdLQ0ZUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbE41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVJQ0FnSUhaaGNpQm5JRDBnWjJWdVpYSmhkRzl5TG1Gd2NHeDVLSFJvYVhOQmNtY3NJRjloY21kMWJXVnVkSE1nZkh3Z1cxMHBMQ0JwTENCeElEMGdXMTA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhU0E5SUh0OUxDQjJaWEppS0Z3aWJtVjRkRndpS1N3Z2RtVnlZaWhjSW5Sb2NtOTNYQ0lwTENCMlpYSmlLRndpY21WMGRYSnVYQ0lwTENCcFcxTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlYU0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlIUm9hWE03SUgwc0lHazdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQjJaWEppS0c0cElIc2dhV1lnS0dkYmJsMHBJR2xiYmwwZ1BTQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVb1puVnVZM1JwYjI0Z0tHRXNJR0lwSUhzZ2NTNXdkWE5vS0Z0dUxDQjJMQ0JoTENCaVhTa2dQaUF4SUh4OElISmxjM1Z0WlNodUxDQjJLVHNnZlNrN0lIMDdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSEpsYzNWdFpTaHVMQ0IyS1NCN0lIUnllU0I3SUhOMFpYQW9aMXR1WFNoMktTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2MyVjBkR3hsS0hGYk1GMWJNMTBzSUdVcE95QjlJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE4wWlhBb2Npa2dleUJ5TG5aaGJIVmxJR2x1YzNSaGJtTmxiMllnWDE5aGQyRnBkQ0EvSUZCeWIyMXBjMlV1Y21WemIyeDJaU2h5TG5aaGJIVmxMbllwTG5Sb1pXNG9ablZzWm1sc2JDd2djbVZxWldOMEtTQTZJSE5sZEhSc1pTaHhXekJkV3pKZExDQnlLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnWm5Wc1ptbHNiQ2gyWVd4MVpTa2dleUJ5WlhOMWJXVW9YQ0p1WlhoMFhDSXNJSFpoYkhWbEtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjbVZxWldOMEtIWmhiSFZsS1NCN0lISmxjM1Z0WlNoY0luUm9jbTkzWENJc0lIWmhiSFZsS1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2MyVjBkR3hsS0dZc0lIWXBJSHNnYVdZZ0tHWW9kaWtzSUhFdWMyaHBablFvS1N3Z2NTNXNaVzVuZEdncElISmxjM1Z0WlNoeFd6QmRXekJkTENCeFd6QmRXekZkS1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloYzNsdVkwUmxiR1ZuWVhSdmNpaHZLU0I3WEhKY2JpQWdJQ0IyWVhJZ2FTd2djRHRjY2x4dUlDQWdJSEpsZEhWeWJpQnBJRDBnZTMwc0lIWmxjbUlvWENKdVpYaDBYQ0lwTENCMlpYSmlLRndpZEdoeWIzZGNJaXdnWm5WdVkzUnBiMjRnS0dVcElIc2dkR2h5YjNjZ1pUc2dmU2tzSUhabGNtSW9YQ0p5WlhSMWNtNWNJaWtzSUdsYlUzbHRZbTlzTG1sMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHNJR1lwSUhzZ2FWdHVYU0E5SUc5YmJsMGdQeUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z0tIQWdQU0FoY0NrZ1B5QjdJSFpoYkhWbE9pQmZYMkYzWVdsMEtHOWJibDBvZGlrcExDQmtiMjVsT2lCbVlXeHpaU0I5SURvZ1ppQS9JR1lvZGlrZ09pQjJPeUI5SURvZ1pqc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMVpoYkhWbGN5aHZLU0I3WEhKY2JpQWdJQ0JwWmlBb0lWTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSWdhWE1nYm05MElHUmxabWx1WldRdVhDSXBPMXh5WEc0Z0lDQWdkbUZ5SUcwZ1BTQnZXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFN3Z2FUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdElEOGdiUzVqWVd4c0tHOHBJRG9nS0c4Z1BTQjBlWEJsYjJZZ1gxOTJZV3gxWlhNZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lGOWZkbUZzZFdWektHOHBJRG9nYjF0VGVXMWliMnd1YVhSbGNtRjBiM0pkS0Nrc0lHa2dQU0I3ZlN3Z2RtVnlZaWhjSW01bGVIUmNJaWtzSUhabGNtSW9YQ0owYUhKdmQxd2lLU3dnZG1WeVlpaGNJbkpsZEhWeWJsd2lLU3dnYVZ0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcEtUdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIWmxjbUlvYmlrZ2V5QnBXMjVkSUQwZ2IxdHVYU0FtSmlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZXlCMklEMGdiMXR1WFNoMktTd2djMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z2RpNWtiMjVsTENCMkxuWmhiSFZsS1RzZ2ZTazdJSDA3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJR1FzSUhZcElIc2dVSEp2YldselpTNXlaWE52YkhabEtIWXBMblJvWlc0b1puVnVZM1JwYjI0b2Rpa2dleUJ5WlhOdmJIWmxLSHNnZG1Gc2RXVTZJSFlzSUdSdmJtVTZJR1FnZlNrN0lIMHNJSEpsYW1WamRDazdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmJXRnJaVlJsYlhCc1lYUmxUMkpxWldOMEtHTnZiMnRsWkN3Z2NtRjNLU0I3WEhKY2JpQWdJQ0JwWmlBb1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLU0I3SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGpiMjlyWldRc0lGd2ljbUYzWENJc0lIc2dkbUZzZFdVNklISmhkeUI5S1RzZ2ZTQmxiSE5sSUhzZ1kyOXZhMlZrTG5KaGR5QTlJSEpoZHpzZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUdOdmIydGxaRHRjY2x4dWZUdGNjbHh1WEhKY2JuWmhjaUJmWDNObGRFMXZaSFZzWlVSbFptRjFiSFFnUFNCUFltcGxZM1F1WTNKbFlYUmxJRDhnS0daMWJtTjBhVzl1S0c4c0lIWXBJSHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodkxDQmNJbVJsWm1GMWJIUmNJaXdnZXlCbGJuVnRaWEpoWW14bE9pQjBjblZsTENCMllXeDFaVG9nZGlCOUtUdGNjbHh1ZlNrZ09pQm1kVzVqZEdsdmJpaHZMQ0IyS1NCN1hISmNiaUFnSUNCdlcxd2laR1ZtWVhWc2RGd2lYU0E5SUhZN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlwYlhCdmNuUlRkR0Z5S0cxdlpDa2dlMXh5WEc0Z0lDQWdhV1lnS0cxdlpDQW1KaUJ0YjJRdVgxOWxjMDF2WkhWc1pTa2djbVYwZFhKdUlHMXZaRHRjY2x4dUlDQWdJSFpoY2lCeVpYTjFiSFFnUFNCN2ZUdGNjbHh1SUNBZ0lHbG1JQ2h0YjJRZ0lUMGdiblZzYkNrZ1ptOXlJQ2gyWVhJZ2F5QnBiaUJ0YjJRcElHbG1JQ2hySUNFOVBTQmNJbVJsWm1GMWJIUmNJaUFtSmlCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG1oaGMwOTNibEJ5YjNCbGNuUjVMbU5oYkd3b2JXOWtMQ0JyS1NrZ1gxOWpjbVZoZEdWQ2FXNWthVzVuS0hKbGMzVnNkQ3dnYlc5a0xDQnJLVHRjY2x4dUlDQWdJRjlmYzJWMFRXOWtkV3hsUkdWbVlYVnNkQ2h5WlhOMWJIUXNJRzF2WkNrN1hISmNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5cGJYQnZjblJFWldaaGRXeDBLRzF2WkNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJRDhnYlc5a0lEb2dleUJrWldaaGRXeDBPaUJ0YjJRZ2ZUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWTJ4aGMzTlFjbWwyWVhSbFJtbGxiR1JIWlhRb2NtVmpaV2wyWlhJc0lITjBZWFJsTENCcmFXNWtMQ0JtS1NCN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0poWENJZ0ppWWdJV1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHRmpZMlZ6YzI5eUlIZGhjeUJrWldacGJtVmtJSGRwZEdodmRYUWdZU0JuWlhSMFpYSmNJaWs3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhOMFlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ5WldObGFYWmxjaUFoUFQwZ2MzUmhkR1VnZkh3Z0lXWWdPaUFoYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQnlaV0ZrSUhCeWFYWmhkR1VnYldWdFltVnlJR1p5YjIwZ1lXNGdiMkpxWldOMElIZG9iM05sSUdOc1lYTnpJR1JwWkNCdWIzUWdaR1ZqYkdGeVpTQnBkRndpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJyYVc1a0lEMDlQU0JjSW0xY0lpQS9JR1lnT2lCcmFXNWtJRDA5UFNCY0ltRmNJaUEvSUdZdVkyRnNiQ2h5WldObGFYWmxjaWtnT2lCbUlEOGdaaTUyWVd4MVpTQTZJSE4wWVhSbExtZGxkQ2h5WldObGFYWmxjaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1UyVjBLSEpsWTJWcGRtVnlMQ0J6ZEdGMFpTd2dkbUZzZFdVc0lHdHBibVFzSUdZcElIdGNjbHh1SUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW0xY0lpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxCeWFYWmhkR1VnYldWMGFHOWtJR2x6SUc1dmRDQjNjbWwwWVdKc1pWd2lLVHRjY2x4dUlDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltRmNJaUFtSmlBaFppa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxCeWFYWmhkR1VnWVdOalpYTnpiM0lnZDJGeklHUmxabWx1WldRZ2QybDBhRzkxZENCaElITmxkSFJsY2x3aUtUdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjM1JoZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lISmxZMlZwZG1WeUlDRTlQU0J6ZEdGMFpTQjhmQ0FoWmlBNklDRnpkR0YwWlM1b1lYTW9jbVZqWldsMlpYSXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyRnVibTkwSUhkeWFYUmxJSEJ5YVhaaGRHVWdiV1Z0WW1WeUlIUnZJR0Z1SUc5aWFtVmpkQ0IzYUc5elpTQmpiR0Z6Y3lCa2FXUWdibTkwSUdSbFkyeGhjbVVnYVhSY0lpazdYSEpjYmlBZ0lDQnlaWFIxY200Z0tHdHBibVFnUFQwOUlGd2lZVndpSUQ4Z1ppNWpZV3hzS0hKbFkyVnBkbVZ5TENCMllXeDFaU2tnT2lCbUlEOGdaaTUyWVd4MVpTQTlJSFpoYkhWbElEb2djM1JoZEdVdWMyVjBLSEpsWTJWcGRtVnlMQ0IyWVd4MVpTa3BMQ0IyWVd4MVpUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWTJ4aGMzTlFjbWwyWVhSbFJtbGxiR1JKYmloemRHRjBaU3dnY21WalpXbDJaWElwSUh0Y2NseHVJQ0FnSUdsbUlDaHlaV05sYVhabGNpQTlQVDBnYm5Wc2JDQjhmQ0FvZEhsd1pXOW1JSEpsWTJWcGRtVnlJQ0U5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JSFI1Y0dWdlppQnlaV05sYVhabGNpQWhQVDBnWENKbWRXNWpkR2x2Ymx3aUtTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0IxYzJVZ0oybHVKeUJ2Y0dWeVlYUnZjaUJ2YmlCdWIyNHRiMkpxWldOMFhDSXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCemRHRjBaU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnY21WalpXbDJaWElnUFQwOUlITjBZWFJsSURvZ2MzUmhkR1V1YUdGektISmxZMlZwZG1WeUtUdGNjbHh1ZlZ4eVhHNGlMQ0pwYlhCdmNuUWdkSGx3WlNBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhSeVlYWmxjbk5sUVc1alpYTjBiM0p6Um5KdmJWSnZiM1FvYjJKcVpXTjBPaUJVU0ZKRlJTNVBZbXBsWTNRelJDd2dZMkZzYkdKaFkyczZJQ2h2WW1wbFkzUTZJRlJJVWtWRkxrOWlhbVZqZERORUtTQTlQaUIyYjJsa0tUb2dkbTlwWkNCN1hHNGdJR052Ym5OMElHRnVZMlZ6ZEc5eWN6b2dWRWhTUlVVdVQySnFaV04wTTBSYlhTQTlJRnRkTzF4dVhHNGdJR3hsZENCb1pXRmtPaUJVU0ZKRlJTNVBZbXBsWTNRelJDQjhJRzUxYkd3Z1BTQnZZbXBsWTNRN1hHNGdJSGRvYVd4bElDaG9aV0ZrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWVc1alpYTjBiM0p6TG5WdWMyaHBablFvYUdWaFpDazdYRzRnSUNBZ2FHVmhaQ0E5SUdobFlXUXVjR0Z5Wlc1ME8xeHVJQ0I5WEc1Y2JpQWdZVzVqWlhOMGIzSnpMbVp2Y2tWaFkyZ29LR0Z1WTJWemRHOXlLU0E5UGlCN1hHNGdJQ0FnWTJGc2JHSmhZMnNvWVc1alpYTjBiM0lwTzF4dUlDQjlLVHRjYm4xY2JpSXNJaThxS2x4dUlDb2dWSEpoZG1WeWMyVWdZMmhwYkdSeVpXNGdiMllnWjJsMlpXNGdiMkpxWldOMElHRnVaQ0JsZUdWamRYUmxJR2RwZG1WdUlHTmhiR3hpWVdOckxseHVJQ29nVkdobElHZHBkbVZ1SUc5aWFtVmpkQ0JwZEhObGJHWWdkMjl1ZENCaVpTQm5hWFpsYmlCMGJ5QjBhR1VnWTJGc2JHSmhZMnN1WEc0Z0tpQkpaaUIwYUdVZ2NtVjBkWEp1SUhaaGJIVmxJRzltSUhSb1pTQmpZV3hzWW1GamF5QnBjeUJnZEhKMVpXQXNJR2wwSUhkcGJHd2dhR0ZzZENCMGFHVWdkSEpoZG1WeWMyRnNJRzltSUdsMGN5QmphR2xzWkhKbGJpNWNiaUFxSUVCd1lYSmhiU0J2WW1wbFkzUWdRU0J5YjI5MElHOWlhbVZqZEZ4dUlDb2dRSEJoY21GdElHTmhiR3hpWVdOcklFRWdZMkZzYkdKaFkyc2dablZ1WTNScGIyNGdZMkZzYkdWa0lHWnZjaUJsWVdOb0lHTm9hV3hrY21WdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwY21GMlpYSnpaVU5vYVd4a2NtVnVWVzUwYVd4RGIyNWthWFJwYjI1TlpYUW9YRzRnSUc5aWFtVmpkRG9nVkVoU1JVVXVUMkpxWldOME0wUXNYRzRnSUdOaGJHeGlZV05yT2lBb2IySnFaV04wT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ2tnUFQ0Z1ltOXZiR1ZoYml4Y2JpazZJSFp2YVdRZ2UxeHVJQ0J2WW1wbFkzUXVZMmhwYkdSeVpXNHVabTl5UldGamFDZ29ZMmhwYkdRcElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCallXeHNZbUZqYXloamFHbHNaQ2s3WEc0Z0lDQWdhV1lnS0NGeVpYTjFiSFFwSUh0Y2JpQWdJQ0FnSUhSeVlYWmxjbk5sUTJocGJHUnlaVzVWYm5ScGJFTnZibVJwZEdsdmJrMWxkQ2hqYUdsc1pDd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNTlYRzRpTENKcGJYQnZjblFnZEhsd1pTQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwSUgwZ1puSnZiU0FuTGk5V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5Rbk8xeHVhVzF3YjNKMElIc2dkSEpoZG1WeWMyVkJibU5sYzNSdmNuTkdjbTl0VW05dmRDQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdmRISmhkbVZ5YzJWQmJtTmxjM1J2Y25OR2NtOXRVbTl2ZENjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNpQjlJR1p5YjIwZ0p5NHZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVIzSnZkWEFnZlNCbWNtOXRJQ2N1TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNrZHliM1Z3Snp0Y2JtbHRjRzl5ZENCN0lIUnlZWFpsY25ObFEyaHBiR1J5Wlc1VmJuUnBiRU52Ym1ScGRHbHZiazFsZENCOUlHWnliMjBnSnk0dmRYUnBiSE12ZEhKaGRtVnljMlZEYUdsc1pISmxibFZ1ZEdsc1EyOXVaR2wwYVc5dVRXVjBKenRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFZOd2NtbHVaMEp2Ym1WTllXNWhaMlZ5SUh0Y2JpQWdjSEpwZG1GMFpTQmZhbTlwYm5SeklEMGdibVYzSUZObGREeFdVazFUY0hKcGJtZENiMjVsU205cGJuUStLQ2s3WEc0Z0lIQjFZbXhwWXlCblpYUWdhbTlwYm5SektDazZJRk5sZER4V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RK0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhbTlwYm5Sek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhCeVpXTmhkR1ZrSUZWelpTQjdRR3hwYm1zZ2FtOXBiblJ6ZlNCcGJuTjBaV0ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRDQnpjSEpwYm1kQ2IyNWxjeWdwT2lCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQaUI3WEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMVRjSEpwYm1kQ2IyNWxUV0Z1WVdkbGNqb2djM0J5YVc1blFtOXVaWE1nYVhNZ1pHVndjbVZqWVhSbFpDNGdkWE5sSUdwdmFXNTBjeUJwYm5OMFpXRmtMaWNwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgycHZhVzUwY3p0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUWdZMjlzYkdsa1pYSkhjbTkxY0hNb0tUb2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5UjNKdmRYQmJYU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBJRDBnYm1WM0lGTmxkRHhXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKSGNtOTFjRDRvS1R0Y2JpQWdJQ0IwYUdsekxsOXFiMmx1ZEhNdVptOXlSV0ZqYUNnb2MzQnlhVzVuUW05dVpTa2dQVDRnZTF4dUlDQWdJQ0FnYzNCeWFXNW5RbTl1WlM1amIyeHNhV1JsY2tkeWIzVndjeTVtYjNKRllXTm9LQ2hqYjJ4c2FXUmxja2R5YjNWd0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUhObGRDNWhaR1FvWTI5c2JHbGtaWEpIY205MWNDazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z1FYSnlZWGt1Wm5KdmJTaHpaWFFwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQmpiMnhzYVdSbGNuTW9LVG9nVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVcxMGdlMXh1SUNBZ0lHTnZibk4wSUhObGRDQTlJRzVsZHlCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5UGlncE8xeHVJQ0FnSUhSb2FYTXVZMjlzYkdsa1pYSkhjbTkxY0hNdVptOXlSV0ZqYUNnb1kyOXNiR2xrWlhKSGNtOTFjQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXNiR2xrWlhKSGNtOTFjQzVqYjJ4c2FXUmxjbk11Wm05eVJXRmphQ2dvWTI5c2JHbGtaWElwSUQwK0lIdGNiaUFnSUNBZ0lDQWdjMlYwTG1Ga1pDaGpiMnhzYVdSbGNpazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z1FYSnlZWGt1Wm5KdmJTaHpaWFFwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmIySnFaV04wVTNCeWFXNW5RbTl1WlhOTllYQWdQU0J1WlhjZ1RXRndQRlJJVWtWRkxrOWlhbVZqZERORUxDQlRaWFE4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwUGo0b0tUdGNibHh1SUNCd2RXSnNhV01nWVdSa1NtOXBiblFvYW05cGJuUTZJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WDJwdmFXNTBjeTVoWkdRb2FtOXBiblFwTzF4dVhHNGdJQ0FnYkdWMElHOWlhbVZqZEZObGRDQTlJSFJvYVhNdVgyOWlhbVZqZEZOd2NtbHVaMEp2Ym1WelRXRndMbWRsZENocWIybHVkQzVpYjI1bEtUdGNiaUFnSUNCcFppQW9iMkpxWldOMFUyVjBJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJRzlpYW1WamRGTmxkQ0E5SUc1bGR5QlRaWFE4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwUGlncE8xeHVJQ0FnSUNBZ2RHaHBjeTVmYjJKcVpXTjBVM0J5YVc1blFtOXVaWE5OWVhBdWMyVjBLR3B2YVc1MExtSnZibVVzSUc5aWFtVmpkRk5sZENrN1hHNGdJQ0FnZlZ4dUlDQWdJRzlpYW1WamRGTmxkQzVoWkdRb2FtOXBiblFwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRlZ6WlNCN1FHeHBibXNnWVdSa1NtOXBiblI5SUdsdWMzUmxZV1F1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWVdSa1UzQnlhVzVuUW05dVpTaHFiMmx1ZERvZ1ZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MEtUb2dkbTlwWkNCN1hHNGdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtDZFdVazFUY0hKcGJtZENiMjVsVFdGdVlXZGxjam9nWVdSa1UzQnlhVzVuUW05dVpTZ3BJR2x6SUdSbGNISmxZMkYwWldRdUlIVnpaU0JoWkdSS2IybHVkQ2dwSUdsdWMzUmxZV1F1SnlrN1hHNWNiaUFnSUNCMGFHbHpMbUZrWkVwdmFXNTBLR3B2YVc1MEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmtaV3hsZEdWS2IybHVkQ2hxYjJsdWREb2dWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBLVG9nZG05cFpDQjdYRzRnSUNBZ2RHaHBjeTVmYW05cGJuUnpMbVJsYkdWMFpTaHFiMmx1ZENrN1hHNWNiaUFnSUNCamIyNXpkQ0J2WW1wbFkzUlRaWFFnUFNCMGFHbHpMbDl2WW1wbFkzUlRjSEpwYm1kQ2IyNWxjMDFoY0M1blpYUW9hbTlwYm5RdVltOXVaU2toTzF4dUlDQWdJRzlpYW1WamRGTmxkQzVrWld4bGRHVW9hbTlwYm5RcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhCeVpXTmhkR1ZrSUZWelpTQjdRR3hwYm1zZ1pHVnNaWFJsU205cGJuUjlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaR1ZzWlhSbFUzQnlhVzVuUW05dVpTaHFiMmx1ZERvZ1ZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MEtUb2dkbTlwWkNCN1hHNGdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtDZFdVazFUY0hKcGJtZENiMjVsVFdGdVlXZGxjam9nWkdWc1pYUmxVM0J5YVc1blFtOXVaU2dwSUdseklHUmxjSEpsWTJGMFpXUXVJSFZ6WlNCa1pXeGxkR1ZLYjJsdWRDZ3BJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0IwYUdsekxtUmxiR1YwWlVwdmFXNTBLR3B2YVc1MEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnpaWFJKYm1sMFUzUmhkR1VvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzNRZ2MzQnlhVzVuUW05dVpYTlVjbWxsWkNBOUlHNWxkeUJUWlhROFZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MFBpZ3BPMXh1SUNBZ0lHTnZibk4wSUhOd2NtbHVaMEp2Ym1WelJHOXVaU0E5SUc1bGR5QlRaWFE4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwUGlncE8xeHVJQ0FnSUdOdmJuTjBJRzlpYW1WamRGVndaR0YwWldRZ1BTQnVaWGNnVTJWMFBGUklVa1ZGTGs5aWFtVmpkRE5FUGlncE8xeHVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnpjSEpwYm1kQ2IyNWxJRzltSUhSb2FYTXVYMnB2YVc1MGN5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNISnZZMlZ6YzFOd2NtbHVaMEp2Ym1Vb2MzQnlhVzVuUW05dVpTd2djM0J5YVc1blFtOXVaWE5VY21sbFpDd2djM0J5YVc1blFtOXVaWE5FYjI1bExDQnZZbXBsWTNSVmNHUmhkR1ZrTENBb2MzQnlhVzVuUW05dVpTa2dQVDVjYmlBZ0lDQWdJQ0FnYzNCeWFXNW5RbTl1WlM1elpYUkpibWwwVTNSaGRHVW9LU3hjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSEpsYzJWMEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJSE53Y21sdVowSnZibVZ6VkhKcFpXUWdQU0J1WlhjZ1UyVjBQRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRDRvS1R0Y2JpQWdJQ0JqYjI1emRDQnpjSEpwYm1kQ2IyNWxjMFJ2Ym1VZ1BTQnVaWGNnVTJWMFBGWlNUVk53Y21sdVowSnZibVZLYjJsdWRENG9LVHRjYmlBZ0lDQmpiMjV6ZENCdlltcGxZM1JWY0dSaGRHVmtJRDBnYm1WM0lGTmxkRHhVU0ZKRlJTNVBZbXBsWTNRelJENG9LVHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYzNCeWFXNW5RbTl1WlNCdlppQjBhR2x6TGw5cWIybHVkSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0J5YjJObGMzTlRjSEpwYm1kQ2IyNWxLSE53Y21sdVowSnZibVVzSUhOd2NtbHVaMEp2Ym1WelZISnBaV1FzSUhOd2NtbHVaMEp2Ym1WelJHOXVaU3dnYjJKcVpXTjBWWEJrWVhSbFpDd2dLSE53Y21sdVowSnZibVVwSUQwK1hHNGdJQ0FnSUNBZ0lITndjbWx1WjBKdmJtVXVjbVZ6WlhRb0tTeGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklIVndaR0YwWlNoa1pXeDBZVG9nYm5WdFltVnlLVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjM1FnYzNCeWFXNW5RbTl1WlhOVWNtbGxaQ0E5SUc1bGR5QlRaWFE4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwUGlncE8xeHVJQ0FnSUdOdmJuTjBJSE53Y21sdVowSnZibVZ6Ukc5dVpTQTlJRzVsZHlCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQaWdwTzF4dUlDQWdJR052Ym5OMElHOWlhbVZqZEZWd1pHRjBaV1FnUFNCdVpYY2dVMlYwUEZSSVVrVkZMazlpYW1WamRETkVQaWdwTzF4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCemNISnBibWRDYjI1bElHOW1JSFJvYVhNdVgycHZhVzUwY3lrZ2UxeHVJQ0FnSUNBZ0x5OGdkWEJrWVhSbElIUm9aU0J6Y0hKcGJtZGliMjVsWEc0Z0lDQWdJQ0IwYUdsekxsOXdjbTlqWlhOelUzQnlhVzVuUW05dVpTaHpjSEpwYm1kQ2IyNWxMQ0J6Y0hKcGJtZENiMjVsYzFSeWFXVmtMQ0J6Y0hKcGJtZENiMjVsYzBSdmJtVXNJRzlpYW1WamRGVndaR0YwWldRc0lDaHpjSEpwYm1kQ2IyNWxLU0E5UGx4dUlDQWdJQ0FnSUNCemNISnBibWRDYjI1bExuVndaR0YwWlNoa1pXeDBZU2tzWEc0Z0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNBdkx5QjFjR1JoZEdVZ1kyaHBiR1J5Wlc0Z2QyOXliR1FnYldGMGNtbGpaWE5jYmlBZ0lDQWdJQzh2SUdsMElHbHpJSEpsY1hWcGNtVmtJSGRvWlc0Z2RHaGxJSE53Y21sdVp5QmliMjVsSUdOb1lXbHVJR2x6SUhOd1lYSnpaVnh1SUNBZ0lDQWdkSEpoZG1WeWMyVkRhR2xzWkhKbGJsVnVkR2xzUTI5dVpHbDBhVzl1VFdWMEtITndjbWx1WjBKdmJtVXVZbTl1WlN3Z0tHOWlhbVZqZENrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0F2THlCcFppQjBhR1VnYjJKcVpXTjBJR2hoY3lCaGRIUmhZMmhsWkNCemNISnBibWRpYjI1bExDQm9ZV3gwSUhSb1pTQjBjbUYyWlhKellXeGNiaUFnSUNBZ0lDQWdhV1lnS0NoMGFHbHpMbDl2WW1wbFkzUlRjSEpwYm1kQ2IyNWxjMDFoY0M1blpYUW9iMkpxWldOMEtUOHVjMmw2WlNBL1B5QXdLU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQzh2SUc5MGFHVnlkMmx6WlNCMWNHUmhkR1VnYVhSeklIZHZjbXhrSUcxaGRISnBlRnh1SUNBZ0lDQWdJQ0J2WW1wbFkzUXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29abUZzYzJVc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZWd1pHRjBaU0JoSUhOd2NtbHVaeUJpYjI1bExseHVJQ0FnS2lCSlppQjBhR1Z5WlNCaGNtVWdiM1JvWlhJZ2MzQnlhVzVuSUdKdmJtVWdkR2hoZENCaGNtVWdaR1Z3Wlc1a1lXNTBMQ0JwZENCM2FXeHNJSFJ5ZVNCMGJ5QjFjR1JoZEdVZ2RHaGxiU0J5WldOMWNuTnBkbVZzZVM1Y2JpQWdJQ29nU1hRZ2RYQmtZWFJsY3lCdFlYUnlhWGhYYjNKc1pDQnZaaUJoYkd3Z1lXNWpaWE4wYjNKeklHRnVaQ0J0ZVhObGJHWXVYRzRnSUNBcUlFbDBJRzFwWjJoMElIUm9jbTkzSUdGdUlHVnljbTl5SUdsbUlIUm9aWEpsSUdGeVpTQmphWEpqZFd4aGNpQmtaWEJsYm1SbGJtTnBaWE11WEc0Z0lDQXFYRzRnSUNBcUlFbHVkR1Z1WkdWa0lIUnZJR0psSUhWelpXUWdhVzRnZTBCc2FXNXJJSFZ3WkdGMFpYMGdZVzVrSUh0QWJHbHVheUJmY0hKdlkyVnpjMU53Y21sdVowSnZibVY5SUdsMGMyVnNaaUJ5WldOMWNuTnBkbVZzZVM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElITndjbWx1WjBKdmJtVWdRU0J6Y0hKcGJtZENiMjVsSUhsdmRTQjNZVzUwSUhSdklIVndaR0YwWlZ4dUlDQWdLaUJBY0dGeVlXMGdjM0J5YVc1blFtOXVaWE5VY21sbFpDQlRaWFFnYjJZZ2MzQnlhVzVuUW05dVpYTWdkR2hoZENCaGNtVWdZV3h5WldGa2VTQjBjbWxsWkNCMGJ5QmlaU0IxY0dSaGRHVmtYRzRnSUNBcUlFQndZWEpoYlNCemNISnBibWRDYjI1bGMwUnZibVVnVTJWMElHOW1JSE53Y21sdVowSnZibVZ6SUhSb1lYUWdZWEpsSUdGc2NtVmhaSGtnZFhBZ2RHOGdaR0YwWlZ4dUlDQWdLaUJBY0dGeVlXMGdiMkpxWldOMFZYQmtZWFJsWkNCVFpYUWdiMllnYjJKcVpXTjBNMFFnZDJodmMyVWdiV0YwY21sNFYyOXliR1FnYVhNZ2RYQmtZWFJsWkZ4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmNISnZZMlZ6YzFOd2NtbHVaMEp2Ym1Vb1hHNGdJQ0FnYzNCeWFXNW5RbTl1WlRvZ1ZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MExGeHVJQ0FnSUhOd2NtbHVaMEp2Ym1WelZISnBaV1E2SUZObGREeFdVazFUY0hKcGJtZENiMjVsU205cGJuUStMRnh1SUNBZ0lITndjbWx1WjBKdmJtVnpSRzl1WlRvZ1UyVjBQRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRDRzWEc0Z0lDQWdiMkpxWldOMFZYQmtZWFJsWkRvZ1UyVjBQRlJJVWtWRkxrOWlhbVZqZERORVBpeGNiaUFnSUNCallXeHNZbUZqYXpvZ0tITndjbWx1WjBKdmJtVTZJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkQ2tnUFQ0Z2RtOXBaQ3hjYmlBZ0tUb2dkbTlwWkNCN1hHNGdJQ0FnYVdZZ0tITndjbWx1WjBKdmJtVnpSRzl1WlM1b1lYTW9jM0J5YVc1blFtOXVaU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYzNCeWFXNW5RbTl1WlhOVWNtbGxaQzVvWVhNb2MzQnlhVzVuUW05dVpTa3BJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WbEpOVTNCeWFXNW5RbTl1WlUxaGJtRm5aWEk2SUVOcGNtTjFiR0Z5SUdSbGNHVnVaR1Z1WTNrZ1pHVjBaV04wWldRZ2QyaHBiR1VnZFhCa1lYUnBibWNnYzNCeWFXNW5ZbTl1WlhNbktUdGNiaUFnSUNCOVhHNGdJQ0FnYzNCeWFXNW5RbTl1WlhOVWNtbGxaQzVoWkdRb2MzQnlhVzVuUW05dVpTazdYRzVjYmlBZ0lDQmpiMjV6ZENCa1pYQlBZbXBsWTNSeklEMGdkR2hwY3k1ZloyVjBSR1Z3Wlc1a1pXNWphV1Z6S0hOd2NtbHVaMEp2Ym1VcE8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1pHVndUMkpxWldOMElHOW1JR1JsY0U5aWFtVmpkSE1wSUh0Y2JpQWdJQ0FnSUhSeVlYWmxjbk5sUVc1alpYTjBiM0p6Um5KdmJWSnZiM1FvWkdWd1QySnFaV04wTENBb1pHVndUMkpxWldOMFFXNWpaWE4wYjNJcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiMkpxWldOMFUyVjBJRDBnZEdocGN5NWZiMkpxWldOMFUzQnlhVzVuUW05dVpYTk5ZWEF1WjJWMEtHUmxjRTlpYW1WamRFRnVZMlZ6ZEc5eUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0c5aWFtVmpkRk5sZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnWkdWd1UzQnlhVzVuUW05dVpTQnZaaUJ2WW1wbFkzUlRaWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzQnliMk5sYzNOVGNISnBibWRDYjI1bEtHUmxjRk53Y21sdVowSnZibVVzSUhOd2NtbHVaMEp2Ym1WelZISnBaV1FzSUhOd2NtbHVaMEp2Ym1WelJHOXVaU3dnYjJKcVpXTjBWWEJrWVhSbFpDd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2hiMkpxWldOMFZYQmtZWFJsWkM1b1lYTW9aR1Z3VDJKcVpXTjBRVzVqWlhOMGIzSXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdkWEJrWVhSbElHMWhkSEpwZUNCdlppQnViMjR0YzNCeWFXNW5ZbTl1WlZ4dUlDQWdJQ0FnSUNBZ0lHUmxjRTlpYW1WamRFRnVZMlZ6ZEc5eUxuVndaR0YwWlZkdmNteGtUV0YwY21sNEtHWmhiSE5sTENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2IySnFaV04wVlhCa1lYUmxaQzVoWkdRb1pHVndUMkpxWldOMFFXNWpaWE4wYjNJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUIxY0dSaGRHVWdiWGtnYldGMGNtbDRYRzRnSUNBZ2MzQnlhVzVuUW05dVpTNWliMjVsTG5Wd1pHRjBaVTFoZEhKcGVDZ3BPMXh1SUNBZ0lITndjbWx1WjBKdmJtVXVZbTl1WlM1MWNHUmhkR1ZYYjNKc1pFMWhkSEpwZUNobVlXeHpaU3dnWm1Gc2MyVXBPMXh1WEc0Z0lDQWdZMkZzYkdKaFkyc29jM0J5YVc1blFtOXVaU2s3WEc1Y2JpQWdJQ0J2WW1wbFkzUlZjR1JoZEdWa0xtRmtaQ2h6Y0hKcGJtZENiMjVsTG1KdmJtVXBPMXh1WEc0Z0lDQWdjM0J5YVc1blFtOXVaWE5FYjI1bExtRmtaQ2h6Y0hKcGJtZENiMjVsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lTQnpaWFFnYjJZZ2IySnFaV04wY3lCMGFHRjBJR0Z5WlNCa1pYQmxibVJoYm5RZ2IyWWdaMmwyWlc0Z2MzQnlhVzVuSUdKdmJtVXVYRzRnSUNBcUlFQndZWEpoYlNCemNISnBibWRDYjI1bElFRWdjM0J5YVc1bklHSnZibVZjYmlBZ0lDb2dRSEpsZEhWeWJpQkJJSE5sZENCdlppQnZZbXBsWTNSeklIUm9ZWFFnWVhKbElHUmxjR1Z1WkdGdWRDQnZaaUJuYVhabGJpQnpjSEpwYm1jZ1ltOXVaVnh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmWjJWMFJHVndaVzVrWlc1amFXVnpLSE53Y21sdVowSnZibVU2SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZENrNklGTmxkRHhVU0ZKRlJTNVBZbXBsWTNRelJENGdlMXh1SUNBZ0lHTnZibk4wSUhObGRDQTlJRzVsZHlCVFpYUThWRWhTUlVVdVQySnFaV04wTTBRK0tDazdYRzVjYmlBZ0lDQmpiMjV6ZENCd1lYSmxiblFnUFNCemNISnBibWRDYjI1bExtSnZibVV1Y0dGeVpXNTBPMXh1SUNBZ0lHbG1JQ2h3WVhKbGJuUXBJSHRjYmlBZ0lDQWdJSE5sZEM1aFpHUW9jR0Z5Wlc1MEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCemNISnBibWRDYjI1bExtTnZiR3hwWkdWeVIzSnZkWEJ6TG1admNrVmhZMmdvS0dOdmJHeHBaR1Z5UjNKdmRYQXBJRDArSUh0Y2JpQWdJQ0FnSUdOdmJHeHBaR1Z5UjNKdmRYQXVZMjlzYkdsa1pYSnpMbVp2Y2tWaFkyZ29LR052Ykd4cFpHVnlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lITmxkQzVoWkdRb1kyOXNiR2xrWlhJcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2MyVjBPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnZEhsd1pTQXFJR0Z6SUZZd1ZsSk5JR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20wdE1DNHdKenRjYm1sdGNHOXlkQ0IwZVhCbElDb2dZWE1nVmpGVGNISnBibWRDYjI1bFUyTm9aVzFoSUdaeWIyMGdKMEJ3YVhocGRpOTBlWEJsY3kxMmNtMWpMWE53Y21sdVoySnZibVV0TVM0d0p6dGNibWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjB4VVJpd2dSMHhVUmt4dllXUmxjbEJzZFdkcGJpd2dSMHhVUmxCaGNuTmxjaUI5SUdaeWIyMGdKM1JvY21WbEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5U0dWc2NHVnlMQ0JXVWsxVGNISnBibWRDYjI1bFNtOXBiblJJWld4d1pYSWdmU0JtY205dElDY3VMMmhsYkhCbGNuTW5PMXh1YVcxd2IzSjBJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeUlIMGdabkp2YlNBbkxpOVdVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEluTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKSGNtOTFjQ0I5SUdaeWIyMGdKeTR2VmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVIzSnZkWEFuTzF4dWFXMXdiM0owSUhzZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWRFlYQnpkV3hsSUgwZ1puSnZiU0FuTGk5V1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1VuTzF4dWFXMXdiM0owSUhzZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWVGNHaGxjbVVnZlNCbWNtOXRJQ2N1TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsVTNCb1pYSmxKenRjYm1sdGNHOXlkQ0I3SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZENCOUlHWnliMjBnSnk0dlZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5VM0J5YVc1blFtOXVaVXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1nZlNCbWNtOXRJQ2N1TDFaU1RWTndjbWx1WjBKdmJtVk1iMkZrWlhKUWJIVm5hVzVQY0hScGIyNXpKenRjYm1sdGNHOXlkQ0I3SUZaU1RWTndjbWx1WjBKdmJtVk5ZVzVoWjJWeUlIMGdabkp2YlNBbkxpOVdVazFUY0hKcGJtZENiMjVsVFdGdVlXZGxjaWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRk5sZEhScGJtZHpJSDBnWm5KdmJTQW5MaTlXVWsxVGNISnBibWRDYjI1bFNtOXBiblJUWlhSMGFXNW5jeWM3WEc1cGJYQnZjblFnZXlCSFRGUkdJR0Z6SUVkTVZFWlRZMmhsYldFZ2ZTQm1jbTl0SUNkQVoyeDBaaTEwY21GdWMyWnZjbTB2WTI5eVpTYzdYRzVjYmk4cUtseHVJQ29nVUc5emMybGliR1VnYzNCbFl5QjJaWEp6YVc5dWN5QnBkQ0J5WldOdloyNXBlbVZ6TGx4dUlDb3ZYRzVqYjI1emRDQlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUSUQwZ2JtVjNJRk5sZENoYkp6RXVNQ2NzSUNjeExqQXRZbVYwWVNkZEtUdGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVk53Y21sdVowSnZibVZNYjJGa1pYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QkhURlJHVEc5aFpHVnlVR3gxWjJsdUlIdGNiaUFnY0hWaWJHbGpJSE4wWVhScFl5QnlaV0ZrYjI1c2VTQkZXRlJGVGxOSlQwNWZUa0ZOUlNBOUlDZFdVazFEWDNOd2NtbHVaMEp2Ym1Vbk8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVGNHVmphV1o1SUdGdUlFOWlhbVZqZERORUlIUnZJR0ZrWkNCN1FHeHBibXNnVmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwU0dWc2NHVnlmU0J6TGx4dUlDQWdLaUJKWmlCdWIzUWdjM0JsWTJsbWFXVmtMQ0JvWld4d1pYSWdkMmxzYkNCdWIzUWdZbVVnWTNKbFlYUmxaQzVjYmlBZ0lDb2dTV1lnWUhKbGJtUmxjazl5WkdWeVlDQnBjeUJ6WlhRZ2RHOGdkR2hsSUhKdmIzUXNJR2hsYkhCbGNuTWdkMmxzYkNCamIzQjVJSFJvWlNCellXMWxJR0J5Wlc1a1pYSlBjbVJsY21BZ0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHcHZhVzUwU0dWc2NHVnlVbTl2ZEQ4NklGUklVa1ZGTGs5aWFtVmpkRE5FTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJUY0dWamFXWjVJR0Z1SUU5aWFtVmpkRE5FSUhSdklHRmtaQ0I3UUd4cGJtc2dWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBTR1ZzY0dWeWZTQnpMbHh1SUNBZ0tpQkpaaUJ1YjNRZ2MzQmxZMmxtYVdWa0xDQm9aV3h3WlhJZ2QybHNiQ0J1YjNRZ1ltVWdZM0psWVhSbFpDNWNiaUFnSUNvZ1NXWWdZSEpsYm1SbGNrOXlaR1Z5WUNCcGN5QnpaWFFnZEc4Z2RHaGxJSEp2YjNRc0lHaGxiSEJsY25NZ2QybHNiQ0JqYjNCNUlIUm9aU0J6WVcxbElHQnlaVzVrWlhKUGNtUmxjbUFnTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOdmJHeHBaR1Z5U0dWc2NHVnlVbTl2ZEQ4NklGUklVa1ZGTGs5aWFtVmpkRE5FTzF4dVhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQndZWEp6WlhJNklFZE1WRVpRWVhKelpYSTdYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnVZVzFsS0NrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJRlpTVFZOd2NtbHVaMEp2Ym1WTWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5YzJWeU9pQkhURlJHVUdGeWMyVnlMQ0J2Y0hScGIyNXpQem9nVmxKTlUzQnlhVzVuUW05dVpVeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTXBJSHRjYmlBZ0lDQjBhR2x6TG5CaGNuTmxjaUE5SUhCaGNuTmxjanRjYmx4dUlDQWdJSFJvYVhNdWFtOXBiblJJWld4d1pYSlNiMjkwSUQwZ2IzQjBhVzl1Y3o4dWFtOXBiblJJWld4d1pYSlNiMjkwTzF4dUlDQWdJSFJvYVhNdVkyOXNiR2xrWlhKSVpXeHdaWEpTYjI5MElEMGdiM0IwYVc5dWN6OHVZMjlzYkdsa1pYSklaV3h3WlhKU2IyOTBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklHRm1kR1Z5VW05dmRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1oyeDBaaTUxYzJWeVJHRjBZUzUyY20xVGNISnBibWRDYjI1bFRXRnVZV2RsY2lBOUlHRjNZV2wwSUhSb2FYTXVYMmx0Y0c5eWRDaG5iSFJtS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpiWEJ2Y25RZ2MzQnlhVzVuSUdKdmJtVnpJR1p5YjIwZ1lTQkhURlJHSUdGdVpDQnlaWFIxY200Z1lTQjdRR3hwYm1zZ1ZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSjlMbHh1SUNBZ0tpQkpkQ0J0YVdkb2RDQnlaWFIxY200Z1lHNTFiR3hnSUdsdWMzUmxZV1FnZDJobGJpQnBkQ0JrYjJWeklHNXZkQ0J1WldWa0lIUnZJR0psSUdOeVpXRjBaV1FnYjNJZ2MyOXRaWFJvYVc1bklHZHZJSGR5YjI1bkxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdaMngwWmlCQklIQmhjbk5sWkNCeVpYTjFiSFFnYjJZZ1IweFVSaUIwWVd0bGJpQm1jbTl0SUVkTVZFWk1iMkZrWlhKY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDJsdGNHOXlkQ2huYkhSbU9pQkhURlJHS1RvZ1VISnZiV2x6WlR4V1VrMVRjSEpwYm1kQ2IyNWxUV0Z1WVdkbGNpQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0IyTVZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVgzWXhTVzF3YjNKMEtHZHNkR1lwTzF4dUlDQWdJR2xtSUNoMk1WSmxjM1ZzZENBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZGpGU1pYTjFiSFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RqQlNaWE4xYkhRZ1BTQmhkMkZwZENCMGFHbHpMbDkyTUVsdGNHOXlkQ2huYkhSbUtUdGNiaUFnSUNCcFppQW9kakJTWlhOMWJIUWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWXdVbVZ6ZFd4ME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCZmRqRkpiWEJ2Y25Rb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThWbEpOVTNCeWFXNW5RbTl1WlUxaGJtRm5aWElnZkNCdWRXeHNQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUdkc2RHWXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUM4dklHVmhjbXg1SUdGaWIzSjBJR2xtSUdsMElHUnZaWE51SjNRZ2RYTmxJSE53Y21sdVp5QmliMjVsYzF4dUlDQWdJR052Ym5OMElHbHpVM0J5YVc1blFtOXVaVlZ6WldRZ1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5OVmMyVmtQeTVwYm1SbGVFOW1LRlpTVFZOd2NtbHVaMEp2Ym1WTWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVVcElDRTlQU0F0TVR0Y2JpQWdJQ0JwWmlBb0lXbHpVM0J5YVc1blFtOXVaVlZ6WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUcxaGJtRm5aWElnUFNCdVpYY2dWbEpOVTNCeWFXNW5RbTl1WlUxaGJtRm5aWElvS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSFJvY21WbFRtOWtaWE02SUZSSVVrVkZMazlpYW1WamRETkVXMTBnUFNCaGQyRnBkQ0JuYkhSbUxuQmhjbk5sY2k1blpYUkVaWEJsYm1SbGJtTnBaWE1vSjI1dlpHVW5LVHRjYmx4dUlDQWdJR052Ym5OMElHVjRkR1Z1YzJsdmJpQTlJR3B6YjI0dVpYaDBaVzV6YVc5dWN6OHVXMVpTVFZOd2NtbHVaMEp2Ym1WTWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVWZElHRnpYRzRnSUNBZ0lDQjhJRll4VTNCeWFXNW5RbTl1WlZOamFHVnRZUzVXVWsxRFUzQnlhVzVuUW05dVpWeHVJQ0FnSUNBZ2ZDQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2FXWWdLQ0ZsZUhSbGJuTnBiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSE53WldOV1pYSnphVzl1SUQwZ1pYaDBaVzV6YVc5dUxuTndaV05XWlhKemFXOXVPMXh1SUNBZ0lHbG1JQ2doVUU5VFUwbENURVZmVTFCRlExOVdSVkpUU1U5T1V5NW9ZWE1vYzNCbFkxWmxjbk5wYjI0cEtTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUdCV1VrMVRjSEpwYm1kQ2IyNWxURzloWkdWeVVHeDFaMmx1T2lCVmJtdHViM2R1SUNSN1ZsSk5VM0J5YVc1blFtOXVaVXh2WVdSbGNsQnNkV2RwYmk1RldGUkZUbE5KVDA1ZlRrRk5SWDBnYzNCbFkxWmxjbk5wYjI0Z1hDSWtlM053WldOV1pYSnphVzl1ZlZ3aVlDeGNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCamIyeHNhV1JsY25NZ1BTQmxlSFJsYm5OcGIyNHVZMjlzYkdsa1pYSnpQeTV0WVhBb0tITmphR1Z0WVVOdmJHeHBaR1Z5TENCcFEyOXNiR2xrWlhJcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCMGFISmxaVTV2WkdWelczTmphR1Z0WVVOdmJHeHBaR1Z5TG01dlpHVWhYVHRjYmlBZ0lDQWdJR052Ym5OMElITmphR1Z0WVZOb1lYQmxJRDBnYzJOb1pXMWhRMjlzYkdsa1pYSXVjMmhoY0dVaE8xeHVYRzRnSUNBZ0lDQnBaaUFvYzJOb1pXMWhVMmhoY0dVdWMzQm9aWEpsS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYlhCdmNuUlRjR2hsY21WRGIyeHNhV1JsY2lodWIyUmxMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1jMlYwT2lCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncExtWnliMjFCY25KaGVTaHpZMmhsYldGVGFHRndaUzV6Y0dobGNtVXViMlptYzJWMElEOC9JRnN3TGpBc0lEQXVNQ3dnTUM0d1hTa3NYRzRnSUNBZ0lDQWdJQ0FnY21Ga2FYVnpPaUJ6WTJobGJXRlRhR0Z3WlM1emNHaGxjbVV1Y21Ga2FYVnpJRDgvSURBdU1DeGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hOamFHVnRZVk5vWVhCbExtTmhjSE4xYkdVcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdGNHOXlkRU5oY0hOMWJHVkRiMnhzYVdSbGNpaHViMlJsTENCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptYzJWME9pQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BMbVp5YjIxQmNuSmhlU2h6WTJobGJXRlRhR0Z3WlM1allYQnpkV3hsTG05bVpuTmxkQ0EvUHlCYk1DNHdMQ0F3TGpBc0lEQXVNRjBwTEZ4dUlDQWdJQ0FnSUNBZ0lISmhaR2wxY3pvZ2MyTm9aVzFoVTJoaGNHVXVZMkZ3YzNWc1pTNXlZV1JwZFhNZ1B6OGdNQzR3TEZ4dUlDQWdJQ0FnSUNBZ0lIUmhhV3c2SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrdVpuSnZiVUZ5Y21GNUtITmphR1Z0WVZOb1lYQmxMbU5oY0hOMWJHVXVkR0ZwYkNBL1B5QmJNQzR3TENBd0xqQXNJREF1TUYwcExGeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JXVWsxVGNISnBibWRDYjI1bFRHOWhaR1Z5VUd4MVoybHVPaUJVYUdVZ1kyOXNiR2xrWlhJZ0l5UjdhVU52Ykd4cFpHVnlmU0JvWVhNZ2JtOGdkbUZzYVdRZ2MyaGhjR1ZnS1R0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR052Ykd4cFpHVnlSM0p2ZFhCeklEMGdaWGgwWlc1emFXOXVMbU52Ykd4cFpHVnlSM0p2ZFhCelB5NXRZWEFvWEc0Z0lDQWdJQ0FvYzJOb1pXMWhRMjlzYkdsa1pYSkhjbTkxY0N3Z2FVTnZiR3hwWkdWeVIzSnZkWEFwT2lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSkhjbTkxY0NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZiSE1nUFNBb2MyTm9aVzFoUTI5c2JHbGtaWEpIY205MWNDNWpiMnhzYVdSbGNuTWdQejhnVzEwcExtMWhjQ2dvYVVOdmJHeHBaR1Z5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZMjlzSUQwZ1kyOXNiR2xrWlhKelB5NWJhVU52Ykd4cFpHVnlYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hqYjJ3Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmdWbEpOVTNCeWFXNW5RbTl1WlV4dllXUmxjbEJzZFdkcGJqb2dWR2hsSUdOdmJHeHBaR1Z5UjNKdmRYQWdJeVI3YVVOdmJHeHBaR1Z5UjNKdmRYQjlJR0YwZEdWdGNIUmxaQ0IwYnlCMWMyVWdZU0JqYjJ4c2FXUmxjaUFqSkh0cFEyOXNiR2xrWlhKOUlHSjFkQ0J1YjNRZ1ptOTFibVJnTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjlzTzF4dUlDQWdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJHeHBaR1Z5Y3pvZ1kyOXNjeXhjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxPaUJ6WTJobGJXRkRiMnhzYVdSbGNrZHliM1Z3TG01aGJXVXNYRzRnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JsZUhSbGJuTnBiMjR1YzNCeWFXNW5jejh1Wm05eVJXRmphQ2dvYzJOb1pXMWhVM0J5YVc1bkxDQnBVM0J5YVc1bktTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQnpZMmhsYldGS2IybHVkSE1nUFNCelkyaGxiV0ZUY0hKcGJtY3VhbTlwYm5Sek8xeHVYRzRnSUNBZ0lDQXZMeUJ3Y21Wd1lYSmxJR052Ykd4cFpHVnljMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyOXNiR2xrWlhKSGNtOTFjSE5HYjNKVGNISnBibWNnUFNCelkyaGxiV0ZUY0hKcGJtY3VZMjlzYkdsa1pYSkhjbTkxY0hNL0xtMWhjQ2dvYVVOdmJHeHBaR1Z5UjNKdmRYQXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWjNKdmRYQWdQU0JqYjJ4c2FXUmxja2R5YjNWd2N6OHVXMmxEYjJ4c2FXUmxja2R5YjNWd1hUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1ozSnZkWEFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQWdJR0JXVWsxVGNISnBibWRDYjI1bFRHOWhaR1Z5VUd4MVoybHVPaUJVYUdVZ2MzQnlhVzVuSUNNa2UybFRjSEpwYm1kOUlHRjBkR1Z0Y0hSbFpDQjBieUIxYzJVZ1lTQmpiMnhzYVdSbGNrZHliM1Z3SUNSN2FVTnZiR3hwWkdWeVIzSnZkWEI5SUdKMWRDQnViM1FnWm05MWJtUmdMRnh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaM0p2ZFhBN1hHNGdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ1kyVnVkR1Z5SUQwZ2MyTm9aVzFoVTNCeWFXNW5MbU5sYm5SbGNpQWhQU0J1ZFd4c0lEOGdkR2h5WldWT2IyUmxjMXR6WTJobGJXRlRjSEpwYm1jdVkyVnVkR1Z5WFNBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lDQWdiR1YwSUhCeVpYWlRZMmhsYldGS2IybHVkRG9nVmpGVGNISnBibWRDYjI1bFUyTm9aVzFoTGxOd2NtbHVaMEp2Ym1WS2IybHVkQ0I4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUhOamFHVnRZVXB2YVc1MGN5NW1iM0pGWVdOb0tDaHpZMmhsYldGS2IybHVkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvY0hKbGRsTmphR1Z0WVVwdmFXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjSEpsY0dGeVpTQnViMlJsWEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYm05a1pVbHVaR1Y0SUQwZ2NISmxkbE5qYUdWdFlVcHZhVzUwTG01dlpHVTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdibTlrWlNBOUlIUm9jbVZsVG05a1pYTmJibTlrWlVsdVpHVjRYVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYUdsc1pFbHVaR1Y0SUQwZ2MyTm9aVzFoU205cGJuUXVibTlrWlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamFHbHNaQ0E5SUhSb2NtVmxUbTlrWlhOYlkyaHBiR1JKYm1SbGVGMDdYRzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QndjbVZ3WVhKbElITmxkSFJwYm1kY2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCelpYUjBhVzVuT2lCUVlYSjBhV0ZzUEZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEZObGRIUnBibWR6UGlBOUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdocGRGSmhaR2wxY3pvZ2NISmxkbE5qYUdWdFlVcHZhVzUwTG1ocGRGSmhaR2wxY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1J5WVdkR2IzSmpaVG9nY0hKbGRsTmphR1Z0WVVwdmFXNTBMbVJ5WVdkR2IzSmpaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHZHlZWFpwZEhsUWIzZGxjam9nY0hKbGRsTmphR1Z0WVVwdmFXNTBMbWR5WVhacGRIbFFiM2RsY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wYVdabWJtVnpjem9nY0hKbGRsTmphR1Z0WVVwdmFXNTBMbk4wYVdabWJtVnpjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHZHlZWFpwZEhsRWFYSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFpUWTJobGJXRktiMmx1ZEM1bmNtRjJhWFI1UkdseUlDRTlJRzUxYkd4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDa3Vabkp2YlVGeWNtRjVLSEJ5WlhaVFkyaGxiV0ZLYjJsdWRDNW5jbUYyYVhSNVJHbHlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QmpjbVZoZEdVZ2MzQnlhVzVuSUdKdmJtVnpYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhbTlwYm5RZ1BTQjBhR2x6TGw5cGJYQnZjblJLYjJsdWRDaHViMlJsTENCamFHbHNaQ3dnYzJWMGRHbHVaeXdnWTI5c2JHbGtaWEpIY205MWNITkdiM0pUY0hKcGJtY3BPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGpaVzUwWlhJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdwdmFXNTBMbU5sYm5SbGNpQTlJR05sYm5SbGNqdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnRZVzVoWjJWeUxtRmtaRXB2YVc1MEtHcHZhVzUwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEJ5WlhaVFkyaGxiV0ZLYjJsdWRDQTlJSE5qYUdWdFlVcHZhVzUwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNBdkx5QnBibWwwSUhOd2NtbHVaeUJpYjI1bGMxeHVJQ0FnSUcxaGJtRm5aWEl1YzJWMFNXNXBkRk4wWVhSbEtDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2JXRnVZV2RsY2p0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDNZd1NXMXdiM0owS0dkc2RHWTZJRWRNVkVZcE9pQlFjbTl0YVhObFBGWlNUVk53Y21sdVowSnZibVZOWVc1aFoyVnlJSHdnYm5Wc2JENGdlMXh1SUNBZ0lHTnZibk4wSUdwemIyNGdQU0JuYkhSbUxuQmhjbk5sY2k1cWMyOXVJR0Z6SUVkTVZFWlRZMmhsYldFdVNVZE1WRVk3WEc1Y2JpQWdJQ0F2THlCbFlYSnNlU0JoWW05eWRDQnBaaUJwZENCa2IyVnpiaWQwSUhWelpTQjJjbTFjYmlBZ0lDQmpiMjV6ZENCcGMxWlNUVlZ6WldRZ1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5OVmMyVmtQeTVwYm1SbGVFOW1LQ2RXVWswbktTQWhQVDBnTFRFN1hHNGdJQ0FnYVdZZ0tDRnBjMVpTVFZWelpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdWaGNteDVJR0ZpYjNKMElHbG1JR2wwSUdSdlpYTnVKM1FnYUdGMlpTQmliMjVsSUdkeWIzVndjMXh1SUNBZ0lHTnZibk4wSUdWNGRHVnVjMmx2YmlBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVd5ZFdVazBuWFNCaGN5QldNRlpTVFM1V1VrMGdmQ0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdZMjl1YzNRZ2MyTm9aVzFoVTJWamIyNWtZWEo1UVc1cGJXRjBhVzl1SUQwZ1pYaDBaVzV6YVc5dVB5NXpaV052Ym1SaGNubEJibWx0WVhScGIyNDdYRzRnSUNBZ2FXWWdLQ0Z6WTJobGJXRlRaV052Ym1SaGNubEJibWx0WVhScGIyNHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITmphR1Z0WVVKdmJtVkhjbTkxY0hNZ1BTQnpZMmhsYldGVFpXTnZibVJoY25sQmJtbHRZWFJwYjI0L0xtSnZibVZIY205MWNITTdYRzRnSUNBZ2FXWWdLQ0Z6WTJobGJXRkNiMjVsUjNKdmRYQnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnRZVzVoWjJWeUlEMGdibVYzSUZaU1RWTndjbWx1WjBKdmJtVk5ZVzVoWjJWeUtDazdYRzVjYmlBZ0lDQmpiMjV6ZENCMGFISmxaVTV2WkdWek9pQlVTRkpGUlM1UFltcGxZM1F6UkZ0ZElEMGdZWGRoYVhRZ1oyeDBaaTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqYVdWektDZHViMlJsSnlrN1hHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4c2FXUmxja2R5YjNWd2N5QTlJSE5qYUdWdFlWTmxZMjl1WkdGeWVVRnVhVzFoZEdsdmJpNWpiMnhzYVdSbGNrZHliM1Z3Y3o4dWJXRndLRnh1SUNBZ0lDQWdLSE5qYUdWdFlVTnZiR3hwWkdWeVIzSnZkWEFwT2lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSkhjbTkxY0NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCMGFISmxaVTV2WkdWelczTmphR1Z0WVVOdmJHeHBaR1Z5UjNKdmRYQXVibTlrWlNGZE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyeHNhV1JsY25NZ1BTQW9jMk5vWlcxaFEyOXNiR2xrWlhKSGNtOTFjQzVqYjJ4c2FXUmxjbk1nUHo4Z1cxMHBMbTFoY0Nnb2MyTm9aVzFoUTI5c2JHbGtaWElzSUdsRGIyeHNhV1JsY2lrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzltWm5ObGRDQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLREF1TUN3Z01DNHdMQ0F3TGpBcE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoelkyaGxiV0ZEYjJ4c2FXUmxjaTV2Wm1aelpYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZEM1elpYUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITmphR1Z0WVVOdmJHeHBaR1Z5TG05bVpuTmxkQzU0SUQ4L0lEQXVNQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjMk5vWlcxaFEyOXNiR2xrWlhJdWIyWm1jMlYwTG5rZ1B6OGdNQzR3TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6WTJobGJXRkRiMnhzYVdSbGNpNXZabVp6WlhRdWVpQS9JQzF6WTJobGJXRkRiMnhzYVdSbGNpNXZabVp6WlhRdWVpQTZJREF1TUN3Z0x5OGdlaUJwY3lCdmNIQnZjMmwwWlNCcGJpQldVazB3TGpCY2JpQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHRjRzl5ZEZOd2FHVnlaVU52Ykd4cFpHVnlLRzV2WkdVc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lISmhaR2wxY3pvZ2MyTm9aVzFoUTI5c2JHbGtaWEl1Y21Ga2FYVnpJRDgvSURBdU1DeGNiaUFnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnWTI5c2JHbGtaWEp6SUgwN1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNrN1hHNWNiaUFnSUNBdkx5QnBiWEJ2Y25RZ2MzQnlhVzVuSUdKdmJtVnpJR1p2Y2lCbFlXTm9JSE53Y21sdVp5QmliMjVsSUdkeWIzVndjMXh1SUNBZ0lITmphR1Z0WVVKdmJtVkhjbTkxY0hNL0xtWnZja1ZoWTJnb0tITmphR1Z0WVVKdmJtVkhjbTkxY0N3Z2FVSnZibVZIY205MWNDa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbTl2ZEVsdVpHbGpaWE1nUFNCelkyaGxiV0ZDYjI1bFIzSnZkWEF1WW05dVpYTTdYRzRnSUNBZ0lDQnBaaUFvSVhKdmIzUkpibVJwWTJWektTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbTl2ZEVsdVpHbGpaWE11Wm05eVJXRmphQ2dvY205dmRFbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElISnZiM1FnUFNCMGFISmxaVTV2WkdWelczSnZiM1JKYm1SbGVGMDdYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2NISmxjR0Z5WlNCelpYUjBhVzVuWEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2R5WVhacGRIbEVhWElnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYzJOb1pXMWhRbTl1WlVkeWIzVndMbWR5WVhacGRIbEVhWElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQm5jbUYyYVhSNVJHbHlMbk5sZENoY2JpQWdJQ0FnSUNBZ0lDQWdJSE5qYUdWdFlVSnZibVZIY205MWNDNW5jbUYyYVhSNVJHbHlMbmdnUHo4Z01DNHdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyTm9aVzFoUW05dVpVZHliM1Z3TG1keVlYWnBkSGxFYVhJdWVTQS9QeUF3TGpBc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6WTJobGJXRkNiMjVsUjNKdmRYQXVaM0poZG1sMGVVUnBjaTU2SUQ4L0lEQXVNQ3hjYmlBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR2R5WVhacGRIbEVhWEl1YzJWMEtEQXVNQ3dnTFRFdU1Dd2dNQzR3S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElHTmxiblJsY2lBOUlITmphR1Z0WVVKdmJtVkhjbTkxY0M1alpXNTBaWElnSVQwZ2JuVnNiQ0EvSUhSb2NtVmxUbTlrWlhOYmMyTm9aVzFoUW05dVpVZHliM1Z3TG1ObGJuUmxjbDBnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MyVjBkR2x1WnpvZ1VHRnlkR2xoYkR4V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5SVFpYUjBhVzVuY3o0Z1BTQjdYRzRnSUNBZ0lDQWdJQ0FnYUdsMFVtRmthWFZ6T2lCelkyaGxiV0ZDYjI1bFIzSnZkWEF1YUdsMFVtRmthWFZ6TEZ4dUlDQWdJQ0FnSUNBZ0lHUnlZV2RHYjNKalpUb2djMk5vWlcxaFFtOXVaVWR5YjNWd0xtUnlZV2RHYjNKalpTeGNiaUFnSUNBZ0lDQWdJQ0JuY21GMmFYUjVVRzkzWlhJNklITmphR1Z0WVVKdmJtVkhjbTkxY0M1bmNtRjJhWFI1VUc5M1pYSXNYRzRnSUNBZ0lDQWdJQ0FnYzNScFptWnVaWE56T2lCelkyaGxiV0ZDYjI1bFIzSnZkWEF1YzNScFptWnBibVZ6Y3l4Y2JpQWdJQ0FnSUNBZ0lDQm5jbUYyYVhSNVJHbHlMRnh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lDOHZJSEJ5WlhCaGNtVWdZMjlzYkdsa1pYSnpYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZiR3hwWkdWeVIzSnZkWEJ6Um05eVUzQnlhVzVuSUQwZ2MyTm9aVzFoUW05dVpVZHliM1Z3TG1OdmJHeHBaR1Z5UjNKdmRYQnpQeTV0WVhBb0tHbERiMnhzYVdSbGNrZHliM1Z3S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaM0p2ZFhBZ1BTQmpiMnhzYVdSbGNrZHliM1Z3Y3o4dVcybERiMnhzYVdSbGNrZHliM1Z3WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNobmNtOTFjQ0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdCV1VrMVRjSEpwYm1kQ2IyNWxURzloWkdWeVVHeDFaMmx1T2lCVWFHVWdjM0J5YVc1bklDTWtlMmxDYjI1bFIzSnZkWEI5SUdGMGRHVnRjSFJsWkNCMGJ5QjFjMlVnWVNCamIyeHNhV1JsY2tkeWIzVndJQ1I3YVVOdmJHeHBaR1Z5UjNKdmRYQjlJR0oxZENCdWIzUWdabTkxYm1SZ0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWjNKdmRYQTdYRzRnSUNBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNBZ0lDOHZJR055WldGMFpTQnpjSEpwYm1jZ1ltOXVaWE5jYmlBZ0lDQWdJQ0FnY205dmRDNTBjbUYyWlhKelpTZ29ibTlrWlNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05vYVd4a09pQlVTRkpGUlM1UFltcGxZM1F6UkNCOElHNTFiR3dnUFNCdWIyUmxMbU5vYVd4a2NtVnVXekJkSUQ4L0lHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcWIybHVkQ0E5SUhSb2FYTXVYMmx0Y0c5eWRFcHZhVzUwS0c1dlpHVXNJR05vYVd4a0xDQnpaWFIwYVc1bkxDQmpiMnhzYVdSbGNrZHliM1Z3YzBadmNsTndjbWx1WnlrN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dObGJuUmxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhbTlwYm5RdVkyVnVkR1Z5SUQwZ1kyVnVkR1Z5TzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUcxaGJtRm5aWEl1WVdSa1NtOXBiblFvYW05cGJuUXBPMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ0x5OGdhVzVwZENCemNISnBibWNnWW05dVpYTmNiaUFnSUNCbmJIUm1Mbk5qWlc1bExuVndaR0YwWlUxaGRISnBlRmR2Y214a0tDazdYRzRnSUNBZ2JXRnVZV2RsY2k1elpYUkpibWwwVTNSaGRHVW9LVHRjYmx4dUlDQWdJSEpsZEhWeWJpQnRZVzVoWjJWeU8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZhVzF3YjNKMFNtOXBiblFvWEc0Z0lDQWdibTlrWlRvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFzWEc0Z0lDQWdZMmhwYkdRNklGUklVa1ZGTGs5aWFtVmpkRE5FTEZ4dUlDQWdJSE5sZEhScGJtYy9PaUJRWVhKMGFXRnNQRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRk5sZEhScGJtZHpQaXhjYmlBZ0lDQmpiMnhzYVdSbGNrZHliM1Z3YzBadmNsTndjbWx1Wno4NklGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxja2R5YjNWd1cxMHNYRzRnSUNrNklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRDQjdYRzRnSUNBZ1kyOXVjM1FnYzNCeWFXNW5RbTl1WlNBOUlHNWxkeUJXVWsxVGNISnBibWRDYjI1bFNtOXBiblFvYm05a1pTd2dZMmhwYkdRc0lITmxkSFJwYm1jc0lHTnZiR3hwWkdWeVIzSnZkWEJ6Um05eVUzQnlhVzVuS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1wdmFXNTBTR1ZzY0dWeVVtOXZkQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhR1ZzY0dWeUlEMGdibVYzSUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEVobGJIQmxjaWh6Y0hKcGJtZENiMjVsS1R0Y2JpQWdJQ0FnSUhSb2FYTXVhbTlwYm5SSVpXeHdaWEpTYjI5MExtRmtaQ2hvWld4d1pYSXBPMXh1SUNBZ0lDQWdhR1ZzY0dWeUxuSmxibVJsY2s5eVpHVnlJRDBnZEdocGN5NXFiMmx1ZEVobGJIQmxjbEp2YjNRdWNtVnVaR1Z5VDNKa1pYSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhOd2NtbHVaMEp2Ym1VN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOXBiWEJ2Y25SVGNHaGxjbVZEYjJ4c2FXUmxjaWhjYmlBZ0lDQmtaWE4wYVc1aGRHbHZiam9nVkVoU1JVVXVUMkpxWldOME0wUXNYRzRnSUNBZ2NHRnlZVzF6T2lCN1hHNGdJQ0FnSUNCdlptWnpaWFE2SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzRnSUNBZ0lDQnlZV1JwZFhNNklHNTFiV0psY2p0Y2JpQWdJQ0I5TEZ4dUlDQXBPaUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhJZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYjJabWMyVjBMQ0J5WVdScGRYTWdmU0E5SUhCaGNtRnRjenRjYmx4dUlDQWdJR052Ym5OMElITm9ZWEJsSUQwZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbEtIc2diMlptYzJWMExDQnlZV1JwZFhNZ2ZTazdYRzVjYmlBZ0lDQmpiMjV6ZENCamIyeHNhV1JsY2lBOUlHNWxkeUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhJb2MyaGhjR1VwTzF4dVhHNGdJQ0FnWkdWemRHbHVZWFJwYjI0dVlXUmtLR052Ykd4cFpHVnlLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbU52Ykd4cFpHVnlTR1ZzY0dWeVVtOXZkQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhR1ZzY0dWeUlEMGdibVYzSUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNraGxiSEJsY2loamIyeHNhV1JsY2lrN1hHNGdJQ0FnSUNCMGFHbHpMbU52Ykd4cFpHVnlTR1ZzY0dWeVVtOXZkQzVoWkdRb2FHVnNjR1Z5S1R0Y2JpQWdJQ0FnSUdobGJIQmxjaTV5Wlc1a1pYSlBjbVJsY2lBOUlIUm9hWE11WTI5c2JHbGtaWEpJWld4d1pYSlNiMjkwTG5KbGJtUmxjazl5WkdWeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJqYjJ4c2FXUmxjanRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJsdGNHOXlkRU5oY0hOMWJHVkRiMnhzYVdSbGNpaGNiaUFnSUNCa1pYTjBhVzVoZEdsdmJqb2dWRWhTUlVVdVQySnFaV04wTTBRc1hHNGdJQ0FnY0dGeVlXMXpPaUI3WEc0Z0lDQWdJQ0J2Wm1aelpYUTZJRlJJVWtWRkxsWmxZM1J2Y2pNN1hHNGdJQ0FnSUNCeVlXUnBkWE02SUc1MWJXSmxjanRjYmlBZ0lDQWdJSFJoYVd3NklGUklVa1ZGTGxabFkzUnZjak03WEc0Z0lDQWdmU3hjYmlBZ0tUb2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5SUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzltWm5ObGRDd2djbUZrYVhWekxDQjBZV2xzSUgwZ1BTQndZWEpoYlhNN1hHNWNiaUFnSUNCamIyNXpkQ0J6YUdGd1pTQTlJRzVsZHlCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1VvZXlCdlptWnpaWFFzSUhKaFpHbDFjeXdnZEdGcGJDQjlLVHRjYmx4dUlDQWdJR052Ym5OMElHTnZiR3hwWkdWeUlEMGdibVYzSUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNpaHphR0Z3WlNrN1hHNWNiaUFnSUNCa1pYTjBhVzVoZEdsdmJpNWhaR1FvWTI5c2JHbGtaWElwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WTI5c2JHbGtaWEpJWld4d1pYSlNiMjkwS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JvWld4d1pYSWdQU0J1WlhjZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlTR1ZzY0dWeUtHTnZiR3hwWkdWeUtUdGNiaUFnSUNBZ0lIUm9hWE11WTI5c2JHbGtaWEpJWld4d1pYSlNiMjkwTG1Ga1pDaG9aV3h3WlhJcE8xeHVJQ0FnSUNBZ2FHVnNjR1Z5TG5KbGJtUmxjazl5WkdWeUlEMGdkR2hwY3k1amIyeHNhV1JsY2tobGJIQmxjbEp2YjNRdWNtVnVaR1Z5VDNKa1pYSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdOdmJHeHBaR1Z5TzF4dUlDQjlYRzU5WEc0aVhTd2libUZ0WlhNaU9sc2lYM1l6UVNJc0lsOTJNMElpTENKZmJXRjBRU0pkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN096dEJRVUZCT3p0QlFVVkhPMDFCUTIxQ0xEQkNRVUV3UWl4RFFVRkJPMEZCYzBJdlF6czdRVU4wUWtRc1RVRkJUVUVzVFVGQlNTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRMnBETEUxQlFVMURMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVXpRaXhOUVVGUExHbERRVUZyUXl4VFFVRlJMREJDUVVFd1FpeERRVUZCTzBGQlF5OUZMRWxCUVVFc1NVRkJWeXhKUVVGSkxFZEJRVUU3UVVGRFlpeFJRVUZCTEU5QlFVOHNVMEZCVXl4RFFVRkRPMHRCUTJ4Q08wRkJhVUpFTEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhOUVVFd1JTeEZRVUZCT3p0QlFVTXpSaXhSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzFGQlJWSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeE5RVUZOTEV0QlFVNHNTVUZCUVN4SlFVRkJMRTFCUVUwc1MwRkJUaXhMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TlFVRk5MRU5CUVVVc1RVRkJUU3h0UTBGQlNTeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnFSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRTFCUVUwc1MwRkJUaXhKUVVGQkxFbEJRVUVzVFVGQlRTeExRVUZPTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFMUJRVTBzUTBGQlJTeEpRVUZKTEcxRFFVRkpMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJRemRFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeE5RVUZOTEV0QlFVRXNTVUZCUVN4SlFVRk9MRTFCUVUwc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCVGl4TlFVRk5MRU5CUVVVc1RVRkJUU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFZEJRVWNzUTBGQlF6dExRVU55UXp0QlFVVk5MRWxCUVVFc2EwSkJRV3RDTEVOQlEzWkNMR05CUVRaQ0xFVkJRemRDTEdOQlFUWkNMRVZCUXpkQ0xGbEJRVzlDTEVWQlEzQkNMRTFCUVhGQ0xFVkJRVUU3UVVGRmNrSXNVVUZCUVVRc1RVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzBGQlEzQkVMRkZCUVVGRExFMUJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExGbEJRVmtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0QlFVTnNSQ3hSUVVGQlFTeE5RVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRSQ3hOUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU5tTEZGQlFVRXNUVUZCVFN4bFFVRmxMRWRCUVVkRExFMUJRVWtzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXp0QlFVVjRReXhSUVVGQkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRFJDeE5RVUZKTEVOQlFVTXNRMEZCUXp0UlFVTjBReXhOUVVGTkxFZEJRVWNzUjBGQlIwTXNUVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVUzUWl4SlFVRkpMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGSFpqdGhRVUZOTEVsQlFVa3NaVUZCWlN4SlFVRkpMRWRCUVVjc1JVRkJSVHM3UVVGRmFrTXNXVUZCUVN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRFFTeE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTnNRaXhUUVVGQk8wRkJRVTBzWVVGQlFUczdXVUZGVEVFc1RVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVkQlFVY3NaVUZCWlN4RFFVRkRMRU5CUVVNN1FVRkRNME1zV1VGQlFTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRRU3hOUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU5zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzVFVGQlRTeERRVUZETzFGQlF6RkRMRTFCUVUwc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEJRVU51UWl4UlFVRkJMRTlCUVU4c1VVRkJVU3hEUVVGRE8wdEJRMnBDTzBGQlEwWTdPMEZET1VSTExFMUJRVThzWjBOQlFXbERMRk5CUVZFc01FSkJRVEJDTEVOQlFVRTdRVUZET1VVc1NVRkJRU3hKUVVGWExFbEJRVWtzUjBGQlFUdEJRVU5pTEZGQlFVRXNUMEZCVHl4UlFVRlJMRU5CUVVNN1MwRkRha0k3UVVGWlJDeEpRVUZCTEZkQlFVRXNRMEZCYlVJc1RVRkJiMFFzUlVGQlFUczdRVUZEY2tVc1VVRkJRU3hMUVVGTExFVkJRVVVzUTBGQlF6dFJRVVZTTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVFVGQlRTeExRVUZPTEVsQlFVRXNTVUZCUVN4TlFVRk5MRXRCUVU0c1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNUVUZCVFN4RFFVRkZMRTFCUVUwc2JVTkJRVWtzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEYWtVc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRTFCUVUwc1MwRkJRU3hKUVVGQkxFbEJRVTRzVFVGQlRTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGT0xFMUJRVTBzUTBGQlJTeE5RVUZOTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NSMEZCUnl4RFFVRkRPMHRCUTNKRE8wRkJSVTBzU1VGQlFTeHJRa0ZCYTBJc1EwRkRka0lzWTBGQk5rSXNSVUZETjBJc1kwRkJOa0lzUlVGRE4wSXNXVUZCYjBJc1JVRkRjRUlzVFVGQmNVSXNSVUZCUVR0QlFVVnlRaXhSUVVGQkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExGbEJRVmtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8wRkJRM0JETEZGQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZETVVNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVNeFF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1FVRkRia0lzVVVGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXp0TFFVTnFRanRCUVVOR096dEJRMnhEUkN4TlFVRk5SQ3hOUVVGSkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZjRUlzVFVGQlFTeHJRMEZCYlVNc1UwRkJVU3hMUVVGTExFTkJRVU1zWTBGQll5eERRVUZCTzBGQlZURkZMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeExRVUYzUXl4RlFVRkJPMEZCUTNwRUxGRkJRVUVzUzBGQlN5eEZRVUZGTEVOQlFVTTdVVUZXU0N4SlFVRlZMRU5CUVVFc1ZVRkJRU3hIUVVGSExFZEJRVWNzUTBGQlF6dFJRVXRvUWl4SlFVRmpMRU5CUVVFc1kwRkJRU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU5XTEZGQlFVRXNTVUZCUVN4RFFVRkJMR05CUVdNc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnlReXhSUVVGQkxFbEJRVUVzUTBGQlFTeFpRVUZaTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGTGJFUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVZ3UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNCRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVVUzUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNKRkxGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRkwwSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRMjVDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRMUVVObU8wbEJSVTBzVFVGQlRTeEhRVUZCTzFGQlExZ3NTVUZCU1N4dlFrRkJiMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdVVUZGYWtNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dEJRVU53UkN4UlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zUzBGQlN5eE5RVUZOTEVWQlFVVTdRVUZEYkVNc1dVRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEUxQlFVMHNRMEZCUXp0WlFVTTNRaXh2UWtGQmIwSXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkROMElzVTBGQlFUdEJRVVZFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVU3V1VGRGJrUXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVNM1F5eHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWRCTEUxQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzFGQlEzWkZMRWxCUVVrc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVWQlFVVTdRVUZEY2tRc1dVRkJRU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVNM1FpeHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1NVRkJTU3h2UWtGQmIwSXNSVUZCUlR0WlFVTjRRaXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdRVUZEZGtJc1UwRkJRVHRMUVVOR08wbEJSVThzWTBGQll5eEhRVUZCTzBGQlEzQkNMRkZCUVVGQkxFMUJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRkRVFzVFVGQlRTeERRVUZETEVkQlFVZEJMRTFCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRPMUZCUlRsRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETlVJc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRkwwSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEZWtRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMmhGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTVSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGFrVXNVMEZCUVR0UlFVVkVMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE0wSXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRMMElzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE5VUXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETlVRc1UwRkJRVHRCUVVWRUxGRkJRVUVzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJRMEVzVFVGQlNTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRFFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZIUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSFFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNdlJTeFJRVUZCTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlEwRXNUVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSVUVzVFVGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlhoRExGRkJRVUVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOd1FpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRGJFSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTTdVVUZETVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJYQkdMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUTJ4RE8wbEJSVThzVjBGQlZ5eEhRVUZCTzFGQlEycENMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE0wSXNUVUZCVFN4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0QlFVVjRRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCUTNCRExGbEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZEY0VRc1UwRkJRVHRSUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBJc1RVRkJUU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRCUVVWNFFpeFpRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCUTNCRUxGbEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZEZGtRc1UwRkJRVHRCUVVWRUxGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRE8wdEJRM0JETzBGQlEwWTdPMEZEYmtkWkxFMUJRVUVzYVVOQlFXdERMRk5CUVZFc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGQlFUdEJRVk42UlN4SlFVRkJMRmRCUVVFc1EwRkJiVUlzUzBGQmRVTXNSVUZCUVR0QlFVTjRSQ3hSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzFGQlZFZ3NTVUZCVlN4RFFVRkJMRlZCUVVFc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGTGFFSXNTVUZCWXl4RFFVRkJMR05CUVVFc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRFZpeFJRVUZCTEVsQlFVRXNRMEZCUVN4alFVRmpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZMY0VRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVVndRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxGbEJRVmtzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6TkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVVM1F5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NWMEZCVnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTjRSU3hSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8xRkJSUzlDTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRSUVVOdVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1MwRkRaanRKUVVWTkxFMUJRVTBzUjBGQlFUdFJRVU5ZTEVsQlFVa3NiMEpCUVc5Q0xFZEJRVWNzUzBGQlN5eERRVUZETzFGQlJXcERMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU03UVVGRGNFUXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFdEJRVXNzVFVGQlRTeEZRVUZGTzBGQlEyeERMRmxCUVVFc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eE5RVUZOTEVOQlFVTTdXVUZETjBJc2IwSkJRVzlDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMEZCUXpkQ0xGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xbEJRMjVFTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkROME1zYjBKQlFXOUNMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRemRDTEZOQlFVRTdRVUZGUkN4UlFVRkJMRWxCUVVrc2IwSkJRVzlDTEVWQlFVVTdXVUZEZUVJc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzBGQlEzWkNMRk5CUVVFN1MwRkRSanRKUVVWUExHTkJRV01zUjBGQlFUdFJRVU53UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5DTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUlM5Q0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRka1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE5VUXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETjBRc1UwRkJRVHRCUVVWRUxGRkJRVUVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8xRkJRekZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWd1JpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF6dExRVU5zUXp0SlFVVlBMRmRCUVZjc1IwRkJRVHRSUVVOcVFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpOQ0xFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU03UVVGRmVFSXNXVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU53UXl4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRMjVFTEZsQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRja1FzVTBGQlFUdEJRVVZFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETzB0QlEzQkRPMEZCUTBZN08wRkRha1ZFTEUxQlFVMUJMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVndRaXhOUVVGQkxESkNRVUUwUWl4VFFVRlJMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVUU3UVVGTE1VUXNTVUZCUVN4WFFVRkJMRU5CUVcxQ0xGRkJRU3RDTEVWQlFVRTdRVUZEYUVRc1VVRkJRU3hMUVVGTExFVkJRVVVzUTBGQlF6dEJRVU5TTEZGQlFVRXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVVTVRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRPMEZCUlhwQ0xGRkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1dVRkJXU3huUTBGQlowTXNSVUZCUlR0QlFVTnVSU3haUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVkQlFVY3NTVUZCU1N4cFEwRkJhVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRemRGTEZOQlFVRTdRVUZCVFN4aFFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEZsQlFWa3NhVU5CUVdsRExFVkJRVVU3UVVGRE0wVXNXVUZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFbEJRVWtzYTBOQlFXdERMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTTVSU3hUUVVGQk8wRkJRVTBzWVVGQlFUdEJRVU5NTEZsQlFVRXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXh0UlVGQmJVVXNRMEZCUXl4RFFVRkRPMEZCUTNSR0xGTkJRVUU3UVVGRlJDeFJRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRPMEZCUXpORExGbEJRVUVzUzBGQlN5eEZRVUZGTEZGQlFWRTdRVUZEWml4WlFVRkJMRk5CUVZNc1JVRkJSU3hMUVVGTE8wRkJRMmhDTEZsQlFVRXNWVUZCVlN4RlFVRkZMRXRCUVVzN1FVRkRiRUlzVTBGQlFTeERRVUZETEVOQlFVTTdRVUZGU0N4UlFVRkJMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdRVUZET1VRc1VVRkJRU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRMUVVOMFFqdEpRVVZOTEU5QlFVOHNSMEZCUVR0QlFVTmFMRkZCUVVFc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0TFFVTXhRanRCUVVWTkxFbEJRVUVzYVVKQlFXbENMRU5CUVVNc1MwRkJZeXhGUVVGQk8xRkJRM0pETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJSVGRETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkZOVU1zVVVGQlFTeE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRPMEZCUTJwRUxGRkJRVUVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4VlFVRlZMRWRCUVVkQkxFMUJRVWs3UVVGRE4wSXNZVUZCUVN4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1lVRkRNMFVzVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZGV2l4UlFVRkJMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZGZUVJc1VVRkJRU3hMUVVGTExFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGFFTTdRVUZEUmpzN1FVTjBSRmtzVFVGQlFTeDNRa0ZCZVVJc1UwRkJVU3hMUVVGTExFTkJRVU1zWTBGQll5eERRVUZCTzBGQlUyaEZMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeFZRVUU0UWl4RlFVRkJPMEZCUXk5RExGRkJRVUVzUzBGQlN5eEZRVUZGTEVOQlFVTTdVVUZVU0N4SlFVRlZMRU5CUVVFc1ZVRkJRU3hIUVVGSExFZEJRVWNzUTBGQlF6dFJRVXRvUWl4SlFVRmpMRU5CUVVFc1kwRkJRU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU5XTEZGQlFVRXNTVUZCUVN4RFFVRkJMRmxCUVZrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVdHNSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NWVUZCVlN4RFFVRkRPMEZCUlRsQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNFVXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUlRkRExGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zU1VGQlNTeFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGNrVXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVVXZRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEYmtJc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzB0QlEyWTdTVUZGVFN4TlFVRk5MRWRCUVVFN1VVRkRXQ3hKUVVGSkxHOUNRVUZ2UWl4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVWcVF5eFJRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wRkJRM0pGTEZGQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1kwRkJZeXhMUVVGTExFMUJRVTBzUlVGQlJUdEJRVU5zUXl4WlFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETzFsQlF6ZENMRzlDUVVGdlFpeEhRVUZITEVsQlFVa3NRMEZCUXp0QlFVTTNRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eEZRVUZGTzFsQlEzcEZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTXNRMEZCUXp0WlFVTnVSU3h2UWtGQmIwSXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkROMElzVTBGQlFUdEJRVVZFTEZGQlFVRXNTVUZCU1N4dlFrRkJiMElzUlVGQlJUdFpRVU40UWl4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU03UVVGRGRrSXNVMEZCUVR0TFFVTkdPMGxCUlU4c1kwRkJZeXhIUVVGQk8xRkJRM0JDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRNMElzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTTdXVUZGTDBJc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjJSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNMVJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU0zUkN4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRNVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRsRkxGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRiRU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRmVFWXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdTMEZEYkVNN1NVRkZUeXhYUVVGWExFZEJRVUU3VVVGRGFrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNelFpeE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzBGQlJYaENMRmxCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZEY0VNc1dVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU51UkN4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRM0pFTEZOQlFVRTdVVUZEUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJSVzVETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETzB0QlEzQkRPMEZCUTBZN08wRkRlRVZFTEUxQlFVMUJMRTFCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVndRaXhOUVVGQkxIZENRVUY1UWl4VFFVRlJMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVUU3UVVGTGRrUXNTVUZCUVN4WFFVRkJMRU5CUVcxQ0xGVkJRVGhDTEVWQlFVRTdRVUZETDBNc1VVRkJRU3hMUVVGTExFVkJRVVVzUTBGQlF6dEJRVU5TTEZGQlFVRXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVVTVRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVkQlFVY3NWVUZCVlN4RFFVRkRPMUZCUlRkQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEVkQlFVY3NTVUZCU1N4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkZMMFFzVVVGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0QlFVTXpReXhaUVVGQkxFdEJRVXNzUlVGQlJTeFJRVUZSTzBGQlEyWXNXVUZCUVN4VFFVRlRMRVZCUVVVc1MwRkJTenRCUVVOb1FpeFpRVUZCTEZWQlFWVXNSVUZCUlN4TFFVRkxPMEZCUTJ4Q0xGTkJRVUVzUTBGQlF5eERRVUZETzBGQlJVZ3NVVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6bEVMRkZCUVVFc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRkRUk3U1VGRlRTeFBRVUZQTEVkQlFVRTdRVUZEV2l4UlFVRkJMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTMEZETVVJN1FVRkZUU3hKUVVGQkxHbENRVUZwUWl4RFFVRkRMRXRCUVdNc1JVRkJRVHRSUVVOeVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRmNFUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dEJRVVZ1UkN4UlFVRkJMRTFCUVUwc2JVSkJRVzFDTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU03UVVGRGFrUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExGVkJRVlVzUjBGQlIwRXNUVUZCU1R0QlFVTTNRaXhoUVVGQkxFZEJRVWNzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dGhRVU16UlN4TlFVRk5MRVZCUVVVc1EwRkJRenRCUVVWYUxGRkJRVUVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRCUVVWNFFpeFJRVUZCTEV0QlFVc3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0TFFVTm9RenRCUVVOR096dEJRelZEUkRzN1FVRkZSenRCUVVOVkxFMUJRVUVzY1VKQlFYTkNMRk5CUVZFc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlFUdEJRVTEyUkN4SlFVRkJMRmRCUVVFc1EwRkJiVUlzUzBGQmFVTXNSVUZCUVR0QlFVTnNSQ3hSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzBGQlJWSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU53UWp0QlFVTkdPenRCUTJaRUxFMUJRVTFGTEU5QlFVc3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVVZzUXpzN096czdRVUZMUnp0QlFVTkhMRk5CUVZVc1owSkJRV2RDTEVOQlFUQkNMRTFCUVZNc1JVRkJRVHRKUVVOcVJTeEpRVUZMTEUxQlFXTXNRMEZCUXl4TlFVRk5MRVZCUVVVN1VVRkRNVUlzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMEZCUTJwQ0xFdEJRVUU3UVVGQlRTeFRRVUZCTzFGQlEwb3NUVUZCWXl4RFFVRkRMRlZCUVZVc1EwRkJRMEVzVDBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMmhFTEV0QlFVRTdRVUZGUkN4SlFVRkJMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDT3p0TlEyWmhMRzFDUVVGdFFpeERRVUZCTzBGQmMwSTVRanM3T3p0QlFVbEhPMEZCUTBnc1NVRkJRU3hKUVVGWExFOUJRVThzUjBGQlFUdFJRVU5vUWl4SlFVRkpMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSVUZCUlR0WlFVTTNRaXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGNrTXNXVUZCUVN4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1FVRkRja01zV1VGQlFTeEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFZEJRVWNzUzBGQlN5eERRVUZETzBGQlEyNURMRk5CUVVFN1VVRkZSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTTdTMEZETTBJN1FVRkZSQ3hKUVVGQkxGZEJRVUVzUTBGQmJVSXNUVUZCY1VJc1JVRkJRVHRCUVM5Q2VFTTdPMEZCUlVjN1FVRkRZeXhSUVVGQkxFbEJRVUVzUTBGQlFTeGhRVUZoTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRmNrUTdPenRCUVVkSE8xRkJRMHNzU1VGQmIwSXNRMEZCUVN4dlFrRkJRU3hIUVVGSExFbEJRVWtzUTBGQlF6dEJRWFZDYkVNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVVnlRaXhSUVVGQkxFMUJRVTBzVDBGQlR5eEhRVUV5UWp0WlFVTjBReXhIUVVGSExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCVXl4RlFVRkZMRTFCUVUwc1MwRkJTVHRCUVVNNVFpeG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMEZCUTJwRExHZENRVUZCTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRmJrSXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03WVVGRFlqdFRRVU5HTEVOQlFVTTdRVUZGUml4UlFVRkJMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1VVRkJVU3hEUVVGRE8wRkJRM3BETEZGQlFVRXNUVUZCVFN4RFFVRkRMRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8wdEJRM1pFTzBsQlJVMHNUVUZCVFN4SFFVRkJPMUZCUTFnc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzB0QlF5OURPMEZCUTBZN08wRkRja1JFTzBGQlEwRTdRVUZEUVR0QlFVVkJMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRk4wTTdRVUZEUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVVZxUXpzN1FVRkZSenRCUVVOSUxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGYUVRN08wRkJSVWM3UVVGRFNDeE5RVUZOTEc5Q1FVRnZRaXhIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMEZCUldwRU96dEJRVVZITzBGQlEwZ3NUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGZEVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1FVRkRkRU1zVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRGJFTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGYkVNN096dEJRVWRITzAxQlExVXNhMEpCUVd0Q0xFTkJRVUU3UVVGclJEZENMRWxCUVVFc1NVRkJWeXhOUVVGTkxFZEJRVUU3VVVGRFppeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNN1MwRkRja0k3U1VGRFJDeEpRVUZYTEUxQlFVMHNRMEZCUXl4TlFVRTJRaXhGUVVGQk96czdVVUZGTjBNc1NVRkJTU3hEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNUMEZCVHl3d1EwRkJSU3hSUVVGUkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVN1dVRkRNME1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UlFVRlJMRU5CUVVNc2FVSkJRWGxETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1FVRkRNVVVzV1VGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMEZCUTJoRUxGTkJRVUU3TzBGQlIwUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF6czdVVUZIZEVJc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTzFsQlEyaENMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4cFFrRkJhVUlzUlVGQlJUdEJRVU0xUXl4blFrRkJRU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4cFFrRkJhVUlzUjBGQlJ5eEpRVUZKTEcxQ1FVRnRRaXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkROMFlzWVVGQlFUdEJRVU5HTEZOQlFVRTdTMEZEUmp0QlFXZENSQ3hKUVVGQkxFbEJRVmNzZVVKQlFYbENMRWRCUVVFN1VVRkRiRU1zVDBGQlR5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU03UzBGRGVFTTdRVUZGUkRzN08wRkJSMGM3UVVGRFNDeEpRVUZCTEVsQlFWa3NhMEpCUVd0Q0xFZEJRVUU3UVVGRE5VSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGZEJRVmNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJRenRMUVVNelJUdEJRVVZFT3pzN096czdPMEZCVDBjN1NVRkRTQ3hYUVVORkxFTkJRVUVzU1VGQmIwSXNSVUZEY0VJc1MwRkJORUlzUlVGRE5VSXNWMEZCWjBRc1JVRkJSU3hGUVVOc1JDeHBRa0ZCSzBNc1JVRkJSU3hGUVVGQk96dEJRWFpHYmtRN08wRkJSVWM3UVVGRFN5eFJRVUZCTEVsQlFVRXNRMEZCUVN4WlFVRlpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGTTBNN08wRkJSVWM3UVVGRFN5eFJRVUZCTEVsQlFVRXNRMEZCUVN4VFFVRlRMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGZUVNN08wRkJSVWM3UVVGRFN5eFJRVUZCTEVsQlFVRXNRMEZCUVN4VFFVRlRMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGZUVNN096czdPMEZCUzBjN1VVRkRTeXhKUVVGeFFpeERRVUZCTEhGQ1FVRkJMRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJSWEJET3pzN1FVRkhSenRSUVVOTExFbEJRVThzUTBGQlFTeFBRVUZCTEVkQlFUQkNMRWxCUVVrc1EwRkJRenRCUVhOQ09VTTdPMEZCUlVjN1FVRkRTeXhSUVVGQkxFbEJRVUVzUTBGQlFTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVnNSRHM3UVVGRlJ6dEJRVU5MTEZGQlFVRXNTVUZCUVN4RFFVRkJMSEZDUVVGeFFpeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJSWFpFT3p0QlFVVkhPMEZCUTBzc1VVRkJRU3hKUVVGQkxFTkJRVUVzTUVKQlFUQkNMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUV5UW5aRUxGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRha0lzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZGYmtNc1VVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVVnVRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITzBGQlEyUXNXVUZCUVN4VFFVRlRMRVZCUVVVc1EwRkJRU3hGUVVGQkxFZEJRVUVzVVVGQlVTeERRVUZETEZOQlFWTXNiVU5CUVVrc1IwRkJSenRCUVVOd1F5eFpRVUZCTEZOQlFWTXNSVUZCUlN4RFFVRkJMRVZCUVVFc1IwRkJRU3hSUVVGUkxFTkJRVU1zVTBGQlV5eHRRMEZCU1N4SFFVRkhPMEZCUTNCRExGbEJRVUVzV1VGQldTeEZRVUZGTEVOQlFVRXNSVUZCUVN4SFFVRkJMRkZCUVZFc1EwRkJReXhaUVVGWkxHMURRVUZKTEVkQlFVYzdXVUZETVVNc1ZVRkJWU3hGUVVGRkxFMUJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNVVUZCVVN4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeExRVUZMTEVWQlFVVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1EwRkJRenRCUVVNM1JTeFpRVUZCTEZOQlFWTXNSVUZCUlN4RFFVRkJMRVZCUVVFc1IwRkJRU3hSUVVGUkxFTkJRVU1zVTBGQlV5eHRRMEZCU1N4SFFVRkhPMU5CUTNKRExFTkJRVU03UVVGRlJpeFJRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1kwRkJZeXhEUVVGRE8wdEJRM1JETzBGQlJVUTdPenRCUVVkSE8wbEJRMGtzV1VGQldTeEhRVUZCT3p0UlFVVnFRaXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRhRVFzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE96dFJRVWQwUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFVkJRVVU3V1VGRFpDeEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRE0wUXNVMEZCUVR0QlFVRk5MR0ZCUVVFN096dEJRVWRNTEZsQlFVRXNTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU16Uml4VFFVRkJPenRSUVVkRUxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRMmhGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN1VVRkRiRWdzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZET3p0QlFVZDJReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wdEJRMnhGTzBGQlJVUTdPenRCUVVkSE8wbEJRMGtzUzBGQlN5eEhRVUZCTzFGQlExWXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZET3p0QlFVZDBSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNN1FVRkRla0lzVVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6czdVVUZIYkVZc1RVRkJUU3h0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRhRVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVOQlFVTXNRMEZCUXl4WlFVRlpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0UlFVTnNTQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03UzBGRGVFTTdRVUZGUkRzN096czdRVUZMUnp0QlFVTkpMRWxCUVVFc1RVRkJUU3hEUVVGRExFdEJRV0VzUlVGQlFUdFJRVU42UWl4SlFVRkpMRXRCUVVzc1NVRkJTU3hEUVVGRE8xbEJRVVVzVDBGQlR6czdVVUZIZGtJc1NVRkJTU3hEUVVGRExIbENRVUY1UWl4RlFVRkZMRU5CUVVNN08xRkJSMnBETEcxQ1FVRnRRaXhEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdVVUZEYWtVc1NVRkJTU3h0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRPVVFzYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN1VVRkRha1lzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhOUVVGTkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXpzN1FVRkhOVVVzVVVGQlFTeE5RVUZOTEhWQ1FVRjFRaXhIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdPMUZCUjJ4SExFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1NVRkJTVHRCUVVNM1FpeGhRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRE8wRkJRM0JDTEdGQlFVRXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXp0aFFVTjBReXhaUVVGWkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNN1lVRkRja01zUjBGQlJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRE8wRkJRM3BDTEdGQlFVRXNVMEZCVXl4RlFVRkZMRU5CUVVNN08xRkJSMllzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zWlVGQlpTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdVVUZGT1Vjc1RVRkJUU3h0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN08xRkJSMmhGTEZOQlFWTTdRVUZEVGl4aFFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETzBGQlEzWkNMR0ZCUVVFc1IwRkJSeXhEUVVOR0xFbEJRVWs3UVVGRFJDeGhRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8wRkJRM1pDTEdGQlFVRXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03WVVGRGJrSXNZMEZCWXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVTXZRenRoUVVOQkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMkZCUTI1R0xFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNKR0xHRkJRVUVzV1VGQldTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03TzFGQlIzSkRMRk5CUVZNc1EwRkJReXhIUVVGSExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdPMEZCUjI1SUxGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenM3UVVGSE0wSXNVVUZCUVN4dFFrRkJiVUlzUjBGQlJ5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZGTVVRc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8wRkJRM1pETEZGQlFVRXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJReXhEUVVGRE96czdVVUZKTDBVc1RVRkJUU3d3UWtGQk1FSXNSMEZCUnl4blFrRkJaMElzUTBGRGFrUXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRM1pGTEVOQlFVTTdVVUZEUml4TlFVRk5MR0ZCUVdFc1IwRkJSeXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRU5CUXpkRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlEyUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZETVVVc1EwRkJRenRCUVVWR0xGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXpzN1FVRkhPVVVzVVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8wRkJRM3BDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTMEZEYmtZN1FVRkZSRHM3T3p0QlFVbEhPMEZCUTBzc1NVRkJRU3hWUVVGVkxFTkJRVU1zU1VGQmJVSXNSVUZCUVR0UlFVTndReXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1MwRkJTVHRaUVVNMVF5eGhRVUZoTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUdG5Ra0ZETTBNc1RVRkJUU3hKUVVGSkxFZEJRVWNzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRuUWtGRk1VY3NTVUZCU1N4SlFVRkpMRWRCUVVjc1IwRkJSeXhGUVVGRk96dHZRa0ZGWkN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE96dHZRa0ZIY2tNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETEdOQlFXTXNRMEZCUXl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0QlFVTXZSeXhwUWtGQlFUdEJRVU5JTEdGQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1UwRkJReXhEUVVGRExFTkJRVU03UzBGRFNqdEJRVVZFT3pzN1FVRkhSenRKUVVOTExIbENRVUY1UWl4SFFVRkJPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUld4RUxFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NSVUZCUlR0WlFVTmtMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzBGQlEzQkVMRk5CUVVFN1FVRkJUU3hoUVVGQk8wRkJRMHdzV1VGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRPMWxCUXpORExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dEJRVU14UXl4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRMUVVOMFJEdEJRVVZFT3pzN1FVRkhSenRCUVVOTExFbEJRVUVzZFVKQlFYVkNMRU5CUVVNc1RVRkJjVUlzUlVGQlFUdFJRVU51UkN4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVU3V1VGRGFFSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMEZCUTNaRExGTkJRVUU3UVVGQlRTeGhRVUZCTzFsQlEwd3NUVUZCVFN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRE8wRkJRMjVDTEZOQlFVRTdRVUZGUkN4UlFVRkJMRTlCUVU4c1RVRkJUU3hEUVVGRE8wdEJRMlk3UVVGRlJEczdPMEZCUjBjN1FVRkRTeXhKUVVGQkxIVkNRVUYxUWl4RFFVRkRMRTFCUVhGQ0xFVkJRVUU3VVVGRGJrUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRk8wRkJRMmhDTEZsQlFVRXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4cFFrRkJlVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVTjJSaXhUUVVGQk8wRkJRVTBzWVVGQlFUdFpRVU5NTEUxQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRCUVVOdVFpeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJRenRMUVVObU8wRkJRMFk3TzBGRGFGZEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGdlIwRTdRVUZEVHl4VFFVRlRMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRMRVZCUVVVN1FVRkROMFFzU1VGQlNTeFRRVUZUTEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hQUVVGUExFdEJRVXNzV1VGQldTeERRVUZETEVkQlFVY3NTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExGVkJRVlVzVDBGQlR5eEZRVUZGTEVWQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZEYUVnc1NVRkJTU3hQUVVGUExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1JVRkJSU3hWUVVGVkxFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVTdRVUZETDBRc1VVRkJVU3hUUVVGVExGTkJRVk1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzBGQlEyNUhMRkZCUVZFc1UwRkJVeXhSUVVGUkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzBGQlEzUkhMRkZCUVZFc1UwRkJVeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTzBGQlEzUklMRkZCUVZFc1NVRkJTU3hEUVVGRExFTkJRVU1zVTBGQlV5eEhRVUZITEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxGVkJRVlVzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRemxGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTFBN08wRkRlRWhuUWl4VFFVRkJMSGxDUVVGNVFpeERRVUZETEUxQlFYTkNMRVZCUVVVc1VVRkJNRU1zUlVGQlFUdEpRVU14Unl4TlFVRk5MRk5CUVZNc1IwRkJjVUlzUlVGQlJTeERRVUZETzBsQlJYWkRMRWxCUVVrc1NVRkJTU3hIUVVFd1FpeE5RVUZOTEVOQlFVTTdTVUZEZWtNc1QwRkJUeXhKUVVGSkxFdEJRVXNzU1VGQlNTeEZRVUZGTzBGQlEzQkNMRkZCUVVFc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTjRRaXhSUVVGQkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMEZCUTNCQ0xFdEJRVUU3UVVGRlJDeEpRVUZCTEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhSUVVGUkxFdEJRVWs3VVVGRE4wSXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM0pDTEV0QlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3N08wRkRaRUU3T3pzN096dEJRVTFITzBGQlEyRXNVMEZCUVN4cFEwRkJhVU1zUTBGREwwTXNUVUZCYzBJc1JVRkRkRUlzVVVGQk5rTXNSVUZCUVR0SlFVVTNReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1MwRkJTVHRCUVVOb1F5eFJRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU12UWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRk8wRkJRMWdzV1VGQlFTeHBRMEZCYVVNc1EwRkJReXhMUVVGTExFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEY0VRc1UwRkJRVHRCUVVOSUxFdEJRVU1zUTBGQlF5eERRVUZETzBGQlEwdzdPMDFEVm1Fc2IwSkJRVzlDTEVOQlFVRTdRVUZCYWtNc1NVRkJRU3hYUVVGQkxFZEJRVUU3UVVGRFZTeFJRVUZCTEVsQlFVRXNRMEZCUVN4UFFVRlBMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRWE5DTEVOQlFVTTdRVUZyUTNoRExGRkJRVUVzU1VGQlFTeERRVUZCTEhGQ1FVRnhRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUV5UXl4RFFVRkRPMHRCY1V0d1JqdEJRWFJOUXl4SlFVRkJMRWxCUVZjc1RVRkJUU3hIUVVGQk8xRkJRMllzVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRPMHRCUTNKQ08wRkJSVVE3TzBGQlJVYzdRVUZEU0N4SlFVRkJMRWxCUVZjc1YwRkJWeXhIUVVGQk8wRkJRM0JDTEZGQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXh6UlVGQmMwVXNRMEZCUXl4RFFVRkRPMUZCUlhKR0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0TFFVTnlRanRCUVVWRUxFbEJRVUVzU1VGQlZ5eGpRVUZqTEVkQlFVRTdRVUZEZGtJc1VVRkJRU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCT0VJc1EwRkJRenRSUVVOc1JDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGVkJRVlVzUzBGQlNUdFpRVU5zUXl4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEdGQlFXRXNTMEZCU1R0QlFVTnNSQ3huUWtGQlFTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMR0ZCUVdFc1EwRkJReXhEUVVGRE8wRkJRM3BDTEdGQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1UwRkJReXhEUVVGRExFTkJRVU03UVVGRFNDeFJRVUZCTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dExRVU40UWp0QlFVVkVMRWxCUVVFc1NVRkJWeXhUUVVGVExFZEJRVUU3UVVGRGJFSXNVVUZCUVN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQmVVSXNRMEZCUXp0UlFVTTNReXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1MwRkJTVHRaUVVNMVF5eGhRVUZoTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUdEJRVU16UXl4blFrRkJRU3hIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUTNCQ0xHRkJRVU1zUTBGQlF5eERRVUZETzBGQlEwd3NVMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRTQ3hSUVVGQkxFOUJRVThzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRMUVVONFFqdEJRVWxOTEVsQlFVRXNVVUZCVVN4RFFVRkRMRXRCUVhsQ0xFVkJRVUU3UVVGRGRrTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVVjRRaXhSUVVGQkxFbEJRVWtzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRek5FTEVsQlFVa3NVMEZCVXl4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOeVFpeFpRVUZCTEZOQlFWTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJjMElzUTBGQlF6dFpRVU14UXl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdRVUZEZGtRc1UwRkJRVHRCUVVORUxGRkJRVUVzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRMUVVOMFFqdEJRVVZFT3p0QlFVVkhPMEZCUTBrc1NVRkJRU3hoUVVGaExFTkJRVU1zUzBGQmVVSXNSVUZCUVR0QlFVTTFReXhSUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNPRVZCUVRoRkxFTkJRVU1zUTBGQlF6dEJRVVUzUml4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTMEZEZEVJN1FVRkZUU3hKUVVGQkxGZEJRVmNzUTBGQlF5eExRVUY1UWl4RlFVRkJPMEZCUXpGRExGRkJRVUVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRk0wSXNVVUZCUVN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVVXNRMEZCUXp0QlFVTTVSQ3hSUVVGQkxGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRla0k3UVVGRlJEczdRVUZGUnp0QlFVTkpMRWxCUVVFc1owSkJRV2RDTEVOQlFVTXNTMEZCZVVJc1JVRkJRVHRCUVVNdlF5eFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc2IwWkJRVzlHTEVOQlFVTXNRMEZCUXp0QlFVVnVSeXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRla0k3U1VGRlRTeFpRVUZaTEVkQlFVRTdRVUZEYWtJc1VVRkJRU3hOUVVGTkxHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGelFpeERRVUZETzBGQlEzWkVMRkZCUVVFc1RVRkJUU3hsUVVGbExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYTkNMRU5CUVVNN1FVRkRkRVFzVVVGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJhMElzUTBGQlF6dEJRVVZvUkN4UlFVRkJMRXRCUVVzc1RVRkJUU3hWUVVGVkxFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlR0WlFVTnlReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMR1ZCUVdVc1JVRkJSU3hoUVVGaExFVkJRVVVzUTBGQlF5eFZRVUZWTEV0QlF5OUdMRlZCUVZVc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGRE1VSXNRMEZCUXp0QlFVTklMRk5CUVVFN1MwRkRSanRKUVVWTkxFdEJRVXNzUjBGQlFUdEJRVU5XTEZGQlFVRXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCYzBJc1EwRkJRenRCUVVOMlJDeFJRVUZCTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGelFpeERRVUZETzBGQlEzUkVMRkZCUVVFc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFXdENMRU5CUVVNN1FVRkZhRVFzVVVGQlFTeExRVUZMTEUxQlFVMHNWVUZCVlN4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVU3V1VGRGNrTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEZWQlFWVXNSVUZCUlN4blFrRkJaMElzUlVGQlJTeGxRVUZsTEVWQlFVVXNZVUZCWVN4RlFVRkZMRU5CUVVNc1ZVRkJWU3hMUVVNdlJpeFZRVUZWTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUTI1Q0xFTkJRVU03UVVGRFNDeFRRVUZCTzB0QlEwWTdRVUZGVFN4SlFVRkJMRTFCUVUwc1EwRkJReXhMUVVGaExFVkJRVUU3UVVGRGVrSXNVVUZCUVN4TlFVRk5MR2RDUVVGblFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRnpRaXhEUVVGRE8wRkJRM1pFTEZGQlFVRXNUVUZCVFN4bFFVRmxMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRWE5DTEVOQlFVTTdRVUZEZEVRc1VVRkJRU3hOUVVGTkxHRkJRV0VzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCYTBJc1EwRkJRenRCUVVWb1JDeFJRVUZCTEV0QlFVc3NUVUZCVFN4VlFVRlZMRWxCUVVrc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJUczdXVUZGY2tNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4bFFVRmxMRVZCUVVVc1lVRkJZU3hGUVVGRkxFTkJRVU1zVlVGQlZTeExRVU12Uml4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVU42UWl4RFFVRkRPenM3V1VGSlJpeHBRMEZCYVVNc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4TFFVRkpPenM3UVVGRk5VUXNaMEpCUVVFc1NVRkJTU3hEUVVGRExFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExEQkRRVUZGTEVsQlFVa3NUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRk8wRkJRek5FTEc5Q1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzYVVKQlFVRTdPMEZCUjBRc1owSkJRVUVzVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjJReXhuUWtGQlFTeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MR0ZCUVVNc1EwRkJReXhEUVVGRE8wRkJRMG9zVTBGQlFUdExRVU5HTzBGQlJVUTdPenM3T3pzN096czdPenRCUVZsSE8wbEJRMHNzYTBKQlFXdENMRU5CUTNoQ0xGVkJRVGhDTEVWQlF6bENMR2RDUVVGNVF5eEZRVU42UXl4bFFVRjNReXhGUVVONFF5eGhRVUZyUXl4RlFVTnNReXhSUVVGclJDeEZRVUZCTzBGQlJXeEVMRkZCUVVFc1NVRkJTU3hsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZPMWxCUTI1RExFOUJRVTg3UVVGRFVpeFRRVUZCTzBGQlJVUXNVVUZCUVN4SlFVRkpMR2RDUVVGblFpeERRVUZETEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSVHRCUVVOd1F5eFpRVUZCTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc0swVkJRU3RGTEVOQlFVTXNRMEZCUXp0QlFVTnNSeXhUUVVGQk8wRkJRMFFzVVVGQlFTeG5Ra0ZCWjBJc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdVVUZGYWtNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlEzSkVMRkZCUVVFc1MwRkJTeXhOUVVGTkxGTkJRVk1zU1VGQlNTeFZRVUZWTEVWQlFVVTdRVUZEYkVNc1dVRkJRU3g1UWtGQmVVSXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJReXhwUWtGQmFVSXNTMEZCU1R0blFrRkRla1FzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVkQlFVY3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzBGQlEzQkZMR2RDUVVGQkxFbEJRVWtzVTBGQlV5eEZRVUZGTzBGQlEySXNiMEpCUVVFc1MwRkJTeXhOUVVGTkxHRkJRV0VzU1VGQlNTeFRRVUZUTEVWQlFVVTdRVUZEY2tNc2QwSkJRVUVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExHRkJRV0VzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hsUVVGbExFVkJRVVVzWVVGQllTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUTNCSExIRkNRVUZCTzBGQlEwWXNhVUpCUVVFN1FVRkJUU3h4UWtGQlFTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RlFVRkZPenRCUVVWb1JDeHZRa0ZCUVN4cFFrRkJhVUlzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdRVUZEYkVRc2IwSkJRVUVzWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzBGQlEzUkRMR2xDUVVGQk8wRkJRMGdzWVVGQlF5eERRVUZETEVOQlFVTTdRVUZEU2l4VFFVRkJPenRCUVVkRUxGRkJRVUVzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVNdlFpeFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVWb1JDeFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkZja0lzVVVGQlFTeGhRVUZoTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVVZ1UXl4UlFVRkJMR1ZCUVdVc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdTMEZEYWtNN1FVRkZSRHM3T3p0QlFVbEhPMEZCUTBzc1NVRkJRU3huUWtGQlowSXNRMEZCUXl4VlFVRTRRaXhGUVVGQk8wRkJRM0pFTEZGQlFVRXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRV3RDTEVOQlFVTTdRVUZGZEVNc1VVRkJRU3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVOMFF5eFJRVUZCTEVsQlFVa3NUVUZCVFN4RlFVRkZPMEZCUTFZc1dVRkJRU3hIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUTJwQ0xGTkJRVUU3VVVGRlJDeFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUzBGQlNUdFpRVU5zUkN4aFFVRmhMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1R0QlFVTXpReXhuUWtGQlFTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM0JDTEdGQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1UwRkJReXhEUVVGRExFTkJRVU03UVVGRlNDeFJRVUZCTEU5QlFVOHNSMEZCUnl4RFFVRkRPMHRCUTFvN1FVRkRSanM3UVVOb1RVUTdPMEZCUlVjN1FVRkRTQ3hOUVVGTkxITkNRVUZ6UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1RVRkZMME1zZVVKQlFYbENMRU5CUVVFN1FVRnRRbkJETEVsQlFVRXNTVUZCVnl4SlFVRkpMRWRCUVVFN1VVRkRZaXhQUVVGUExIbENRVUY1UWl4RFFVRkRMR05CUVdNc1EwRkJRenRMUVVOcVJEdEpRVVZFTEZkQlFXMUNMRU5CUVVFc1RVRkJhMElzUlVGQlJTeFBRVUV3UXl4RlFVRkJPMEZCUXk5RkxGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkZja0lzU1VGQlNTeERRVUZETEdWQlFXVXNSMEZCUnl4UFFVRlBMRXRCUVVFc1NVRkJRU3hKUVVGUUxFOUJRVThzUzBGQlVDeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hQUVVGUExFTkJRVVVzWlVGQlpTeERRVUZETzFGQlEyaEVMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNSMEZCUnl4UFFVRlBMRXRCUVVFc1NVRkJRU3hKUVVGUUxFOUJRVThzUzBGQlVDeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hQUVVGUExFTkJRVVVzYTBKQlFXdENMRU5CUVVNN1MwRkRka1E3UVVGRldTeEpRVUZCTEZOQlFWTXNRMEZCUXl4SlFVRlZMRVZCUVVFN08wRkJReTlDTEZsQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVMEZETDBRc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGQlFUdEJRVVZFT3pzN096dEJRVXRITzBGQlExY3NTVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJWU3hGUVVGQk96dFpRVU01UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkROVU1zU1VGQlNTeFJRVUZSTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTNCQ0xHZENRVUZCTEU5QlFVOHNVVUZCVVN4RFFVRkRPMEZCUTJwQ0xHRkJRVUU3V1VGRlJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZETlVNc1NVRkJTU3hSUVVGUkxFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEzQkNMR2RDUVVGQkxFOUJRVThzVVVGQlVTeERRVUZETzBGQlEycENMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzFOQlEySXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkJRVHRCUVVWaExFbEJRVUVzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUVRzN08wRkJRMmhETEZsQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUYzUWl4RFFVRkRPenRCUVVkc1JDeFpRVUZCTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUTBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZGTEU5QlFVOHNRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlFVTXNUVUZCU3l4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOMlJ5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVU3UVVGRGNrSXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxHOUNRVUZ2UWl4RlFVRkZMRU5CUVVNN1dVRkZNME1zVFVGQlRTeFZRVUZWTEVkQlFYRkNMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eGxRVUZsTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkZMMFVzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlJTOUVMRU5CUVVNN1dVRkRaQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzBGQlEyUXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MRmRCUVZjc1IwRkJSeXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETzBGQlF6RkRMRmxCUVVFc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJUdG5Ra0ZETlVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGRFZpeERRVUZ6UXl4dFEwRkJRU3hGUVVGQkxIbENRVUY1UWl4RFFVRkRMR05CUVdNc1EwRkJhVUlzWTBGQlFTeEZRVUZCTEZkQlFWY3NRMEZCUnl4RFFVRkJMRU5CUVVFc1EwRkRPVWNzUTBGQlF6dEJRVU5HTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVTBGQlV5eERRVUZETEZOQlFWTXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eGpRVUZqTEVWQlFVVXNVMEZCVXl4TFFVRkpPenRuUWtGRGRrVXNUVUZCVFN4SlFVRkpMRWRCUVVjc1ZVRkJWU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTTVReXhuUWtGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4alFVRmpMRU5CUVVNc1MwRkJUU3hEUVVGRE8yZENRVVV4UXl4SlFVRkpMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVU3UVVGRGRFSXNiMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1NVRkJTU3hGUVVGRk8zZENRVU4wUXl4TlFVRk5MRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVFc1JVRkJRU3hIUVVGQkxGZEJRVmNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0M1FrRkRia1lzVFVGQlRTeEZRVUZGTEUxQlFVRXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxHMURRVUZKTEVkQlFVYzdRVUZEZWtNc2NVSkJRVUVzUTBGQlF5eERRVUZETzBGQlEwb3NhVUpCUVVFN2NVSkJRVTBzU1VGQlNTeFhRVUZYTEVOQlFVTXNUMEZCVHl4RlFVRkZPMEZCUXpsQ0xHOUNRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEVsQlFVa3NSVUZCUlR0M1FrRkRka01zVFVGQlRTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZCTEVWQlFVRXNSMEZCUVN4WFFVRlhMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03ZDBKQlEzQkdMRTFCUVUwc1JVRkJSU3hOUVVGQkxGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4dFEwRkJTU3hIUVVGSE8zZENRVU42UXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVFc1JVRkJRU3hIUVVGQkxGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTnFSaXh4UWtGQlFTeERRVUZETEVOQlFVTTdRVUZEU2l4cFFrRkJRVHRCUVVWRUxHZENRVUZCTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc05FTkJRVFJETEZOQlFWTXNRMEZCUVN4dFFrRkJRU3hEUVVGeFFpeERRVUZETEVOQlFVTTdRVUZET1VZc1lVRkJReXhEUVVGRExFTkJRVU03UVVGRlNDeFpRVUZCTEUxQlFVMHNZMEZCWXl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxGTkJRVk1zUTBGQlF5eGpRVUZqTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVVc1IwRkJSeXhEUVVOc1JDeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxHTkJRV01zUzBGQlowTTdPMEZCUTJ4RkxHZENRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJRU3hGUVVGQkxFZEJRVUVzYlVKQlFXMUNMRU5CUVVNc1UwRkJVeXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFVkJRVVVzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRXRCUVVrN2IwSkJRMjVGTEUxQlFVMHNSMEZCUnl4SFFVRkhMRk5CUVZNc1MwRkJWQ3hKUVVGQkxFbEJRVUVzVTBGQlV5eDFRa0ZCVkN4VFFVRlRMRU5CUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03YjBKQlJXNURMRWxCUVVrc1IwRkJSeXhKUVVGSkxFbEJRVWtzUlVGQlJUdDNRa0ZEWml4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxFTkJRVUVzT0VOQlFVRXNSVUZCYVVRc1kwRkJZeXhEUVVGcFF5dzRRa0ZCUVN4RlFVRkJMRk5CUVZNc1EwRkJaMElzWTBGQlFTeERRVUZCTEVOQlF6RklMRU5CUVVNN1FVRkRTQ3h4UWtGQlFUdEJRVVZFTEc5Q1FVRkJMRTlCUVU4c1IwRkJSeXhEUVVGRE8wRkJRMklzYVVKQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWSUxFOUJRVTg3UVVGRFRDeHZRa0ZCUVN4VFFVRlRMRVZCUVVVc1NVRkJTVHR2UWtGRFppeEpRVUZKTEVWQlFVVXNiVUpCUVcxQ0xFTkJRVU1zU1VGQlNUdHBRa0ZETDBJc1EwRkJRenRCUVVOS0xHRkJRVU1zUTBGRFJpeERRVUZETzFsQlJVWXNRMEZCUVN4RlFVRkJMRWRCUVVFc1UwRkJVeXhEUVVGRExFOUJRVThzVFVGQlJTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUVN4UFFVRlBMRU5CUVVNc1EwRkJReXhaUVVGWkxFVkJRVVVzVDBGQlR5eExRVUZKT3p0QlFVTnVSQ3huUWtGQlFTeE5RVUZOTEZsQlFWa3NSMEZCUnl4WlFVRlpMRU5CUVVNc1RVRkJUU3hEUVVGRE96dEJRVWQ2UXl4blFrRkJRU3hOUVVGTkxIVkNRVUYxUWl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxGbEJRVmtzUTBGQlF5eGpRVUZqTEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1IwRkJSeXhEUVVGRExFTkJRVU1zWTBGQll5eExRVUZKTzI5Q1FVTnNSaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eGpRVUZqTEV0QlFXUXNTVUZCUVN4SlFVRkJMR05CUVdNc2RVSkJRV1FzWTBGQll5eERRVUZITEdOQlFXTXNRMEZCUXl4RFFVRkRPMjlDUVVVdlF5eEpRVUZKTEV0QlFVc3NTVUZCU1N4SlFVRkpMRVZCUVVVN2QwSkJRMnBDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUTJJc1EwRkJRU3gxUTBGQlFTeEZRVUV3UXl4UFFVRlBMRU5CUVhGRExHdERRVUZCTEVWQlFVRXNZMEZCWXl4RFFVRm5RaXhqUVVGQkxFTkJRVUVzUTBGRGNrZ3NRMEZCUXp0QlFVTklMSEZDUVVGQk8wRkJSVVFzYjBKQlFVRXNUMEZCVHl4TFFVRkxMRU5CUVVNN1FVRkRaaXhwUWtGQlF5eERRVUZETEVOQlFVTTdaMEpCUlVnc1RVRkJUU3hOUVVGTkxFZEJRVWNzV1VGQldTeERRVUZETEUxQlFVMHNTVUZCU1N4SlFVRkpMRWRCUVVjc1ZVRkJWU3hEUVVGRExGbEJRVmtzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1FVRkZla1lzWjBKQlFVRXNTVUZCU1N4bFFVRXJSQ3hEUVVGRE8wRkJRM0JGTEdkQ1FVRkJMRmxCUVZrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eFhRVUZYTEV0QlFVazdRVUZEYmtNc2IwSkJRVUVzU1VGQlNTeGxRVUZsTEVWQlFVVTdPMEZCUlc1Q0xIZENRVUZCTEUxQlFVMHNVMEZCVXl4SFFVRkhMR1ZCUVdVc1EwRkJReXhKUVVGSkxFTkJRVU03UVVGRGRrTXNkMEpCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMEZCUTI1RExIZENRVUZCTEUxQlFVMHNWVUZCVlN4SFFVRkhMRmRCUVZjc1EwRkJReXhKUVVGSkxFTkJRVU03UVVGRGNFTXNkMEpCUVVFc1RVRkJUU3hMUVVGTExFZEJRVWNzVlVGQlZTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPenRCUVVkeVF5eDNRa0ZCUVN4TlFVRk5MRTlCUVU4c1IwRkJkME03TkVKQlEyNUVMRk5CUVZNc1JVRkJSU3hsUVVGbExFTkJRVU1zVTBGQlV6czBRa0ZEY0VNc1UwRkJVeXhGUVVGRkxHVkJRV1VzUTBGQlF5eFRRVUZUT3pSQ1FVTndReXhaUVVGWkxFVkJRVVVzWlVGQlpTeERRVUZETEZsQlFWazdORUpCUXpGRExGTkJRVk1zUlVGQlJTeGxRVUZsTEVOQlFVTXNVMEZCVXp0QlFVTndReXcwUWtGQlFTeFZRVUZWTEVWQlExSXNaVUZCWlN4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSk8wRkJRMmhETEd0RFFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEZOQlFWTXNRMEZCUXl4bFFVRmxMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wRkJRek5FTEd0RFFVRkZMRk5CUVZNN2VVSkJRMmhDTEVOQlFVTTdPMEZCUjBZc2QwSkJRVUVzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eEZRVUZGTEU5QlFVOHNSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eERRVUZETzBGQlF5OUZMSGRDUVVGQkxFbEJRVWtzVFVGQlRTeEZRVUZGTzBGQlExWXNORUpCUVVFc1MwRkJTeXhEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdRVUZEZGtJc2VVSkJRVUU3UVVGRlJDeDNRa0ZCUVN4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlEzcENMSEZDUVVGQk8yOUNRVVZFTEdWQlFXVXNSMEZCUnl4WFFVRlhMRU5CUVVNN1FVRkRhRU1zYVVKQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1lVRkJReXhEUVVGRExFTkJRVU03TzFsQlIwZ3NUMEZCVHl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8wRkJSWFpDTEZsQlFVRXNUMEZCVHl4UFFVRlBMRU5CUVVNN08wRkJRMmhDTEV0QlFVRTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3T3p0QlFVTm9ReXhaUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6czdRVUZIYkVRc1dVRkJRU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFMUJRVVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6ZEVMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVU3UVVGRFpDeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3TzFsQlIwUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhMUVVGTExFTkJRVEJDTEVOQlFVTTdXVUZEY0VVc1RVRkJUU3gzUWtGQmQwSXNSMEZCUnl4VFFVRlRMRXRCUVVFc1NVRkJRU3hKUVVGVUxGTkJRVk1zUzBGQlZDeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hUUVVGVExFTkJRVVVzYTBKQlFXdENMRU5CUVVNN1dVRkRMMFFzU1VGQlNTeERRVUZETEhkQ1FVRjNRaXhGUVVGRk8wRkJRemRDTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdFpRVVZFTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzZDBKQlFYZENMRXRCUVVFc1NVRkJRU3hKUVVGNFFpeDNRa0ZCZDBJc1MwRkJlRUlzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc2QwSkJRWGRDTEVOQlFVVXNWVUZCVlN4RFFVRkRPMWxCUXpsRUxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSVHRCUVVOeVFpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXp0WlFVVXpReXhOUVVGTkxGVkJRVlVzUjBGQmNVSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHVkJRV1VzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0QlFVVXZSU3haUVVGQkxFMUJRVTBzWTBGQll5eEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMSGRDUVVGM1FpeERRVUZETEdOQlFXTXNUVUZCUlN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJRU3hIUVVGSExFTkJRMnBGTEVOQlFVTXNiVUpCUVcxQ0xFdEJRV2RET3p0blFrRkRiRVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NWVUZCVlN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVsQlFVc3NRMEZCUXl4RFFVRkRPMEZCUTI1RUxHZENRVUZCTEUxQlFVMHNVMEZCVXl4SFFVRkhMRU5CUVVNc1RVRkJRU3h0UWtGQmJVSXNRMEZCUXl4VFFVRlRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1JVRkJSU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEdOQlFXTXNSVUZCUlN4VFFVRlRMRXRCUVVrN08wRkJRM2hHTEc5Q1FVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzI5Q1FVTm9SQ3hKUVVGSkxHTkJRV01zUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZEZWtJc2QwSkJRVUVzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZEVWl4TlFVRkJMR05CUVdNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVkQlFVY3NSVUZET1VJc1EwRkJRU3hGUVVGQkxFZEJRVUVzWTBGQll5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1IwRkJSeXhGUVVNNVFpeGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExHTkJRV01zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkRla1FzUTBGQlF6dEJRVU5JTEhGQ1FVRkJPMEZCUlVRc2IwSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTzNkQ1FVTjBReXhOUVVGTk8wRkJRMDRzZDBKQlFVRXNUVUZCVFN4RlFVRkZMRU5CUVVFc1JVRkJRU3hIUVVGQkxHTkJRV01zUTBGQlF5eE5RVUZOTEcxRFFVRkpMRWRCUVVjN1FVRkRja01zY1VKQlFVRXNRMEZCUXl4RFFVRkRPMEZCUTB3c2FVSkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVVklMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzUTBGQlF6dEJRVU4yUWl4aFFVRkRMRU5CUTBZc1EwRkJRenM3UVVGSFJpeFpRVUZCTEdkQ1FVRm5RaXhMUVVGb1FpeEpRVUZCTEVsQlFVRXNaMEpCUVdkQ0xFdEJRV2hDTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxHZENRVUZuUWl4RFFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExHVkJRV1VzUlVGQlJTeFZRVUZWTEV0QlFVazdRVUZEZUVRc1owSkJRVUVzVFVGQlRTeFhRVUZYTEVkQlFVY3NaVUZCWlN4RFFVRkRMRXRCUVVzc1EwRkJRenRuUWtGRE1VTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSVHR2UWtGRGFFSXNUMEZCVHp0QlFVTlNMR2xDUVVGQk8wRkJSVVFzWjBKQlFVRXNWMEZCVnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGTkJRVk1zUzBGQlNUczdRVUZEYUVNc2IwSkJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVY3NWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE96dEJRVWR1UXl4dlFrRkJRU3hOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenR2UWtGRGRrTXNTVUZCU1N4bFFVRmxMRU5CUVVNc1ZVRkJWU3hGUVVGRk8wRkJRemxDTEhkQ1FVRkJMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRMW9zUTBGQlFTeEZRVUZCTEVkQlFVRXNaVUZCWlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVWtzUjBGQlJ5eEZRVU51UXl4TlFVRkJMR1ZCUVdVc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVkQlFVY3NSVUZEYmtNc1EwRkJRU3hGUVVGQkxFZEJRVUVzWlVGQlpTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1IwRkJSeXhEUVVOd1F5eERRVUZETzBGQlEwZ3NjVUpCUVVFN1FVRkJUU3g1UWtGQlFUdDNRa0ZEVEN4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOb1F5eHhRa0ZCUVR0dlFrRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eGxRVUZsTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1IwRkJSeXhWUVVGVkxFTkJRVU1zWlVGQlpTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRCUVVVdlJpeHZRa0ZCUVN4TlFVRk5MRTlCUVU4c1IwRkJkME03ZDBKQlEyNUVMRk5CUVZNc1JVRkJSU3hsUVVGbExFTkJRVU1zVTBGQlV6dDNRa0ZEY0VNc1UwRkJVeXhGUVVGRkxHVkJRV1VzUTBGQlF5eFRRVUZUTzNkQ1FVTndReXhaUVVGWkxFVkJRVVVzWlVGQlpTeERRVUZETEZsQlFWazdkMEpCUXpGRExGTkJRVk1zUlVGQlJTeGxRVUZsTEVOQlFVTXNWVUZCVlR0M1FrRkRja01zVlVGQlZUdHhRa0ZEV0N4RFFVRkRPenRCUVVkR0xHOUNRVUZCTEUxQlFVMHNkVUpCUVhWQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNaVUZCWlN4RFFVRkRMR05CUVdNc1RVRkJSU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlFTeEhRVUZITEVOQlFVTXNRMEZCUXl4alFVRmpMRXRCUVVrN2QwSkJRM0pHTEUxQlFVMHNTMEZCU3l4SFFVRkhMR05CUVdNc1MwRkJaQ3hKUVVGQkxFbEJRVUVzWTBGQll5eDFRa0ZCWkN4alFVRmpMRU5CUVVjc1kwRkJZeXhEUVVGRExFTkJRVU03ZDBKQlJTOURMRWxCUVVrc1MwRkJTeXhKUVVGSkxFbEJRVWtzUlVGQlJUczBRa0ZEYWtJc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGRFlpeERRVUZCTEhWRFFVRkJMRVZCUVRCRExGVkJRVlVzUTBGQmNVTXNhME5CUVVFc1JVRkJRU3hqUVVGakxFTkJRV2RDTEdOQlFVRXNRMEZCUVN4RFFVTjRTQ3hEUVVGRE8wRkJRMGdzZVVKQlFVRTdRVUZGUkN4M1FrRkJRU3hQUVVGUExFdEJRVXNzUTBGQlF6dEJRVU5tTEhGQ1FVRkRMRU5CUVVNc1EwRkJRenM3UVVGSFNDeHZRa0ZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zU1VGQlNTeExRVUZKT3p0M1FrRkRja0lzVFVGQlRTeExRVUZMTEVkQlFUQkNMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRE8wRkJSVGxFTEhkQ1FVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1JVRkJSU3hQUVVGUExFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1EwRkJRenRCUVVNdlJTeDNRa0ZCUVN4SlFVRkpMRTFCUVUwc1JVRkJSVHRCUVVOV0xEUkNRVUZCTEV0QlFVc3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8wRkJRM1pDTEhsQ1FVRkJPMEZCUlVRc2QwSkJRVUVzVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNeFFpeHhRa0ZCUXl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hwUWtGQlF5eERRVUZETEVOQlFVTTdRVUZEVEN4aFFVRkRMRU5CUVVNc1EwRkJRenM3UVVGSFNDeFpRVUZCTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNRMEZCUXp0WlFVTXZRaXhQUVVGUExFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTTdRVUZGZGtJc1dVRkJRU3hQUVVGUExFOUJRVThzUTBGQlF6czdRVUZEYUVJc1MwRkJRVHRCUVVWUExFbEJRVUVzV1VGQldTeERRVU5zUWl4SlFVRnZRaXhGUVVOd1FpeExRVUZ4UWl4RlFVTnlRaXhQUVVFMlF5eEZRVU0zUXl4MVFrRkJjMFFzUlVGQlFUdEJRVVYwUkN4UlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dFJRVVY2Uml4SlFVRkpMRWxCUVVrc1EwRkJReXhsUVVGbExFVkJRVVU3UVVGRGVFSXNXVUZCUVN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxIZENRVUYzUWl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wRkJRM2hFTEZsQlFVRXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEYWtNc1RVRkJUU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVOMlJDeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRlZCUVZVc1EwRkJRenRMUVVOdVFqdEpRVVZQTEhGQ1FVRnhRaXhEUVVNelFpeFhRVUV5UWl4RlFVTXpRaXhOUVVkRExFVkJRVUU3UVVGRlJDeFJRVUZCTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzVFVGQlRTeERRVUZETzFGQlJXeERMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzWjBOQlFXZERMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVVjJSU3hSUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NjVUpCUVhGQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdRVUZGYkVRc1VVRkJRU3hYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUlRGQ0xFbEJRVWtzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhGUVVGRk8wRkJRek5DTEZsQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3d5UWtGQk1rSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVONlJDeFpRVUZCTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRjRU1zVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUXpGRUxGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNVVUZCVVN4RFFVRkRPMHRCUTJwQ08wbEJSVThzYzBKQlFYTkNMRU5CUXpWQ0xGZEJRVEpDTEVWQlF6TkNMRTFCU1VNc1JVRkJRVHRSUVVWRUxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVVY0UXl4UlFVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzYVVOQlFXbERMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkZPVVVzVVVGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMSEZDUVVGeFFpeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUld4RUxGRkJRVUVzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVVeFFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUlVGQlJUdEJRVU16UWl4WlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzTWtKQlFUSkNMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRGVrUXNXVUZCUVN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM0JETEUxQlFVMHNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVNeFJDeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRMUVVOcVFqczdRVUYwVjNOQ0xIbENRVUZqTEVOQlFVRXNZMEZCUVN4SFFVRkhMR2xDUVVGcFFqczdPenNpZlE9PVxuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgR0xURiwgR0xURkxvYWRlclBsdWdpbiwgR0xURlBhcnNlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9sb2FkZXJzL0dMVEZMb2FkZXIuanMnO1xuaW1wb3J0IHtcbiAgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbixcbiAgVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW4sXG4gIFZSTUh1bWFub2lkLFxuICBWUk1IdW1hbm9pZExvYWRlclBsdWdpbixcbiAgVlJNTG9va0F0TG9hZGVyUGx1Z2luLFxuICBWUk1NZXRhLFxuICBWUk1NZXRhTG9hZGVyUGx1Z2luLFxufSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLWNvcmUnO1xuaW1wb3J0IHsgTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbiB9IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tbWF0ZXJpYWxzLW10b29uJztcbmltcG9ydCB7IFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbiB9IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tbWF0ZXJpYWxzLWhkci1lbWlzc2l2ZS1tdWx0aXBsaWVyJztcbmltcG9ydCB7IFZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luIH0gZnJvbSAnQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtdjBjb21wYXQnO1xuaW1wb3J0IHsgVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4gfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLW5vZGUtY29uc3RyYWludCc7XG5pbXBvcnQgeyBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luIH0gZnJvbSAnQHBpeGl2L3RocmVlLXZybS1zcHJpbmdib25lJztcbmltcG9ydCB7IFZSTUxvYWRlclBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL1ZSTUxvYWRlclBsdWdpbk9wdGlvbnMnO1xuaW1wb3J0IHsgVlJNIH0gZnJvbSAnLi9WUk0nO1xuXG5leHBvcnQgY2xhc3MgVlJNTG9hZGVyUGx1Z2luIGltcGxlbWVudHMgR0xURkxvYWRlclBsdWdpbiB7XG4gIHB1YmxpYyByZWFkb25seSBwYXJzZXI6IEdMVEZQYXJzZXI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGV4cHJlc3Npb25QbHVnaW46IFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBmaXJzdFBlcnNvblBsdWdpbjogVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBodW1hbm9pZFBsdWdpbjogVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBsb29rQXRQbHVnaW46IFZSTUxvb2tBdExvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IG1ldGFQbHVnaW46IFZSTU1ldGFMb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBtdG9vbk1hdGVyaWFsUGx1Z2luOiBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyUGx1Z2luOiBWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBtYXRlcmlhbHNWMENvbXBhdFBsdWdpbjogVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBzcHJpbmdCb25lUGx1Z2luOiBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luO1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZUNvbnN0cmFpbnRQbHVnaW46IFZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luO1xuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnVlJNTG9hZGVyUGx1Z2luJztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJzZXI6IEdMVEZQYXJzZXIsIG9wdGlvbnM/OiBWUk1Mb2FkZXJQbHVnaW5PcHRpb25zKSB7XG4gICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG5cbiAgICBjb25zdCBoZWxwZXJSb290ID0gb3B0aW9ucz8uaGVscGVyUm9vdDtcbiAgICBjb25zdCBhdXRvVXBkYXRlSHVtYW5Cb25lcyA9IG9wdGlvbnM/LmF1dG9VcGRhdGVIdW1hbkJvbmVzO1xuXG4gICAgdGhpcy5leHByZXNzaW9uUGx1Z2luID0gb3B0aW9ucz8uZXhwcmVzc2lvblBsdWdpbiA/PyBuZXcgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbihwYXJzZXIpO1xuICAgIHRoaXMuZmlyc3RQZXJzb25QbHVnaW4gPSBvcHRpb25zPy5maXJzdFBlcnNvblBsdWdpbiA/PyBuZXcgVlJNRmlyc3RQZXJzb25Mb2FkZXJQbHVnaW4ocGFyc2VyKTtcbiAgICB0aGlzLmh1bWFub2lkUGx1Z2luID1cbiAgICAgIG9wdGlvbnM/Lmh1bWFub2lkUGx1Z2luID8/XG4gICAgICBuZXcgVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW4ocGFyc2VyLCB7XG4gICAgICAgIGhlbHBlclJvb3QsXG4gICAgICAgIGF1dG9VcGRhdGVIdW1hbkJvbmVzLFxuICAgICAgfSk7XG4gICAgdGhpcy5sb29rQXRQbHVnaW4gPSBvcHRpb25zPy5sb29rQXRQbHVnaW4gPz8gbmV3IFZSTUxvb2tBdExvYWRlclBsdWdpbihwYXJzZXIsIHsgaGVscGVyUm9vdCB9KTtcbiAgICB0aGlzLm1ldGFQbHVnaW4gPSBvcHRpb25zPy5tZXRhUGx1Z2luID8/IG5ldyBWUk1NZXRhTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgdGhpcy5tdG9vbk1hdGVyaWFsUGx1Z2luID0gb3B0aW9ucz8ubXRvb25NYXRlcmlhbFBsdWdpbiA/PyBuZXcgTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbihwYXJzZXIpO1xuICAgIHRoaXMubWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyUGx1Z2luID1cbiAgICAgIG9wdGlvbnM/Lm1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllclBsdWdpbiA/PyBuZXcgVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgdGhpcy5tYXRlcmlhbHNWMENvbXBhdFBsdWdpbiA9IG9wdGlvbnM/Lm1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luID8/IG5ldyBWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbihwYXJzZXIpO1xuXG4gICAgdGhpcy5zcHJpbmdCb25lUGx1Z2luID1cbiAgICAgIG9wdGlvbnM/LnNwcmluZ0JvbmVQbHVnaW4gPz9cbiAgICAgIG5ldyBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luKHBhcnNlciwge1xuICAgICAgICBjb2xsaWRlckhlbHBlclJvb3Q6IGhlbHBlclJvb3QsXG4gICAgICAgIGpvaW50SGVscGVyUm9vdDogaGVscGVyUm9vdCxcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlQ29uc3RyYWludFBsdWdpbiA9XG4gICAgICBvcHRpb25zPy5ub2RlQ29uc3RyYWludFBsdWdpbiA/PyBuZXcgVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4ocGFyc2VyLCB7IGhlbHBlclJvb3QgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmVmb3JlUm9vdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLm1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luLmJlZm9yZVJvb3QoKTtcbiAgICBhd2FpdCB0aGlzLm10b29uTWF0ZXJpYWxQbHVnaW4uYmVmb3JlUm9vdCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRNZXNoKG1lc2hJbmRleDogbnVtYmVyKTogUHJvbWlzZTxUSFJFRS5Hcm91cCB8IFRIUkVFLk1lc2ggfCBUSFJFRS5Ta2lubmVkTWVzaD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLm10b29uTWF0ZXJpYWxQbHVnaW4ubG9hZE1lc2gobWVzaEluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNYXRlcmlhbFR5cGUobWF0ZXJpYWxJbmRleDogbnVtYmVyKTogdHlwZW9mIFRIUkVFLk1hdGVyaWFsIHwgbnVsbCB7XG4gICAgY29uc3QgbXRvb25UeXBlID0gdGhpcy5tdG9vbk1hdGVyaWFsUGx1Z2luLmdldE1hdGVyaWFsVHlwZShtYXRlcmlhbEluZGV4KTtcbiAgICBpZiAobXRvb25UeXBlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBtdG9vblR5cGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZXh0ZW5kTWF0ZXJpYWxQYXJhbXMobWF0ZXJpYWxJbmRleDogbnVtYmVyLCBtYXRlcmlhbFBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IFByb21pc2U8YW55PiB7XG4gICAgYXdhaXQgdGhpcy5tYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJQbHVnaW4uZXh0ZW5kTWF0ZXJpYWxQYXJhbXMobWF0ZXJpYWxJbmRleCwgbWF0ZXJpYWxQYXJhbXMpO1xuICAgIGF3YWl0IHRoaXMubXRvb25NYXRlcmlhbFBsdWdpbi5leHRlbmRNYXRlcmlhbFBhcmFtcyhtYXRlcmlhbEluZGV4LCBtYXRlcmlhbFBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYWZ0ZXJSb290KGdsdGY6IEdMVEYpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLm1ldGFQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgIGF3YWl0IHRoaXMuaHVtYW5vaWRQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgIGF3YWl0IHRoaXMuZXhwcmVzc2lvblBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5sb29rQXRQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgIGF3YWl0IHRoaXMuZmlyc3RQZXJzb25QbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuICAgIGF3YWl0IHRoaXMuc3ByaW5nQm9uZVBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5ub2RlQ29uc3RyYWludFBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5tdG9vbk1hdGVyaWFsUGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcblxuICAgIGNvbnN0IG1ldGEgPSBnbHRmLnVzZXJEYXRhLnZybU1ldGEgYXMgVlJNTWV0YSB8IG51bGw7XG4gICAgY29uc3QgaHVtYW5vaWQgPSBnbHRmLnVzZXJEYXRhLnZybUh1bWFub2lkIGFzIFZSTUh1bWFub2lkIHwgbnVsbDtcblxuICAgIC8vIG1ldGEgYW5kIGh1bWFub2lkIGFyZSByZXF1aXJlZCB0byBiZSBhIFZSTS5cbiAgICAvLyBEb24ndCBjcmVhdGUgVlJNIGlmIHRoZXkgYXJlIG51bGxcbiAgICBpZiAobWV0YSAmJiBodW1hbm9pZCkge1xuICAgICAgY29uc3QgdnJtID0gbmV3IFZSTSh7XG4gICAgICAgIHNjZW5lOiBnbHRmLnNjZW5lLFxuICAgICAgICBleHByZXNzaW9uTWFuYWdlcjogZ2x0Zi51c2VyRGF0YS52cm1FeHByZXNzaW9uTWFuYWdlcixcbiAgICAgICAgZmlyc3RQZXJzb246IGdsdGYudXNlckRhdGEudnJtRmlyc3RQZXJzb24sXG4gICAgICAgIGh1bWFub2lkLFxuICAgICAgICBsb29rQXQ6IGdsdGYudXNlckRhdGEudnJtTG9va0F0LFxuICAgICAgICBtZXRhLFxuICAgICAgICBtYXRlcmlhbHM6IGdsdGYudXNlckRhdGEudnJtTVRvb25NYXRlcmlhbHMsXG4gICAgICAgIHNwcmluZ0JvbmVNYW5hZ2VyOiBnbHRmLnVzZXJEYXRhLnZybVNwcmluZ0JvbmVNYW5hZ2VyLFxuICAgICAgICBub2RlQ29uc3RyYWludE1hbmFnZXI6IGdsdGYudXNlckRhdGEudnJtTm9kZUNvbnN0cmFpbnRNYW5hZ2VyLFxuICAgICAgfSk7XG5cbiAgICAgIGdsdGYudXNlckRhdGEudnJtID0gdnJtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2VlOiBodHRwczovL3RocmVlanMub3JnL2RvY3MvI21hbnVhbC9lbi9pbnRyb2R1Y3Rpb24vSG93LXRvLWRpc3Bvc2Utb2Ytb2JqZWN0c1xuXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmZ1bmN0aW9uIGRpc3Bvc2VNYXRlcmlhbChtYXRlcmlhbDogVEhSRUUuTWF0ZXJpYWwpOiB2b2lkIHtcbiAgT2JqZWN0LnZhbHVlcyhtYXRlcmlhbCkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICBpZiAodmFsdWU/LmlzVGV4dHVyZSkge1xuICAgICAgY29uc3QgdGV4dHVyZSA9IHZhbHVlIGFzIFRIUkVFLlRleHR1cmU7XG4gICAgICB0ZXh0dXJlLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmICgobWF0ZXJpYWwgYXMgYW55KS5pc1NoYWRlck1hdGVyaWFsKSB7XG4gICAgY29uc3QgdW5pZm9ybXM6IHsgW3VuaWZvcm06IHN0cmluZ106IFRIUkVFLklVbmlmb3JtPGFueT4gfSA9IChtYXRlcmlhbCBhcyBhbnkpLnVuaWZvcm1zO1xuICAgIGlmICh1bmlmb3Jtcykge1xuICAgICAgT2JqZWN0LnZhbHVlcyh1bmlmb3JtcykuZm9yRWFjaCgodW5pZm9ybSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHVuaWZvcm0udmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZT8uaXNUZXh0dXJlKSB7XG4gICAgICAgICAgY29uc3QgdGV4dHVyZSA9IHZhbHVlIGFzIFRIUkVFLlRleHR1cmU7XG4gICAgICAgICAgdGV4dHVyZS5kaXNwb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG1hdGVyaWFsLmRpc3Bvc2UoKTtcbn1cblxuZnVuY3Rpb24gZGlzcG9zZShvYmplY3QzRDogVEhSRUUuT2JqZWN0M0QpOiB2b2lkIHtcbiAgY29uc3QgZ2VvbWV0cnk6IFRIUkVFLkJ1ZmZlckdlb21ldHJ5IHwgdW5kZWZpbmVkID0gKG9iamVjdDNEIGFzIGFueSkuZ2VvbWV0cnk7XG4gIGlmIChnZW9tZXRyeSkge1xuICAgIGdlb21ldHJ5LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIGNvbnN0IHNrZWxldG9uOiBUSFJFRS5Ta2VsZXRvbiB8IHVuZGVmaW5lZCA9IChvYmplY3QzRCBhcyBhbnkpLnNrZWxldG9uO1xuICBpZiAoc2tlbGV0b24pIHtcbiAgICBza2VsZXRvbi5kaXNwb3NlKCk7XG4gIH1cblxuICBjb25zdCBtYXRlcmlhbDogVEhSRUUuTWF0ZXJpYWwgfCBUSFJFRS5NYXRlcmlhbFtdIHwgdW5kZWZpbmVkID0gKG9iamVjdDNEIGFzIGFueSkubWF0ZXJpYWw7XG4gIGlmIChtYXRlcmlhbCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1hdGVyaWFsKSkge1xuICAgICAgbWF0ZXJpYWwuZm9yRWFjaCgobWF0ZXJpYWw6IFRIUkVFLk1hdGVyaWFsKSA9PiBkaXNwb3NlTWF0ZXJpYWwobWF0ZXJpYWwpKTtcbiAgICB9IGVsc2UgaWYgKG1hdGVyaWFsKSB7XG4gICAgICBkaXNwb3NlTWF0ZXJpYWwobWF0ZXJpYWwpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVlcERpc3Bvc2Uob2JqZWN0M0Q6IFRIUkVFLk9iamVjdDNEKTogdm9pZCB7XG4gIG9iamVjdDNELnRyYXZlcnNlKGRpc3Bvc2UpO1xufVxuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vKipcbiAqIFRyYXZlcnNlIGdpdmVuIG9iamVjdCBhbmQgcmVtb3ZlIHVubmVjZXNzYXJpbHkgYm91bmQgam9pbnRzIGZyb20gZXZlcnkgYFRIUkVFLlNraW5uZWRNZXNoYC5cbiAqIFNvbWUgZW52aXJvbm1lbnRzIGxpa2UgbW9iaWxlIGRldmljZXMgaGF2ZSBhIGxvd2VyIGxpbWl0IG9mIGJvbmVzIGFuZCBtaWdodCBiZSB1bmFibGUgdG8gcGVyZm9ybSBtZXNoIHNraW5uaW5nLCB0aGlzIGZ1bmN0aW9uIG1pZ2h0IHJlc29sdmUgc3VjaCBhbiBpc3N1ZS5cbiAqIEFsc28gdGhpcyBmdW5jdGlvbiBtaWdodCBncmVhdGx5IGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIG1lc2ggc2tpbm5pbmcuXG4gKlxuICogQHBhcmFtIHJvb3QgUm9vdCBvYmplY3QgdGhhdCB3aWxsIGJlIHRyYXZlcnNlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVW5uZWNlc3NhcnlKb2ludHMocm9vdDogVEhSRUUuT2JqZWN0M0QpOiB2b2lkIHtcbiAgLy8gc29tZSBtZXNoZXMgbWlnaHQgc2hhcmUgYSBzYW1lIHNraW5JbmRleCBhdHRyaWJ1dGUgYW5kIHRoaXMgbWFwIHByZXZlbnRzIHRvIGNvbnZlcnQgdGhlIGF0dHJpYnV0ZSB0d2ljZVxuICBjb25zdCBza2VsZXRvbkxpc3Q6IE1hcDxUSFJFRS5CdWZmZXJBdHRyaWJ1dGUsIFRIUkVFLlNrZWxldG9uPiA9IG5ldyBNYXAoKTtcblxuICAvLyBUcmF2ZXJzZSBhbiBlbnRpcmUgdHJlZVxuICByb290LnRyYXZlcnNlKChvYmopID0+IHtcbiAgICBpZiAob2JqLnR5cGUgIT09ICdTa2lubmVkTWVzaCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNoID0gb2JqIGFzIFRIUkVFLlNraW5uZWRNZXNoO1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gbWVzaC5nZW9tZXRyeTtcbiAgICBjb25zdCBhdHRyaWJ1dGUgPSBnZW9tZXRyeS5nZXRBdHRyaWJ1dGUoJ3NraW5JbmRleCcpIGFzIFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTtcblxuICAgIC8vIGxvb2sgZm9yIGV4aXN0aW5nIHNrZWxldG9uXG4gICAgbGV0IHNrZWxldG9uID0gc2tlbGV0b25MaXN0LmdldChhdHRyaWJ1dGUpO1xuXG4gICAgaWYgKCFza2VsZXRvbikge1xuICAgICAgLy8gZ2VuZXJhdGUgcmVkdWNlZCBib25lIGxpc3RcbiAgICAgIGNvbnN0IGJvbmVzOiBUSFJFRS5Cb25lW10gPSBbXTsgLy8gbmV3IGxpc3Qgb2YgYm9uZVxuICAgICAgY29uc3QgYm9uZUludmVyc2VzOiBUSFJFRS5NYXRyaXg0W10gPSBbXTsgLy8gbmV3IGxpc3Qgb2YgYm9uZUludmVyc2VcbiAgICAgIGNvbnN0IGJvbmVJbmRleE1hcDogeyBbaW5kZXg6IG51bWJlcl06IG51bWJlciB9ID0ge307IC8vIG1hcCBvZiBvbGQgYm9uZSBpbmRleCB2cy4gbmV3IGJvbmUgaW5kZXhcblxuICAgICAgLy8gY3JlYXRlIGEgbmV3IGJvbmUgbWFwXG4gICAgICBjb25zdCBhcnJheSA9IGF0dHJpYnV0ZS5hcnJheTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBhcnJheVtpXTtcblxuICAgICAgICAvLyBuZXcgc2tpbkluZGV4IGJ1ZmZlclxuICAgICAgICBpZiAoYm9uZUluZGV4TWFwW2luZGV4XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYm9uZUluZGV4TWFwW2luZGV4XSA9IGJvbmVzLmxlbmd0aDtcbiAgICAgICAgICBib25lcy5wdXNoKG1lc2guc2tlbGV0b24uYm9uZXNbaW5kZXhdKTtcbiAgICAgICAgICBib25lSW52ZXJzZXMucHVzaChtZXNoLnNrZWxldG9uLmJvbmVJbnZlcnNlc1tpbmRleF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgYXJyYXlbaV0gPSBib25lSW5kZXhNYXBbaW5kZXhdO1xuICAgICAgfVxuXG4gICAgICAvLyByZXBsYWNlIHdpdGggbmV3IGluZGljZXNcbiAgICAgIGF0dHJpYnV0ZS5jb3B5QXJyYXkoYXJyYXkpO1xuICAgICAgYXR0cmlidXRlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcblxuICAgICAgLy8gcmVwbGFjZSB3aXRoIG5ldyBpbmRpY2VzXG4gICAgICBza2VsZXRvbiA9IG5ldyBUSFJFRS5Ta2VsZXRvbihib25lcywgYm9uZUludmVyc2VzKTtcbiAgICAgIHNrZWxldG9uTGlzdC5zZXQoYXR0cmlidXRlLCBza2VsZXRvbik7XG4gICAgfVxuXG4gICAgbWVzaC5iaW5kKHNrZWxldG9uLCBuZXcgVEhSRUUuTWF0cml4NCgpKTtcbiAgICAvLyAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl4gdHJhbnNmb3JtIG9mIG1lc2hlcyBzaG91bGQgYmUgaWdub3JlZFxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9nbFRGL3RyZWUvbWFzdGVyL3NwZWNpZmljYXRpb24vMi4wI3NraW5zXG4gIH0pO1xufVxuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgQnVmZmVyQXR0cmlidXRlIH0gZnJvbSAndGhyZWUnO1xuXG4vKipcbiAqIFRyYXZlcnNlIGdpdmVuIG9iamVjdCBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5IHZlcnRpY2VzIGZyb20gZXZlcnkgQnVmZmVyR2VvbWV0cmllcy5cbiAqIFRoaXMgb25seSBwcm9jZXNzZXMgYnVmZmVyIGdlb21ldHJpZXMgd2l0aCBpbmRleCBidWZmZXIuXG4gKlxuICogVGhyZWUuanMgY3JlYXRlcyBtb3JwaCB0ZXh0dXJlcyBmb3IgZWFjaCBnZW9tZXRyaWVzIGFuZCBpdCBzb21ldGltZXMgY29uc3VtZXMgdW5uZWNlc3NhcnkgYW1vdW50IG9mIFZSQU0gZm9yIGNlcnRhaW4gbW9kZWxzLlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIG9wdGltaXplIGdlb21ldHJpZXMgdG8gcmVkdWNlIHRoZSBzaXplIG9mIG1vcnBoIHRleHR1cmUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvaXNzdWVzLzIzMDk1XG4gKlxuICogQHBhcmFtIHJvb3QgUm9vdCBvYmplY3QgdGhhdCB3aWxsIGJlIHRyYXZlcnNlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVW5uZWNlc3NhcnlWZXJ0aWNlcyhyb290OiBUSFJFRS5PYmplY3QzRCk6IHZvaWQge1xuICBjb25zdCBnZW9tZXRyeU1hcCA9IG5ldyBNYXA8VEhSRUUuQnVmZmVyR2VvbWV0cnksIFRIUkVFLkJ1ZmZlckdlb21ldHJ5PigpO1xuXG4gIC8vIFRyYXZlcnNlIGFuIGVudGlyZSB0cmVlXG4gIHJvb3QudHJhdmVyc2UoKG9iaikgPT4ge1xuICAgIGlmICghKG9iaiBhcyBhbnkpLmlzTWVzaCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc2ggPSBvYmogYXMgVEhSRUUuTWVzaDtcbiAgICBjb25zdCBnZW9tZXRyeSA9IG1lc2guZ2VvbWV0cnk7XG5cbiAgICAvLyBpZiB0aGUgZ2VvbWV0cnkgZG9lcyBub3QgaGF2ZSBhbiBpbmRleCBidWZmZXIgaXQgZG9lcyBub3QgbmVlZCB0byBwcm9jZXNzXG4gICAgY29uc3Qgb3JpZ2lhbmxJbmRleCA9IGdlb21ldHJ5LmluZGV4O1xuICAgIGlmIChvcmlnaWFubEluZGV4ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBza2lwIGFscmVhZHkgcHJvY2Vzc2VkIGdlb21ldHJ5XG4gICAgY29uc3QgbmV3R2VvbWV0cnlBbHJlYWR5RXhpc3RlZCA9IGdlb21ldHJ5TWFwLmdldChnZW9tZXRyeSk7XG4gICAgaWYgKG5ld0dlb21ldHJ5QWxyZWFkeUV4aXN0ZWQgIT0gbnVsbCkge1xuICAgICAgbWVzaC5nZW9tZXRyeSA9IG5ld0dlb21ldHJ5QWxyZWFkeUV4aXN0ZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3R2VvbWV0cnkgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKTtcblxuICAgIC8vIGNvcHkgdmFyaW91cyBwcm9wZXJ0aWVzXG4gICAgLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL2Jsb2IvMWEyNDFlZjEwMDQ4NzcwZDU2ZTA2ZDZjZDZhNjRjNzZjYzcyMGY5NS9zcmMvY29yZS9CdWZmZXJHZW9tZXRyeS5qcyNMMTAxMVxuICAgIG5ld0dlb21ldHJ5Lm5hbWUgPSBnZW9tZXRyeS5uYW1lO1xuXG4gICAgbmV3R2VvbWV0cnkubW9ycGhUYXJnZXRzUmVsYXRpdmUgPSBnZW9tZXRyeS5tb3JwaFRhcmdldHNSZWxhdGl2ZTtcblxuICAgIGdlb21ldHJ5Lmdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgbmV3R2VvbWV0cnkuYWRkR3JvdXAoZ3JvdXAuc3RhcnQsIGdyb3VwLmNvdW50LCBncm91cC5tYXRlcmlhbEluZGV4KTtcbiAgICB9KTtcblxuICAgIG5ld0dlb21ldHJ5LmJvdW5kaW5nQm94ID0gZ2VvbWV0cnkuYm91bmRpbmdCb3g/LmNsb25lKCkgPz8gbnVsbDtcbiAgICBuZXdHZW9tZXRyeS5ib3VuZGluZ1NwaGVyZSA9IGdlb21ldHJ5LmJvdW5kaW5nU3BoZXJlPy5jbG9uZSgpID8/IG51bGw7XG5cbiAgICBuZXdHZW9tZXRyeS5zZXREcmF3UmFuZ2UoZ2VvbWV0cnkuZHJhd1JhbmdlLnN0YXJ0LCBnZW9tZXRyeS5kcmF3UmFuZ2UuY291bnQpO1xuXG4gICAgbmV3R2VvbWV0cnkudXNlckRhdGEgPSBnZW9tZXRyeS51c2VyRGF0YTtcblxuICAgIC8vIHNldCB0byBnZW9tZXRyeU1hcFxuICAgIGdlb21ldHJ5TWFwLnNldChnZW9tZXRyeSwgbmV3R2VvbWV0cnkpO1xuXG4gICAgLyoqIGZyb20gb3JpZ2luYWwgaW5kZXggdG8gbmV3IGluZGV4ICovXG4gICAgY29uc3Qgb3JpZ2luYWxJbmRleE5ld0luZGV4TWFwOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgLyoqIGZyb20gbmV3IGluZGV4IHRvIG9yaWdpbmFsIGluZGV4ICovXG4gICAgY29uc3QgbmV3SW5kZXhPcmlnaW5hbEluZGV4TWFwOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgLy8gcmVvcmdhbml6ZSBpbmRpY2VzXG4gICAge1xuICAgICAgY29uc3Qgb3JpZ2luYWxJbmRleEFycmF5ID0gb3JpZ2lhbmxJbmRleC5hcnJheTtcbiAgICAgIGNvbnN0IG5ld0luZGV4QXJyYXkgPSBuZXcgKG9yaWdpbmFsSW5kZXhBcnJheS5jb25zdHJ1Y3RvciBhcyBhbnkpKG9yaWdpbmFsSW5kZXhBcnJheS5sZW5ndGgpO1xuXG4gICAgICBsZXQgaW5kZXhIZWFkID0gMDtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcmlnaW5hbEluZGV4QXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxJbmRleCA9IG9yaWdpbmFsSW5kZXhBcnJheVtpXTtcblxuICAgICAgICBsZXQgbmV3SW5kZXggPSBvcmlnaW5hbEluZGV4TmV3SW5kZXhNYXBbb3JpZ2luYWxJbmRleF07XG4gICAgICAgIGlmIChuZXdJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgb3JpZ2luYWxJbmRleE5ld0luZGV4TWFwW29yaWdpbmFsSW5kZXhdID0gaW5kZXhIZWFkO1xuICAgICAgICAgIG5ld0luZGV4T3JpZ2luYWxJbmRleE1hcFtpbmRleEhlYWRdID0gb3JpZ2luYWxJbmRleDtcbiAgICAgICAgICBuZXdJbmRleCA9IGluZGV4SGVhZDtcbiAgICAgICAgICBpbmRleEhlYWQrKztcbiAgICAgICAgfVxuICAgICAgICBuZXdJbmRleEFycmF5W2ldID0gbmV3SW5kZXg7XG4gICAgICB9XG5cbiAgICAgIG5ld0dlb21ldHJ5LnNldEluZGV4KG5ldyBCdWZmZXJBdHRyaWJ1dGUobmV3SW5kZXhBcnJheSwgMSwgZmFsc2UpKTtcbiAgICB9XG5cbiAgICAvLyByZW9yZ2FuaXplIGF0dHJpYnV0ZXNcbiAgICBPYmplY3Qua2V5cyhnZW9tZXRyeS5hdHRyaWJ1dGVzKS5mb3JFYWNoKChhdHRyaWJ1dGVOYW1lKSA9PiB7XG4gICAgICBjb25zdCBvcmlnaW5hbEF0dHJpYnV0ZSA9IGdlb21ldHJ5LmF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0gYXMgVEhSRUUuQnVmZmVyQXR0cmlidXRlO1xuXG4gICAgICBpZiAoKG9yaWdpbmFsQXR0cmlidXRlIGFzIGFueSkuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlbW92ZVVubmVjZXNzYXJ5VmVydGljZXM6IEludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3JpZ2luYWxBdHRyaWJ1dGVBcnJheSA9IG9yaWdpbmFsQXR0cmlidXRlLmFycmF5O1xuICAgICAgY29uc3QgeyBpdGVtU2l6ZSwgbm9ybWFsaXplZCB9ID0gb3JpZ2luYWxBdHRyaWJ1dGU7XG5cbiAgICAgIGNvbnN0IG5ld0F0dHJpYnV0ZUFycmF5ID0gbmV3IChvcmlnaW5hbEF0dHJpYnV0ZUFycmF5LmNvbnN0cnVjdG9yIGFzIGFueSkoXG4gICAgICAgIG5ld0luZGV4T3JpZ2luYWxJbmRleE1hcC5sZW5ndGggKiBpdGVtU2l6ZSxcbiAgICAgICk7XG5cbiAgICAgIG5ld0luZGV4T3JpZ2luYWxJbmRleE1hcC5mb3JFYWNoKChvcmlnaW5hbEluZGV4LCBpKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaXRlbVNpemU7IGorKykge1xuICAgICAgICAgIG5ld0F0dHJpYnV0ZUFycmF5W2kgKiBpdGVtU2l6ZSArIGpdID0gb3JpZ2luYWxBdHRyaWJ1dGVBcnJheVtvcmlnaW5hbEluZGV4ICogaXRlbVNpemUgKyBqXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld0dlb21ldHJ5LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBuZXcgQnVmZmVyQXR0cmlidXRlKG5ld0F0dHJpYnV0ZUFycmF5LCBpdGVtU2l6ZSwgbm9ybWFsaXplZCkpO1xuICAgIH0pO1xuXG4gICAgLy8gcmVvcmdhbml6ZSBtb3JwaCBhdHRyaWJ1dGVzXG4gICAgLyoqIFRydWUgaWYgYWxsIG1vcnBocyBhcmUgemVyby4gKi9cbiAgICBsZXQgaXNOdWxsTW9ycGggPSB0cnVlO1xuXG4gICAgT2JqZWN0LmtleXMoZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzKS5mb3JFYWNoKChhdHRyaWJ1dGVOYW1lKSA9PiB7XG4gICAgICBuZXdHZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0gPSBbXTtcblxuICAgICAgY29uc3QgbW9ycGhzID0gZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzW2F0dHJpYnV0ZU5hbWVdO1xuICAgICAgZm9yIChsZXQgaU1vcnBoID0gMDsgaU1vcnBoIDwgbW9ycGhzLmxlbmd0aDsgaU1vcnBoKyspIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxBdHRyaWJ1dGUgPSBtb3JwaHNbaU1vcnBoXSBhcyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGU7XG5cbiAgICAgICAgaWYgKChvcmlnaW5hbEF0dHJpYnV0ZSBhcyBhbnkpLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlbW92ZVVubmVjZXNzYXJ5VmVydGljZXM6IEludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQXR0cmlidXRlQXJyYXkgPSBvcmlnaW5hbEF0dHJpYnV0ZS5hcnJheTtcbiAgICAgICAgY29uc3QgeyBpdGVtU2l6ZSwgbm9ybWFsaXplZCB9ID0gb3JpZ2luYWxBdHRyaWJ1dGU7XG5cbiAgICAgICAgY29uc3QgbmV3QXR0cmlidXRlQXJyYXkgPSBuZXcgKG9yaWdpbmFsQXR0cmlidXRlQXJyYXkuY29uc3RydWN0b3IgYXMgYW55KShcbiAgICAgICAgICBuZXdJbmRleE9yaWdpbmFsSW5kZXhNYXAubGVuZ3RoICogaXRlbVNpemUsXG4gICAgICAgICk7XG5cbiAgICAgICAgbmV3SW5kZXhPcmlnaW5hbEluZGV4TWFwLmZvckVhY2goKG9yaWdpbmFsSW5kZXgsIGkpID0+IHtcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGl0ZW1TaXplOyBqKyspIHtcbiAgICAgICAgICAgIG5ld0F0dHJpYnV0ZUFycmF5W2kgKiBpdGVtU2l6ZSArIGpdID0gb3JpZ2luYWxBdHRyaWJ1dGVBcnJheVtvcmlnaW5hbEluZGV4ICogaXRlbVNpemUgKyBqXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlzTnVsbE1vcnBoID0gaXNOdWxsTW9ycGggJiYgbmV3QXR0cmlidXRlQXJyYXkuZXZlcnkoKHY6IG51bWJlcikgPT4gdiA9PT0gMCk7XG5cbiAgICAgICAgbmV3R2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzW2F0dHJpYnV0ZU5hbWVdW2lNb3JwaF0gPSBuZXcgQnVmZmVyQXR0cmlidXRlKFxuICAgICAgICAgIG5ld0F0dHJpYnV0ZUFycmF5LFxuICAgICAgICAgIGl0ZW1TaXplLFxuICAgICAgICAgIG5vcm1hbGl6ZWQsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBJZiBhbGwgbW9ycGhzIGFyZSB6ZXJvLCBqdXN0IGRpc2NhcmQgdGhlIG1vcnBoIGF0dHJpYnV0ZXMgd2UndmUganVzdCBtYWRlXG4gICAgaWYgKGlzTnVsbE1vcnBoKSB7XG4gICAgICBuZXdHZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMgPSB7fTtcbiAgICB9XG5cbiAgICBtZXNoLmdlb21ldHJ5ID0gbmV3R2VvbWV0cnk7XG4gIH0pO1xuXG4gIEFycmF5LmZyb20oZ2VvbWV0cnlNYXAua2V5cygpKS5mb3JFYWNoKChvcmlnaW5hbEdlb21ldHJ5KSA9PiB7XG4gICAgb3JpZ2luYWxHZW9tZXRyeS5kaXNwb3NlKCk7XG4gIH0pO1xufVxuIiwiaW1wb3J0IHsgVlJNIH0gZnJvbSAnLi4vVlJNJztcblxuLyoqXG4gKiBJZiB0aGUgZ2l2ZW4gVlJNIGlzIFZSTTAuMCwgcm90YXRlIHRoZSBgdnJtLnNjZW5lYCBieSAxODAgZGVncmVlcyBhcm91bmQgdGhlIFkgYXhpcy5cbiAqXG4gKiBAcGFyYW0gdnJtIFRoZSB0YXJnZXQgVlJNXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByb3RhdGVWUk0wKHZybTogVlJNKTogdm9pZCB7XG4gIGlmICh2cm0ubWV0YT8ubWV0YVZlcnNpb24gPT09ICcwJykge1xuICAgIHZybS5zY2VuZS5yb3RhdGlvbi55ID0gTWF0aC5QSTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgZGVlcERpc3Bvc2UgfSBmcm9tICcuL2RlZXBEaXNwb3NlJztcbmltcG9ydCB7IHJlbW92ZVVubmVjZXNzYXJ5Sm9pbnRzIH0gZnJvbSAnLi9yZW1vdmVVbm5lY2Vzc2FyeUpvaW50cyc7XG5pbXBvcnQgeyByZW1vdmVVbm5lY2Vzc2FyeVZlcnRpY2VzIH0gZnJvbSAnLi9yZW1vdmVVbm5lY2Vzc2FyeVZlcnRpY2VzJztcbmltcG9ydCB7IHJvdGF0ZVZSTTAgfSBmcm9tICcuL3JvdGF0ZVZSTTAnO1xuXG5leHBvcnQgY2xhc3MgVlJNVXRpbHMge1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHRoaXMgY2xhc3MgaXMgbm90IG1lYW50IHRvIGJlIGluc3RhbnRpYXRlZFxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZWVwRGlzcG9zZSA9IGRlZXBEaXNwb3NlO1xuICBwdWJsaWMgc3RhdGljIHJlbW92ZVVubmVjZXNzYXJ5Sm9pbnRzID0gcmVtb3ZlVW5uZWNlc3NhcnlKb2ludHM7XG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlVW5uZWNlc3NhcnlWZXJ0aWNlcyA9IHJlbW92ZVVubmVjZXNzYXJ5VmVydGljZXM7XG4gIHB1YmxpYyBzdGF0aWMgcm90YXRlVlJNMCA9IHJvdGF0ZVZSTTA7XG59XG4iXSwibmFtZXMiOlsiX19hd2FpdGVyIiwiX3YzQSQ0IiwiX3YzQiQyIiwicXVhdEludmVydENvbXBhdCIsIl92M0EkMyIsIl92M0EkMiIsIl9xdWF0QSQzIiwiUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQyIiwiX3F1YXRBJDIiLCJfcXVhdEIkMiIsIl92M0EkMSIsIl92M0IkMSIsIl92M0EiLCJfdjNCIiwiX3YzQyIsIl9xdWF0QSQxIiwiX3F1YXRCJDEiLCJfcXVhdEMiLCJfcXVhdEEiLCJfcXVhdEIiLCJQT1NTSUJMRV9TUEVDX1ZFUlNJT05TJDEiLCJQT1NTSUJMRV9TUEVDX1ZFUlNJT05TIiwidHJhdmVyc2VBbmNlc3RvcnNGcm9tUm9vdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTSxhQUFhLFNBQVMsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxtQkFBbUIsR0FBRztBQUM5QixRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPLEVBQUU7QUFDNUMsWUFBWSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDakQsU0FBUztBQUNULGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLE9BQU8sRUFBRTtBQUNqRCxZQUFZLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUMvQixTQUFTO0FBQ1QsYUFBYTtBQUNiLFlBQVksT0FBTyxHQUFHLENBQUM7QUFDdkIsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxvQkFBb0IsR0FBRztBQUMvQixRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUU7QUFDN0MsWUFBWSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDakQsU0FBUztBQUNULGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE9BQU8sRUFBRTtBQUNsRCxZQUFZLE9BQU8sSUFBSSxDQUFDLE1BQU0s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RUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUN0RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDdEcsUUFBUSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEgsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsS0FB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UUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ25FLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEUsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RSxTQUFTO0FBQ1QsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDbEYsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEYsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hHLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FB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UyxDQUFDLHNCQUFzQixDQUFDRCxRQUFNLENBQUMsQ0FBQztBQUN0RCxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUNGLFVBQVEsQ0FBQyxDQUFDO0FBQzFEO0FBQ0EsUUFBUUEsVUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDQyxVQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzNFO0FBQ0EsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUNDLFFBQU0sQ0FBQyxDQUFDO0FBQzVDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDRixVQUFRLENBQUMsQ0FBQztBQUNoRCxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQ0UsUUFBTSxDQUFDLENBQUM7QUFDOUMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUNGLFVBQVEsQ0FBQyxDQUFDO0FBQ2xELFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDQyxVQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0YsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDMUQ7QUFDQSxRQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztBQUN0RCxRQUFRLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxVQUFVLEVBQUU7QUFDMUMsWUFBWSxNQUFNLENBQUMsZ0JBQWdCLENBQUNFLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQ0QsUUFBTSxDQUFDLENBQUM7QUFDeEQsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFNLENBQUMsQ0FBQztBQUN4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LENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM5RSxLQUFLLENBQUMsQ0FBQztBQUNQOztBQzFIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxXQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQ3RELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFV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QUFLLENBQUM7QUFDdEQsS0FBSztBQUNMLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7QUFDbEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDdkQsS0FBSztBQUNMLElBQUksSUFBSSxvQkFBb0IsR0FBRztBQUMvQixRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7QUFDeEQsS0FBSztBQUNMLElBQUksSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUU7QUFDcEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDekQsS0FBSztBQUNMLElBQUksSUFBSSwrQkFBK0IsR0FBRztBQUMxQyxRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUM7QUFDbkUsS0FBSztBQUNMLElBQUksSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLEVBQUU7QUFDL0MsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLCtCQUErQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDcEUsS0FBSztBQUNMLElBQUksSUFBSSx1QkFBdUIsR0FBRztBQUNsQyxRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7QUFDM0QsS0FBSztBQUNMLElBQUksSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUU7QUFDdkMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDNUQsS0FBSztBQUNMLElBQUksSUFBSSwyQkFBMkIsR0FBRztBQUN0QyxRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUM7QUFDL0QsS0FBSztBQUNMLElBQUksSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLEVBQUU7QUFDM0MsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDaEUsS0FBSztBQUNMLElBQUksSUFBSSxrQkFBa0IsR0FBRztBQUM3QixRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7QUFDdEQsS0FBSztBQUNMLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7QUFDbEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDdkQsS0FBSztBQUNMLElBQUksSUFBSSxrQkFBa0IsR0FBRztBQUM3QixRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7QUFDdEQsS0FBSztBQUNMLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7QUFDbEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDdkQsS0FBSztBQUNMLElBQUksSUFBSSx3QkFBd0IsR0FBRztBQUNuQyxRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7QUFDNUQsS0FBSztBQUNMLElBQUksSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUU7QUFDeEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDN0QsS0FBSztBQUNMLElBQUksSUFBSSxzQkFBc0IsR0FBRztBQUNqQyxRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7QUFDMUQsS0FBSztBQUNMLElBQUksSUFBSSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDdEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDM0QsS0FBSztBQUNMLElBQUksSUFB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QUFDOUIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO0FBQzNCLFFBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7QUFDbEMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsUUFBUSxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLFFBQVEsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZILEtBQUs7QUFDTCxJQUFJLElBQUksWUFBWSxHQUFHO0FBQ3ZCLFFBQVEsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLEtBQUs7QUFDTCxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO0FBQ3JDLFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNuQyxRQUFRLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQzdCLFFBQVEsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RCxRQUFRLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDbkQsUUFBUSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3RELFFBQVEsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3BFLEtBQUs7QUFDTCxJQUFJLFlBQVksR0FBRztBQUNuQixRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUQsUUFB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QUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RSxTQUFTO0FBQ1QsUUFBUSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3JDLFlBQVksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDM0MsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RSxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLFNBQVM7QUFDVCxRQUFRLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxD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QUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDdkQ7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDOUQsUUFBUSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztBQUN6QixRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0FBQzNDLFFBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDM0IsUUFBUSxJQUFJLENBQUMsUUFBUSxHQUFHO0FBQ3hCLFlBQVksU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxTQUFTLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRztBQUNyRixZQUFZLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUc7QUFDckYsWUFBWSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLFlBQVksTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHO0FBQzNGLFlBQVksVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcs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