UNPKG

closevector-hnswlib-wasm

Version:

typescript and wasm bindings for Hnswlib

7,808 lines 936 kB
(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["hnswlib-wasm"] = {}));
})(this, (function (exports) { 'use strict';

  const defaultParams = {
    /**
     * Default parameters for the HNSW index.
     * @param {number} m The maximum number of outgoing connections on the graph (default: 16).
     * @param {number} efConstruction The parameter that controls speed/accuracy trade-off during the index construction (default: 200).
     * @param {number} randomSeed The seed value of random number generator (default: 100).
     */
    initIndex: [32, 128, 100]
  };
  const hnswParamsForAda = {
    m: 32,
    efSearch: 128,
    efConstruction: 128,
    numNeighbors: 8,
    dimensions: 1538
  };

  const IDBFS_STORE_NAME = "FILE_DATA";
  let library;
  const syncFileSystem = (action) => {
    const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
    const syncAction = action === "read" ? true : action === "write" ? false : void 0;
    if (syncAction === void 0)
      throw new Error("Invalid action type");
    return new Promise((resolve2, reject) => {
      try {
        EmscriptenFileSystemManager.syncFS(syncAction, () => {
          resolve2();
        });
      } catch (error) {
        reject(error);
      }
    });
  };
  const waitForFileSystemInitalized = () => {
    const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
    return new Promise((resolve2, reject) => {
      let totalWaitTime = 0;
      const checkInterval = 100;
      const maxWaitTime = 4e3;
      const checkInitialization = () => {
        if (EmscriptenFileSystemManager.isInitialized()) {
          resolve2();
        } else if (totalWaitTime >= maxWaitTime) {
          reject(new Error("Failed to initialize filesystem"));
        } else {
          totalWaitTime += checkInterval;
          setTimeout(checkInitialization, checkInterval);
        }
      };
      setTimeout(checkInitialization, checkInterval);
    });
  };
  const waitForFileSystemSynced = () => {
    const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
    return new Promise((resolve2, reject) => {
      let totalWaitTime = 0;
      const checkInterval = 100;
      const maxWaitTime = 4e3;
      const checkInitialization = () => {
        if (EmscriptenFileSystemManager.isSynced()) {
          resolve2();
        } else if (totalWaitTime >= maxWaitTime) {
          reject(new Error("Failed to initialize filesystem"));
        } else {
          totalWaitTime += checkInterval;
          setTimeout(checkInitialization, checkInterval);
        }
      };
      setTimeout(checkInitialization, checkInterval);
    });
  };
  const initializeFileSystemAsync = async (inputFsType) => {
    const fsType = inputFsType == null ? "IDBFS" : inputFsType;
    const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
    if (EmscriptenFileSystemManager.isInitialized()) {
      return;
    }
    EmscriptenFileSystemManager.initializeFileSystem(fsType);
    return await waitForFileSystemInitalized();
  };
  let promiseCalling = void 0;
  const loadHnswlib = async (inputFsType) => {
    if (promiseCalling) {
      return promiseCalling;
    }
    promiseCalling = new Promise((resolve2, reject) => {
      (async () => {
        try {
          if (typeof hnswlib !== "undefined" && hnswlib !== null) {
            const lib = hnswlib();
            if (lib != null)
              return lib;
          }
          if (!library) {
            const temp = await Promise.resolve().then(() => hnswlib$2);
            const factoryFunc = temp.default;
            library = await factoryFunc();
            await initializeFileSystemAsync(inputFsType);
            return resolve2(library);
          }
          return resolve2(library);
        } catch (err) {
          console.error("----------------------------------------");
          console.error("Error initializing the library:", err);
          reject(err);
        }
      })();
      promiseCalling = void 0;
    });
    return promiseCalling;
  };

  var hnswlib$1 = (() => {
    var _scriptDir = (typeof document === 'undefined' && typeof location === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : typeof document === 'undefined' ? location.href : (document.currentScript && document.currentScript.src || new URL('hnswlib.umd.js', document.baseURI).href));
    
    return (
  function(moduleArg = {}) {

  // include: shell.js
  // The Module object: Our interface to the outside world. We import
  // and export values on it. There are various ways Module can be used:
  // 1. Not defined. We create it here
  // 2. A function parameter, function(Module) { ..generated code.. }
  // 3. pre-run appended it, var Module = {}; ..generated code..
  // 4. External script tag defines var Module.
  // We need to check if Module already exists (e.g. case 3 above).
  // Substitution will be replaced with actual code on later stage of the build,
  // this way Closure Compiler will not mangle it (e.g. case 4. above).
  // Note that if you want to run closure, and also to use Module
  // after the generated code, you will need to define   var Module = {};
  // before the code. Then that object will be used in the code, and you
  // can continue to use Module afterwards as well.
  var Module = moduleArg;

  // Set up the promise that indicates the Module is initialized
  var readyPromiseResolve, readyPromiseReject;
  Module['ready'] = new Promise((resolve, reject) => {
    readyPromiseResolve = resolve;
    readyPromiseReject = reject;
  });
  ["_main","getExceptionMessage","___get_exception_message","_free","___cpp_exception","___cxa_increment_exception_refcount","___cxa_decrement_exception_refcount","___thrown_object_from_unwind_exception","_memory","_syncIdb_js","___indirect_function_table","__embind_initialize_bindings","_fflush","___start_em_js","___stop_em_js","___start_em_asm","___stop_em_asm","onRuntimeInitialized"].forEach((prop) => {
    if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) {
      Object.defineProperty(Module['ready'], prop, {
        get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
        set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
      });
    }
  });

  // --pre-jses are emitted after the Module integration code, so that they can
  // refer to Module (if they choose; they can also define Module)


  // Sometimes an existing Module object exists with properties
  // meant to overwrite the default module functionality. Here
  // we collect those properties and reapply _after_ we configure
  // the current environment's defaults to avoid having to be so
  // defensive during initialization.
  var moduleOverrides = Object.assign({}, Module);
  var thisProgram = './this.program';
  var ENVIRONMENT_IS_WORKER = false;
  var ENVIRONMENT_IS_NODE = false;
  var ENVIRONMENT_IS_SHELL = false;

  if (Module['ENVIRONMENT']) {
    throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)');
  }

  // `/` should be present at the end if `scriptDirectory` is not empty
  var scriptDirectory = '';
  function locateFile(path) {
    if (Module['locateFile']) {
      return Module['locateFile'](path, scriptDirectory);
    }
    return scriptDirectory + path;
  }

  // Hooks that are implemented differently in different runtime environments.
  var read_,
      readAsync;

  {
    if (typeof document != 'undefined' && document.currentScript) { // web
      scriptDirectory = document.currentScript.src;
    }
    // When MODULARIZE, this JS may be executed later, after document.currentScript
    // is gone, so we saved it, and we use it here instead of any other info.
    if (_scriptDir) {
      scriptDirectory = _scriptDir;
    }
    // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
    // otherwise, slice off the final part of the url to find the script directory.
    // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
    // and scriptDirectory will correctly be replaced with an empty string.
    // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
    // they are removed because they could contain a slash.
    if (scriptDirectory.indexOf('blob:') !== 0) {
      scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1);
    } else {
      scriptDirectory = '';
    }

    if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)');

    // Differentiate the Web Worker from the Node Worker case, as reading must
    // be done differently.
    {
  // include: web_or_worker_shell_read.js
  read_ = (url) => {
      var xhr = new XMLHttpRequest();
      xhr.open('GET', url, false);
      xhr.send(null);
      return xhr.responseText;
    };

    readAsync = (url, onload, onerror) => {
      var xhr = new XMLHttpRequest();
      xhr.open('GET', url, true);
      xhr.responseType = 'arraybuffer';
      xhr.onload = () => {
        if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
          onload(xhr.response);
          return;
        }
        onerror();
      };
      xhr.onerror = onerror;
      xhr.send(null);
    };

  // end include: web_or_worker_shell_read.js
    }
  }

  var out = Module['print'] || console.log.bind(console);
  var err = Module['printErr'] || console.error.bind(console);

  // Merge back in the overrides
  Object.assign(Module, moduleOverrides);
  // Free the object hierarchy contained in the overrides, this lets the GC
  // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
  moduleOverrides = null;
  checkIncomingModuleAPI();

  // Emit code to handle expected values on the Module object. This applies Module.x
  // to the proper local x. This has two benefits: first, we only emit it if it is
  // expected to arrive, and second, by using a local everywhere else that can be
  // minified.

  if (Module['arguments']) Module['arguments'];legacyModuleProp('arguments', 'arguments_');

  if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram');

  if (Module['quit']) Module['quit'];legacyModuleProp('quit', 'quit_');

  // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
  // Assertions on removed incoming Module JS APIs.
  assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
  assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
  assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
  assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
  assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)');
  assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)');
  assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)');
  assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)');
  assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY');
  legacyModuleProp('asm', 'wasmExports');
  legacyModuleProp('read', 'read_');
  legacyModuleProp('readAsync', 'readAsync');
  legacyModuleProp('readBinary', 'readBinary');
  legacyModuleProp('setWindowTitle', 'setWindowTitle');

  assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time.  Add 'worker' to `-sENVIRONMENT` to enable.");

  assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time.  Add 'node' to `-sENVIRONMENT` to enable.");

  assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time.  Add 'shell' to `-sENVIRONMENT` to enable.");


  // end include: shell.js
  // include: preamble.js
  // === Preamble library stuff ===

  // Documentation for the public APIs defined in this file must be updated in:
  //    site/source/docs/api_reference/preamble.js.rst
  // A prebuilt local version of the documentation is available at:
  //    site/build/text/docs/api_reference/preamble.js.txt
  // You can also build docs locally as HTML or other formats in site/
  // An online HTML version (which may be of a different version of Emscripten)
  //    is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html

  var wasmBinary;
  if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary');
  Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime');

  if (typeof WebAssembly != 'object') {
    abort('no native wasm support detected');
  }

  // Wasm globals

  var wasmMemory;
  var wasmExports;

  //========================================
  // Runtime essentials
  //========================================

  // whether we are quitting the application. no code should run after this.
  // set in exit() and abort()
  var ABORT = false;

  /** @type {function(*, string=)} */
  function assert(condition, text) {
    if (!condition) {
      abort('Assertion failed' + (text ? ': ' + text : ''));
    }
  }

  // We used to include malloc/free by default in the past. Show a helpful error in
  // builds with assertions.

  // Memory management

  var /** @type {!Int8Array} */
    HEAP8,
  /** @type {!Uint8Array} */
    HEAPU8,
  /** @type {!Int16Array} */
    HEAP16,
  /** @type {!Uint16Array} */
    HEAPU16,
  /** @type {!Int32Array} */
    HEAP32,
  /** @type {!Uint32Array} */
    HEAPU32,
  /** @type {!Float32Array} */
    HEAPF32,
  /** @type {!Float64Array} */
    HEAPF64;

  function updateMemoryViews() {
    var b = wasmMemory.buffer;
    Module['HEAP8'] = HEAP8 = new Int8Array(b);
    Module['HEAP16'] = HEAP16 = new Int16Array(b);
    Module['HEAP32'] = HEAP32 = new Int32Array(b);
    Module['HEAPU8'] = HEAPU8 = new Uint8Array(b);
    Module['HEAPU16'] = HEAPU16 = new Uint16Array(b);
    Module['HEAPU32'] = HEAPU32 = new Uint32Array(b);
    Module['HEAPF32'] = HEAPF32 = new Float32Array(b);
    Module['HEAPF64'] = HEAPF64 = new Float64Array(b);
  }

  assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime.  Use -sSTACK_SIZE at link time');

  assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined,
         'JS engine does not provide full typed array support');

  // If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY
  assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected.  Use -sIMPORTED_MEMORY to define wasmMemory externally');
  assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting.  Use -sIMPORTED_MEMORY to define wasmMemory dynamically');

  // include: runtime_init_table.js
  // In regular non-RELOCATABLE mode the table is exported
  // from the wasm module and this will be assigned once
  // the exports are available.
  var wasmTable;
  // end include: runtime_init_table.js
  // include: runtime_stack_check.js
  // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
  function writeStackCookie() {
    var max = _emscripten_stack_get_end();
    assert((max & 3) == 0);
    // If the stack ends at address zero we write our cookies 4 bytes into the
    // stack.  This prevents interference with SAFE_HEAP and ASAN which also
    // monitor writes to address zero.
    if (max == 0) {
      max += 4;
    }
    // The stack grow downwards towards _emscripten_stack_get_end.
    // We write cookies to the final two words in the stack and detect if they are
    // ever overwritten.
    HEAPU32[((max)>>2)] = 0x02135467;
    HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE;
    // Also test the global address 0 for integrity.
    HEAPU32[((0)>>2)] = 1668509029;
  }

  function checkStackCookie() {
    if (ABORT) return;
    var max = _emscripten_stack_get_end();
    // See writeStackCookie().
    if (max == 0) {
      max += 4;
    }
    var cookie1 = HEAPU32[((max)>>2)];
    var cookie2 = HEAPU32[(((max)+(4))>>2)];
    if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) {
      abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`);
    }
    // Also test the global address 0 for integrity.
    if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) {
      abort('Runtime error: The application has corrupted its heap memory area (address zero)!');
    }
  }
  // end include: runtime_stack_check.js
  // include: runtime_assertions.js
  // Endianness check
  (function() {
    var h16 = new Int16Array(1);
    var h8 = new Int8Array(h16.buffer);
    h16[0] = 0x6373;
    if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)';
  })();

  // end include: runtime_assertions.js
  var __ATPRERUN__  = []; // functions called before the runtime is initialized
  var __ATINIT__    = []; // functions called during startup
  var __ATPOSTRUN__ = []; // functions called after the main() is called

  var runtimeInitialized = false;

  function preRun() {
    if (Module['preRun']) {
      if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
      while (Module['preRun'].length) {
        addOnPreRun(Module['preRun'].shift());
      }
    }
    callRuntimeCallbacks(__ATPRERUN__);
  }

  function initRuntime() {
    assert(!runtimeInitialized);
    runtimeInitialized = true;

    checkStackCookie();

    
  if (!Module["noFSInit"] && !FS.init.initialized)
    FS.init();
  FS.ignorePermissions = false;
    callRuntimeCallbacks(__ATINIT__);
  }

  function postRun() {
    checkStackCookie();

    if (Module['postRun']) {
      if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
      while (Module['postRun'].length) {
        addOnPostRun(Module['postRun'].shift());
      }
    }

    callRuntimeCallbacks(__ATPOSTRUN__);
  }

  function addOnPreRun(cb) {
    __ATPRERUN__.unshift(cb);
  }

  function addOnInit(cb) {
    __ATINIT__.unshift(cb);
  }

  function addOnPostRun(cb) {
    __ATPOSTRUN__.unshift(cb);
  }

  // include: runtime_math.js
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul

  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround

  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32

  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc

  assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
  assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
  assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
  assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
  // end include: runtime_math.js
  // A counter of dependencies for calling run(). If we need to
  // do asynchronous work before running, increment this and
  // decrement it. Incrementing must happen in a place like
  // Module.preRun (used by emcc to add file preloading).
  // Note that you can add dependencies in preRun, even though
  // it happens right before run - run will be postponed until
  // the dependencies are met.
  var runDependencies = 0;
  var runDependencyWatcher = null;
  var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
  var runDependencyTracking = {};

  function getUniqueRunDependency(id) {
    var orig = id;
    while (1) {
      if (!runDependencyTracking[id]) return id;
      id = orig + Math.random();
    }
  }

  function addRunDependency(id) {
    runDependencies++;

    if (Module['monitorRunDependencies']) {
      Module['monitorRunDependencies'](runDependencies);
    }

    if (id) {
      assert(!runDependencyTracking[id]);
      runDependencyTracking[id] = 1;
      if (runDependencyWatcher === null && typeof setInterval != 'undefined') {
        // Check for missing dependencies every few seconds
        runDependencyWatcher = setInterval(() => {
          if (ABORT) {
            clearInterval(runDependencyWatcher);
            runDependencyWatcher = null;
            return;
          }
          var shown = false;
          for (var dep in runDependencyTracking) {
            if (!shown) {
              shown = true;
              err('still waiting on run dependencies:');
            }
            err('dependency: ' + dep);
          }
          if (shown) {
            err('(end of list)');
          }
        }, 10000);
      }
    } else {
      err('warning: run dependency added without ID');
    }
  }

  function removeRunDependency(id) {
    runDependencies--;

    if (Module['monitorRunDependencies']) {
      Module['monitorRunDependencies'](runDependencies);
    }

    if (id) {
      assert(runDependencyTracking[id]);
      delete runDependencyTracking[id];
    } else {
      err('warning: run dependency removed without ID');
    }
    if (runDependencies == 0) {
      if (runDependencyWatcher !== null) {
        clearInterval(runDependencyWatcher);
        runDependencyWatcher = null;
      }
      if (dependenciesFulfilled) {
        var callback = dependenciesFulfilled;
        dependenciesFulfilled = null;
        callback(); // can add another dependenciesFulfilled
      }
    }
  }

  /** @param {string|number=} what */
  function abort(what) {
    if (Module['onAbort']) {
      Module['onAbort'](what);
    }

    what = 'Aborted(' + what + ')';
    // TODO(sbc): Should we remove printing and leave it up to whoever
    // catches the exception?
    err(what);

    ABORT = true;

    // Use a wasm runtime error, because a JS error might be seen as a foreign
    // exception, which means we'd run destructors on it. We need the error to
    // simply make the program stop.
    // FIXME This approach does not work in Wasm EH because it currently does not assume
    // all RuntimeErrors are from traps; it decides whether a RuntimeError is from
    // a trap or not based on a hidden field within the object. So at the moment
    // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
    // allows this in the wasm spec.

    // Suppress closure compiler warning here. Closure compiler's builtin extern
    // defintion for WebAssembly.RuntimeError claims it takes no arguments even
    // though it can.
    // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
    // See above, in the meantime, we resort to wasm code for trapping.
    //
    // In case abort() is called before the module is initialized, wasmExports
    // and its exported '__trap' function is not available, in which case we throw
    // a RuntimeError.
    //
    // We trap instead of throwing RuntimeError to prevent infinite-looping in
    // Wasm EH code (because RuntimeError is considered as a foreign exception and
    // caught by 'catch_all'), but in case throwing RuntimeError is fine because
    // the module has not even been instantiated, even less running.
    if (runtimeInitialized) {
      ___trap();
    }
    /** @suppress {checkTypes} */
    var e = new WebAssembly.RuntimeError(what);

    readyPromiseReject(e);
    // Throw the error whether or not MODULARIZE is set because abort is used
    // in code paths apart from instantiation where an exception is expected
    // to be thrown when abort is called.
    throw e;
  }

  // include: memoryprofiler.js
  // end include: memoryprofiler.js
  // include: URIUtils.js
  // Prefix of data URIs emitted by SINGLE_FILE and related options.
  var dataURIPrefix = 'data:application/octet-stream;base64,';

  // Indicates whether filename is a base64 data URI.
  function isDataURI(filename) {
    // Prefix of data URIs emitted by SINGLE_FILE and related options.
    return filename.startsWith(dataURIPrefix);
  }

  // Indicates whether filename is delivered via file protocol (as opposed to http/https)
  function isFileURI(filename) {
    return filename.startsWith('file://');
  }
  // end include: URIUtils.js
  function createExportWrapper(name) {
    return function() {
      assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`);
      var f = wasmExports[name];
      assert(f, `exported native function \`${name}\` not found`);
      return f.apply(null, arguments);
    };
  }

  // include: runtime_exceptions.js
  // end include: runtime_exceptions.js
  var wasmBinaryFile;
    wasmBinaryFile = 'data:application/octet-stream;base64,AGFzbQEAAAAB/QM+YAJ/fwBgAX8Bf2ABfwBgAn9/AX9gA39/fwF/YAN/f38AYAR/f39/AX9gBH9/f38AYAZ/f39/f38Bf2AFf39/f38Bf2AFf39/f38AYAN/f38BfWAAAGAGf39/f39/AGAIf39/f39/f38Bf2AAAX9gB39/f39/f38Bf2AHf39/f39/fwBgBX9+fn5+AGADf35/AX5gBX9/fn9/AGAFf39/f34Bf2AEf39/fwF+YAh/f39/f39/fwBgBH9+fn8AYAp/f39/f39/f39/AX9gBn9/f39+fgF/YAd/f39/f35+AX9gA39/fwF8YAZ/fH9/f38Bf2ADf35/AX9gAn9+AGAMf39/f39/f39/f39/AX9gBX9/f398AX9gBH9/f3wBf2AFf39/fn4Bf2ALf39/f39/f39/f38Bf2AKf39/f39/f39/fwBgD39/f39/f39/f39/f39/fwBgDX9/f39/f39/f39/f38AYAl/f39/f39/f38AYAV/f39/fwF8YAABfGAEf39/fwF9YAF8AXxgAnx/AXxgAn5/AX9gAn5+AXxgAAF+YAF/AX5gA39+fwBgAn98AGAEfn5+fgF/YAN+fn4Bf2ABfwF8YAJ/fwF+YAJ+fgF9YAN/f34AYAR/f39+AX5gBX5/f39/AX9gCX9/f39/f39/fwF/YAR/f35+AAKtCzMDZW52DV9lbXZhbF9kZWNyZWYAAgNlbnYYX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAAMDZW52DV9lbXZhbF9pbmNyZWYAAgNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABwNlbnYZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgARA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzACcDZW52Il9lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IADQNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAoA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABcDZW52EV9lbXZhbF90YWtlX3ZhbHVlAAMDZW52EF9lbXZhbF9uZXdfYXJyYXkADwNlbnYRX2VtdmFsX25ld19vYmplY3QADwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAEDZW52E19lbXZhbF9zZXRfcHJvcGVydHkABQNlbnYYZW1zY3JpcHRlbl9hc21fY29uc3RfaW50AAQDZW52CnN5bmNJZGJfanMAAgNlbnYTX2VtdmFsX2dldF9wcm9wZXJ0eQADA2VudglfZW12YWxfYXMAHANlbnYWX2VtdmFsX3J1bl9kZXN0cnVjdG9ycwACA2VudhFfZW12YWxfZ2V0X2dsb2JhbAABA2VudgpfZW12YWxfbmV3AAYDZW52IV9lbXZhbF9uZXdfYXJyYXlfZnJvbV9tZW1vcnlfdmlldwABA2VudhJfZW12YWxfY2FsbF9tZXRob2QAKQNlbnYNX19hc3NlcnRfZmFpbAAHA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAANlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAoDZW52GF9lbWJpbmRfcmVnaXN0ZXJfaW50ZWdlcgAKA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2Zsb2F0AAUDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwAAA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAUDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAFA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYSZW1zY3JpcHRlbl9nZXRfbm93ACoWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAEDZW52IF9lbXNjcmlwdGVuX2dldF9ub3dfaXNfbW9ub3RvbmljAA8DZW52EF9fc3lzY2FsbF9vcGVuYXQABgNlbnYRX19zeXNjYWxsX2ZjbnRsNjQABANlbnYPX19zeXNjYWxsX2lvY3RsAAQWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9yZWFkAAYWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF9jbG9zZQABFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52CnN0cmZ0aW1lX2wACQNlbnYQX19zeXNjYWxsX3N0YXQ2NAADA2VudhFfX3N5c2NhbGxfbWtkaXJhdAAEA2VudgVhYm9ydAAMA2VudiJfX3Rocm93X2V4Y2VwdGlvbl93aXRoX3N0YWNrX3RyYWNlAAIDZW52F19lbWJpbmRfcmVnaXN0ZXJfYmlnaW50ABEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrAAkD+Af2BwwCAgIDDAICAAwMAwECAwELKwEDAQELAQIDAQQBAgQDAAUAAwAFAAUHAAoJAQEBAgYECg0FBwAABQQHCgcKBwYAAwABAAAFAAEBAAoAAQIBDwACDwUAAg8DAQMABwUDAAcFBAUCAwUKAAMFBQUIAgACBQAAAwEDAQABDAIDCwEBAQILAQMHCgAKAAECAAYCAwICAQcFAAUKAAEBAgAKBQkNBwUBBwAAAgEAAQEMDAQEBCwEBAABAwEBBAYCAgQTAQ8tCRAFAQcuCgQdAAMDAQECAwAYGC8wAQQMAwMDEwQBHh4BAQEEMQIBAgAEFAcEBQQBAQMEAwEBAgIAAgEAAwEBBQAyAQECAgACAAUFAQMBAQABAAUABAEBAQEEAgIBDAMDBBQHAQACAQICAQIEBQoHBQAFAwMBAQEFAQIAAQIAAh8BABISMzQ1NhIAEhgSEhIHNzgGOQQEAwMEAQMGBAMGAgAGOgcJBwUECQcFBAgBEAMAAggBBRkGBwgWCAYIBggWCAogCwgcCAcIDwQEAwgBEAgDBRkICAgICAogCAgIBAkBAQkHCQQRCBUJFSEiBAYRGiMJBAkBCREIFQkVISIRGiMJBAAADgEICAgNCA0ICgkODggICA0IDQgKCQ4QDRACAQAAAAEAAxAkAAUFEAUAAQEDABAkABAFAQABAxslJgQIGyUmBAgEDQ0BDAIAAgIBBQICAQIAAwIAAAICAgQGBgYDBAMEBgQJAQIDBAMEBgQJDgkJAg4EDgkJAQEJAQ4OCQEODgkBAgECAQEAAAAAAAAAAAECAQIAAQIBAgECAQIBAgECAQIBAgECAQIBAgECAgEFAwAFBQAFAQEFBQACAwwMAQIWFgIMAQMBAgIABQwCAwUABQcGAQAABQAFBQEAAAMCAQACAQUABQcCAQICAgUCAAMHAwMAAwMDBRcBCgUFBQQGAwABAxcBCgAFHwADAwMDAwUEBAABBQEFBQQEAAECBQACAQwMAgAMDAwCDAIEBAQDBQcHBwcEAwcKDQoKCg0NDQEBAQECAgEBAwEBOwACDA8PDw8CAQYCAwMDAQMFBAEAAgIBAQMDAQEABRACAwADAQEDAQMEBAQBAwABAwMDAAEFAQMECAADAAADAwAAAAEBAgYDBAEDAwMJAwMDAwMAAAEABAYBAQMDBQMDAwAGAQEEAQMAAAcAAAAAAAAAAAAAAAAGAAMBAgAAAAAAAAMAAAAAAAAAAAAAAAAAAwAAAgMAAAAEAAAAAAAAAAADAAAAAAAEAAAAAAAGAAAAAwMDAwAAAAAAAwAAAAQAAAAAAAADAwMAAAAAAAQAAAAAAAADAAEAAAUABAABBQkREDwZPQQFAXAA2gUFBwEBgAKAgAINAwEAAgYXBH8BQYCSBwt/AUEAC38BQQALfwFBAAsH7QQdBm1lbW9yeQIAEV9fd2FzbV9jYWxsX2N0b3JzADMPX19jcHBfZXhjZXB0aW9uBAAGbWFsbG9jAIICBGZyZWUAgwIZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEADV9fZ2V0VHlwZU5hbWUA3gEbX2VtYmluZF9pbml0aWFsaXplX2JpbmRpbmdzAN8BEF9fZXJybm9fbG9jYXRpb24A8wEGZmZsdXNoAJUCBl9fdHJhcADEBRVlbXNjcmlwdGVuX3N0YWNrX2luaXQAxwYZZW1zY3JpcHRlbl9zdGFja19nZXRfZnJlZQDIBhllbXNjcmlwdGVuX3N0YWNrX2dldF9iYXNlAMkGGGVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2VuZADKBglzdGFja1NhdmUAywYMc3RhY2tSZXN0b3JlAMwGCnN0YWNrQWxsb2MAzQYcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudADLBiJfX2N4YV9kZWNyZW1lbnRfZXhjZXB0aW9uX3JlZmNvdW50AJkGIl9fY3hhX2luY3JlbWVudF9leGNlcHRpb25fcmVmY291bnQAnQYOX19jeGFfZGVtYW5nbGUAzgYlX190aHJvd25fb2JqZWN0X2Zyb21fdW53aW5kX2V4Y2VwdGlvbgChCBdfX2dldF9leGNlcHRpb25fbWVzc2FnZQCiCAxkeW5DYWxsX2ppamkAowgOZHluQ2FsbF92aWlqaWkApAgOZHluQ2FsbF9paWlpaWoApQgPZHluQ2FsbF9paWlpaWpqAKYIEGR5bkNhbGxfaWlpaWlpamoApwgJ2woBAEEBC9kFvwY+Oz9AQUJDREVGR0BBSElERUZKS0xNTk9QUVJTVFVWV1hZWltcXV5fRmBFYWJjZGVmVVZnaGlYalRrbG1ub3BxcnN0dXZGd3h5entGRXx9fl5/OoABgQGCAYMBhAGFAYIBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBvAa1AbYBsAE0NDU2OT2xAbIBswG2AbQBsQGyAbMBtAG3AbgBuQG7AbwBvQG+AcYBygHLAcwBzgHgAeoB8AHxAf0B/gGQApECkgKWArYBmwKcAp0CngKfAqAC6gHqAaECpAKlAqYCpwKmAqkCqwKqAqwCtwK5ArgCugLMAs8C2QLVAtYC1wLYAtEC0wLUAqgB2gLbAtwCqgHdAt4C3wI07QK2AbQB6wKJBooGiwbsAu4CsgHwAvECigORA4MCNM8E0QSJBYsFjgWQBZIFlAWWBZgFmgWcBZ4FoAWiBaQFyATJBNAE3QTeBN8E4AThBOIEjQLjBOQE5QS+BOkE6gTsBO4E7wTqAfEE8gT6BPsE/gT/BIAFggWFBfwE/QSxAcUCgQWDBYYFtgG0AbQB0gTTBNQE1QTWBNcE2ATZBI0C2gTbBNwEtAHmBOYE5wToAegB6AToAbQB8wT0BOcE6gHqAfUE9gS0AfME9ATnBOoB6gH1BPYEtAH3BPgE5wTqAeoB+QT2BLQB9wT4BOcE6gHqAfkE9gS2AbQBmQOaA5wDtgG0AZ0DngOgA7QBoQOnA60DrwOxA7EDswO1A7kDuwO9A7QBwgPFA8kDygPLA8sDzAPNA9AD0QPSA7QB1APXA90D3gPfA+AD5QPnA7QB6QPrA+4D7wPwA/ED9AP2A7YBtAH7A/wD/QP+A4AEggSFBIgFjQWRBZ0FoQWVBZkFtgG0AfsDhwSIBIkEiwSNBJAEigWPBZMFnwWjBZcFmwWmBaUFkQSmBaUFkwS0AZUElQSWBJYElgSXBOoBmASYBLQBlQSVBJYElgSWBJcE6gGYBJgEtAGZBJkElgSWBJYEmgTqAZgEmAS0AZkEmQSWBJYElgSaBOoBmASYBLQBnAShBLQBqASrBLQBsQS1BLQBtgS6BLQBuwS8BJ0CtAG7BL0EnQK2AbsFowa7BekBvwXBBdsF4QXiBeMF5AXtArQBjQaOBrQBjwaQBo4G7gKYBjSfBqAGtgG0ATQ0pQa0AacGuAa1BqoGtAG3BrQGqwa0AbYGsQatBrQBrga0AboGtAG7BrQBuQa+BrIB7gK+Br4GvgbuArQBwAbpAekB6QGoAv4GnQKAB7YBtAG7BYEHtAGEB4UHtAGGB7QBkgeUB5UHlgeXB5gHtAGsB7QBsAe0AbEHtAGyB7QBswe0AbQHtAG2B7QBtwe0AbgHtAG5B7QBuge0AbwHtAHAB7QBwQe0AcIHtAHDB7QBxAe0AcUHtAHHB7QByAe0AckHyge0AcsHzAe0Ac0Hyge0Ac4Hzwe0AdAHtAHSB7QB0we0AdUHtAHWB7QB2Qe0AdoHtAHbB7QB3Qe0Ad4HtAHfB7QB4Ae0AeEHtAHiB7QB4wfkB7QB5ge0AecHtAHoB7QB6QfqB7QB7AftB7QB7wfuB7QB8Ae0AfIHtAHzB7QB9AfkB7QB4wfkB7QB4we0AfUH9gf3B/gH+Qf6B7QB+we0AfwH6ge0AeEHtAH9B7QB/gf+B/8HgAi0AYEItAGDCLQBhAi0Af4H/geFCIYItAGHCLQBiAi0AYkIigiLCIwIjQi0AY4ItAGPCLQBkAi0AZIItAH+B/4HkwiUCLQBiQiVCJYItAGXCLQBmAiZCJsItAGYCJwIngi0AaAItAEK6swR9gfPAgECf0GAkgckA0GAkgMkAiMAQRBrIgAkAAJAIABBDGogAEEIahAqDQBBgP0CIAAoAgxBAnRBBGoQggIiATYCACABRQ0AIAAoAggQggIiAQRAQYD9AigCACAAKAIMQQJ0akEANgIAQYD9AigCACABECtFDQELQYD9AkEANgIACyAAQRBqJABB9O4CQQA6AABB8O4CQQA2AgBB+O4CQQE2AgBBgO8CQRAQvQUiADYCAEGE7wJCjoCAgICCgICAfzcCACAAQcILKQAANwAGIABBvAspAAA3AAAgAEEAOgAOQYzvAkH0ADYCAEGQ7wJBADYCABA9QZDvAkGs7wIoAgA2AgBBrO8CQYzvAjYCAEGw7wJBigE2AgBBtO8CQQA2AgAQ4AFBtO8CQazvAigCADYCAEGs7wJBsO8CNgIAQeT4AkHs9wI2AgBBnPgCQSo2AgALAwABCxQAQfTuAi0AAARAQfDuAigCABoLCxsAIwAhAAZAQfjuAigCABAAGSAAJAAQoQYACwtvAQN/IAEQ8gEiAkHw////B0kEQAJAIAJBCk0EQCAAIAI6AAsgACEDDAELIAJBD3JBAWoiBBC9BSEDIAAgBEGAgICAeHI2AgggACADNgIAIAAgAjYCBAsgAyABIAIQ4gEgAmpBADoAACAADwsQOAALCQBBgyMQrgEACxkAQYvvAiwAAEEASARAQYDvAigCABCDAgsLqQIBAn8jAEEQayIBJABB/e4CLQAABEBBzCkQ7wELQf7uAiAAOgAAQfjuAigCAEEBRwRAQZQ9EO8BQfjuAigCACEABkBBmO8CLQAAQQFxRQRAQQJBlN0AEAEhAkGY7wJBAToAAEGU7wIgAjYCAAtBlO8CKAIAIQJBARACIAFBATYCCCACIABB+x0gAUEIahADGSABJAAGQEEBEAAZIAEkABChBgALCQALBkBBARAAGSABJAAQoQYACwZAQfjuAigCABAAGSABJAAGQEEBEAAZIAEkABChBgALCQALQfjuAkEBNgIABkBBABAAGSABJAAQoQYACwsCQEH07gItAABFDQBB8O4CKAIAGkH07gJBADoAAEH97gItAABFDQBBuCkQ7wELIAFBEGokAAv2BQIGfwJ9IwBBIGsiAiQAIABBADYCCCAAQgA3AgACQCABKAIEIgYgASgCACIBRg0ABkAgBiABayIEQQBIBEAQPAALIAQQvQUhAxkgAiQAIAAoAgAiAQRAIAAgATYCBCABEIMCCwZACQEHACEAIAIkAEH0kQNBgAg2AgBB8JEDQQA2AgAgABDGBgJAQfiRAygCAEEBRgRAIAAQmgYhAEH97gItAAAEQCACIAAgACgCACgCCBEBADYCAEH11gAgAhDnAQtBCBCVBiEDIAAgACgCACgCCBEBACEAIAJBAToAHwZAIAJBBGogABA3IQAgAkEBOgAeBkAgAiAAQeTLABD5BSIBKAIINgIYIAIgASkCADcDECABQgA3AgAgAUEANgIIIAJBAToAHQZAIAMgAkEQahDuBSEBIAJBADoAHSABQcSbAkEBEJcGDAQZIAIkACACLQAdIQEgAiwAG0EASARAIAIoAhAQgwILIAIgAUEBcToAHgkACwAZIAIkACACLQAeIQEgACwAC0EASARAIAAoAgAQgwILIAIgAUEBcToAHwkA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ATYCFAZAIAJBCGogAkEUahCrARkgAiQABkAgAigCFBAAGSACJAAQoQYACwkACwZAIAIoAhQQABkgAiQAEKEGAAsGQCACQRRqIgEgAkEIaiAAEQAABkAgARCsASEBGSACJAAgAigCFCIABEAgAiAANgIYIAAQgwILCQALGSACJAAgAigCCCIABEAgAiAANgIMIAAQgwILCQALIAIoAhQiAARAIAIgADYCGCAAEIMCCyACKAIIIgAEQCACIAA2AgwgABCDAgsgAkEgaiQAIAELBgBBhN4ACy4BAX8gAARAIAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCEBECAAsgABCDAgsLKQEBfyMAQRBrIgIkACACIAE2AgwgAkEMaiAAEQEAIQAgAkEQaiQAIAALMAECfyMAIQIGQAZAQQgQvQUhARgBIAEgACgCABCvASEAGSACJAAgARCDAgkACyAAC/oDAgN/AX0jAEEwayIDJAACQAJAIAEoAgQgASgCAGtBAnUiBCAAKAIAIgVGBEAgAigCBCACKAIAa0ECdSAERg0BC0H97gItAAAEQCADIAU2AgBBidsAIAMQ5wELQQgQlQYhASAAKAIAIQAgA0EBOgAvBkAgA0EEaiICIAAQgwYgA0EBOgAuBkAgAyACQavFABD5BSIAKAIINgIYIAMgACkCADcDECAAQgA3AgAgAEEANgIIIANBAToALQZAIAMgA0EQakGSPhD8BSIAKAIINgIoIAMgACkCADcDICAAQgA3AgAgAEEANgIIIANBAToALAZAIAEgA0EgahDrBSIAQZiaAjYCACADQQA6ACwgAEG8mgJB6wAQlwYMBRkgAyQAIAMtACwhACADLAArQQBIBEAgAygCIBCDAgsgAyAAQQFxOgAtCQALABkgAyQAIAMtAC0hACADLAAbQQBIBEAgAygCEBCDAgsgAyAAQQFxOgAuCQALABkgAyQAIAMtAC4hACADLAAPQQBIBEAgAygCBBCDAgsgAyAAQQFxOgAvCQALABkgAyQAIAMtAC8EQCABEJYGCwkACwALIAAoAgQiBCAEKAIAKAIEEQEAIQQgASgCACACKAIAIAAoAgQiACAAKAIAKAIIEQEAIAQRCwAhBiADQTBqJAAgBg8LAAvKAgICfwF9IwBBIGsiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAFQQFxBEAgASgCACAAaigCACEACyAEIAI2AgQGQCAEQRBqIARBBGoQqwEZIAQkAAZAIAQoAgQQABkgBCQAEKEGAAsJAAsGQCAEKAIEEAAZIAQkABChBgALIAQgAzYCHAZABkAgBEEEaiAEQRxqEKsBGSAEJAAGQCAEKAIcEAAZIAQkABChBgALCQALBkAgBCgCHBAAGSAEJAAQoQYACwZAIAEgBEEQaiAEQQRqIAARCwAhBhkgBCQAIAQoAgQiAARAIAQgADYCCCAAEIMCCwkACxkgBCQAIAQoAhAiAARAIAQgADYCFCAAEIMCCwkACyAEKAIEIgAEQCAEIAA2AgggABCDAgsgBCgCECIABEAgBCAANgIUIAAQgwILIARBIGokACAGCwcAIAAoAgALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRAQALBgBBpOAAC2wBAn8jACEBQQgQvQUhAiAAKAIAIQAgAkEANgIEIAIgADYCAAZAQRAQvQUhARkgASQAIAJBADYCBCACEIMCCQALIAEgADYCDCABQewANgIEIAFBpOEANgIAIAEgAEECdDYCCCACIAE2AgQgAguXAwIDfwF9IwBBIGsiAyQAAkACQCABKAIEIAEoAgBrQQJ1IgQgACgCACIFRgRAIAIoAgQgAigCAGtBAnUgBEYNAQtB/e4CLQAABEAgAyAFNgIAQYnbACADEOcBC0EIEJUGIQEgACgCACEAIANBAToAHwZAIANBBGoiAiAAEIMGIANBAToAHgZAIAMgAkGrxQAQ+QUiACgCCDYCGCADIAApAgA3AxAgAEIANwIAIABBADYCCCADQQE6AB0GQCABIANBEGoQ6wUiAEGYmgI2AgAgA0EAOgAdIABBvJoCQesAEJcGDAQZIAMkACADLQAdIQAgAywAG0EASARAIAMoAhAQgwILIAMgAEEBcToAHgkACwAZIAMkACADLQAeIQAgAywAD0EASARAIAMoAgQQgwILIAMgAEEBcToAHwkACwAZIAMkACADLQAfBEAgARCWBgsJAAsACyAAKAIEIgQgBCgCACgCBBEBACEEIAEoAgAgAigCACAAKAIEIgAgACgCACgCCBEBACAEEQsAIQYgA0EgaiQAIAYPCwALDQAgACgCAEEEaygCAAsuAQF/IAAE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AygCBBCDAgsJAAsACxA4AAsgAywAD0EASARAIAMoAgQQgwILIANBEGokAAvUBwIGfwF+IwBB0ABrIgIkACACIAEoAgAgASABLAALQQBIGzYCEEG41QAgAkEQahDnAQJAIAAoAgRFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALAkBBhO8CKAIAQYvvAiwAACIFQf8BcSAFQQBIGyIGQQFqIgNB8P///wdJBEACQCADQQpNBEAgAkEANgIwIAJCADcDKCACIAM6ADMgAkEoaiEEDAELIANBD3JBAWoiBxC9BSEEIAIgAzYCLCACIAQ2AiggAiAHQYCAgIB4cjYCMAsgBEGA7wJBgO8CKAIAIAVBAE4bIAYQ4gEgBmpBLzsAAAZAIAJBKGogASgCACABIAEtAAsiA8BBAEgiBBsgASgCBCADIAQbEPcFIQEMAhkgAiQAIAIsADNBAEgEQCACKAIoEIMCCwkACwALEDgACyACQUBrIAEoAgg2AgAgAiABKQIANwM4IAFCADcCACABQQA2AgggAiwAM0EASARAIAIoAigQgwILBkAgAkEoaiACQThqIgEgARD7BSACQRhqIgMQ+AUhASACQQA2AiAgAkIANwMYBkAGQCADIAEoAgAgASABLQALIgPAQQBIIgQbIgUgBSABKAIEIAMgBBtqEJkBGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALBkAgAkHIAGogAkEYakEAENIFGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALIAIpA0ghCCACLAAjQQBIBEAgAigCGBCDAgsCQCAIp0H/AXEiA0H/AUdBACADGw0AIAIgASgCACABIAEsAAtBAEgbNgIAQeHUACACEOcBIAJBADYCICACQgA3AxgGQCACQRhqIAEoAgAgASABLQALIgPAQQBIIgQbIgUgBSABKAIEIAMgBBtqEJkBGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALBkAgAkEYakEAENAFGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALIAIsACNBAE4NACACKAIYEIMCCyAAKAIEIgAgAkE4aiAAKAIAKAIMEQAAIAJBATYCFAZAQQAgAkEUahCIARkgAiQABkAgAigCFBAAGSACJAAQoQYACwkACxkgAiQAIAEsAAtBAEgEQCABKAIAEIMCCwkACxkgAiQAIAIsAENBAEgEQCACKAI4EIMCCwkACwZAIAIoAhQQABkgAiQAEKEGAAsgASwAC0EASARAIAEoAgAQgwILIAIsAENBAEgEQCACKAI4EIMCCyACQdAAaiQADwsgAEHEmwJBARCXBgAL/AkCCH8CfSMAQUBqIgMkAAJAIAAoAgQiB0UEQAZABkBBCBCVBiEAGAMgAEG9OxDvBSEADAIZIAMkACAAEJYGCQALAAsCQCABKAIEIgQgASgCACIFayIJQQJ1IgggACgCAEcEQEEIEJUGIQEgACgCACEAIANBAToAOQZAIANBDGoiAiAAEIMGIANBAToAOAZAIAMgAkGrxQAQ+QUiACgCCDYCICADIAApAgA3AxggAEIANwIAIABBADYCCCADQQE6ADcGQCADIANBGGpBkj4Q/AUiACgCCDYCMCADIAApAgA3AyggAEIANwIAIABBADYCCCADQQE6ADYGQCABIANBKGoQ6wUiAEGYmgI2AgAgA0EAOgA2IABBvJoCQesAEJcGDAUZIAMkACADLQA2IQAgAywAM0EASARAIAMoAigQgwILIAMgAEEBcToANwkACwAZIAMkACADLQA3IQAgAywAI0EASARAIAMoAhgQgwILIAMgAEEBcToAOAkACwAZIAMkACADLQA4IQAgAywAF0EASARAIAMoAgwQgwILIAMgAEEBcToAOQkACwAZIAMkACADLQA5BEAgARCWBgsJAAsACwJAIAAtAAxFDQAgBCAFRiIGRQRAIAUhAQNAIAEqAgAiDCAMlCALkiELIAFBBGoiASAERw0ACwsgBg0AIAuLkSILQwAAAABeRQ0AQQEgCCAIQQFNGyIEQQFxIQhBACEBIAlBCE8EQCAEQX5xIQlBACEEA0AgBSABQQJ0IgZqIgogCioCACALlTgCACAFIAZBBHJqIgYgBioCACALlTgCACABQQJqIQEgBEECaiIEIAlHDQALCyAIRQ0AIAUgAUECdGoiASABKgIAIAuVOAIACyAHKAIMIAcoAghGBEBBCBCVBiEBIAAoAgQoAgghACADQQE6ADwGQCADQRhqIgIgABCDBiADQQE6ADsGQCADIAJB0MwAEPkFIgAoAgg2AjAgAyAAKQIANwMoIABCADcCACAAQQA2AgggA0EBOgA6BkAgASADQShqEO4FIQAgA0EAOgA6IABBxJsCQQEQlwYMBBkgAyQAIAMtADohACADLAAzQQBIBEAgAygCKBCDAgsgAyAAQQFxOgA7CQALABkgAyQAIAMtADshACADLAAjQQBIBEAgAygCGBCDAgsgAyAAQQFxOgA8CQALABkgAyQAIAMtADwEQCABEJYGCwkACwALBkAgByAFIAJBACAHKAIAKAIAEQcABwAhACADJABB9JEDQawINgIAQfCRA0EANgIAIAAQxgYCQEH4kQMoAgBBAUYEQCAAEJoGIQBBCBCVBiECIAAgACgCACgCCBEBACEAIANBAToAPwZAIANBGGogABA3IQAgA0EBOgA+BkAgAyAAQcfPABD5BSIBKAIINgIwIAMgASkCADcDKCABQgA3AgAgAUEANgIIIANBAToAPQZAIAIgA0EoahDuBSEBIANBADoAPSABQcSbAkEBEJcGDAQZIAMkACADLQA9IQEgAywAM0EASARAIAMoAigQgwILIAMgAUEBcToAPgkACwAZIAMkACADLQA+IQEgACwAC0EASARAIAAoAgAQgwILIAMgAUEBcToAPwkACwAZIAMkACADLQA/BEAgAhCWBgsGQBCbBhkgAyQAEKEGAAsJAAsACwkBCwALIANBQGskAA8LAAsgAEHEmwJBARCXBgALwQEBAn8jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAjYCDAZAIAQgBEEMahCrARkgBCQABkAgBCgCDBAAGSAEJAAQoQYACwkACwZAIAQoAgwQABkgBCQAEKEGAAsGQCABIAQgAyAAEQUAGSAEJAAgBCgCACIABEAgBCAANgIEIAAQgwILCQALIAQoAgAiAARAIAQgADYCBCAAEIMCCyAEQRBqJAALlwIBBn8jAEEgayICJAACQCAAKAIEIgBFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALIAIgATYCDCACIAJBDGoiAzYCFCACQRhqIgYgAEE4aiIBIAMgAkEUaiIHIAJBCGoiBBCaASACKAIYKAIMIQUgASADEJsBIAIgACgCFCAAKAIEIAAoAhAgACgCDEEBa2xqaigCADYCCCACIAQ2AhQgBiABIAQgByACQRNqEJoBIAIoAhggBTYC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9wUhBAwCGSADJAAgAywAO0EASARAIAMoAjAQgwILCQALAAsQOAALIAMgBCgCCDYCSCADIAQpAgA3A0AgBEIANwIAIARBADYCCCADLAA7QQBIBEAgAygCMBCDAgsGQAZAQZgCEL0FIQQGQCAAKAIIIQUgA0FAayEGIwAhByAEQgA3AgQgBEG46QA2AgAgBEIANwIMIARCADcCFCAEQgA3AhwgBEIANwIkIARBMGpBAEH0ABDjARogBEIANwPIASAEQgA3A8ABIARCADcDuAEgBEIANwOwASAEQgA3A6gBIARCADcC7AEgBEEBOgDoASAEQgA3A+ABIARCgYCAgBA3A9gBIARCgICAgICAgMA/NwPQASAEQgA3AvQBIARCADcC/AEgBEGEAmoiCEIANwIAIARCADcCjAIgBEGAgID8AzYClAIGQCAEIAYgBSACENcBGSAHJAAgCBCXASAEQcQBahCXASAEKAKUASICBEAgBCACNgKYASACEIMCCyAEQewAahDDASAEQcgAahDDAQkACxkgAyQAIAQQgwIJAAsgACAENgIEIAAQoQEHACECIAMkAEH0kQNBvAg2AgBB8JEDQQA2AgAgAhDGBkH4kQMoAgBBAUYEQAZAAkAGQCADQTBqIQQgAhCaBiICIAIoAgAoAggRAQAhAhgFIAQgAhA3IQIGQCADQSRqQYgpEDchBCABKAIAIQUgASwACyEGIAMgAigCACACIAIsAAtBAEgbNgIEIAMgBSABIAZBAEgbNgIAQbHXACADEOcBBkAgAiAEEJgBQX9HBEAGQEEIEJUGIQEYCCAAKAIEKAIEIQAgA0EBOgBPBkAgA0EMaiIFIAAQgwYgA0EBOgBOBkAgAyAFQbvNABD5BSIAKAIINgIgIAMgACkCADcDGCAAQgA3AgAgAEEANgIIIANBAToATQZAIAEgA0EYahDuBSEAIANBADoATSAAQcSbAkEBEJcGDAYZIAMkACADLQBNIQAgAywAI0EASARAIAMoAhgQgwILIAMgAEEBcToATgkACwAZIAMkACADLQBOIQAgAywAF0EASARAIAMoAgwQgwILIAMgAEEBcToATwkACwAZIAMkACADLQBPBEAGQCABEJYGGAoLCQALAAsQnAYZIAMkACAELAALQQBIBEAgBCgCABCDAgsJAAsZIAMkACACLAALQQBIBEAgAigCABCDAgsJAAsLGSADJAAGQBCbBhkgAyQAEKEGAAsJAAsACwkACxkgAyQAIAMsAEtBAEgEQCADKAJAEIMCCwkACyADLABLQQBIBEAgAygCQBCDAgsgA0HQAGokAAvxAQEEfyMAQRBrIgQkACABIAAoAgQiBUEBdWohBiAAKAIAIQEgBUEBcQRAIAYoAgAgAWooAgAhAQsCQCACKAIAIgBB8P///wdJBEACQCAAQQpNBEAgBCAAOgAPIARBBGohBQwBCyAAQQ9yQQFqIgcQvQUhBSAEIAdBgICAgHhyNgIMIAQgBTYCBCAEIAA2AggLIAUgAkEEaiAAEOEBIABqQQA6AAAGQCAGIARBBGogAyABEQUADAIZIAQkACAELAAPQQBIBEAgBCgCBBCDAgsJAAsACxA4AAsgBCwAD0EASARAIAQoAgQQgwILIARBEGokAAuBCAIGfwF+IwBB4ABrIgIkACACIAEoAgAgASABLAALQQBIGzYCIEHf1QAgAkEgahDnAUH97gItAAAEQCACIAEoAgAgASABLAALQQBIGzYCEEGW2QAgAkEQahDnAQsCQCAAKAIERQRABkAGQEEIEJUGIQAYAyAAQb07EO8FIQAMAhkgAiQAIAAQlgYJAAsACwJAQYTvAigCAEGL7wIsAAAiBUH/AXEgBUEASBsiBkEBaiIDQfD///8HSQRAAkAgA0EKTQRAIAJBQGtBADYCACACQgA3AzggAiADOgBDIAJBOGohBAwBCyADQQ9yQQFqIgcQvQUhBCACIAM2AjwgAiAENgI4IAIgB0GAgICAeHI2AkALIARBgO8CQYDvAigCACAFQQBOGyAGEOIBIAZqQS87AAAGQCACQThqIAEoAgAgASABLQALIgPAQQBIIgQbIAEoAgQgAyAEGxD3BSEBDAIZIAIkACACLABDQQBIBEAgAigCOBCDAgsJAAsACxA4AAsgAiABKAIINgJQIAIgASkCADcDSCABQgA3AgAgAUEANgIIIAIsAENBAEgEQCACKAI4EIMCCwZAIAJBOGogAkHIAGoiASABEPsFIAJBKGoiAxD4BSEBIAJBADYCMCACQgA3AygGQAZAIAMgASgCACABIAEtAAsiA8BBAEgiBBsiBSAFIAEoAgQgAyAEG2oQmQEZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsGQCACQdgAaiACQShqQQAQ0gUZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsgAikDWCEIIAIsADNBAEgEQCACKAIoEIMCCwJAIAinQf8BcSIDQf8BR0EAIAMbDQAgAiABKAIAIAEgASwAC0EASBs2AgBBjdUAIAIQ5wEgAkEANgIwIAJCADcDKAZAIAJBKGogASgCACABIAEtAAsiA8BBAEgiBBsiBSAFIAEoAgQgAyAEG2oQmQEZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsGQCACQShqQQAQ0AUZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsgAiwAM0EATg0AIAIoAigQgwILIAAoAgQiACACQcgAaiAAKAIAKAIMEQAAIAJBATYCJAZAQQAgAkEkahCIARkgAiQABkAgAigCJBAAGSACJAAQoQYACwkACxkgAiQAIAEsAAtBAEgEQCABKAIAEIMCCwkACxkgAiQAIAIsAFNBAEgEQCACKAJIEIMCCwkACwZAIAIoAiQQABkgAiQAEKEGAAsgASwAC0EASARAIAEoAgAQgwILIAIsAFNBAEgEQCACKAJIEIMCCyACQeAAaiQADwsgAEHEmwJBARCXBgALVgECfyMAIQICQCAAKAIEIgNFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALIAMgARCiASAAEKMBDwsgAEHEmwJBARCXBgAL7gUBBH8jAEEwayIDJAACQCABKAIEIgFFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSADJAAgABCWBgkACwALBkAgA0EgaiABIAIQpAEGQCAAEAo2AgBBACEBIANBADYCECADKAIkIgIgAygCICIERwRAIAQhAgNABkAgAiABQQJ0aiEEIwBBEGsiASQAIAAoAgAhBSABIAMoAhA2AghBhJYCIAFBCGoiBhAJIQIgASAEKgIAOAIIBkBBqJYCIAYQCSEEBkAgBSACIAQQDRkgASQABkAgBBAAGSABJAAQoQYACwkACxkgASQABkAgAhAAGSABJAAQoQYACwkACwZAIAQQABkgASQAEKEGAAsGQCACEAAZIAEkABChBgALIAFBEGokABkgAyQABkAgACgCABAAGSADJAAQoQYACwkACyADIAMoAhBBAWoiATYCECABIAMoAiQgAygCICIC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ABgKIARBAToAjwEGQCAEQeAAaiAAEDchACAEQQE6AI4BBkAgBCAAQZfFABD5BSIBKAIINgJ4IAQgASkCADcDcCABQgA3AgAgAUEANgIIIARBAToAjQEGQCACIARB8ABqEO4FIQEgBEEAOgCNASABQcSbAkEBEJcGDAQZIAQkACAELQCNASEBIAQsAHtBAEgEQCAEKAJwEIMCCyAEIAFBAXE6AI4BCQALABkgBCQAIAQtAI4BIQEgACwAC0EASARAIAAoAgAQgwILIAQgAUEBcToAjwEJAAsAGSAEJAAgBC0AjwEEQAZAIAIQlgYYDAsGQBCbBhkgBCQAEKEGAAsJAAsACwkBCwALGSAEJAAgBygCACIABEAgByAANgIEIAAQgwILCQALIANBAWohAwwACwAZIAQkAAkACwALIABBxJsCQQEQlwYMAQsgAEHEmwJBARCXBgsZIAQkAAkACwALvwIBAn8jAEEgayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAjYCFAZAIARBCGogBEEUahDYARkgBCQABkAgBCgCFBAAGSAEJAAQoQYACwkACwZAIAQoAhQQABkgBCQAEKEGAAsGQCAEQRRqIgIgASAEQQhqIAMgABEHAAZAIAIQ2wEhBRkgBCQAIAQoAhQiAARAIAQgADYCGCAAEIMCCwkACxkgBCQAIARBCGoQ2gEJAAsgBCgCFCIABEAgBCAANgIYIAAQgwILIAQoAggiAgRAIAQoAgwiASACIgBHBEADQCABQQxrIgAoAgAiAwRAIAFBCGsgAzYCACADEIMCCyAAIgEgAkcNAAsgBCgCCCEACyAEIAI2AgwgABCDAgsgBEEgaiQAIAULugEBBH8jACEDAkAGQCABLQA8BEAgARChAQsgAEEANgIIIABCADcCACABKAJEIgQgASgCQCICRg0BBkAgBCACayIFQQBIBEAQPAALIAUQvQUhARkgAyQAIAAoAgAiAQRAIAAgATYCBCABEIMCCwkACxkgAyQACQALIAAgATYCBCAAIAE2AgAgACABIAVBfHFqNgIIA0AgASACKAIANgIAIAFBBGohASACQQRqIgIgBEcNAAsgACABNgIECwuJAQEDfyMAQRBrIgIkACAAKAIAIQMgAkEEaiIEIAEgACgCBCIAQQF1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IAUoAgBBDGsoAgBqIgYgBigCEEEEchDvAgtBgO8CKAIAIQZBi+8CLAAAIQcgACgCACEIIAAsAAshCSADQShqIgoQiQIgC31CwIQ9fxCCBiADIAggACAJQQBIGzYCACADQYDvAiAGIAdBAE4bNgIEIAMgAygCKCAKIAMsADNBAEgbNgIIQaPWACADEOcBIAMsADNBAEgEQCADKAIoEIMCCyACKAIAIgBBAWtBAkkNAwZAQZjvAi0AAEEBcUUEQEECQZTdABABIQJBmO8CQQE6AABBlO8CIAI2AgALQZTvAigCACECQQEQAiADQQE2AiggAiAAQfsdIANBKGoQAxkgAyQABkBBARAAGSADJAAQoQYACwkACxkgAyQAIAUQqgEaCQALGSADJAAgBCwAC0EASARAIAQoAgAQgwILCQALGSADJAAgAywAiwJBAEgEQCADKAKAAhCDAgsJAAsGQEEBEAAZIAMkABChBgALCyAFQbihASgCACIANgIAIAUgAEEMaygCAGpBxKEBKAIANgIAIAEQzAIaIAVB6ABqEJoCIAQsAAtBAEgEQCAEKAIAEIMCCyADLACLAkEASARAIAMoAoACEIMCCyADQZACaiQAC4kCAQR/IwBBIGsiAiQAAkAgASgCACIDQfD///8HSQRAAkAgA0EKTQRAIAIgAzoAEyACQQhqIQQMAQsgA0EPckEBaiIFEL0FIQQgAiAFQYCAgIB4cjYCECACIAQ2AgggAiADNgIMCyAEIAFBBGogAxDhASADakEAOgAABkAgAkEUaiIBIAJBCGogABEAAAZAIAEQ3QEhAQwDGSACJAAgAigCFCIABEAgAiAANgIYIAAQgwILCQALABkgAiQAIAIsABNBAEgEQCACKAIIEIMCCwkACwALEDgACyACKAIUIgAEQCACIAA2AhggABCDAgsgAiwAE0EASARAIAIoAggQgwILIAJBIGokACABC+ILAg1/AX4jAEHwAWsiAiQAIAIgASgCACABIAEsAAtBAEgbNgIAIAJBgO8CQYDvAigCAEGL7wIsAABBAE4bNgIEQdTYACACEOcBAkBBhO8CKAIAQYvvAiwAACIEQf8BcSAEQQBIGyIFQQFqIgdB8P///wdJBEACQCAHQQpNBEAgAkEANgIYIAJCADcDECACIAc6ABsgAkEQaiEGDAELIAdBD3JBAWoiAxC9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CDYCNCAEQQAgBhDjARogAyAINgIwCyABKAIAIQggAyAENgKsAgZAQYQZEAwhCQZAIAggCRAQIQgZIAMkAAZAIAkQABkgAyQAEKEGAAsgAyAENgKsAgkACwZAIAkQABkgAyQAEKEGAAsGQEGzChATIQsgASgCACEJBkBB0xAQDCEKBkAgCSAKEBAhCRkgAyQABkAgChAAGSADJAAQoQYACwkACwZAIAoQABkgAyQAEKEGAAsgASgCACEBBkBB2R8QDCEKBkAgASAKEBAhARkgAyQABkAgChAAGSADJAAQoQYACwkACwZAIAoQABkgAyQAEKEGAAsGQCAIEAIgAyAINgKQAiAJEAIgAyAJNgKYAiABEAIgAyABNgKgAiALQQNB0O4AIANBkAJqEBQhChkgAyQABkAgARAAGSADJAAQoQYACwkACxkgAyQABkAgCRAAGSADJAAQoQYACwkACxkgAyQABkAgCxAAGSADJAAQoQYACwkACwZAIAEQABkgAyQAEKEGAAsGQCAJEAAZIAMkABChBgALBkAgCxAAGSADJAAQoQYACyADIAQ2ApQCIAMgBjYCkAIGQEGw7gAgA0GQAmoQCSEBBkBBqO8CLQAAQQFxRQRAQQJB3O4AEAEhBEGo7wJBAToAAEGk7wIgBDYCAAtBpO8CKAIAIQQgChACIAMgCjYCkAIgBCABQdoQIANBkAJqEAMgByADKAIsIgQgAygCMCAEaxC+AiAHQQRqIgQQzQJFBEAgByAHKAIAQQxrKAIAaiIGIAYoAhBBBHIQ7wILQYDvAigCACEGQYvvAiwAACEJIAAoAgAhCyAALAALIQwgA0GQAmoiDRCJAiAPfULAhD1/EIIGIAMgCyAAIAxBAEgbNgIAIANBgO8CIAYgCUEAThs2AgQgAyADKAKQAiANIAMsAJsCQQBIGzYCCEGj1gAgAxDnASADLACbAkEASARAIAMoApACEIMCCyACKAIAIgBBAWtBAkkNBwZAQZjvAi0AAEEBcUUEQEECQZTdABABIQJBmO8CQQE6AABBlO8CIAI2AgALQZTvAigCACECQQEQAiADQQE2ApACIAIgAEH7HSADQZACahADGSADJAAGQEEBEAAZIAMkABChBgALCQALGSADJAAGQCABEAAZIAMkABChBgALCQALGSADJAAGQCAKEAAZIAMkABChBgALCQALGSADJAAGQCAIEAAZIAMkABChBgALIAMgAygCLDYCrAIJAAsZIAMkACADKAKsAiIABEAgAyAANgIwIAAQgwILCQALGSADJAAgBxCqARoJAAsZIAMkACAFLAALQQBIBEAgBSgCABCDAgsJAAsZIAMkACADLACLAkEASARAIAMoAoACEIMCCwkACwZAQQEQABkgAyQAEKEGAAsLBkAgARAAGSADJAAQoQYACwZAIAoQABkgAyQAEKEGAAsGQCAIEAAZIAMkABChBgALIAMoAiwiAARAIAAQgwILIAdBuKEBKAIAIgA2AgAgByAAQQxrKAIAakHEoQEoAgA2AgAgBBDMAhogB0HoAGoQmgIgBSwAC0EASARAIAUoAgAQgwILIAMsAIsCQQBIBEAgAygCgAIQgwILIANBsAJqJAAL+wEBAn8jACEDIABCADcCICAAIAI2AgggAEGE5gA2AgAgAEIANwIoIABCADcCMCAAQThqIgRCADcCACAAQUBrQgA3AgAgAEGAgID8AzYCSAZAIAAgASABKAIAKAIAEQEANgIUIAAgASABKAIAKAIEEQEANgIYIAAgASABKAIAKAIIEQEANgIcIAAgACgCFEEEaiIBNgIQIAAgASACbBCCAiIBNgIEAkAgAUUEQAZABkBBCBCVBiEAGAQgAEHcKxDvBSEADAIZIAMkAAZAIAAQlgYYBAkACwALIABBADYCDCAADwsgAEHEmwJBARCXBhkgAyQAIAQQlwEJAAsAC9gCAQF/IwBBwAFrIgMkAAZABkAgA0EEaiABEKcBIQEYASABIABBCGpBBBC0AiABIABBEGpBBBC0AiABIABBDGpBBBC0AiAAIAIgAigCACgCABEBADYCFCAAIAIgAigCACgCBBEBADYCGCAAIAIgAigCACgCCBEBADYCHCAAIAAoAhRBBGoiAjYCECAAIAAoAgggAmwiAhCCAiIANgIEAkAgAEUEQAZABkBBCBCVBiEAGAQgAEGnKxDvBSEADAIZIAMkAAZAIAAQlgYYBAkACwALIAEgACACELQCIAFBCGoiABDNAkUEQCABIAEoAgBBDGsoAgBqIgIgAigCEEEEchDvAgsgAUGcoAEoAgAiAjYCACABIAJBDGsoAgBqQaigASgCADYCACAAEMwCGiABQewAahCaAiADQcABaiQADwsgAEHEmwJBARCXBhkg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QgA3A6gBIABBADYCoAEgAEIANwLsASAAQQE6AOgBIABBADYC5AEgAEIBNwLcASAAIAI2AgQgAEEANgIUIABCADcDsAEgAEIANwO4ASAAQgA3A8ABIABCADcDyAEgAEEANgLQASAAQoCAgPwTNwLUASAAQgA3AvQBIABCADcC/AEgAEGEAmoiBkIANwIAIABCADcCjAIgAEGAgID8AzYClAIgAEHEAWohCAZAIAAgASABKAIAKAIAEQEANgKgASAAIAEgASgCACgCBBEBADYCpAEgASABKAIAKAIIEQEAIQEgAEEKNgIoIAAgAzYCHCAAIAM2AhggACABNgKoASAAQQA2AoQBIAAgA0EBdDYCICAAIAQgAyADIARJGzYCJCAAIANBA3RBBHIiATYCfCAAIAE2AoABIABBASAFQf////8HcCIDIANBAU0bNgLYASAAIAAoAqABIAFqIgE2AogBIABBASAFQQFqQf////8HcCIDIANBAU0bNgLcASAAIAFBBGoiATYCDCAAIAAoAgQgAWwQggIiATYCjAECQCABRQRABkAGQEEIEJUGIQEYByABQesJEO8FIQEMAhkgByQABkAgARCWBhgHCQALAAsgAEEANgIIQTQQvQUhAQZAIAEgAhDCASEBGSAHJAAgARCDAgkACyAAQX82AnggACABNgJEIABBfzYCQCAAIAAoAgRBAnQQggIiATYCkAECQCABRQRABkAGQEEIEJUGIQEYCCABQagSEO8FIQEMAhkgByQABkAgARCWBhgICQALAAsgACAAKAIcQQJ0QQRqNgIQBkAgACgCGLgQ5AEhDBgGIABEAAAAAAAA8D8gDKMiDDkDMCAARAAAAAAAAPA/IAyjOQM4IAdBEGokACAADwsgAUHEmwJBARCXBgwDCyABQcSbAkEBEJcGGSAHJAAgBhCXASAIEJcBIAAoApQBIgEEQCAAIAE2ApgBIAEQgwILCQALGSAHJAAgCRDDAQkACwsZIAckACAKEMMBCQALAAv0CgEMfyMAQUBqIgIkACACQQA2AiwgAkIANwIkIAJBADYCICACQgA3AhggAkIANwMIIAJCADcDACACQYCAgPwDNgIQIABBADoAPCAAKAIEQcwBaiEHA0AgBSEDAkAGQAJ/A0AgBygCACIHRQRAIAAoAgRBjAJqIQlBACEDQQAhCEEAIQUDQCAJ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ADcCJCAAQgA3AiwgAEIANwI0IABBADoAPCAAQgA3AkggAEIANwJQIABBADoAWCAAQUBrIQcGQAJAIABB3ABqIgIgA0YNACADLAALQQBOBEAgAiADKQIANwIAIAIgAygCCDYCCAwBCyADKAIAIQYgAygCBCEDIwBBEGsiBSQAAkAgA0EKTQRAIAIgAi0AC0GAAXEgA3I6AAsgAiACLQALQf8AcToACyACIAYgAxCiAiAFQQA6AA8gAiADaiAFLQAPOgAADAELIAJBCiADQQprIAItAAtB/wBxIghBACAIIAMgBhDxBQsgBUEQaiQACwJAAkACQAJAIAEoAgQgAS0ACyIDIAPAIgNBAEgbQQJrDgUAAwMDAQMLIAEoAgAgASADQQBIGyIFLwAAQezkAEYEQEEQEL0FIgEgACgCACICNgIMIAFB7gA2AgQgAUH43gA2AgAgASACQQJ0NgIIDAILIAUvAABB6eABRw0CQRAQvQUiASAAKAIAIgI2AgwgAUHsADYCBCABQaThADYCACABIAJBAnQ2AggMAQsgASgCACABIANBAEgbQbskQQYQ5gENAUEQEL0FIgEgACgCACICNgIMIAFB7AA2AgQgAUGk4QA2AgAgASACQQJ0NgIIIABBAToAWAsgACABNgIIIARBIGokACAADwtB/e4CLQAABEAgBCABKAIAIAEgA0EASBs2AgBBxtkAIAQQ5wELBkBBCBCVBiEDGAEgBEEBOgAfBkAgBEEQaiIFQazOACABEIEGIARBAToAHgZAIAMgBRDrBSIBQZiaAjYCACAEQQA6AB4gAUG8mgJB6wAQlwYZIAQkACAELQAeIQEgBCwAG0EASARAIAQoAhAQgwILIAQgAUEBcToAHwkACxkgBCQAIAQtAB8EQAZAIAMQlgYYAwsJAAsZIAQkACAALABnQQBIBEAgAigCABCDAgsgACgCTCIBBEAgACABNgJQIAEQgwILIAcoAgAiAQRAIAAgATYCRCABEIMCCwkACwALUwEEfwJAIAAtAAQNACAAKAIAIgMoAgAiAUUNACABIQIgASADKAIEIgRHBEADQCAEQRhrIgQgAUcNAAsgACgCACgCACECCyADIAE2AgQgAhCDAgsLpwIBBn8jACEEIABCADcCACAAIAE2AjAgAEIANwIoIABCADcCICAAQgA3AhggAEIANwIQIABC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ADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvpAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhDhAQ8LIAAgAXNBA3EhAwJAAkAgACABSQRAIAMEQCAAIQMMAwsgAEEDcUUEQCAAIQMMAgsgACEDA0AgAkUNBCADIAEtAAA6AAAgAUEBaiEBIAJBAWshAiADQQFqIgNBA3ENAAsMAQsCQCADDQAgBEEDcQRAA0AgAkUNBSAAIAJBAWsiAmoiAyABIAJqLQAAOgAAIANBA3ENAAsLIAJBA00NAANAIAAgAkEEayICaiABIAJqKAIANgIAIAJBA0sNAAsLIAJFDQIDQCAAIAJBAWsiAmogASACai0AADoAACACDQALDAILIAJBA00NAANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBBGsiAkEDSw0ACwsgAkUNAANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBCGsgATYCACACQQxrIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQRBrIAE2AgAgAkEUayABNgIAIAJBGGsgATYCACACQRxrIAE2AgAgBCADQQRxQRhyIgRrIgJBIEkNACABrUKBgICAEH4hBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0A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AQRAIAEgACgCODYCOAsgACgCOCICBEAgAiABNgI0CyAAQbzvAigCAEYEQEG87wIgAjYCAAsgACgCYBCDAiAAEIMCCyADIARyC3wBAn8gACAAKAJIIgFBAWsgAXI2AkggACgCFCAAKAIcRwRAIABBAEEAIAAoAiQRBAAaCyAAQQA2AhwgAEIANwMQIAAoAgAiAUEEcQRAIAAgAUEgcjYCAEF/DwsgACAAKAIsIAAoAjBqIgI2AgggACACNgIEIAFBG3RBH3ULoQEBAn8gAigCTBogAiACKAJIIgNBAWsgA3I2AkggAigCBCIDIAIoAggiBEYEfyABBSAAIAMgBCADayIDIAEgASADSxsiAxDhARogAiACKAIEIANqNgIEIAAgA2ohACABIANrCyIDBEADQAJAIAIQlwJFBEAgAiAAIAMgAigCIBEEACIEDQELIAEgA2sPCyAAIARqIQAgAyAEayIDDQALCyABC3ACAn8BfiAAKAIoIQJBASEBAkAgAEIAIAAtAABBgAFxBH9BAUECIAAoAhQgACgCHEYbBUEBCyACERMAIgNCAFMNACADIAAoAggiAQR/IABBBGoFIAAoAhwiAUUNASAAQRRqCygCACABa6x8IQMLIAMLCAAgABDwAhoLOAECfyAAQZicATYCACAAKAIEIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALIAALDQAgABCbAhogABCDAgsDAAELBAAgAAsQACAAQn83AwggAEIANwMACxAAIABCfzcDCCAAQgA3AwALggIBBn8jAEEQayIEJAADQAJAIAIgBkwNAAJAIAAoAgwiAyAAKAIQIgVJBEAgBEH/////BzYCDCAEIAUgA2s2AgggBCACIAZrNgIEIwBBEGsiAyQAIARBBGoiBSgCACAEQQhqIgcoAgBIIQggA0EQaiQAIAUgByAIGyEDIwBBEGsiBSQAIAMoAgAgBEEMaiIHKAIASCEIIAVBEGokACADIAcgCBshAyABIAAoAgwgAygCACIDEKICIAAgACgCDCADajYCDAwBCyAAIAAoAgAoAigRAQAiA0F/Rg0BIAEgA8A6AABBASEDCyABIANqIQEgAyAGaiEGDAELCyAEQRBqJAAgBgseAQF/IwAhAwZAIAEgAiAAEKMCGhkgAyQAEKEGAAsLDgAgACAAIAFqIAIQ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aiEBA0AgACgCRCIEIAEgACgCICICIAIgACgCNGogA0EMaiAEKAIAKAIUEQkAIQQgACgCICICQQEgAygCDCACayICIAAoAkAQ7QEgAkcNAwJAIARBAWsOAgEEAAsLQQAhASAAKAJAEJUCRQ0DDAILIAJBCHFFDQIgAyAAKQJQNwMAAn8CQAJAIAAtAGIEQCAAKAIQIAAoAgxrrCEFDAELIAQgBCgCACgCGBEBACEBIAAoAiggACgCJGusIQUgAUEASgRAIAAoAhAgACgCDGsgAWysIAV8IQUMAQsgACgCDCAAKAIQRw0BC0EADAELIAAoAkQiASADIAAoAiAgACgCJCAAKAIMIAAoAghrIAEoAgAoAiARCQAhASAAKAIkIAEgACgCIGprrCAFfCEFQQELIQEgACgCQEIAIAV9QQEQlAINASABBEAgACADKQMANwJICyAAIAAoAiAiATYCKCAAIAE2AiRBACEBIABBADYCECAAQQA2AgwgAEEANgIIIABBADYCXAwCCxDSAgALQX8hAQsgA0EQaiQAIAELqQIBAX8gACAAKAIAKAIYEQEAGiAAIAEQywIiATYCRCAALQBiIQIgACABIAEoAgAoAhwRAQAiAToAYiABIAJHBEAgAEEANgIQIABBADYCDCAAQQA2AgggAEEANgIcIABBADYCFCAAQQA2AhggAC0AYCEBIAAtAGIEQAJAIAFFDQAgACgCICIBRQ0AIAEQgwILIAAgAC0AYToAYCAAIAAoAjw2AjQgACgCOCEBIABCADcCOCAAIAE2AiAgAEEAOgBhDwsCQCABDQAgACgCICIBIABBLGpGDQAgAEEAOgBhIAAgATYCOCAAIAAoAjQiATYCPCABEL0FIQEgAEEBOgBgIAAgATYCIA8LIAAgACgCNCIBNgI8IAEQvQUhASAAQQE6AGEgACABNgI4CwsKACAAEKgBEIMCCxMAIAAgACgCAEEMaygCAGoQqAELEwAgACAAKAIAQQxrKAIAahDaAgsKACAAEKoBEIMCCxMAIAAgACgCAEEMaygCAGoQqgELEwAgACAAKAIAQQxrKAIAahDdAguGAQECfyMAQRBrIgQkACMAQSBrIgMkACADQRhqIAAgARDhAiADQRBqIANBDGogAygCGCADKAIcIAIQ4gIgAyAAIAMoAhAgAGtqNgIMIAMgAiADKAIUIAJrajYCCCAEIAMoAgw2AgggBCADKAIINgIMIANBIGokACAEKAIMIQAgBEEQaiQAIAALNgEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAAgAygCDDYCACAAIAMoAgg2AgQgA0EQaiQACw0AIAAgAiADIAQQ4wILRQEBfyMAQRBrIgQkACAEIAI2AgwgBCADIAEgAiABayIBEOIBIAFqNgIIIAAgBCgCDDYCACAAIAQoAgg2AgQgBEEQaiQACxkAIwAhAAZAIAFBARDlAhkgACQAEKEGAAsLJQAgAUEISwRAIwAhAQZAIAAQgwIZIAEkABChBgALDwsgABCDAgsZACABIAIQ5wIhASAAIAI2AgQgACABNgIACwkAIAFBARDoAgt0AQF/IAFBCEsEQEEEIAEgAUEETRshAUEBIAAgAEEBTRshAAJAA0AgASAAEL4FIgINAUHcjQMoAgAiAgRAIAIRDAAMAQsLQQQQlQYiAEHomAI2AgAgAEHAmAI2AgAgAEG0mQJB7QAQlwYACyACDwsgABC9BQtLAQJ/IAAoAgAiAQRAAn8gASgCDCICIAEoAhBGBEAgASABKAIAKAIkEQEADAELIAItAAALQX9HBEAgACgCAEUPCyAAQQA2AgALQQELSwECfyAAKAIAIgEEQAJ/IAEoAgwiAiABKAIQRgRAIAEgASgCACgCJBEBAAwBCyACKAIAC0F/RwRAIAAoAgBFDwsgAEEANgIAC0EBCwUAQbwdCxoAIAJBAUcEQCAAIAIQjAYPCyAAQa0XEDcaCwcAIAAQvwYLDQAgABC/BhogABCDAgvcAQICfwF+IAAgACgCGEUgAXIiATYCECAAKAIUIAFxBEAjAEEQayIBJABBEBCVBiECIwBBEGsiAyQAIANBCGohAEH6/AItAABFBEBB+vwCQQE6AAALIABByOYCNgIEIABBATYCACABIAMpAwg3AgQgA0EQaiQAIAFBAToADwZAIwBBEGsiACQAIAAgASkCBCIENwMAIAAgBDcDCCACIABBvRkQkwZBlKMBNgIAIABBEGokACABQQA6AA8gAkHoowFBvgEQlwYZIAEkACABLQAPBEAgAhCWBgsJAAsACwukAQEDfyMAIQIgAEGoowE2AgAGQAJAIAAoAighAQNAIAFFDQFBACAAIAFBAWsiAUECdCIDIAAoAiRqKAIAIAAoAiAgA2ooAgARBQAMAAsACxkgAiQAEKEGAAsgACgCHCIBIAEoAgRBAWsiAjYCBCACQX9GBEAgASABKAIAKAIIEQIACyAAKAIgEIMCIAAoAiQQgwIgACgCMBCDAiAAKAI8EIMCIAALDQAgABDwAhogABCDAgtAACAAQQA2AhQgACABNgIYIABBADYCDCAAQoKggIDgADcCBCAAIAFFNgIQIABBIGpBAEEoEOMBGiAAQRxqEMwECx4AIAAgACgCEEEBcjYCECAALQAUQQFxBEAQnAYACwtHAQJ/IAAgATcDcCAAIAAoAiwgACgCBCIDa6w3A3ggACgCCCECAkAgAVANACACIANrrCABVw0AIAMgAadqIQILIAAgAjYCaAuMAgIDfwJ+AkAgACkDcCIEQgBSIAQgACkDeCAAKAIEIgEgACgCLCICa6x8IgVXcUUEQCMAQRBrIgIkAEF/IQECQCAAEJcCDQAgACACQQ9qQQEgACgCIBEEAEEBRw0AIAItAA8hAQsgAkEQaiQAIAEiA0EATg0BIAAoAgQhASAAKAIsIQILIABCfzcDcCAAIAE2AmggACAFIAIgAWusfDcDeEF/DwsgBUIBfCEFIAAoAgQhASAAKAIIIQICQCAAKQNwIgRQDQAgBCAFfSIEIAIgAWusWQ0AIAEgBKdqIQILIAAgAjYCaCAAIAUgACgCLCIAIAFrrHw3A3ggACABTwRAIAFBAWsgAzoAAAsgAwt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICcyACayICrUIAIAJnIgJB0QBqEIYCIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC8kKAgV/D34jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhCECQgAhASACUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxCGAkEQIAZrIQYgBSkDWCINQiCIIQ4gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAwgAyAMIAxQIggbeSAIQQZ0rXynIghBD2sQhgIgBiAIa0EQaiEGIAUpA0ghDCAFKQNAIQMLIANCD4YiC0KAgP7/D4MiAiABQiCIIgR+IhAgC0IgiCITIAFC/////w+DIgF+fCIPQiCGIhEgASACfnwiCyARVK0gAiANQv////8PgyINfiIVIAQgE358IhEgDEIPhiISIANCMYiEQv////8PgyIDIAF+fCIUIA8gEFStQiCGIA9CIIiEfCIPIAIgDkKAgASEIgx+IhYgDSATfnwiDiASQiCIQoCAgIAIhCICIAF+fCIQIAMgBH58IhJCIIZ8Ihd8IQEgByAJaiAGakH//wBrIQYCQCACIAR+IhggDCATfnwiBCAYVK0gBCAEIAMgDX58IgRWrXwgAiAMfnwgBCAEIBEgFVStIBEgFFatfHwiBFatfCADIAx+IgMgAiANfnwiAiADVK1CIIYgAkIgiIR8IAQgAkIghnwiAiAEVK18IAIgAiAQIBJWrSAOIBZUrSAOIBBWrXx8QiCGIBJCIIiEfCICVq18IAIgAiAPIBRUrSAPIBdWrXx8IgJWrXwiBEKAgICAgIDAAINCAFIEQCAGQQFqIQYMAQsgC0I/iCEDIARCAYYgAkI/iIQhBCACQgGGIAFCP4iEIQIgC0IBhiELIAMgAUIBhoQhAQsgBkH//wFOBEAgCkKAgICAgIDA//8AhCEKQgAhAQwBCwJ+IAZBAEwEQEEBIAZrIgdB/wBNBEAgBUEwaiALIAEgBkH/AGoiBhCGAiAFQSBqIAIgBCAGEIYCIAVBEGogCyABIAcQhwIgBSACIAQgBxCHAiAFKQMwIAUpAziEQgBSrSAFKQMgIAUpAxCEhCELIAUpAyggBSkDGIQhASAFKQMAIQIgBSkDCAwCC0IAIQEMAgsgBEL///////8/gyAGrUIwhoQLIAqEIQogC1AgAUIAWSABQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiAVCtfCEKDAELIAsgAUKAgICAgICAgIB/hYRCAFIEQCACIQEMAQsgCiACIAJCAYN8IgEgAlStfCEKCyAAIAE3AwAgACAKNwMIIAVB4ABqJAALzAkCBH8FfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhEIAUg0AIAEhAyACIQQMAQsgAyABIAEgA1QgCSAKViAJIApRGyIIGyEKIAQgAiAIGyILQv///////z+DIQkgAiAEIAgbIgJCMIinQf//AXEhByALQjCIp0H//wFxIgVFBEAgBkHgAGogCiAJIAogCSAJUCIFG3kgBUEGdK18pyIFQQ9rEIYCIAYpA2ghCSAGKQNgIQpBECAFayEFCyABIAMgCBshAyACQv///////z+DIQQgB0UEQCAGQdAAaiADIAQgAyAEIARQIgcbeSAHQQZ0rXynIgdBD2sQhgJBECAHayEHIAYpA1ghBCAGKQNQIQMLIARCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCEEIAIgC4UhDQJ+IANCA4YiAiAFIAdGDQAaIAUgB2siB0H/AEsEQEIAIQFCAQwBCyAGQUBrIAIgAUGAASAHaxCGAiAGQTBqIAIgASAHEIcCIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCSAEQoCAgICAgIAEhCEMIApCA4YhCgJAIA1CAFMEQEIAIQNCACEEIAkgCoUgASAMhYRQDQIgCiAJfSECIAwgAX0gCSAKVq19IgRC/////////wNWDQEgBkEgaiACIAQgAiAEIARQIgcbeSAHQQZ0rXynQQxrIgcQhgIgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAx8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgC0KAgICAgICAgIB/gyEBIAVB//8BTgRAIAFCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahCGAiAGIAIgBEEBIAVrEIcCIAYpAwAgBikDECAGKQMYhEIAUq2EIQIgBikDCCEECyACp0EHcSIFQQRLrSAEQj2GIAJCA4iEIgJ8IgMgAlStIARCA4hC////////P4MgB61CMIaEIAGEfCEEAkAgBUEERgRAIAQgA0IBgyIBIAN8IgMgAVStfCEEDAELIAVFDQELCyAAIAM3AwAgACAENwMIIAZB8ABqJAAL+gECA34CfyMAQRBrIgUkAAJ+IAG9IgNC////////////AIMiAkKAgICAgICACH1C/////////+//AFgEQCACQjyGIQQgAkIEiEKAgICAgICAgDx8DAELIAJCgICAgICAgPj/AFoEQCADQjyGIQQgA0IEiEKAgICAgIDA//8AhAwBCyACUARAQgAMAQsgBSACQgAgA6dnQSBqIAJCIIinZyACQoCAgIAQVBsiBkExahCGAiAFKQMAIQQgBSkDCEKAgICAgIDAAIVBjPgAIAZrrUIwhoQLIQIgACAENwMAIAAgAiADQoCAgICAgICAgH+DhDcDCCAFQRBqJAAL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC6kBAQF8RAAAAAAAAPA/IQECQCAAQYAITgRARAAAAAAAAOB/IQEgAEH/D0kEQCAAQf8HayEADAILRAAAAAAAAPB/IQFB/RcgACAAQf0XThtB/g9rIQAMAQsgAEGBeEoNAEQAAAAAAABgAyEBIABBuHBLBEAgAEHJB2ohAAwBC0QAAAAAAAAAACEBQfBoIAAgAEHwaEwbQZIPaiEACyABIABB/wdqrUI0hr+iCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahCGAiACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALRQEBfyMAQRBrIgUkACAFIAEgAiADIARCgICAgICAgICAf4UQ+AIgBSkDACEBIAAgBSkDCDcDCCAAIAE3AwAgBUEQaiQAC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABD3AiAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABD3AkH9/wIgAyADQf3/Ak4bQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAgDkQ9wIgBCkDSCECIAQpA0AhASADQfSAfksEQCADQY3/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgIA5EPcCQeiBfSADIANB6IF9TBtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhD3AiAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMAC74PAgV/D34jAEHQAmsiBSQAIARC////////P4MhCyACQv///////z+DIQogAiAEhUKAgICAgICAgIB/gyENIARCMIinQf//AXEhCAJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDEKAgICAgIDA//8AVCAMQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQ0MAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDSADIQEMAgsgASAMQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQ0MAwsgDUKAgICAgIDA//8AhCENQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIAyEUARAQoCAgICAgOD//wAgDSACIAOEUBshDUIAIQEMAgsgAiADhFAEQCANQoCAgICAgMD//wCEIQ1CACEBDAILIAxC////////P1gEQCAFQcACaiABIAogASAKIApQIgYbeSAGQQZ0rXynIgZBD2sQhgJBECAGayEGIAUpA8gCIQogBSkDwAIhAQsgAkL///////8/Vg0AIAVBsAJqIAMgCyADIAsgC1AiBxt5IAdBBnStfKciB0EPaxCGAiAGIAdqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABCBAyAFQZACakIAIAUpA6gCfUIAIARCABCBAyAFQYACaiAFKQOYAkIBhiAFKQOQAkI/iIQiBEIAIAJCABCBAyAFQfABaiAEQgBCACAFKQOIAn1CABCBAyAFQeABaiAFKQP4AUIBhiAFKQPwAUI/iIQiBEIAIAJCABCBAyAFQdABaiAEQgBCACAFKQPoAX1CABCBAyAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABCBAyAFQbABaiAEQgBCACAFKQPIAX1CABCBAyAFQaABaiACQgAgBSkDuAFCAYYgBSkDsAFCP4iEQgF9IgJCABCBAyAFQZABaiADQg+GQgAgAkIAEIEDIAVB8ABqIAJCAEIAIAUpA6gBIAUpA6ABIgwgBSkDmAF8IgQgDFStfCAEQgFWrXx9QgAQgQMgBUGAAWpCASAEfUIAIAJCABCBAyAGIAkgCGtqIQYCfyAFKQNwIhNCAYYiDiAFKQOIASIPQgGGIAUpA4ABQj+IhHwiEELn7AB9IhRCIIgiAiAKQoCAgICAgMAAhCIVQgGGIhZCIIgiBH4iESABQgGGIgxCIIgiCyAQIBRWrSAOIBBWrSAFKQN4QgGGIBNCP4iEIA9CP4h8fHxCAX0iE0IgiCIQfnwiDiARVK0gDiAOIBNC/////w+DIhMgAUI/iCIXIApCAYaEQv////8PgyIKfnwiDlatfCAEIBB+fCAEIBN+IhEgCiAQfnwiDyARVK1CIIYgD0IgiIR8IA4gDiAPQiCGfCIOVq18IA4gDiAUQv////8PgyIUIAp+IhEgAiALfnwiDyARVK0gDyAPIBMgDEL+////D4MiEX58Ig9WrXx8Ig5WrXwgDiAEIBR+IhggECARfnwiBCACIAp+fCIKIAsgE358IhBCIIggCiAQVq0gBCAYVK0gBCAKVq18fEIghoR8IgQgDlStfCAEIA8gAiARfiICIAsgFH58IgtCIIggAiALVq1CIIaEfCICIA9UrSACIBBCIIZ8IAJUrXx8IgIgBFStfCIEQv////////8AWARAIBYgF4QhFSAFQdAAaiACIAQgAyASEIEDIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hCkIAIAF9IQsgBkH+/wBqDAELIAVB4ABqIARCP4YgAkIBiIQiAiAEQgGIIgQgAyASEIEDIAFCMIYgBSkDaH0gBSkDYCIMQgBSrX0hCkIAIAx9IQsgASEMIAZB//8AagsiBkH//wFOBEAgDUKAgICAgIDA//8AhCENQgAhAQwBCwJ+IAZBAEoEQCAKQgGGIAtCP4iEIQogBEL///////8/gyAGrUIwhoQhDCALQgGGDAELIAZBj39MBEBCACEBDAILIAVBQGsgAiAEQQEgBmsQhwIgBUEwaiAMIBUgBkHwAGoQhgIgBUEgaiADIBIgBSkDQCICIAUpA0giDBCBAyAFKQM4IAUpAyhCAYYgBSkDICIBQj+IhH0gBSkDMCIEIAFCAYYiAVStfSEKIAQgAX0LIQQgBUEQaiADIBJCA0IAEIEDIAUgAyASQgVCABCBAyAMIAIgAiADIAJCAYMiASAEfCIDVCAKIAEgA1atfCIBIBJWIAEgElEbrXwiAlatfCIEIAIgAiAEQoCAgICAgMD//wBUIAMgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgJWrXwiBCACIARCgICAgICAwP//AFQgAyAFKQMAViABIAUpAwgiA1YgASADURtxrXwiASACVK18IA2EIQ0LIAAgATcDACAAIA03AwggBUHQAmokAAvRBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEPoCRQ0AAn8gBEL///////8/gyEKAn8gBEIwiKdB//8BcSIGQf//AUcEQEEEIAYNARpBAkEDIAMgCoRQGwwCCyADIAqEUAsLIQYgAkIwiKciCEH//wFxIgdB//8BRg0AIAYNAQsgBUEQaiABIAIgAyAEEPcCIAUgBSkDECICIAUpAxgiASACIAEQggMgBSkDCCECIAUpAwAhBAwBCyABIAJC////////////AIMiCiADIARC////////////AIMiCRD6AkEATARAIAEgCiADIAkQ+gIEQCABIQQMAgsgBUHwAGogASACQgBCABD3AiAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhBiAHBH4gAQUgBUHgAGogASAKQgBCgICAgICAwLvAABD3AiAFKQNoIgpCMIinQfgAayEHIAUpA2ALIQQgBkUEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEPcCIAUpA1giCUIwiKdB+ABrIQYgBSkDUCEDCyAJQv///////z+DQoCAgICAgMAAhCELIApC////////P4NCgICAgICAwACEIQogBiAHSARAA0ACfiAKIAt9IAMgBFatfSIJQgBZBEAgCSAEIAN9IgSEUARAIAVBIGogASACQgBCABD3AiAFKQMoIQIgBSkDICEEDAULIAlCAYYgBEI/iIQMAQsgCkIBhiAEQj+IhAshCiAEQgGGIQQgB0EBayIHIAZKDQALIAYhBwsCQCAKIAt9IAMgBFatfSIJQgBTBEAgCiEJDAELIAkgBCADfSIEhEIAUg0AIAVBMGogASACQgBCABD3AiAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ghASAHQQFrIQcgBEIBhiEEIAEgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAhBgIACcSEGIAdBAEwEQCAFQUBrIAQgCUL///////8/gyAHQfgAaiAGcq1CMIaEQgBCgICAgICAwMM/EPcCIAUpA0ghAiAFKQNAIQQMAQsgCUL///////8/gyAGIAdyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAFQYABaiQAC4kzAw9/B34BfCMAQTBrIgwkAAJAIAJBAk0EQCACQQJ0IgJB3KQBaigCACEPIAJB0KQBaigCACEOA0ACfyABKAIEIgIgASgCaEcEQCABIAJBAWo2AgQgAi0AAAwBCyABEPUCCyICQSBGIAJBCWtBBUlyDQALQQEhCgJAAkAgAkEraw4DAAEAAQtBf0EBIAJBLUYbIQogASgCBCICIAEoAmhHBEAgASACQQFqNgIEIAItAAAhAgwBCyABEPUCIQILAkACQANAIAVB0QlqLAAAIAJBIHJGBEACQCAFQQZLDQAgASgCBCICIAEoAmhHBEAgASACQQFqNgIEIAItAAAhAgwBCyABEPUCIQILIAVBAWoiBUEIRw0BDAILCyAFQQNHBEAgBUEIRg0BIANFDQIgBUEESQ0CIAVBCEYNAQsgASkDcCITQgBZBEAgASABKAIEQQFrNgIECyADRQ0AIAVBBEkNACATQgBTIQIDQCACRQRAIAEgASgCBEEBazYCBAsgBUEBayIFQQNLDQALC0IAIRMjAEEQayICJAACfiAKskMAAIB/lLwiA0H/////B3EiAUGAgIAEa0H////3B00EQCABrUIZhkKAgICAgICAwD98DAELIAOtQhmGQoCAgICAgMD//wCEIAFBgICA/AdP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QTBrIgRBCU0gAUEwayICQcyZs+YASHENAAsgAqwhBgsCQCAEQQpPDQADQCADrSAGQgp+fCEGAn8gACgCBCIBIAAoAmhHBEAgACABQQFqNgIEIAEtAAAMAQsgABD1AgshAyAGQjB9IQYgA0EwayIEQQlLDQEgBkKuj4XXx8LrowFTDQALCyAEQQpJBEADQAJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQ9QILQTBrQQpJDQALCyAAKQNwQgBZBEAgACAAKAIEQQFrNgIEC0IAIAZ9IAYgBRshBgwBC0KAgICAgICAgIB/IQYgACkDcEIAUw0AIAAgACgCBEEBazYCBEKAgICAgICAgIB/DwsgBgu2AwIDfwF+IwBBIGsiAyQAAkAgAUL///////////8AgyIFQoCAgICAgMDAP30gBUKAgICAgIDAv8AAfVQEQCABQhmIpyEEIABQIAFC////D4MiBUKAgIAIVCAFQoCAgAhRG0UEQCAEQYGAgIAEaiECDAILIARBgICAgARqIQIgACAFQoCAgAiFhEIAUg0BIAIgBEEBcWohAgwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCGYinQf///wFxQYCAgP4HciECDAELQYCAgPwHIQIgBUL///////+/v8AAVg0AQQAhAiAFQjCIpyIEQZH+AEkNACADQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBSAEQYH+AGsQhgIgAyAAIAVBgf8AIARrEIcCIAMpAwgiAEIZiKchAiADKQMAIAMpAxAgAykDGIRCAFKthCIFUCAAQv///w+DIgBCgICACFQgAEKAgIAIURtFBEAgAkEBaiECDAELIAUgAEKAgIAIhYRCAFINACACQQFxIAJqIQILIANBIGokACACIAFCIIinQYCAgIB4cXK+C8UCAQR/IANB/PwCIAMbIgUoAgAhAwJAAn8CQCABRQRAIAMNAUEADwtBfiACRQ0BGgJAIAMEQCACIQQMAQsgAS0AACIDwCIEQQBOBEAgAARAIAAgAzYCAAsgBEEARw8LQeT4AigCACgCAEUEQEEBIABFDQMaIAAgASwAAEH/vwNxNgIAQQEPCyABLQAAQcIBayIDQTJLDQEgA0ECdEGApwFqKAIAIQMgAkEBayIERQ0DIAFBAWohAQsgAS0AACIGQQN2IgdBEGsgA0EadSAHanJBB0sNAANAIARBAWshBCAGQYABayADQQZ0ciIDQQBOBEAgBUEANgIAIAAEQCAAIAM2AgALIAIgBGsPCyAERQ0DIAFBAWoiAS0AACIGQcABcUGAAUYNAAsLIAVBADYCAEHI9wJBGTYCAEF/Cw8LIAUgAzYCAEF+C0MAAkAgAEUNAAJAAkACQAJAIAFBAmoOBgABAgIEAwQLIAAgAjwAAA8LIAAgAj0BAA8LIAAgAj4CAA8LIAAgAjcDAAsL3R8CD38FfiMAQZABayIIJAADQCAIIBOnakEAOgAAIBNCAXwiE0KQAVQNAAsgCEF/NgJMIAggADYCLCAIQcoBNgIgIAggADYCVCABIQQgAiEPQQAhACMAQbACayIHJAAgCCIDKAJMGgJAAkACQAJAIAMoAgQNACADEJcCGiADKAIEDQAMAQsgBC0AACIBRQ0CAkACQAJAAkADQAJAAkAgAUH/AXEiAUEgRiABQQlrQQVJcgRAA0AgBCIBQQFqIQQgAS0AASICQSBGIAJBCWtBBUlyDQALIANCABD0AgNAAn8gAygCBCICIAMoAmhHBEAgAyACQQFqNgIEIAItAAAMAQsgAxD1AgsiAkEgRiACQQlrQQVJcg0ACyADKAIEIQQgAykDcEIAWQRAIAMgBEEBayIENgIECyAEIAMoAixrrCADKQN4IBV8fCEVDAELAn8CQAJAIAQtAABBJUYEQCAELQABIgFBKkYNASABQSVHDQILIANCABD0AgJAIAQtAABBJUYEQANAAn8gAygCBCIBIAMoAmhHBEAgAyABQQFqNgIEIAEtAAAMAQsgAxD1AgsiAUEgRiABQQlrQQVJcg0ACyAEQQFqIQQMAQsgAygCBCIBIAMoAmhHBEAgAyABQQFqNgIEIAEtAAAhAQwBCyADEPUCIQELIAQtAAAgAUcEQCADKQNwQgBZBEAgAyADKAIEQQFrNgIECyABQQBODQ1BACEGIA0NDQwLCyADKAIEIAMoAixrrCADKQN4IBV8fCEVIAQhAQwDC0EAIQkgBEECagwBCwJAIAFBMGtBCk8NACAELQACQSRHDQAgBC0AAUEwayEIIwBBEGsiAiAPNgIMIAIgDyAIQQJ0QQRrQQAgCEEBSxtqIgJBBGo2AgggAigCACEJIARBA2oMAQsgDygCACEJIA9BBGohDyAEQQFqCyEBQQAhCEEAIQQgAS0AAEEwa0EKSQRAA0AgAS0AACAEQQpsakEwayEEIAEtAAEhAiABQQFqIQEgAkEwa0EKSQ0ACwsgAS0AACIOQe0ARwR/IAEFQQAhCiAJQQBHIQggAS0AASEOQQAhACABQQFqCyICQQFqIQFBAyEFIAghBgJAAkACQAJAAkACQCAOQcEAaw46BAwEDAQEBAwMDAwDDAwMDAwMBAwMDAwEDAwEDAwMDAwEDAQEBAQEAAQFDAEMBAQEDAwEAgQMDAQMAgwLIAJBAmogASACLQABQegARiICGyEBQX5BfyACGyEFDAQLIAJBAmogASACLQABQewARiICGyEBQQNBASACGyEFDAMLQQEhBQwCC0ECIQUMAQtBACEFIAIhAQtBASAFIAEtAAAiBkEvcUEDRiICGyEQAkAgBkEgciAGIAIbIgtB2wBGDQACQCALQe4ARwRAIAtB4wBHDQFBASAEIARBAUwbIQQMAgsgCSAQIBUQiAMMAgsgA0IAEPQCA0ACfyADKAIEIgIgAygCaEcEQCADIAJBAWo2AgQgAi0AAAwBCyADEPUCCyICQSBGIAJBCWtBBUlyDQALIAMoAgQhAiADKQNwQgBZBEAgAyACQQFrIgI2AgQLIAIgAygCLGusIAMpA3ggFXx8IRULIAMgBKwiFBD0AgJAIAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBAwBCyADEPUCQQBIDQYLIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLQRAhAgJAAkACQAJAAkACQAJAAkACQAJAIAtB2ABrDiEGCQkCCQkJCQkBCQIEAQEBCQUJCQkJCQMGCQkCCQQJCQYACyALQcEAayICQQZLDQhBASACdEHxAHFFDQgLIAdBCGogAyAQQQAQhAMgAykDeEIAIAMoAgQgAygCLGusfVINBQwMCyALQRByQfMARgRAIAdBIGpBf0GBAhDjARogB0EAOgAgIAtB8wBHDQYgB0EAOgBBIAdBADoALiAHQQA2ASoMBgsgB0EgaiABLQABIgVB3gBGIgZBgQIQ4wEaIAdBADoAICABQQJqIAFBAWogBhshAgJ/AkACQCABQQJBASAGG2otAAAiAUEtRwRAIAFB3QBGDQEgBUHeAEchBSACDAMLIAcgBUHeAEciBToATgwBCyAHIAVB3gBHIgU6AH4LIAJBAWoLIQEDQAJAIAEtAAAiAkEtRwRAIAJFDQ8gAkHdAEYNCAwBC0EtIQIgAS0AASIMRQ0AIAxB3QBGDQAgAUEBaiEGAkAgDCABQQFrLQAAIgFNBEAgDCECDAELA0AgAUEBaiIBIAdBIGpqIAU6AAAgASAGLQAAIgJJDQALCyAGIQELIAIgB2ogBToAISABQQFqIQEMAAsAC0EIIQIMAgtBCiECDAELQQAhAgtCACESQQAhBUEAIQZBACEOIwBBEGsiESQAAkAgAkEBRyACQSRNcUUEQEHI9wJBHDYCAAwBCwNAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgsiBEEgRiAEQQlrQQVJcg0ACwJAAkAgBEEraw4DAAEAAQtBf0EAIARBLUYbIQ4gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAhBAwBCyADEPUCIQQLAkACQAJAAkACQCACQQBHIAJBEEdxDQAgBEEwRw0AAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgsiBEFfcUHYAEYEQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIQRBECECIARB8aQBai0AAEEQSQ0DIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLIANCABD0AgwGCyACDQFBCCECDAILIAJBCiACGyICIARB8aQBai0AAEsNACADKQNwQgBZBEAgAyADKAIEQQFrNgIECyADQgAQ9AJByPcCQRw2AgAMBAsgAkEKRw0AIARBMGsiBUEJTQRAQQAhAgNAAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgshBCACQQpsIAVqIgJBmbPmzAFJIARBMGsiBUEJTXENAAsgAq0hEgsCQCAFQQlLDQAgEkIKfiEUIAWtIRMDQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIQQgEyAUfCESIARBMGsiBUEJSw0BIBJCmrPmzJmz5swZWg0BIBJCCn4iFCAFrSITQn+FWA0AC0EKIQIMAgtBCiECIAVBCU0NAQwCCyACIAJBAWtxBEAgBEHxpAFqLQAAIgYgAkkEQANAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgshBCAGIAIgBWxqIgVBx+PxOEkgBEHxpAFqLQAAIgYgAklxDQALIAWtIRILIAIgBk0NASACrSEWA0AgEiAWfiIUIAatQv8BgyITQn+FVg0CAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgshBCATIBR8IRIgAiAEQfGkAWotAAAiBk0NAiARIBZCACASQgAQgQMgESkDCFANAAsMAQsgAkEXbEEFdkEHcUHxpgFqLAAAIQwgBEHxpAFqLQAAIgUgAkkEQANAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgshBCAFIAYgDHRyIgZBgICAwABJIARB8aQBai0AACIFIAJJcQ0ACyAGrSESCyACIAVNDQBCfyAMrSIWiCIUIBJUDQADQCAFrUL/AYMhEwJ/IAMoAgQiBiADKAJoRwRAIAMgBkEBajYCBCAGLQAADAELIAMQ9QILIQQgEiAWhiAThCESIAIgBEHxpAFqLQAAIgVNDQEgEiAUWA0ACwsgAiAEQfGkAWotAABNDQADQCACAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgtB8aQBai0AAEsNAAtByPcCQcQANgIAQQAhDkJ/IRILIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLAkAgEkJ/Ug0ACyASIA6sIhOFIBN9IRILIBFBEGokACADKQN4QgAgAygCBCADKAIsa6x9UQ0HAkAgC0HwAEcNACAJRQ0AIAkgEj4CAAwDCyAJIBAgEhCIAwwCCyAJRQ0BIAcpAxAhFCAHKQMIIRMCQAJAAkAgEA4DAAECBAsgCSATIBQQhgM4AgAMAwsgCSATIBQQiAI5AwAMAgsgCSATNwMAIAkgFDcDCAwBC0EfIARBAWogC0HjAEciDBshBQJAIBBBAUYEQCAJIQIgCARAIAVBAnQQggIiAkUNBwsgB0IANwKoAkEAIQQDQCACIQACQANAAn8gAygCBCICIAMoAmhHBEAgAyACQQFqNgIEIAItAAAMAQsgAxD1AgsiAiAHai0AIUUNASAHIAI6ABsgB0EcaiAHQRtqQQEgB0GoAmoQhwMiAkF+Rg0AQQAhCiACQX9GDQsgAARAIAAgBEECdGogBygCHDYCACAEQQFqIQQLIAhFDQAgBCAFRw0AC0EBIQYgACAFQQF0QQFyIgVBAnQQhAIiAg0BDAsLC0EAIQogACEFIAdBqAJqBH8gBygCqAIFQQALDQgMAQsgCARAQQAhBCAFEIICIgJFDQYDQCACIQADQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIgIgB2otACFFBEBBACEFIAAhCgwECyAAIARqIAI6AAAgBEEBaiIEIAVHDQALQQEhBiAAIAVBAXRBAXIiBRCEAiICDQALIAAhCkEAIQAMCQtBACEEIAkEQANAAn8gAygCBCIAIAMoAmhHBEAgAyAAQQFqNgIEIAAtAAAMAQsgAxD1AgsiACAHai0AIQRAIAQgCWogADoAACAEQQFqIQQMAQVBACEFIAkiACEKDAMLAAsACwNAAn8gAygCBCIAIAMoAmhHBEAgAyAAQQFqNgIEIAAtAAAMAQsgAxD1AgsgB2otACENAAtBACEAQQAhCkEAIQULIAMoAgQhAiADKQNwQgBZBEAgAyACQQFrIgI2AgQLIAMpA3ggAiADKAIsa6x8IhNQDQIgDCATIBRRckUNAiAIBEAgCSAANgIACwJAIAtB4wBGDQAgBQRAIAUgBEECdGpBADYCAAsgCkUEQEEAIQoMAQsgBCAKakEAOgAACyAFIQALIAMoAgQgAygCLGusIAMpA3ggFXx8IRUgDSAJQQBHaiENCyABQQFqIQQgAS0AASIBDQEMCAsLIAUhAAwBC0EBIQZBACEKQQAhAAwCCyAIIQYMAwsgCCEGCyANDQELQX8hDQsgBkUNACAKEIMCIAAQgwILIAdBsAJqJAAgA0GQAWokACANC1UBAn8gASAAKAJUIgEgAUEAIAJBgAJqIgMQ5QEiBCABayADIAQbIgMgAiACIANLGyICEOEBGiAAIAEgA2oiAzYCVCAAIAM2AgggACABIAJqNgIEIAILTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLKAAgAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnIgACABGwtmAQN/IAJFBEBBAA8LAkAgAC0AACIDRQ0AA0ACQCADIAEtAAAiBUcNACAFRQ0AIAJBAWsiAkUNACABQQFqIQEgAC0AASEDIABBAWohACADDQEMAgsLIAMhBAsgBEH/AXEgAS0AAGsLgAEBBH8gACAAQT0QjgIiAUYEQEEADwsCQCAAIAEgAGsiBGotAAANAEGA/QIoAgAiAUUNACABKAIAIgJFDQADQAJAIAAgAiAEEI0DRQRAIAEoAgAgBGoiAi0AAEE9Rg0BCyABKAIEIQIgAUEEaiEBIAINAQwCCwsgAkEBaiEDCyADC+gCAQN/AkAgAS0AAA0AQecuEI4DIgEEQCABLQAADQELIABBDGxBwKkBahCOAyIBBEAgAS0AAA0BC0H8LhCOAyIBBEAgAS0AAA0BC0GeOCEBCwJAA0ACQCABIAJqLQAAIgRFDQAgBEEvRg0AQRchBCACQQFqIgJBF0cNAQwCCwsgAiEEC0GeOCEDAkACQAJAAkACQCABLQAAIgJBLkYNACABIARqLQAADQAgASEDIAJBwwBHDQELIAMtAAFFDQELIANBnjgQiwNFDQAgA0HNLRCLAw0BCyAARQRAQeSoASECIAMtAAFBLkYNAgtBAA8LQYj9AigCACICBEADQCADIAJBCGoQiwNFDQIgAigCICICDQALC0EkEIICIgIEQCACQeSoASkCADcCACACQQhqIgEgAyAEEOEBGiABIARqQQA6AAAgAkGI/QIoAgA2AiBBiP0CIAI2AgALIAJB5KgBIAAgAnIbIQILIAILtQECAn8BfiMAQaABayIEJAAgBCAAIARBngFqIAEbIgU2ApQBIAQgAUEBayIAQQAgACABTRs2ApgBA0AgBCAGp2pBADoAACAGQgF8IgZCkAFUDQALQX8hACAEQX82AkwgBEHLATYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUAkAgAUEASARAQcj3AkE9NgIADAELIAVBADoAACAEIAIgAxD8ASEACyAEQaABaiQAIAALqgEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhDhARogAyADKAIAIAZqIgU2AgAgAyADKAIEIAZrIgQ2AgQLIAQgAiACIARLGyIEBEAgBSABIAQQ4QEaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCykBAX8jAEEQayICJAAgAiABNgIMIABB/SMgARCJAyEAIAJBEGokACAACyoBAX8jAEEQayIEJAAgBCADNgIMIAAgASACIAMQkAMhACAEQRBqJAAgAAsvACAAQQBHIABBiKkBR3EgAEGgqQFHcSAAQYz9AkdxIABBpP0CR3EEQCAAEIMCCwvRAQEBfwJAAkAgACABc0EDcQRAIAEtAAAhAgwBCyABQQNxBEADQCAAIAEtAAAiAjoAACACRQ0DIABBAWohACABQQFqIgFBA3ENAAsLIAEoAgAiAkF/cyACQYGChAhrcUGAgYKEeHENAANAIAAgAjYCACABKAIEIQIgAEEEaiEAIAFBBGohASACQYGChAhrIAJBf3NxQYCBgoR4cUUNAAsLIAAgAjoAACACQf8BcUUNAANAIAAgAS0AASICOgABIABBAWohACABQQFqIQEgAg0ACwsLswgBBX8gASgCACEEAkACQAJAAkACQAJAAkACfwJAAkACQAJAIANFDQAgAygCACIGRQ0AIABFBEAgAiEDDAMLIANBADYCACACIQMMAQsCQEHk+AIoAgAoAgBFBEAgAEUNASACRQ0MIAIhBgNAIAQsAAAiAwRAIAAgA0H/vwNxNgIAIABBBGohACAEQQFqIQQgBkEBayIGDQEMDgsLIABBADYCACABQQA2AgAgAiAGaw8LIAIhAyAARQ0DDAULIAQQ8gEPC0EBIQUMAwtBAAwBC0EBCyEFA0AgBUUEQCAELQAAQQN2IgVBEGsgBkEadSAFanJBB0sNAwJ/IARBAWoiBSAGQYCAgBBxRQ0AGiAFLQAAQcABcUGAAUcEQCAEQQFrIQQMBwsgBEECaiIFIAZBgIAgcUUNABogBS0AAEHAAXFBgAFHBEAgBEEBayEEDAcLIARBA2oLIQQgA0EBayEDQQEhBQwBCwNAIAQtAAAhBgJAIARBA3ENACAGQQFrQf4ASw0AIAQoAgAiBkGBgoQIayAGckGAgYKEeHENAANAIANBBGshAyAEKAIEIQYgBEEEaiEEIAYgBkGBgoQIa3JBgIGChHhxRQ0ACwsgBkH/AXEiBUEBa0H+AE0EQCADQQFrIQMgBEEBaiEEDAELCyAFQcIBayIFQTJLDQMgBEEBaiEEIAVBAnRBgKcBaigCACEGQQAhBQwACwALA0AgBUUEQCADRQ0HA0ACQAJAAkAgBC0AACIFQQFrIgdB/gBLBEAgBSEGDAELIANBBUkNASAEQQNxDQECQANAIAQoAgAiBkGBgoQIayAGckGAgYKEeHENASAAIAZB/wFxNgIAIAAgBC0AATYCBCAAIAQtAAI2AgggACAELQADNgIMIABBEGohACAEQQRqIQQgA0EEayIDQQRLDQALIAQtAAAhBgsgBkH/AXEiBUEBayEHCyAHQf4ASw0BCyAAIAU2AgAgAEEEaiEAIARBAWohBCADQQFrIgMNAQwJCwsgBUHCAWsiBUEySw0DIARBAWohBCAFQQJ0QYCnAWooAgAhBkEBIQUMAQsgBC0AACIFQQN2IgdBEGsgByAGQRp1anJBB0sNAQJAAkACfyAEQQFqIgcgBUGAAWsgBkEGdHIiBUEATg0AGiAHLQAAQYABayIHQT9LDQEgBEECaiIIIAcgBUEGdHIiBUEATg0AGiAILQAAQYABayIHQT9LDQEgByAFQQZ0ciEFIARBA2oLIQQgACAFNgIAIANBAWshAyAAQQRqIQAMAQtByPcCQRk2AgAgBEEBayEEDAULQQAhBQwACwALIARBAWshBCAGDQEgBC0AACEGCyAGQf8BcQ0AIAAEQCAAQQA2AgAgAUEANgIACyACIANrDwtByPcCQRk2AgAgAEUNAQsgASAENgIAC0F/DwsgASAENgIAIAILnwQCB38EfiMAQRBrIggkAAJAAkACQCACQSRMBEAgAC0AACIFDQEgACEEDAILQcj3AkEcNgIAQgAhAwwCCyAAIQQCQANAIAXAIgVBIEYgBUEJa0EFSXJFDQEgBC0AASEFIARBAWohBCAFDQALDAELAkAgBC0AACIFQStrDgMAAQABC0F/QQAgBUEtRhshByAEQQFqIQQLAn8CQCACQRByQRBHDQAgBC0AAEEwRw0AQQEhCSAELQABQd8BcUHYAEYEQCAEQQJqIQRBEAwCCyAEQQFqIQQgAkEIIAIbDAELIAJBCiACGwsiCq0hDEEAIQIDQAJAQVAhBQJAIAQsAAAiBkEwa0H/AXFBCkkNAEGpfyEFIAZB4QBrQf8BcUEaSQ0AQUkhBSAGQcEAa0H/AXFBGUsNAQsgBSAGaiIGIApODQAgCCAMQgAgC0IAEIEDQQEhBQJAIAgpAwhCAFINACALIAx+Ig0gBq0iDkJ/hVYNACANIA58IQtBASEJIAIhBQsgBEEBaiEEIAUhAgwBCwsgAQRAIAEgBCAAIAkbNgIACwJAAkAgAgRAQcj3AkHEADYCACAHQQAgA0IBgyIMUBshByADIQsMAQsgAyALVg0BIANCAYMhDAsCQCAMpw0AIAcNAEHI9wJBxAA2AgAgA0IBfSEDDAILIAMgC1oNAEHI9wJBxAA2AgAMAQsgCyAHrCIDhSADfSEDCyAIQRBqJAAgAwt/AgJ/An4jAEGgAWsiBCQAIAQgATYCPCAEIAE2AhQgBEF/NgIYIARBEGoiBUIAEPQCIAQgBSADQQEQhAMgBCkDCCEGIAQpAwAhByACBEAgAiABIAQoAhQgBCgCiAFqIAQoAjxrajYCAAsgACAGNwMIIAAgBzcDACAEQaABaiQAC14BA38gASAEIANraiEFAkADQCADIARHBEBBfyEAIAEgAkYNAiABLAAAIgYgAywAACIHSA0CIAYgB0oEQEEBDwUgA0EBaiEDIAFBAWohAQwCCwALCyACIAVHIQALIAALCwAgACACIAMQmwMLHQEBfyMAQRBrIgMkACAAIAEgAhDHAiADQRBqJAALQAEBf0EAIQADfyABIAJGBH8gAAUgASwAACAAQQR0aiIAQYCAgIB/cSIDQRh2IANyIABzIQAgAUEBaiEBDAELCwtUAQJ/AkADQCADIARHBEBBfyEAIAEgAkYNAiABKAIAIgUgAygCACIGSA0CIAUgBkoEQEEBDwUgA0EEaiEDIAFBBGohAQwCCwALCyABIAJHIQALIAALGwAjAEEQayIBJAAgACACIAMQnwMgAUEQaiQAC4kCAQN/IwBBEGsiBCQAIAIgAWtBAnUiBUHv////A00EQAJAIAVBAkkEQCAAIAAtAAtBgAFxIAVyOgALIAAgAC0AC0H/AHE6AAsgACEDDAELIARBCGogACAFQQJPBH8gBUEEakF8cSIDIANBAWsiAyADQQJGGwVBAQtBAWoQpwUgBCgCDBogACAEKAIIIgM2AgAgACAAKAIIQYCAgIB4cSAEKAIMQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAAIAU2AgQLA0AgASACRwRAIAMgASgCADYCACADQQRqIQMgAUEEaiEBDAELCyAEQQA2AgQgAyAEKAIENgIAIARBEGokAA8LEDgAC0ABAX9BACEAA38gASACRgR/IAAFIAEoAgAgAEEEdGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBBGohAQwBCwsLsAQBAn8jAEEgayIGJAAgBiABNgIYAkACQAJAIAMoAgRBAXFFBEAgBkF/NgIAIAAgASACIAMgBCAGIAAoAgAoAhARCAAhAQJAAkAgBigCAA4CAwABCyAFQQE6AAAMBAsgBUEBOgAAIARBBDYCAAwDCyAGIAMoAhwiADYCACAAIAAoAgRBAWo2AgQGQCAGEK8CIQcMAhkgBiQAIAYoAgAiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsACyAFQQA6AAAMAQsgBigCACIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACyAGIAMoAhwiADYCACAAIAAoAgRBAWo2AgQGQCAGEKIDIQAZIAYkACAGKAIAIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALCQALIAYoAgAiASABKAIEQQFrIgM2AgQgA0F/RgRAIAEgASgCACgCCBECAAsgBiAGNgIcBkAgBiAAIAAoAgAoAhgRAAAgBiAGQQxyIgE2AhwgASAAIAAoAgAoAhwRAAAZIAYkACAGKAIcIgMgBkcEQANAIANBDGsQ8gUiAyAGRw0ACwsJAAsGQCAGQRhqIgMgAiAGIAMgByAEQQEQowMhABkgBiQAA0AgA0EMaxDyBSIDIAZHDQALCQALIAUgACAGRjoAACAGKAIYIQEDQCADQQxrEPIFIgMgBkcNAAsLIAZBIGokACABCwsAIABByP8CEKQDC9sFAQt/IwBBgAFrIggkACAIIAE2AnwgAyACa0EMbSEJIAhBzAE2AgQgCEEIakEAIAhBBGoQzgIhDiAIQRBqIQoGQAJAIAlB5QBPBEAgCRCCAiIKRQRAELwFAAsgDiAKEKUDCyAKIQcgAiEBA0AgASADRgRAA0AgACAIQfwAahCxAiAJRXJBAUYEQCAAIAhB/ABqELECBEAgBSAFKAIAQQJyNgIACwwECwJ/IAAoAgAiBygCDCIBIAcoAhBGBEAgByAHKAIAKAIkEQEADAELIAEtAAALwCENIAZFBEAgBCANIAQoAgAoAgwRAwAhDQsgD0EBaiEMQQAhECAKIQcgAiEBA0AgASADRgRAIAwhDyAQRQ0CIAAQsgIaIAohByACIQEgCSALakECSQ0CA0AgASADRg0DAkAgBy0AAEECRw0AAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIA9GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwACwALAkAgBy0AAEEBRw0AAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsgD2otAAAhEQJAIA1B/wFxIAYEfyARBSAEIBHAIAQoAgAoAgwRAwALQf8BcUYEQEEBIRACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgDEcNAiAHQQI6AAAgC0EBaiELDAELIAdBADoAAAsgCUEBayEJCyAHQQFqIQcgAUEMaiEBDAALAAsABSAHQQJBAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0UiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCSAMayEJDAELAAsACxkgCCQAIA4QpgMJAAsCQAJAA0AgAiADRg0BIAotAABBAkcEQCAKQQFqIQogAkEMaiECDAELCyACIQMMAQsgBSAFKAIAQQRyNgIACyAOEKYDIAhBgAFqJAAgAwspACAAKAIAIgAgARDEBCIBEMsERQRAENICAAsgACgCCCABQQJ0aigCAAs0AQF/IAAoAgAhAiAAIAE2AgAgAgRAIwAhAQZAIAIgAEEEaigCABECABkgASQAEKEGAAsLCwkAIABBABClAwu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCrAzYCACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKC7QBAQJ/IwBBEGsiAyQAIANBDGoiBCABKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgAiAEEKIDIgEgASgCACgCEBEBADoAACAAIAEgASgCACgCFBEAABkgAyQAIAMoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgAygCDCIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACyADQRBqJAALjAMBA38jAEEQayIKJAAgCiAAOgAPAkACQAJAIAMoAgAgAkcNAEErIQsgAEH/AXEiDCAJLQAYRwRAQS0hCyAJLQAZIAxHDQELIAMgAkEBajYCACACIAs6AAAMAQsCQAJ/IAYtAAtBB3YEQCAGKAIEDAELIAYtAAtB/wBxC0UNACAAIAVHDQBBACEAIAgoAgAiASAHa0GfAUoNAiAEKAIAIQAgCCABQQRqNgIAIAEgADYCAAwBC0F/IQAgCSAJQRpqIApBD2oQwAMgCWsiBUEXSg0BAkACQAJAIAFBCGsOAwACAAELIAEgBUoNAQwDCyABQRBHDQAgBUEWSA0AIAMoAgAiASACRg0CIAEgAmtBAkoNAiABQQFrLQAAQTBHDQJBACEAIARBADYCACADIAFBAWo2AgAgASAFQaDCAWotAAA6AAAMAgsgAyADKAIAIgBBAWo2AgAgACAFQaDCAWotAAA6AAAgBCAEKAIAQQFqNgIAQQAhAAwBC0EAIQAgBEEANgIACyAKQRBqJAAgAAvFAQICfwF+IwBBEGsiBCQAAn8CQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACAAIARBDGogAxC+AxC5BSEGAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBAwDC0HI9wIgBTYCACAEKAIMIAFGDQILCyACQQQ2AgBBAAwCCyAGQoCAgIB4Uw0AIAZC/////wdVDQAgBqcMAQsgAkEENgIAQf////8HIAZCAFUNABpBgICAgHgLIQAgBEEQaiQAIAAL8AEBAn8CfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQshBAJAIAIgAWtBBUgNACAERQ0AIAEgAhD5AyACQQRrIQQCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsCfyAALQALQQd2BEAgACgCAAwBCyAACyICaiEFAkADQAJAIAIsAAAhACABIARPDQACQCAAQQBMDQAgAEH/AE4NACABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwNASAAQf8ATg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCuAzcDACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgu3AQIBfgJ/IwBBEGsiBSQAAkACQCAAIAFHBEBByPcCKAIAIQZByPcCQQA2AgAgACAFQQxqIAMQvgMQuQUhBAJAQcj3AigCACIABEAgBSgCDCABRw0BIABBxABGDQMMBAtByPcCIAY2AgAgBSgCDCABRg0DCwsgAkEENgIAQgAhBAwBCyACQQQ2AgAgBEIAVQRAQv///////////wAhBAwBC0KAgICAgICAgIB/IQQLIAVBEGokACAEC7YFAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAxCoAyEGIABBxAFqIAMgAEH3AWoQqQMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpBoMIBEKoDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELADOwEAIABBxAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcQBahDyBRogAEGAAmokACACC90BAgN/AX4jAEEQayIEJAACfwJAAkACQCAAIAFHBEACQAJAIAAtAAAiBUEtRw0AIABBAWoiACABRw0ADAELQcj3AigCACEGQcj3AkEANgIAIAAgBEEMaiADEL4DELoFIQcCQEHI9wIoAgAiAARAIAQoAgwgAUcNASAAQcQARg0FDAQLQcj3AiAGNgIAIAQoAgwgAUYNAwsLCyACQQQ2AgBBAAwDCyAHQv//A1gNAQsgAkEENgIAQf//AwwBC0EAIAenIgBrIAAgBUEtRhsLIQAgBEEQaiQAIABB//8DcQu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCyAzYCACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgvYAQIDfwF+IwBBEGsiBCQAAn8CQAJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0HI9wIoAgAhBkHI9wJBADYCACAAIARBDGogAxC+AxC6BSEHAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0HI9wIgBjYCACAEKAIMIAFGDQMLCwsgAkEENgIAQQAMAwsgB0L/////D1gNAQsgAkEENgIAQX8MAQtBACAHpyIAayAAIAVBLUYbCyEAIARBEGokACAAC7YFAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAxCoAyEGIABBxAFqIAMgAEH3AWoQqQMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpBoMIBEKoDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELQDNwMAIABBxAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcQBahDyBRogAEGAAmokACACC8cBAgN/AX4jAEEQayIEJAACfgJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0HI9wIoAgAhBkHI9wJBADYCACAAIARBDGogAxC+AxC6BSEHAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBAwFC0HI9wIgBjYCACAEKAIMIAFGDQQLCwsgAkEENgIAQgAMAgsgAkEENgIAQn8MAQtCACAHfSAHIAVBLUYbCyEHIARBEGokACAHC+AFAQF/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAEHAAWogAyAAQdABaiAAQc8BaiAAQc4BahC2AwZAIwBBEGsiAiQAIABBtAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCsAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABgNAAkAgAEH8AWogAEH4AWoQsQINACAAKAKwAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgKwAQsCfyAAKAL8ASIDKAIMIgYgAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgBi0AAAvAIABBB2ogAEEGaiACIABBsAFqIAAsAM8BIAAsAM4BIABBwAFqIABBEGogAEEMaiAAQQhqIABB0AFqELcDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AywFBB3YEQCAAKALEAQwBCyAALQDLAUH/AHELRQ0AIAAtAAdFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAKwASAEELgDOAIAIABBwAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcABahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcABahDyBRogAEGAAmokACACC+MBAQJ/IwBBEGsiBSQAIAVBDGoiBiABKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgBhCvAiIBQaDCAUHAwgEgAiABKAIAKAIgEQYAGiADIAYQogMiASABKAIAKAIMEQEAOgAAIAQgASABKAIAKAIQEQEAOgAAIAAgASABKAIAKAIUEQAAGSAFJAAgBSgCDCIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACwkACyAFKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALIAVBEGokAAvuBAEBfyMAQRBrIgwkACAMIAA6AA8CQAJAIAAgBUYEQCABLQAARQ0BQQAhACABQQA6AAAgBCAEKAIAIgFBAWo2AgAgAUEuOgAAAn8gBy0AC0EHdgRAIAcoAgQMAQsgBy0AC0H/AHELRQ0CIAkoAgAiASAIa0GfAUoNAiAKKAIAIQIgCSABQQRqNgIAIAEgAjYCAAwCCwJAIAAgBkcNAAJ/IActAAtBB3YEQCAHKAIEDAELIActAAtB/wBxC0UNACABLQAARQ0BQQAhACAJKAIAIgEgCGtBnwFKDQIgCigCACEAIAkgAUEEajYCACABIAA2AgBBACEAIApBADYCAAwCC0F/IQAgCyALQSBqIAxBD2oQwAMgC2siBkEfSg0BIAZBoMIBaiwAACEFAkACQAJAAkAgBkF+cUEWaw4DAQIAAgsgAyAEKAIAIgFHBEAgAUEBaywAACIDQd8AcSADIANB4QBrQRpJGyACLAAAIgJB3wBxIAIgAkHhAGtBGkkbRw0FCyAEIAFBAWo2AgAgASAFOgAAQQAhAAwECyACQdAAOgAADAELIAVB3wBxIAUgBUHhAGtBGkkbIgAgAiwAAEcNACACIABBIHIgACAAQcEAa0EaSRs6AAAgAS0AAEUNACABQQA6AAACfyAHLQALQQd2BEAgBygCBAwBCyAHLQALQf8AcQtFDQAgCSgCACIAIAhrQZ8BSg0AIAooAgAhASAJIABBBGo2AgAgACABNgIACyAEIAQoAgAiAEEBajYCACAAIAU6AABBACEAIAZBFUoNASAKIAooAgBBAWo2AgAMAQtBfyEACyAMQRBqJAAgAAu7AQIEfwJ9IwBBEGsiAyQAAkACQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACADQQxqIQYQvgMaIwBBEGsiBCQAIAQgACAGQQAQmAMgBCkDACAEKQMIEIYDIQcgBEEQaiQAQcj3AigCACIARQ0BIAMoAgwgAUcNAiAHIQggAEHEAEcNAwwCCyACQQQ2AgAMAgtByPcCIAU2AgAgAygCDCABRg0BCyACQQQ2AgAgCCEHCyADQRBqJAAgBwvgBQEBfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIABBwAFqIAMgAEHQAWogAEHPAWogAEHOAWoQtgMGQCMAQRBrIgIkACAAQbQBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArABIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB/AFqIABB+AFqELECDQAgACgCsAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCsAELAn8gACgC/AEiAygCDCIGIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAYtAAALwCAAQQdqIABBBmogAiAAQbABaiAALADPASAALADOASAAQcABaiAAQRBqIABBDGogAEEIaiAAQdABahC3Aw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAMsBQQd2BEAgACgCxAEMAQsgAC0AywFB/wBxC0UNACAALQAHRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCsAEgBBC6AzkDACAAQcABaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHAAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHAAWoQ8gUaIABBgAJqJAAgAgu7AQIEfwJ8IwBBEGsiAyQAAkACQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACADQQxqIQYQvgMaIwBBEGsiBCQAIAQgACAGQQEQmAMgBCkDACAEKQMIEIgCIQcgBEEQaiQAQcj3AigCACIARQ0BIAMoAgwgAUcNAiAHIQggAEHEAEcNAwwCCyACQQQ2AgAMAgtByPcCIAU2AgAgAygCDCABRg0BCyACQQQ2AgAgCCEHCyADQRBqJAAgBwv3BQIBfwF+IwBBkAJrIgAkACAAIAI2AogCIAAgATYCjAIgAEHQAWogAyAAQeABaiAAQd8BaiAAQd4BahC2AwZAIwBBEGsiAiQAIABBxAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCwAEgACAAQSBqNgIcIABBADYCGCAAQQE6ABcgAEHFADoAFgNAAkAgAEGMAmogAEGIAmoQsQINACAAKALAAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgLAAQsCfyAAKAKMAiIDKAIMIgYgAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgBi0AAAvAIABBF2ogAEEWaiACIABBwAFqIAAsAN8BIAAsAN4BIABB0AFqIABBIGogAEEcaiAAQRhqIABB4AFqELcDDQAgAEGMAmoQsgIaDAELCwJAAn8gAC0A2wFBB3YEQCAAKALUAQwBCyAALQDbAUH/AHELRQ0AIAAtABdFDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALAASAEELwDIAApAwghByAFIAApAwA3AwAgBSAHNwMIIABB0AFqIABBIGogACgCHCAEEKwDIABBjAJqIABBiAJqELECIQIZIAAkACABEPIFGiAAQdABahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCjAIhAiABEPIFGiAAQdABahDyBRogAEGQAmokACACC7YCAgR+Bn8jAEEgayIIJAACQAJAAkAgASACRwRAQcj3AigCACEMQcj3AkEANgIAIwBBEGsiCSQAIAhBHGohDRC+AxojAEEQayIKJAAjAEEQayILJAAgCyABIA1BAhCYAyALKQMAIQQgCiALKQMINwMIIAogBDcDACALQRBqJAAgCikDACEEIAkgCikDCDcDCCAJIAQ3AwAgCkEQaiQAIAkpAwAhBCAIIAkpAwg3AxAgCCAENwMIIAlBEGokACAIKQMQIQQgCCkDCCEFQcj3AigCACIBRQ0BIAgoAhwgAkcNAiAFIQYgBCEHIAFBxABHDQMMAgsgA0EENgIADAILQcj3AiAMNgIAIAgoAhwgAkYNAQsgA0EENgIAIAYhBSAHIQQLIAAgBTcDACAAIAQ3AwggCEEgaiQAC7MGAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEjAEEQayIBJAAgAEHEAWoiBkIANwIAIAZBADYCCCABQRBqJAAGQCAAQRBqIgIgAygCHCIBNgIAIAEgASgCBEEBajYCBAZAIAIQrwIiAUGgwgFBusIBIABB0AFqIAEoAgAoAiARBgAaGSAAJAAGQCAAKAIQIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAIJAAsGQCAAKAIQIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAEGQCMAQRBrIgEkACAAQbgBaiICQgA3AgAgAkEANgIIIAFBEGokACACIAItAAtBB3YEfyACKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAItAAtBB3YEQCACKAIADAELIAILIgE2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyACLQALQQd2BEAgAigCBAwBCyACLQALQf8AcQsgAWpGBEACfyACLQALQQd2BEAgAigCBAwBCyACLQALQf8AcQshAyACAn8gAi0AC0EHdgRAIAIoAgQMAQsgAi0AC0H/AHELQQF0EMgCIAIgAi0AC0EHdgR/IAIoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyACLQALQQd2BEAgAigCAAwBCyACCyIBajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwEEQIAEgAEG0AWogAEEIakEAIAYgAEEQaiAAQQxqIABB0AFqEKoDDQAgAEH8AWoQsgIaDAELCyACIAAoArQBIAFrEMgCAn8gAi0AC0EHdgRAIAIoAgAMAQsgAgshARC+AyEDIAAgBTYCACABIAMgABC/A0EBRwRAIARBBDYCAAsgAEH8AWogAEH4AWoQsQIhARkgACQAIAIQ8gUaCQALGSAAJAAgBhDyBRoJAAsgAQRAIAQgBCgCAEECcjYCAAsgACgC/AEhASACEPIFGiAGEPIFGiAAQYACaiQAIAEL1AIBA39B6P4CLQAABEBB5P4CKAIADwsjAEEgayIBJAACQAJAA0AgAUEIaiAAQQJ0aiAAQfMvQZDdAEEBIAB0Qf////8HcRsQjwMiAjYCACACQX9GDQEgAEEBaiIAQQZHDQALQYipASEAIAFBCGpBiKkBQRgQ5gFFDQFBoKkBIQAgAUEIakGgqQFBGBDmAUUNAUEAIQBBvP0CLQAARQRAA0AgAEECdEGM/QJqIABBkN0AEI8DNgIAIABBAWoiAEEGRw0AC0G8/QJBAToAAEGk/QJBjP0CKAIANgIAC0GM/QIhACABQQhqQYz9AkEYEOYBRQ0BQaT9AiEAIAFBCGpBpP0CQRgQ5gFFDQFBGBCCAiIARQ0AIAAgASkCCDcCACAAIAEpAhg3AhAgACABKQIQNwIIDAELQQAhAAsgAUEgaiQAQej+AkEBOgAAQeT+AiAANgIAIAALbAEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIANBBGogA0EMahDBAyEBIABBpBsgAygCCBCJAyECIAEoAgAiAARAQeT4AigCABogAARAQeT4AkHs9wIgACAAQX9GGzYCAAsLIANBEGokACACCzEAIAItAAAhAgNAAkAgACABRwR/IAAtAAAgAkcNASAABSABCw8LIABBAWohAAwACwALPQEBf0Hk+AIoAgAhAiABKAIAIgEEQEHk+AJB7PcCIAEgAUF/Rhs2AgALIABBfyACIAJB7PcCRhs2AgAgAAuwBAECfyMAQSBrIgYkACAGIAE2AhgCQAJAAkAgAygCBEEBcUUEQCAGQX82AgAgACABIAIgAyAEIAYgACgCACgCEBEIACEBAkACQCAGKAIADgIDAAELIAVBAToAAAwECyAFQQE6AAAgBEEENgIADAMLIAYgAygCHCIANgIAIAAgACgCBEEBajYCBAZAIAYQwAIhBwwCGSAGJAAgBigCACIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACwkACwALIAVBADoAAAwBCyAGKAIAIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALIAYgAygCHCIANgIAIAAgACgCBEEBajYCBAZAIAYQwwMhABkgBiQAIAYoAgAiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgBigCACIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQIACyAGIAY2AhwGQCAGIAAgACgCACgCGBEAACAGIAZBDHIiATYCHCABIAAgACgCACgCHBEAABkgBiQAIAYoAhwiAyAGRwRAA0AgA0EMaxD+BSIDIAZHDQALCwkACwZAIAZBGGoiAyACIAYgAyAHIARBARDEAyEAGSAGJAADQCADQQxrEP4FIgMgBkcNAAsJAAsgBSAAIAZGOgAAIAYoAhghAQNAIANBDGsQ/gUiAyAGRw0ACwsgBkEgaiQAIAELCwAgAEHQ/wIQpAML1AUBC38jAEGAAWsiCCQAIAggATYCfCADIAJrQQxtIQkgCEHMATYCBCAIQQhqQQAgCEEEahDOAiEOIAhBEGohCgZAAkAgCUHlAE8EQCAJEIICIgpFBEAQvAUACyAOIAoQpQMLIAohByACIQEDQCABIANGBEADQCAAIAhB/ABqEMECIAlFckEBRgRAIAAgCEH8AGoQwQIEQCAFIAUoAgBBAnI2AgALDAQLAn8gACgCACIHKAIMIgEgBygCEEYEQCAHIAcoAgAoAiQRAQAMAQsgASgCAAshDSAGRQRAIAQgDSAEKAIAKAIcEQMAIQ0LIA9BAWohDEEAIRAgCiEHIAIhAQNAIAEgA0YEQCAMIQ8gEEUNAiAAEMICGiAKIQcgAiEBIAkgC2pBAkkNAgNAIAEgA0YNAwJAIActAABBAkcNAAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyAPRg0AIAdBADoAACALQQFrIQsLIAdBAWohByABQQxqIQEMAAsACwJAIActAABBAUcNAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIA9BAnRqKAIAIRECQCAGBH8gEQUgBCARIAQoAgAoAhwRAwALIA1GBEBBASEQAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAlBAWshCQsgB0EBaiEHIAFBDGohAQwACwALAAUgB0ECQQECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtFIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAkgDGshCQwBCwALAAsZIAgkACAOEKYDCQALAkACQANAIAIgA0YNASAKLQAAQQJHBEAgCkEBaiEKIAJBDGohAgwBCwsgAiEDDAELIAUgBSgCAEEEcjYCAAsgDhCmAyAIQYABaiQAIAMLwAUBA38jAEHQAmsiACQAIAAgAjYCyAIgACABNgLMAiADEKgDIQYgAyAAQdABahDGAyEHIABBxAFqIAMgAEHEAmoQxwMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqEMECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgCzAIiAygCDCIIIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAgoAgALIAYgAiAAQbQBaiAAQQhqIAAoAsQCIABBxAFqIABBEGogAEEMaiAHEMgDDQAgAEHMAmoQwgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGEKsDNgIAIABBxAFqIABBEGogACgCDCAEEKwDIABBzAJqIABByAJqEMECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhAiABEPIFGiAAQcQBahDyBRogAEHQAmokACACC60BAQJ/IwBBEGsiAiQAIAJBDGoiAyAAKAIcIgA2AgAgACAAKAIEQQFqNgIEBkAgAxDAAiIAQaDCAUG6wgEgASAAKAIAKAIwEQYAGhkgAiQAIAIoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgAigCDCIAIAAoAgRBAWsiAzYCBCADQX9GBEAgACAAKAIAKAIIEQIACyACQRBqJAAgAQu0AQECfyMAQRBrIgMkACADQQxqIgQgASgCHCIBNgIAIAEgASgCBEEBajYCBAZAIAIgBBDDAyIBIAEoAgAoAhARAQA2AgAgACABIAEoAgAoAhQRAAAZIAMkACADKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALCQALIAMoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsgA0EQaiQAC5ADAQJ/IwBBEGsiCiQAIAogADYCDAJAAkACQCADKAIAIAJHDQBBKyELIAAgCSgCYEcEQEEtIQsgCSgCZCAARw0BCyADIAJBAWo2AgAgAiALOgAADAELAkACfyAGLQALQQd2BEAgBigCBAwBCyAGLQALQf8AcQtFDQAgACAFRw0AQQAhACAIKAIAIgEgB2tBnwFKDQIgBCgCACEAIAggAUEEajYCACABIAA2AgAMAQtBfyEAIAkgCUHoAGogCkEMahDTAyAJayIGQdwASg0BIAZBAnUhBQJAAkACQCABQQhrDgMAAgABCyABIAVKDQEMAwsgAUEQRw0AIAZB2ABIDQAgAygCACIBIAJGDQIgASACa0ECSg0CIAFBAWstAABBMEcNAkEAIQAgBEEANgIAIAMgAUEBajYCACABIAVBoMIBai0AADoAAAwCCyADIAMoAgAiAEEBajYCACAAIAVBoMIBai0AADoAACAEIAQoAgBBAWo2AgBBACEADAELQQAhACAEQQA2AgALIApBEGokACAAC8AFAQN/IwBB0AJrIgAkACAAIAI2AsgCIAAgATYCzAIgAxCoAyEGIAMgAEHQAWoQxgMhByAAQcQBaiADIABBxAJqEMcDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQcwCaiAAQcgCahDBAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAswCIgMoAgwiCCADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAIKAIACyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxDIAw0AIABBzAJqEMICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCuAzcDACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQcwCaiAAQcgCahDBAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAswCIQIgARDyBRogAEHEAWoQ8gUaIABB0AJqJAAgAgvABQEDfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQqAMhBiADIABB0AFqEMYDIQcgAEHEAWogAyAAQcQCahDHAwZAIwBBEGsiAiQAIABBuAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHMAmogAEHIAmoQwQINACAAKAK0AQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgK0AQsCfyAAKALMAiIDKAIMIgggAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgCCgCAAsgBiACIABBtAFqIABBCGogACgCxAIgAEHEAWogAEEQaiAAQQxqIAcQyAMNACAAQcwCahDCAhoMAQsLAkACfyAALQDPAUEHdgRAIAAoAsgBDAELIAAtAM8BQf8AcQtFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAYQsAM7AQAgAEHEAWogAEEQaiAAKAIMIAQQrAMgAEHMAmogAEHIAmoQwQIhAhkgACQAIAEQ8gUaIABBxAFqEPIFGgkACyACBEAgBCAEKAIAQQJyNgIACyAAKALMAiECIAEQ8gUaIABBxAFqEPIFGiAAQdACaiQAIAILwAUBA38jAEHQAmsiACQAIAAgAjYCyAIgACABNgLMAiADEKgDIQYgAyAAQdABahDGAyEHIABBxAFqIAMgAEHEAmoQxwMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqEMECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgCzAIiAygCDCIIIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAgoAgALIAYgAiAAQbQBaiAAQQhqIAAoAsQCIABBxAFqIABBEGogAEEMaiAHEMgDDQAgAEHMAmoQwgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELIDNgIAIABBxAFqIABBEGogACgCDCAEEKwDIABBzAJqIABByAJqEMECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhAiABEPIFGiAAQcQBahDyBRogAEHQAmokACACC8AFAQN/IwBB0AJrIgAkACAAIAI2AsgCIAAgATYCzAIgAxCoAyEGIAMgAEHQAWoQxgMhByAAQcQBaiADIABBxAJqEMcDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgII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C0HgAGoQoAQgCygCZCEKCyALIApBBGo2AmQgCiABNgIACwJAIAsoAhRBAEwNAAJAIAAgC0GMBGoQwQJFBEACfyAAKAIAIgEoAgwiBCABKAIQRgRAIAEgASgCACgCJBEBAAwBCyAEKAIACyEBIAEgCygCWEYNAQsMAwsgABDCAhoDQCALKAIUQQBMDQECQCAAIAtBjARqEMECRQRAIAdBwAACfyAAKAIAIgEoAgwiBCABKAIQRgRAIAEgASgCACgCJBEBAAwBCyAEKAIACyAHKAIAKAIMEQQADQELDAQLIAkoAgAgCygCiARGBEAgCCAJIAtBiARqEKAECwJ/IAAoAgAiASgCDCIEIAEoAhBGBEAgASABKAIAKAIkEQEADAELIAQoAgALIQEgCSAJKAIAIgRBBGo2AgAgBCABNgIAIAsgCygCFEEBazYCFCAAEMICGgwACwALIAIhCiAIKAIAIAkoAgBHDQQMAQsCQCACRQ0AQQEhCgNAAn8gAi0AC0EHdgRAIAIoAgQMAQsgAi0AC0H/AHELIApNDQECQCAAIAtBjARqEMECRQRAAn8gACgCACIBKAIMIgMgASgCEEYEQCABIAEoAgAoAiQRAQAMAQsgAygCAAshASABAn8gAi0AC0EHdgRAIAIoAgAMAQsgAgsgCkECdGooAgBGDQELDAMLIApBAWohCiAAEMICGgwACwALQQEhACARKAIAIAsoAmRGDQEgC0EANgIMIA8gESgCACALKAJkIAtBDGoQrAMgCygCDEUNAQsgBSAFKAIAQQRyNgIAQQAhAAsgEBD+BRogDBD+BRogDRD+BRogDhD+BRogDxDyBRogERCmAwwDCyACIQoLIANBAWohAwwACwALGSALJAAgEBD+BRogDBD+BRogDRD+BRogDhD+BRogDxDyBRogERCmAwkACwsgC0GQBGokACAACx8BAX8gASgCABDDAiECIAAgASgCADYCBCAAIAI2AgALkAQBA38jAEHAA2siACQAIAAgAjYCuAMgACABNgK8AyAAQc0BNgIUIABBGGogAEEgaiAAQRRqIgkQzgIhBwZAIABBEGoiCCAEKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgCBDAAiEBIABBADoADyAAQbwDaiACIAMgCCAEKAIEIAUgAEEPaiABIAcgCSAAQbADahCpBARAIwBBEGsi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AHELIAkgD2tBAXRqampBAWoMAQsgACgCnAECfyAILQALQQd2BEAgCCgCBAwBCyAILQALQf8AcQsCfyAHLQALQQd2BEAgBygCBAwBCyAHLQALQf8AcQtqakECagsiD0HlAEkNACAMIA8QggIQpQMgDCgCACICDQAQvAUMBQsgAiAAQSRqIABBIGogAygCBCALIAkgC2ogECARIABByAFqIAAsAMcBIAAsAMYBIA4gByAIIAAoApwBELMEIAEgAiAAKAIkIAAoAiAgAyAEENwDIQIZIAAkACAMEKYDCQALGSAAJAAgCBDyBRogBxDyBRogDhDyBRoJAAsZIAAkAAZAIAAoAswBIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAMJAAsZIAAkACAKEKYDIA0QpgMJAAsgDBCmAyAIEPIFGiAHEPIFGiAOEPIFGiAAKALMASIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQIACyAKEKYDIA0QpgMgAEHAA2okACACDwsAC+8DAQF/IwBBEGsiCiQAIAkCfyAABEAgAhCkBCEAAkAgAQRAIApBBGoiASAAIAAoAgAoAiwRAAAgAyAKKAIENgAAIAEgACAAKAIAKAIgEQAADAELIApBBGoiASAAIAAoAgAoAigRAAAgAyAKKAIENgAAIAEgACAAKAIAKAIcEQAACyAIIAEQxgIgARDyBRogBCAAIAAoAgAoAgwRAQA6AAAgBSAAIAAoAgAoAhARAQA6AAAgCkEEaiIBIAAgACgCACgCFBEAACAGIAEQxgIgARDyBRogASAAIAAoAgAoAhgRAAAgByABEMYCIAEQ8gUaIAAgACgCACgCJBEBAAwBCyACEKUEIQACQCABBEAgCkEEaiIBIAAgACgCACgCLBEAACADIAooAgQ2AAAgASAAIAAoAgAoAiARAAAMAQsgCkEEaiIBIAAgACgCACgCKBEAACADIAooAgQ2AAAgASAAIAAoAgAoAhwRAAALIAggARDGAiABEPIFGiAEIAAgACgCACgCDBEBADoAACAFIAAgACgCACgCEBEBADoAACAKQQRqIgEgACAAKAIAKAIUEQAAIAYgARDGAiABEPIFGiABIAAgACgCACgCGBEAACAHIAEQxgIgARDyBRogACAAKAIAKAIkEQEACzYCACAK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IAFBAnRBBBDoAgsgACAAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAsgARCqBQsvAQF/IwBBEGsiAyQAIAAgAhCjBCADQQA6AA8gASACaiADLQAPOgAAIANBEGokAAsJACAAIAEQrAULGQAjACEABkAgAUEEEOUCGSAAJAAQoQYACws8AQF/IwBBEGsiAyQAIAMgARCuBTYCDCADIAIQrgU2AgggACADKAIMNgIAIAAgAygCCDYCBCADQRBqJAALQgECfyMAQRBrIgEkACABIAA2AgwgASgCDCECIwBBEGsiACQAIAAgAjYCDCAAKAIMIQIgAEEQaiQAIAFBEGokACACC18BBH8jAEEQayIAJAAgAEH/////AzYCDCAAQf////8HNgIIIwBBEGsiASQAIABBCGoiAigCACAAQQxqIgMoAgBJIQQgAUEQaiQAIAIgAyAEGygCACEBIABBEGokACABC0sBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4DQAgAUEBOgB4DAELIANBD2ogAhCoBSEBCyADQRBqJAAgACACNgIEIAAgATYCAAswACMAQRBrIgIkAAJAIAAgAUYEQCABQQA6AHgMAQsgAkEPaiABEKwFCyACQRBqJAALJgEBfyAAKAIEIQIDQCABIAJHBEAgAkEEayECDAELCyAAIAE2AgQLUwEBfyAAKAIEIQEDQCABIAAoAghHBEAgACgCEBogACAAKAIIQQRrNgIIDAELCyAAKAIABEAgACgCECAAKAIAIgEgAEEMaigCACABa0ECdRCxBQsLqwEBBX8jAEEQayIDJAAgAyAAKAIENgIMIAMgASgCBDYCCCMAQRBrIgIkACADQQhqIgQoAgAgA0EMaiIFKAIASSEGIAJBEGokACAEIAUgBhshAgJAAn8gACgCACEEIAEoAgAhBUEAIAIoAgAiAkUNABogBCAFIAIQ5gELIgINAEEAIQIgACgCBCABKAIERg0AQX9BASAAKAIEIAEoAgRJGyECCyADQRBqJAAgAgsGABC2BQALQAECfyMAIQEGQAZAQQgQlQYhABgBIABBgyMQ7QUiAEGEmwI2AgAZIAEkACAAEJYGCQALIABBpJsCQesAEJcGAAsjAQJ/IAAhAQNAIAEiAkEEaiEBIAIoAgANAAsgAiAAa0ECdQsKACAAEL4DNgIACxYAIAAgASAC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DQALCyACC0UBAX8jACECIABB6JgCNgIAIABB1JkCNgIABkAgAEEEagJ/IAEtAAtBB3YEQCABKAIADAELIAELEOwFGSACJAAJAAsgAAs6AQJ/IAEQ8gEiAkENahC9BSIDQQA2AgggAyACNgIEIAMgAjYCACAAIANBDGogASACQQFqEOEBNgIACzABAX8jACECIABB6JgCNgIAIABB1JkCNgIABkAgAEEEaiABEOwFGSACJAAJAAsgAAtFAQF/IwAhAiAAQeiYAjYCACAAQeiZAjYCAAZAIABBBGoCfyABLQALQQd2BEAgASgCAAwBCyABCxDsBRkgAiQACQALIAALMAEBfyMAIQIgAEHomAI2AgAgAEHomQI2AgAGQCAAQQRqIAEQ7AUZIAIkAAkACyAACwwAIAAgASACEOIBGguOAwEFfyMAQRBrIggkACACIAFBf3NB7////wdqTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshCSAIQQRqIAAgAUHn////A0kEfyAIIAFBAXQ2AgwgCCABIAJqNgIEIwBBEGsiAiQAIAhBBGoiCigCACAIQQxqIgsoAgBJIQwgAkEQaiQAIAsgCiAMGygCACICQQtPBH8gAkEQakFwcSICIAJBAWsiAiACQQtGGwVBCgtBAWoFQe////8HCxDmAiAIKAIEIQIgCCgCCBogBARAIAIgCSAEEKICCyAGBEAgAiAEaiAHIAYQogILIAMgBCAFaiIKayEHIAMgCkcEQCACIARqIAZqIAQgCWogBWogBxCiAgsgAUEBaiIBQQtHBEAgACAJIAEQ5AILIAAgAjYCACAAIAAoAghBgICAgHhxIAgoAghB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgBCAGaiAHaiIANgIEIAhBADoADCAAIAJqIAgtAAw6AAAgCEEQaiQADwsQOAALJQAgAC0AC0EHdgRAIAAgACgCACAAKAIIQf////8HcRDkAgsgAAvIAgEFfyMAQRBrIgUkACACQe////8HIAFrTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshBiAFQQRqIAAgAUHn////A0kEfyAFIAFBAXQ2AgwgBSABIAJqNgIEIwBBEGsiAiQAIAVBBGoiBygCACAFQQxqIggoAgBJIQkgAkEQaiQAIAggByAJGygCACICQQtPBH8gAkEQakFwcSICIAJBAWsiAiACQQtGGwVBCgtBAWoFQe////8HCxDmAiAFKAIEIQIgBSgCCBogBARAIAIgBiAEEKICCyADIARHBEAgAiAEaiAEIAZqIAMgBGsQogILIAFBAWoiAUELRwRAIAAgBiABEOQCCyAAIAI2AgAgACAAKAIIQYCAgIB4cSAFKAIIQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAFQRBqJAAPCxA4AAtEAQF/IwBBEGsiAyQAIAMgAjoADyADQQ9qIQIDQCABBEAgACACLQAAOgAAIAFBAWshASAAQQFqIQAMAQsLIANBEGokAAvoAQECfyMAQRBrIgMkACACQe////8HTQRAAkAgAkELSQRAIAAgAC0AC0GAAXEgAnI6AAsgACAALQALQf8AcToACyAAIQQMAQsgA0EIaiAAIAJBC08EfyACQRBqQXBxIgQgBEEBayIEIARBC0YbBUEKC0EBahDmAiADKAIMGiAAIAMoAggiBDYCACAAIAAoAghBgICAgHhxIAMoAgxB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgAjYCBAsgBCABIAIQogIgA0EAOgAHIAIgBGogAy0ABzoAACADQRBqJAAPCxA4AAuHAQEBfyAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgAk8EQAJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgMgASACEPAFIAAgAyACEKoFDwsgACADIAIgA2sCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiAEEAIAAgAiABEPEFC8IBAQN/IwBBEGsiBSQAAkAgAiAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgQCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiA2tNBEAgAkUNAQJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgQgA2ogASACEKICIAAgAiADaiIBEKMEIAVBADoADyABIARqIAUtAA86AAAMAQsgACAEIAIgBGsgA2ogAyADQQAgAiABEPEFCyAFQRBqJAAgAAufAQECfyMAQRBrIgMkACADIAI2AgwCfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsiAkEASQRAELUFAAsCfyABLQALQQd2BEAgASgCAAwBCyABCyEBIAMgAjYCBCAAIAEjAEEQayIBJAAgA0EEaiICKAIAIANBDGoiBCgCAEkhBSABQRBqJAAgAiAEIAUbKAIAEPUFIANBEGokACAAC4ECAQR/An8gARDyASECIwBBEGsiBSQAAn8gAC0AC0EHdgRAIAAoAgQMAQsgAC0AC0H/AHELIgRBAE8EQAJAIAIgAC0AC0EHdgR/IAAoAghB/////wdxQQFrBUEKCyIDIARrTQRAIAJFDQECfyAALQALQQd2BEAgACgCAAwBCyAACyIDIAQEfyACIANqIAMgBBDwBSABIAJBACADIARqIAFLG0EAIAEgA08bagUgAQsgAhDwBSAAIAIgBGoiARCjBCAFQQA6AA8gASADaiAFLQAPOgAADAELIAAgAyACIARqIANrIARBAEEAIAIgARDxBQsgBUEQaiQAIAAMAQsQtQUACwv5AQEDfyMAQRBrIgIkACACIAE6AA8CQAJAAn8gAC0AC0EHdiIERQRAQQohASAALQALQf8AcQwBCyAAKAIIQf////8HcUEBayEBIAAoAgQLIgMgAUYEQCAAIAFBASABIAEQ8wUCfyAALQALQQd2BEAgACgCAAwBC0EACxoMAQsCfyAALQALQQd2BEAgACgCAAwBC0EACxogBA0AIAAiASADQQFqIAAtAAtBgAFxcjoACyAAIAAtAAtB/wBxOgALDAELIAAoAgAhASAAIANBAWo2AgQLIAEgA2oiACACLQAPOgAAIAJBADoADiAAIAItAA46AAEgAkEQaiQAC3YBAn8CfwJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQFBfwJ/IAAtAAtBB3YEQCAAKAIEDAELIAAtAAtB/wBxCyIARQ0AGiAAIAFqIQBBfyECAkADQCAAIAFGDQEgAEEBayIALAAAQS9HDQALIAAgAWshAgsgAgsLDgAgACABIAEQ8gEQ9wULnwMBBX8jAEEQayIIJAAgAiABQX9zQe////8Dak0EQAJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQkgCEEEaiAAIAFB5////wFJBH8gCCABQQF0NgIMIAggASACajYCBCMAQRBrIgIkACAIQQRqIgooAgAgCEEMaiILKAIASSEMIAJBEGokACALIAogDBsoAgAiAkECTwR/IAJBBGpBfHEiAiACQQFrIgIgAkECRhsF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RwRAIAMgAiADKAIAKAIUEQAACwsgACgCDCICLQAEQc0Aa0H/AXFBAk8EQCAEIARBCGpBkMsAENEGKQIANwMAIAEgBBD/BhogACgCDCECCyACIAEgAigCACgCEBEAACACLwAFQcABcUHAAEcEQCACIAEgAigCACgCFBEAAAsgBEEQaiQAC5gCAQJ/IwBBIGsiAyQAIAFB2wAQ0AYhASAAKAIIIgIgASACKAIAKAIQEQAAIAIvAAVBwAFxQcAARwRAIAIgASACKAIAKAIUEQAACyADIANBGGpB5s8AENEGKQIANwMIIAEgA0EIahD/BiEBIAAoAgwiAiABIAIoAgAoAhARAAAgAi8ABUHAAXFBwABHBEAgAiABIAIoAgAoAhQRAAALIAFB3QAQ0AYhASAAKAIQIgItAARBzQBrQf8BcUECTwR/IAMgA0EQakGQywAQ0QYpAgA3AwAgASADEP8GGiAAKAIQBSACCyIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgA0EgaiQACy4AIABBwgBBAEEBQQFBARD9BiIAIAE2AgggAEGswQI2AgAgACACKQIANwIMIAALVwEBfyAAKAIIIgIEQCACIAEgAigCACgCEBEAACACLwAFQcABcUHAAEcEQCACIAEgAigCACgCFBEAAAsLIABBDGogAUH7ABDQBiIAELUHIABB/QAQ0AYaC4YBAQF/IAFBKBCtByAAKAIIIgIgASACKAIAKAIQEQAAIAIvAAVBwAFxQcAARwRAIAIgASACKAIAKAIUEQAACyABQSkQrwcgAUEoEK0HIAAoAgwiACABIAAoAgAoAhARAAAgAC8ABUHAAXFBwABHBEAgACABIAAoAgAoAhQRAAALIAFBKRCvBwveAgECfyMAQeAAayICJAAgACgCDCIDIAEgAygCACgCEBEAACADLwAFQcABcUHAAEcEQCADIAEgAygCACgCFBEAAAsgAiACQdgAakHMNxDRBikCADcDICABIAJBIGoQ/wYhAyAAKAIIIgEgAyABKAIAKAIQEQAAIAEvAAVBwAFxQcAARwRAIAEgAyABKAIAKAIUEQAACyACIAJB0ABqQdvEABDRBikCADcDGCADIAJBGGoQ/wYhASACAn8gAEEQaiIAKAIAIAAoAgRGBEAgAkHIAGpB9zkQ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QShqQdoMENEGKQIANwMQIAEgAkEQahD/BhogACgCCCEDCyADQQJxBH8gAiACQSBqQc4kENEGKQIANwMIIAEgAkEIahD/BhogACgCCAUgAwtBBHEEQCACIAJBGGpB5RAQ0QYpAgA3AwAgASACEP8GGgsgAkEwaiQACxYAIAAoAgwiACABIAAoAgAoAhQRAAALYwEBfyMAQRBrIgIkACACIAJBCGpBkBEQ0QYpAgA3AwAgASACEP8GIQEgACgCCCIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgAkEQaiQAC3IBAX8jAEEgayICJAAgAC0ADEUEQCACIAJBGGpBgssAENEGKQIANwMIIAEgAkEIahD/BhoLIAIgAkEQakH9DxDRBikCADcDACABIAIQ/wYiAUEoEK0HIAAoAgggAUETQQAQrgcgAUEpEK8HIAJBIGokAAuBAQEBfyMAQSBrIgIkACACIAJBGGpBoS0Q0QYpAgA3AwggASACQQhqEP8GIQEgACgCCCIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgAiACQRBqQZ0tENEGKQIANwMAIAEgAhD/BhogAkEgaiQACyoAIABBG0EAQQFBAUEBEP0GIgAgAjYCDCAAIAE2AgggAEGg3wI2AgAgAAu5AQECfyMAQSBrIgIkACAAKAIIIgMgASADKAIAKAIQEQAAIAMvAAVBwAFxQcAARwRAIAMgASADKAIAKAIUEQAACyACIAJBGGpBpi0Q0QYpAgA3AwggASACQQhqEP8GIQEgACgCDCIABEAgACABIAAoAgAoAhARAAAgAC8ABUHAAXFBwABHBEAgACABIAAoAgAoAhQRAAALCyACIAJBEGpBnS0Q0QYpAgA3AwAgASACEP8GGiACQSBqJAALFgAgACgCCCIAIAEgACgCACgCEBEAAAvpAQECfyMAQTBrIgIkACABKAIEIgNFBEBBzRxBySBBqgFBrB8QFwALIAMgASgCAGpBAWssAABB3QBHBEAgAiACQShqQfnPABDRBikCADcDECABIAJBEGoQ/wYaCyACIAJBIGpBrS0Q0QYpAgA3AwggASACQQhqEP8GIQMgACgCDCIBBEAgASADIAEoAgAoAhARAAAgAS8ABUHAAXFBwABHBEAgASADIAEoAgAoAhQRAAALCyACIAJBGGpBnS0Q0QYpAgA3AwAgAyACEP8GIQEgACgCCCIAIAEgACgCACgCFBEAACACQTBqJAALjwIBA38jAEEwayICJAAgACgCDCIDIAEgAygCACgCEBEAACACAn8CQAJ/IAAoAgwiAy0ABkEDcSIEQQJHBEAgBEUMAQsgAyABIAMoAgAoAgQRAwALRQRAAn8gACgCDCIDLwAFQQp2QQNxIgRBAkcEQCAERQwBCyADIAEgAygCACgCCBEDAAtFDQELIAJBKGpBhcEAENEGDAELIAJBIGpB+c8AENEGCykCADcDECABIAJBEGoQ/wYhASAAKAIIIgAgASAAKAIAKAIQEQAAIAAvAAVBwAFxQcAARwRAIAAgASAAKAIAKAIUEQAACyACIAJBGGpB6T4Q0QYpAgA3AwggASACQQhqEP8GGiACQTBqJAALqQEBA38jAEEQayIDJAACQAJ/IAAoAgwiAi0ABkEDcSIEQQJHBEAgBEUMAQsgAiABIAIoAgAoAgQRAwALRQRAAn8gACgCDCICLwAFQQp2QQNxIgRBAkcEQCAERQwBCyACIAEgAigCACgCCBEDAAtFDQELIAMgA0EIakGCwQAQ0QYpAgA3AwAgASADEP8GGgsgACgCDCIAIAEgACgCACgCFBEAACADQRBqJAALagIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQ/wZBIBDQBiEBIAAoAhAiACABIAAoAgAoAhARAAAgAC8ABUHAAXFBwABHBEAgACABIAAoAgAoAhQRAAALIAJBEGokAAsMACAAKAIIIAEQkwcLjAMCA38BfiMAQeAAayICJAAgAgJ/AkAgACgCCCIDLQAEQQpGBEAgAxCaCCEEIAAoAgghAyAEDQELIAMgASADKAIAKAIQEQAAAn8gACgCCCIDLQAGQQNxIgRBAkcEQCAERQwBCyADIAEgAygCACgCBBEDAAsEQCACIAJB2ABqQfnPABDRBikCADcDKCABIAJBKGoQ/wYaCwJAAn8gACgCCCIDLQAGQQNxIgRBAkcEQCAERQwBCyADIAEgAygCACgCBBEDAAtFBEACfyAAKAIIIgAvAAVBCnZBA3EiA0ECRwRAIANFDAELIAAgASAAKAIAKAIIEQMAC0UNAQsgAiACQdAAakGFwQAQ0QYpAgA3AyAgASACQSBqEP8GGgsgAkHIAGpB9j4Q0QYMAQsgAiACQUBrQb03ENEGKQIANwMYIAEgAkEYahD/BiEAIAIgAykCDCIFNwMQIAIgBTcDOCAAIAJBEGoQ/wYaIAJBMGpBgTYQ0QYLKQIANwMIIAEgAkEIahD/BhogAkHgAGokAAtEAQJ/IwBBEGsiAiQAIAAoAggiAC0ABEEHRgRAIAJBCGoiASAAKQIINwIAIAEgAkHvEBDRBhCgByEBCyACQRBqJAAgAQvFAQEDfyMAQRBrIgMkAAJAAkACfyAAKAIIIgItAARBCkYEQCACEJoIDQMgACgCCCECCyACLQAGQQNxIgRBAkcEQCAERQwBCyACIAEgAigCACgCBBEDAAtFBEACfyAAKAIIIgIvAAVBCnZBA3EiBEECRwRAIARFDAELIAIgASACKAIAKAIIEQMAC0UNAQsgAyADQQhqQYLBABDRBikCADcDACABIAMQ/wYaCyAAKAIIIgAgASAAKAIAKAIUEQAACyADQRBqJAALhgMBA38jAEFAaiICJAAgAC0AEEUEQCACQThqIgMgAEEQajYCACADIAAtABA6AAQgAEEBOgAQAkACQAJABkAgAkEwaiAAIAEQnQggAigCNCIARQ0DIAAgASAAKAIAKAIQEQAAAn8gAigCNCIALQAGQQNxIgRBAkcEQCAERQwBCyAAIAEgACgCACgCBBEDAAsEQCACIAJBKGpB+c8AENEGKQIANwMQIAEgAkEQahD/BhoLAn8gAigCNCIALQAGQQNxIgRBAkcEQCAERQwBCyAAIAEgACgCACgCBBEDAAsNAQJ/IAIoAjQiAC8ABUEKdkEDcSIEQQJHBEAgBEUMAQsgACABIAAoAgAoAggRAwALIQAZIAIkACADKAIAIAMtAAQ6AAAJAAsgAEUNAQsgAiACQSBqQYXBABDRBikCADcDCCABIAJBCGoQ/wYaCyACIAJBGGpBrcEAQbHBACACKAIwGxDRBikCADcDACABIAIQ/wYaCyADKAIAIAMtAAQ6AAALIAJBQGskAAvbAQEEfyMAQTBrIgUkACAAIAEoAgw2AgAgACABKAIINgIEIABBBGohBCAFQQRqENsGIQECQANABkAgBCgCACIDIAIgAygCACgCDBEDACIDLQAEQQxHDQIgACADKAIINgIEIAAgA0EMaiIDIAAgAygCACAAKAIASBsoAgA2AgAgASAEEOEGIAEoAgQgASgCAGtBAnUiA0ECSQ0BIAQoAgAhBiABIANBAWtBAXYQ9gYhAxkgBSQAIAEQ2QYJAAsgBiADKAIARw0ACyAEQQA2AgALIAEQ2QYgBUEwaiQAC4oCAQN/IwBBIGsiAiQAIAAtABBFBEAgAkEYaiIDIABBEGo2AgAgAyAALQAQOgAEIABBAToAEAZAAkAgAkEQaiAAIAEQnQggAigCFCIARQ0AAkACfyAALQAGQQNxIgRBAkcEQCAERQwBCyAAIAEgACgCACgCBBEDAAtFBEACfyACKAIUIgAvAAVBCnZBA3EiBEECRwRAIARFDAELIAAgASAAKAIAKAIIEQMAC0UNAQsgAiACQQhqQYLBABDRBikCADcDACABIAIQ/wYaCyACKAIUIgAgASAAKAIAKAIUEQAACxkgAiQAIAMoAgAgAy0ABDoAAAkACyADKAIAIAMtAAQ6AAALIAJBIGokAAstACAAQQVBAEEBQQFBARD9BiIAIAE2AgggAEGo5AI2AgAgACACKQIANwIMIAALRQICfwF+IwBBEGsiAiQAIAAoAggiAyABIAMoAgAoAhARAAAgAiAAKQIMIgQ3AwAgAiAENwMIIAEgAhD/BhogAkEQaiQACwcAIABBIGoLyAEBA38jAEEQayIDJAAgAyAANgIMIABB0ABrKAIAIgUoAgQhACADQQA2AgggAEEAQQAgA0EIahDOBiEEAkACQCADKAIIDQAgBEUNACABIAQ2AgAMAQsgBBCDAiABIAAQ8gFBAWoQggIiATYCACABIAAQlQMLIAJBADYCAEGEmQIgBSADQQxqQYSZAigCACgCEBEEAARAIAIgAygCDCIAIAAoAgAoAggRAQAiABDyAUEBahCCAiIBNgIAIAEgABCVAwsgA0EQaiQACyIBAX4gASACrSADrUIghoQgBCAAERMAIgVCIIinJAEgBacLGQAgASACIAOtIAStQiCGhCAFIAYgABEUAAsZACABIAIgAyAEIAWtIAatQiCGhCAAERUACyMAIAEgAiADIAQgBa0gBq1CIIaEIAetIAitQiCGhCAAERoACyUAIAEgAiADIAQgBSAGrSAHrUIghoQgCK0gCa1CIIaEIAARGwALHAAgACABQQggAqcgAkIgiKcgA6cgA0IgiKcQMQsLxscCPQBBgAgL0lf/AA0BAgABAQAAAACEjAAA/wAZAQIABQEAAn0DfQAAAMSNAACEjAAAAAAAAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAADEjQAA/wANAQIAAQEAAAAAxI0AAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAACEjAAA/wANAQIAAQEAAAAAhIwAAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAACEjAAAb3BlcmF0b3J+AHsuLi59AG9wZXJhdG9yfHwAb3BlcmF0b3J8AGluZmluaXR5AGNyZWF0ZV9kaXJlY3RvcnkATm90IGVub3VnaCBtZW1vcnkARmVicnVhcnkASmFudWFyeQAgaW1hZ2luYXJ5AEp1bHkAcG9wVHJhaWxpbmdOb2RlQXJyYXkAVWludDhBcnJheQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkAVHkAJW0vJWQvJXkAbngAdW5pcXVlX2xvY2s6OmxvY2s6IHJlZmVyZW5jZXMgbnVsbCBtdXRleAAgY29tcGxleAAvaG5zd2xpYi1pbmRleABpbml0SW5kZXgAcmVzaXplSW5kZXgAd3JpdGVJbmRleAByZWFkSW5kZXgARHgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweAB0dwB0aHJvdwBfX25leHRfcHJpbWUgb3ZlcmZsb3cAb3BlcmF0b3IgbmV3AER3AE5vdgBEdgBUaHUAVHUAQXVndXN0ACBjb25zdABOb3QgZW5vdWdoIG1lbW9yeTogbG9hZEluZGV4IGZhaWxlZCB0byBhbGxvY2F0ZSBsaW5rbGlzdABOb3QgZW5vdWdoIG1lbW9yeTogYWRkUG9pbnQgZmFpbGVkIHRvIGFsbG9jYXRlIGxpbmtsaXN0AFRoZSBuZXdseSBpbnNlcnRlZCBlbGVtZW50IHNob3VsZCBoYXZlIGJsYW5rIGxpbmsgbGlzdAB+U2NvcGVkVGVtcGxhdGVQYXJhbUxpc3QAY29uc3RfY2FzdAByZWludGVycHJldF9jYXN0AHN0ZDo6YmFkX2Nhc3QAc3RhdGljX2Nhc3QAZHluYW1pY19jYXN0AHVuc2lnbmVkIHNob3J0AG5vZXhjZXB0AGsgPD0gY3VyX2VsZW1lbnRfY291bnQAaW50ZXJuYWxJZCA8IGN1cl9lbGVtZW50X2NvdW50AGdldEN1cnJlbnRDb3VudABnZXRQb2ludABub3JtYWxpemVQb2ludAByZW1vdmVQb2ludABhZGRQb2ludAB1bnNpZ25lZCBpbnQAX0JpdEludABUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGV4Y2VlZHMgdGhlIHNwZWNpZmllZCBsaW1pdABvcGVyYXRvciBjb19hd2FpdAB1bmNhdWdodABieXRlT2Zmc2V0AHN0cnVjdAAgcmVzdHJpY3QAb2JqY19vYmplY3QAT2N0AHBvc2l4X3N0YXQAZmxvYXQAX0Zsb2F0AFNhdABzdGQ6Om51bGxwdHJfdAB3Y2hhcl90AGNoYXI4X3QAY2hhcjE2X3QAdWludDY0X3QAY2hhcjMyX3QAVXQAVHQAU3QAY2hlY2tGaWxlRXhpc3RzAE5vdCBlbm91Z2ggbWVtb3J5OiBsb2FkSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIGxpbmtsaXN0cwBOb3QgZW5vdWdoIG1lbW9yeTogSGllcmFyY2hpY2FsTlNXIGZhaWxlZCB0byBhbGxvY2F0ZSBsaW5rbGlzdHMAUGFyc2VyLT5UZW1wbGF0ZVBhcmFtcy5zaXplKCkgPj0gT2xkTnVtVGVtcGxhdGVQYXJhbUxpc3RzAGFkZFBvaW50cwBDYW5ub3QgcmVzaXplLCBtYXggZWxlbWVudCBpcyBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGVsZW1lbnRzAGdldE1heEVsZW1lbnRzAG5laWdoYm9ycwBOb3QgZW5vdWdoIG1lbW9yeTogcmVzaXplSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIG90aGVyIGxheWVycwBnZXROdW1EaW1lbnNpb25zAG1hcmtEZWxldGVJdGVtcwBhZGRJdGVtcwBnZXREZWxldGVkTGFiZWxzAGdldFVzZWRMYWJlbHMAdGhpcwBzZXREZWJ1Z0xvZ3MAY3JlYXRlX2RpcmVjdG9yaWVzAGRpc3RhbmNlcwBUcwB0ZXJtaW5hdGluZyBkdWUgdG8gJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgZHVlIHRvICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwBmaWxlc3lzdGVtIGVycm9yOiAlcwBudWxscHRyAHNyAEFwcgBSZXBsYWNlbWVudCBvZiBkZWxldGVkIGVsZW1lbnRzIGlzIGRpc2FibGVkIGluIGNvbnN0cnVjdG9yAEN1c3RvbUZpbHRlckZ1bmN0b3IAdmVjdG9yAG9wZXJhdG9yAGFsbG9jYXRvcgB1bnNwZWNpZmllZCBpb3N0cmVhbV9jYXRlZ29yeSBlcnJvcgBtb25leV9nZXQgZXJyb3IATGV2ZWwgZXJyb3IAY2FuZCBlcnJvcgBOb3QgZW5vdWdoIG1lbW9yeTogcmVzaXplSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIGJhc2UgbGF5ZXIAcmVhZEVuY29kZWRQb2ludGVyAEJhZCB2YWx1ZSBvZiBzel9saW5rX2xpc3Rfb3RoZXIARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyAGJ1ZmZlcgBPY3RvYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgB1bnNpZ25lZCBjaGFyAGlvc19iYXNlOjpjbGVhcgBNYXIAc3AAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2N4YV9wZXJzb25hbGl0eS5jcHAAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2N4YV9kZW1hbmdsZS5jcHAAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2ZhbGxiYWNrX21hbGxvYy5jcHAAb3AAZnAAU2VwAFRwACVJOiVNOiVTICVwAGF1dG8Ab2JqY3Byb3RvAHNvAERvAFN1bgBKdW4AeXB0bgBQb3NzaWJsZSBtZW1vcnkgY29ycnVwdGlvbgBzdGQ6OmV4Y2VwdGlvbgB0ZXJtaW5hdGluZyBkdWUgdG8gJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHRocmV3IGFuIGV4Y2VwdGlvbgBDdXJyZW50UG9zaXRpb24AdW5pb24ATW9uAHNlYXJjaEtubgBkbgBuYW4ASmFuAFRuAERuAGVudW0Ac3lzdGVtAGluaXRpYWxpemVGaWxlU3lzdGVtAHBhcnNlVGVtcGxhdGVQYXJhbQBiYXNpY19pb3N0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lzdHJlYW0ASnVsAHRsAGJvb2wAZ2V0U3ltYm9sAHVsbABjYWxsAEFwcmlsAExldmVsIG9mIGl0ZW0gdG8gYmUgdXBkYXRlZCBjYW5ub3QgYmUgYmlnZ2VyIHRoYW4gbWF4IGxldmVsAFRyeWluZyB0byBtYWtlIGEgbGluayBvbiBhIG5vbi1leGlzdGVudCBsZXZlbABlbXNjcmlwdGVuOjp2YWwAc3RyaW5nIGxpdGVyYWwAdW5tYXJrRGVsZXRlZEludGVybmFsAFVsAHBvcF9iYWNrAGRyb3BCYWNrAEZyaQBwaQBsaQBiYWRfYXJyYXlfbmV3X2xlbmd0aABieXRlTGVuZ3RoAGZhaWxlZCB0byBkZXRlcm1pbmUgYXR0cmlidXRlcyBmb3IgdGhlIHNwZWNpZmllZCBwYXRoAHNldEVmU2VhcmNoAGdldEVmU2VhcmNoAEJydXRlZm9yY2VTZWFyY2gATWFyY2gAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2RlbWFuZ2xlL1V0aWxpdHkuaAAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvZGVtYW5nbGUvU3RyaW5nVmlldy5oAC4vLi9zcmMvaG5zd2xpYi9obnN3YWxnLmgAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2RlbWFuZ2xlL0l0YW5pdW1EZW1hbmdsZS5oAC4vLi9zcmMvaG5zd2xpYi9icnV0ZWZvcmNlLmgAQXVnAHVuc2lnbmVkIGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nAHRlcm1pbmF0aW5nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAX191dWlkb2YAaW5mAFRyeWluZyB0byBjb25uZWN0IGFuIGVsZW1lbnQgdG8gaXRzZWxmAGhhbGYAJWFmACUuMExmACVMZgB0cnVlAFR1ZQBvcGVyYXRvciBkZWxldGUAdW5tYXJrRGVsZXRlAGZhbHNlAGRlY2x0eXBlAEp1bmUAY29zaW5lAGdldEJhc2VOYW1lACB2b2xhdGlsZQBDYW5ub3Qgb3BlbiBmaWxlAHdyaXRlQnVmZmVyVG9GaWxlAHdyaXRlU3RyaW5nVG9GaWxlAGdldEJ1ZmZlckZyb21GaWxlAGdldFN0cmluZ0Zyb21GaWxlAF9fY3hhX2RlbWFuZ2xlAGxvbmcgZG91YmxlAF9ibG9ja19pbnZva2UARm9yd2FyZFJlZi0+Z2V0S2luZCgpID09IE5vZGU6OktGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UAZGlzdGFuY2UASW5uZXJQcm9kdWN0U3BhY2UATDJTcGFjZQBUZQBzdGQATGFiZWwgbm90IGZvdW5kAHZvaWQAQXV0b1NhdmUgbm90IGVuYWJsZWQgb3Igbm90IGluaXRpYWxpemVkAGlzSW5kZXhJbml0aWFsaXplZABpc0luaXRpYWxpemVkAGxvY2FsZSBub3Qgc3VwcG9ydGVkAFRoZSByZXF1ZXN0ZWQgdG8gZGVsZXRlIGVsZW1lbnQgaXMgYWxyZWFkeSBkZWxldGVkAFRoZSByZXF1ZXN0ZWQgdG8gdW5kZWxldGUgZWxlbWVudCBpcyBub3QgZGVsZXRlZAB1bmV4cGVjdGVkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAAndW5uYW1lZABtdXRleCBsb2NrIGZhaWxlZABjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBoYXMgYmVlbiByZWFjaGVkAGUuIElEQkZTIGhhcyBzeW5jZWQAYy4gSURCRlMgaGFzIHN5bmNlZABpc1N5bmNlZABzZXRJZGJmc1N5bmNlZABXZWQAVW5rbm93biBlcnJvciAlZABmYWxsYmFja19tYWxsb2MAc3RkOjpiYWRfYWxsb2MAbWMAU2hvdWxkIGJlIG5vdCBiZSBtb3JlIHRoYW4gTV8gY2FuZGlkYXRlcyByZXR1cm5lZCBieSB0aGUgaGV1cmlzdGljAGdlbmVyaWMARGVjAHdiAHJiAEZlYgBzY2FuX2VoX3RhYgBVYgB3K2IAcitiAGErYgByd2EATm90IGVub3VnaCBtZW1vcnk6IGxvYWRJbmRleCBmYWlsZWQgdG8gYWxsb2NhdGUgZGF0YQBOb3QgZW5vdWdoIG1lbW9yeTogQnJ1dGVmb3JjZVNlYXJjaCBmYWlsZWQgdG8gYWxsb2NhdGUgZGF0YQAnbGFtYmRhACVhAGJhc2ljXwBvcGVyYXRvcl4Ab3BlcmF0b3IgbmV3W10Ab3BlcmF0b3JbXQBvcGVyYXRvciBkZWxldGVbXQBmaWxlc3lzdGVtIGVycm9yOiAlcyBbIiVzIl0AZmlsZXN5c3RlbSBlcnJvcjogJXMgWyIlcyJdIFsiJXMiXQBcAHBpeGVsIHZlY3RvclsAc1oAX19fX1oAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgASGllcmFyY2hpY2FsTlNXAGZwVAAkVFQAJFQARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGNhbGxpbmcgc3luY0ZTACVIOiVNOiVTAHNQAERPAHNyTgBfR0xPQkFMX19OAE5BTgAkTgBQTQBBTQBmTAAlTGFMAExDX0FMTABVYTllbmFibGVfaWZJAExBTkcASU5GAHZFAGFjdGlvbnMgJiBfVUFfQ0xFQU5VUF9QSEFTRQBhY3Rpb25zICYgX1VBX1NFQVJDSF9QSEFTRQBSRQBPRQBiMUUAYjBFAHJlc3VsdHMucmVhc29uID09IF9VUkNfSEFORExFUl9GT1VORABEQwBvcGVyYXRvcj8AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4Ab3BlcmF0b3I+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+ADxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ACwgc3RkOjphbGxvY2F0b3I8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4Ab3BlcmF0b3I+PgBvcGVyYXRvcjw9PgBvcGVyYXRvci0+AG9wZXJhdG9yfD0Ab3BlcmF0b3I9AG9wZXJhdG9yXj0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4+PQBvcGVyYXRvcj09AG9wZXJhdG9yPD0Ab3BlcmF0b3I8PD0Ab3BlcmF0b3IvPQBvcGVyYXRvci09AG9wZXJhdG9yKz0Ab3BlcmF0b3IqPQBvcGVyYXRvciY9AG9wZXJhdG9yJT0Ab3BlcmF0b3IhPQBvcGVyYXRvcjwAdGVtcGxhdGU8AGlkPABvcGVyYXRvcjw8AC48ACI8AFthYmk6ACBbZW5hYmxlX2lmOgBzdGQ6OgAwMTIzNDU2Nzg5AHVuc2lnbmVkIF9faW50MTI4AF9fZmxvYXQxMjgAZGVjaW1hbDEyOABDLlVURi04AGRlY2ltYWw2NABkZWNpbWFsMzIAX19neHhfcGVyc29uYWxpdHlfd2FzbTAATm90IGVub3VnaCBtZW1vcnk6IGxvYWRJbmRleCBmYWlsZWQgdG8gYWxsb2NhdGUgbGV2ZWwwAHJlaW50ZXJwcmV0X2Nhc3Q8c2l6ZV90PihwdHIpICUgUmVxdWlyZWRBbGlnbm1lbnQgPT0gMAByZWludGVycHJldF9jYXN0PHNpemVfdD4ocCArIDEpICUgUmVxdWlyZWRBbGlnbm1lbnQgPT0gMABvcGVyYXRvci8ARmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4LgBJbnZhbGlkIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBDdXN0b21GaWx0ZXJGdW5jdG9yLgBvcGVyYXRvci4ASW52YWxpZCB0aGUgZmlyc3QgYXJndW1lbnQgdHlwZSwgbXVzdCBiZSBhIG51bWJlci4AVGhlIG51bWJlciBvZiB2ZWN0b3JzIGFuZCBpZHMgbXVzdCBiZSB0aGUgc2FtZS4AU2VhcmNoIGluZGV4IGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCwgY2FsbCBgaW5pdEluZGV4YCBpbiBhZHZhbmNlLgBDYW4ndCB1c2UgYWRkUG9pbnQgdG8gdXBkYXRlIGRlbGV0ZWQgZWxlbWVudHMgaWYgcmVwbGFjZW1lbnQgb2YgZGVsZXRlZCBlbGVtZW50cyBpcyBlbmFibGVkLgBUaGUgbnVtYmVyIG9mIHZlY3RvcnMgYW5kIGlkcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLgBkLiBDYWxsaW5nIHN5bmMgY2FsbGJhY2suLi4Ac2l6ZW9mLi4uAGEuIHN0YXJ0IHN5bmNGUy4uLgBJbnZhbGlkIHRoZSBudW1iZXIgb2Ygay1uZWFyZXN0IG5laWdoYm9ycyAobXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcikuAG9wZXJhdG9yLQAtaW4tAG9wZXJhdG9yLS0Ab3BlcmF0b3IsAHcrAG9wZXJhdG9yKwBhKwBvcGVyYXRvcisrAG9wZXJhdG9yKgBvcGVyYXRvci0+KgA6OioAb3BlcmF0b3IuKgBkZWNsdHlwZShhdXRvKQAobnVsbCkAKGFub255bW91cyBuYW1lc3BhY2UpAGFjdGlvbnMgJiAoX1VBX1NFQVJDSF9QSEFTRSB8IF9VQV9GT1JDRV9VTldJTkQpAGFjdGlvbnMgJiAoX1VBX1NFQVJDSF9QSEFTRSB8IF9VQV9IQU5ETEVSX0ZSQU1FIHwgX1VBX0ZPUkNFX1VOV0lORCkAUGFyc2VyLkZvcndhcmRUZW1wbGF0ZVJlZnMuZW1wdHkoKQAhZW1wdHkoKQBvcGVyYXRvcigpAEZyb21Qb3NpdGlvbiA8PSBOYW1lcy5zaXplKCkAU1Yuc3RhcnRzV2l0aCgiYmFzaWNfIikAICgAJ2Jsb2NrLWxpdGVyYWwnAG9wZXJhdG9yJgBvcGVyYXRvciYmACAmJgAgJgBvcGVyYXRvciUAPiIAKGJhc2UgIT0gMCkgJiYgIkRXX0VIX1BFX2RhdGFyZWwgaXMgaW52YWxpZCB3aXRoIGEgYmFzZSBvZiAwIgBSZXMuc3RhcnRzV2l0aCgib3BlcmF0b3IiKSAmJiAib3BlcmF0b3IgbmFtZSBkb2VzIG5vdCBzdGFydCB3aXRoICdvcGVyYXRvciciAEluZGV4IDwgc2l6ZSgpICYmICJJbnZhbGlkIGFjY2VzcyEiAExhc3QgIT0gRmlyc3QgJiYgIkNhbGxpbmcgYmFjaygpIG9uIGVtcHR5IHZlY3RvciEiAExhc3QgIT0gRmlyc3QgJiYgIlBvcHBpbmcgZW1wdHkgdmVjdG9yISIASW5kZXggPD0gc2l6ZSgpICYmICJkcm9wQmFjaygpIGNhbid0IGV4cGFuZCEiAG9wZXJhdG9yIQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBJbnZhbGlkIHZlY3RvciBzaXplIGF0IGluZGV4IAB0aHJvdyAAbm9leGNlcHQgACwgYnV0IGdvdCAAIGF0IG9mZnNldCAAQ291bGQgbm90IGFkZFBvaW50cyAAQ291bGQgbm90IG1hcmtEZWxldGVJdGVtcyAAQ291bGQgbm90IGFkZEl0ZW1zIABJbnZhbGlkIHZlY3RvciBzaXplLiBNdXN0IGJlIGVxdWFsIHRvIHRoZSBkaW1lbnNpb24gb2YgdGhlIHNwYWNlLiBUaGUgZGltZW5zaW9uIG9mIHRoZSBzcGFjZSBpcyAAb3BlcmF0b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgZm9yIAB0ZW1wbGF0ZSBwYXJhbWV0ZXIgb2JqZWN0IGZvciAAdHlwZWluZm8gZm9yIAB0aHJlYWQtbG9jYWwgd3JhcHBlciByb3V0aW5lIGZvciAAdGhyZWFkLWxvY2FsIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAGd1YXJkIHZhcmlhYmxlIGZvciAAVlRUIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGludm9jYXRpb24gZnVuY3Rpb24gZm9yIGJsb2NrIGluIABMb29waW5nIENoZWNrIDo6IEluZGV4IHNlZW1zIHRvIGJlIGNvcnJ1cHRlZCBvciB1bnN1cHBvcnRlZCwgd2l0aCB0ZWxsZyBhbmQgdG90YWxfZmlsZXNpemUgcmVzdWx0aW5nIGluIABPdXRzaWRlIENoZWNrIDo6IEluZGV4IHNlZW1zIHRvIGJlIGNvcnJ1cHRlZCBvciB1bnN1cHBvcnRlZCwgd2l0aCB0ZWxsZyBhbmQgdG90YWxfZmlsZXNpemUgcmVzdWx0aW5nIGluIABhbGlnbm9mIABzaXplb2YgAD4gdHlwZW5hbWUgAGluaXRpYWxpemVyIGZvciBtb2R1bGUgACBhbmQgAHR5cGVpZCAASW52YWxpZCB0aGUgZ2l2ZW4gYXJyYXkgbGVuZ3RoIChleHBlY3RlZCAAdW5zaWduZWQgACA/IAAgPSAARmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4OiAARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IGZpbGUgZG9lcyBub3QgZXhpc3Q6IABGYWlsZWQgdG8gbm9ybWFsaXplIHRoZSBwb2ludCwgY2hlY2sgdmVjdG9yIGRpbWVuc2lvbnM6IABGYWlsZWQgdG8gY2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb246IABsaWJjKythYmk6IABUaGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgaGFzIGJlZW4gcmVhY2hlZCBpbiBpbmRleCwgcGxlYXNlIGluY3JlYXNlZCB0aGUgaW5kZXggbWF4X3NpemUuICBtYXhfc2l6ZTogAFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gLCBwbGVhc2UgaW5jcmVhc2VkIHRoZSBpbmRleCBtYXhfc2l6ZS4gIG1heF9zaXplOiAAaW52YWxpZCBzcGFjZSBzaG91bGQgYmUgZXhwZWN0ZWQgbDIsIGlwLCBvciBjb3NpbmUsIG5hbWU6IABJbnZhbGlkIHRoZSBudW1iZXIgb2Ygay1uZWFyZXN0IG5laWdoYm9ycyAoY2Fubm90IGJlIGdpdmVuIGEgdmFsdWUgZ3JlYXRlciB0aGFuIGBtYXhFbGVtZW50c2A6IABITlNXTElCIEVSUk9SOiAAIDogAHNpemVvZi4uLiAAIC4uLiAALCAAb3BlcmF0b3IiIiAAVGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGhhcyBiZWVuIHJlYWNoZWQgaW4gaW5kZXgsIHBsZWFzZSBpbmNyZWFzZWQgdGhlIGluZGV4IG1heF9zaXplLiAgbWF4X3NpemU6ICV6dQoAVGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBpbmRleCBoYXMgYmVlbiByZWFjaGVkLiAsIHBsZWFzZSBpbmNyZWFzZWQgdGhlIGluZGV4IG1heF9zaXplLiAgbWF4X3NpemU6ICV6dQoATG9hZGVkOiBtYXhfZWxlbWVudHM6ICVsdSwgc2l6ZV9kYXRhX3Blcl9lbGVtZW50OiAlbHUsIGxhYmVsX29mZnNldDogJWx1LCBvZmZzZXREYXRhOiAlbHUsIG1heGxldmVsOiAlbHUsIGVudGVycG9pbnRfbm9kZTogJWx1LCBtYXhNOiAlbHUsIG1heE0wOiAlbHUsIE06ICVsdSwgbXVsdDogJWx1LCBlZl9jb25zdHJ1Y3Rpb246ICVsdQoAVGhlIG51bWJlciBvZiBlbGVtZW50cyBleGNlZWRzIHRoZSBzcGVjaWZpZWQgbGltaXQKAExvYWRlZCBpbmRleCBmcm9tIGZpbGUgaW4gJWxkIG1zCgBDb3VsZCBub3QgbWFya0RlbGV0ZUl0ZW1zICVzCgBDb3VsZCBub3QgYWRkSXRlbXMgJXMKAEVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciA6OiBjcmVhdGluZyBkaXJlY3Rvcnk6ICVzCgBCcnV0ZWZvcmNlU2VhcmNoIDo6IGNyZWF0aW5nIGRpcmVjdG9yeTogJXMKAEhpZXJhcmNoaWNhbE5TVyA6OiBjcmVhdGluZyBkaXJlY3Rvcnk6ICVzCgBCcnV0ZWZvcmNlU2VhcmNoIDo6IHdyaXRpbmcgaW5kZXg6ICVzCgBIaWVyYXJjaGljYWxOU1cgOjogd3JpdGluZyBpbmRleDogJXMKAEZhaWxlZCB0byByZWFkIHRoZSBpbmRleDogJXMKAEVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciA6OiB3cml0dGVuIGZpbGU6ICVzLCBpbiBsb2NhdGlvbjogJXMsIGRvbmUsIGNvc3Q6ICVzCgBGYWlsZWQgdG8gbm9ybWFsaXplIHRoZSBwb2ludCwgY2hlY2sgdmVjdG9yIGRpbWVuc2lvbnM6ICVzCgBIaWVyYXJjaGljYWxOU1cgOjogcmVhZEluZGV4IGZpbGVuYW1lOiAlcywgcmVhc29uOiAlcwoARmFpbGVkIHRvIGNhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uOiAlcwoARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IHdyaXRpbmcgZmlsZTogJXMsIGluIGxvY2F0aW9uOiAlcwoARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IHJlYWRpbmcgZmlsZTogJXMsIGluIGxvY2F0aW9uOiAlcwoAV3JpdGVJbmRleCBmaWxlbmFtZTogJXMKAEF1dG9TYXZlIGZpbGVuYW1lOiAlcwoAaW52YWxpZCBzcGFjZSBzaG91bGQgYmUgZXhwZWN0ZWQgbDIsIGlwLCBvciBjb3NpbmUsIG5hbWU6ICVzCgBITlNXTElCIEVSUk9SOiAlcwoASW52YWxpZCB2ZWN0b3Igc2l6ZSBhdCBpbmRleCAlenUuIE11c3QgYmUgZXF1YWwgdG8gdGhlIGRpbWVuc2lvbiBvZiB0aGUgc3BhY2UuIFRoZSBkaW1lbnNpb24gb2YgdGhlIHNwYWNlIGlzICVkLgoASW52YWxpZCB2ZWN0b3Igc2l6ZS4gTXVzdCBiZSBlcXVhbCB0byB0aGUgZGltZW5zaW9uIG9mIHRoZSBzcGFjZS4gVGhlIGRpbWVuc2lvbiBvZiB0aGUgc3BhY2UgaXMgJWQuCgBJbnZhbGlkIHRoZSBnaXZlbiBhcnJheSBsZW5ndGggKGV4cGVjdGVkICVsdSwgYnV0IGdvdCAlenUpLgoASW52YWxpZCB0aGUgbnVtYmVyIG9mIGstbmVhcmVzdCBuZWlnaGJvcnMgKGNhbm5vdCBiZSBnaXZlbiBhIHZhbHVlIGdyZWF0ZXIgdGhhbiBgbWF4RWxlbWVudHNgOiAlenUpLgoAAAAAgIoAALAuAABOMTBlbXNjcmlwdGVuM3ZhbEUAAESLAACcLgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAABEiwAAuC4AALAuAACwLgAAaWlpAE4xMGVtc2NyaXB0ZW43TDJTcGFjZUUAAESLAADsLgAAUE4xMGVtc2NyaXB0ZW43TDJTcGFjZUUAJIwAAAwvAAAAAAAABC8AAFBLTjEwZW1zY3JpcHRlbjdMMlNwYWNlRQAAAAAkjAAANC8AAAEAAAAELwAAaWkAdgB2aQAkLwAA7IoAAAAAAADILwAAdQAAAHYAAAB3AAAAeAAAAHkAAABON2huc3dsaWI3TDJTcGFjZUUATjdobnN3bGliMTRTcGFjZUludGVyZmFjZUlmRUUAAAAARIsAAJ8vAABsiwAAjC8AAMAvAEHg3wALggIoiwAAJC8AALAuAACwLgAAZmlpaWkAAADsigAAJC8AAE4xMGVtc2NyaXB0ZW4xN0lubmVyUHJvZHVjdFNwYWNlRQAAAESLAAAAMAAAUE4xMGVtc2NyaXB0ZW4xN0lubmVyUHJvZHVjdFNwYWNlRQAAJIwAACwwAAAAAAAAJDAAAFBLTjEwZW1zY3JpcHRlbjE3SW5uZXJQcm9kdWN0U3BhY2VFACSMAABgMAAAAQAAACQwAABQMAAA7IoAAAAAAADYMAAAegAAAHsAAAB8AAAAeAAAAH0AAABON2huc3dsaWIxN0lubmVyUHJvZHVjdFNwYWNlRQAAAGyLAAC4MAAAwC8AQfDhAAu1BSiLAABQMAAAsC4AALAuAADsigAAUDAAAAAAAABgMQAAfgAAAE4xMGVtc2NyaXB0ZW4xOUN1c3RvbUZpbHRlckZ1bmN0b3JFAE43aG5zd2xpYjE3QmFzZUZpbHRlckZ1bmN0b3JFAAAARIsAADgxAABsiwAAFDEAAFgxAACYigAAsC4AAASLAABQTjEwZW1zY3JpcHRlbjE5Q3VzdG9tRmlsdGVyRnVuY3RvckUAAAAAJIwAAHgxAAAAAAAAYDEAAFBLTjEwZW1zY3JpcHRlbjE5Q3VzdG9tRmlsdGVyRnVuY3RvckUAAAAkjAAAsDEAAAEAAABgMQAAoDEAALAuAACYigAAoDEAAASLAABpaWlpAE4xMGVtc2NyaXB0ZW4xNkJydXRlZm9yY2VTZWFyY2hFAAAARIsAAAEyAABQTjEwZW1zY3JpcHRlbjE2QnJ1dGVmb3JjZVNlYXJjaEUAAAAkjAAALDIAAAAAAAAkMgAAUEtOMTBlbXNjcmlwdGVuMTZCcnV0ZWZvcmNlU2VhcmNoRQAAJIwAAGAyAAABAAAAJDIAAFAyAADgMgAA7IoAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAABEiwAAoDIAAICKAABQMgAA7IoAAHZpaWkAAAAAAAAAAGgzAAB/AAAAgAAAAIEAAACCAAAAgwAAAIQAAABON2huc3dsaWIxNkJydXRlZm9yY2VTZWFyY2hJZkVFAE43aG5zd2xpYjE4QWxnb3JpdGhtSW50ZXJmYWNlSWZFRQAAAESLAAA8MwAAbIsAABwzAABgMwAAAAAAALAuAABQMgAAgIoAAFAyAADgMgAAAAAAAICKAABQMgAAsC4AAOyKAAB2aWlpaQBBsOcAC7IBsC4AAFAyAACwLgAA7IoAALAuAABpaWlpaWkAAOyKAABQMgAATjEwZW1zY3JpcHRlbjE1SGllcmFyY2hpY2FsTlNXRQBEiwAA1DMAAFBOMTBlbXNjcmlwdGVuMTVIaWVyYXJjaGljYWxOU1dFAAAAACSMAAD8MwAAAAAAAPQzAABQS04xMGVtc2NyaXB0ZW4xNUhpZXJhcmNoaWNhbE5TV0UAAAAkjAAAMDQAAAEAAAD0MwBB8OgACxUgNAAA4DIAAOyKAADgMgAAaWlpaWkAQZDpAAtygIoAACA0AADsigAA7IoAAOyKAADsigAAdmlpaWlpaQAAAAAA8DQAAIUAAACGAAAAgQAAAIcAAACIAAAAiQAAAE43aG5zd2xpYjE1SGllcmFyY2hpY2FsTlNXSWZFRQAAbIsAANA0AABgMwAAsC4AACA0AEGQ6gALMoCKAAAgNAAA4DIAAOyKAACAigAAIDQAAOAyAACAigAAIDQAAOyKAACwLgAAIDQAAOyKAEHQ6gALkgGAigAAIDQAALAuAADsigAAmIoAAHZpaWlpaQAAAAAAAICKAAAgNAAAsC4AALAuAACYigAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAABEiwAAhDUAAAAAAACwLgAAIDQAALAuAACYigAAsC4AACA0AADgigAAIDQAAICKAAAgNAAAsC4AAOyKAABUNABB8OsAC4ICsC4AACA0AACwLgAA7IoAALAuAACAigAAmIoAAHZpaQBOMTBlbXNjcmlwdGVuMjdFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXJFAESLAAAQNgAAUE4xMGVtc2NyaXB0ZW4yN0Vtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlckUAAAAAJIwAAEQ2AAAAAAAAPDYAAFBLTjEwZW1zY3JpcHRlbjI3RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyRQAAACSMAACENgAAAQAAADw2AAB0NgAAgIoAAOAyAABpaQAAmIoAAICKAACYigAAsC4AAJiKAADgMgAA4DIAAOAyAEGA7gAL8SeAigAA4DIAAOAyAACwLgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAABEiwAAEDcAALAuAADgMgAAgIoAAOAyAACwLgAAsC4AALAuAACwLgAAsC4AAICKAACwLgAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAAESLAABkNwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAESLAACsNwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAABEiwAA9DcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAARIsAAEA4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAESLAACMOAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAABEiwAAtDgAAE4x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Z29yeUUAAABsiwAA9FEAAIyIAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAN4SBJUAAAAA////////////////UFQAABQAAABDLlVURi04AEGgqQELAmRUAEHAqQELSkxDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTABBXAEGUrgEL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAA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X18yMTRfX3NoYXJlZF9jb3VudEUAAAAARIsAABR8AAAAAAAAdHwAAM8BAADSAQAA0QEAANMBAADRAQAATlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAADIiwAAVHwAAAAAAAABAAAAMHwAQZD5AQvZEMx8AADUAQAA1QEAANYBAABOU3QzX18yNF9fZnMxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3JFAGyLAACgfAAARIgAAAAAAABYfQAA1wEAANgBAADZAQAA0wEAANoBAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU180X19mczEwZmlsZXN5c3RlbTE2ZmlsZXN5c3RlbV9lcnJvcjhfU3RvcmFnZUVOU185YWxsb2NhdG9ySVM0X0VFRUUAbIsAAPR8AAB0fAAABgUIAggECAEIAwgHTm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9j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jgAAlAAAAAkCAAAKAgAAU3Q5dHlwZV9pbmZvAAAAAESLAAAYjgAAU3Q4YmFkX2Nhc3QAbIsAADCOAACEjAAA/P/////////8//////////7//////////P/////////4//////////z//////////P/////////8//////////z//////////P/////////+//////////z/////////+P////////8AAAAAPI8AAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABECAAASAgAAEwIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExU3BlY2lhbE5hbWVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTROb2RlRQBEiwAADI8AAGyLAADcjgAANI8AAAAAAAA0jwAACwIAAAwCAAANAgAADgIAANEBAAAQAgAAEQIAABICAAAUAgAAAAAAANyPAAALAgAADAIAAA0CAAAOAgAAFQIAABACAAARAgAAEgIAABYCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMUN0b3JWdGFibGVTcGVjaWFsTmFtZUUAAABsiwAAoI8AADSPAAAAAAAAQJAAAAsCAAAMAgAADQIAAA4CAAAXAgAAEAIAABgCAAASAgAAGQIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThOYW1lVHlwZUUAbIsAABSQAAA0jwAAAAAAAKiQAAALAgAADAIAAA0CAAAOAgAAGgIAABACAAARAgAAEgIAABsCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME1vZHVsZU5hbWVFAABsiwAAeJAAADSPAAAAAAAAIJEAABwCAAAdAgAAHgIAAB8CAAAgAgAAIQIAABECAAASAgAAIgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTI0Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlRQAAAABsiwAA4JAAADSPAAAAAAAAYU4CIogbAABhUwIiDhsAAGFhAhyhIAAAYWQABJcgAABhbgIWlyAAAGF0DAUVJQAAYXcKADgIAABhegwEFSUAAGNjCwIiBwAAY2wHAkQgAABjbQIkLh8AAGNvAASsBAAAY3YIBpoLAABkVgIiXBsAAGRhBgVOFgAAZGMLAlgHAABkZQAEUx8AAGRsBgQKEgAAZHMECG0fAABkdAQCUB0AAGR2AiL5HAAAZU8CIhgbAABlbwIYKhYAAGVxAhQ6GwAAZ2UCEiMbAABndAISshkAAGl4AwJDFgAAbFMCIlAbAABsZQISRRsAAGxzAg7BGwAAbHQCEqkbAABtSQIiZxsAAG1MAiJ9GwAAbWkCDBQfAABtbAIKUx8AAG1tAQIjHwAAbmEFBTQWAABuZQIUnhsAAG5nAAQUHwAAbnQABPkhAABudwUENQYAAG9SAiIDGwAAb28CHrwEAABvcgIaxwQAAHBMAiJyGwAAcGwCDDsfAABwbQQIXR8AAHBwAQJIHwAAcHMABDsfAABwdAQD+BoAAHF1CSD1FwAAck0CIpMbAAByUwIiLhsAAHJjCwItBwAAcm0CCrMgAABycwIO4RoAAHNjCwJMBwAAc3MCEOwaAABzdAwFHiUAAHN6DAQeJQAAdGUMAlAlAAB0aQwDUCUAAAAAAAB8kwAACwIAAAwCAAANAgAADgIAACMCAAAQAgAAEQIAABICAAAkAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBCaW5hcnlFeHByRQAAbIsAAEyTAAA0jwAAAAAAAOSTAAALAgAADAIAAA0CAAAOAgAAJQIAABACAAARAgAAEgIAACYCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFByZWZpeEV4cHJFAABsiwAAtJMAADSPAAAAAAAATJQAAAsCAAAMAgAADQIAAA4CAAAnAgAAEAIAABECAAASAgAAKAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExUG9zdGZpeEV4cHJFAGyLAAAclAAANI8AAAAAAAC8lAAACwIAAAwCAAANAgAADgIAACkCAAAQAgAAEQIAABICAAAqAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMThBcnJheVN1YnNjcmlwdEV4cHJFAABsiwAAhJQAADSPAAAAAAAAJJUAAAsCAAAMAgAADQIAAA4CAAArAgAAEAIAABECAAASAgAALAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTWVtYmVyRXhwckUAAGyLAAD0lAAANI8AAAAAAACIlQAACwIAAAwCAAANAgAADgIAAC0CAAAQAgAAEQIAABICAAAuAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlN05ld0V4cHJFAABsiwAAXJUAADSPAAAAAAAA8JUAAAsCAAAMAgAADQIAAA4CAAAvAgAAEAIAABECAAASAgAAMAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwRGVsZXRlRXhwckUAAGyLAADAlQAANI8AAAAAAABUlgAACwIAAAwCAAANAgAADgIAADECAAAQAgAAEQIAABICAAAyAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOENhbGxFeHByRQBsiwAAKJYAADSPAAAAAAAAwJYAAAsCAAAMAgAADQIAAA4CAAAzAgAAEAIAABECAAASAgAANAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0Q29udmVyc2lvbkV4cHJFAABsiwAAjJYAADSPAAAAAAAALJcAAAsCAAAMAgAADQIAAA4CAAA1AgAAEAIAABECAAASAgAANgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1Q29uZGl0aW9uYWxFeHByRQBsiwAA+JYAADSPAAAAAAAAkJcAAAsCAAAMAgAADQIAAA4CAAA3AgAAEAIAABECAAASAgAAOAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThDYXN0RXhwckUAbIsAAGSXAAA0jwAAAAAAAPyXAAALAgAADAIAAA0CAAAOAgAAOQIAABACAAARAgAAEgIAADoCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0VuY2xvc2luZ0V4cHJFAAAAbIsAAMiXAAA0jwAAAAAAAGiYAAALAgAADAIAAA0CAAAOAgAAOwIAABACAAARAgAAEgIAADwCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNEludGVnZXJMaXRlcmFsRQAAbIsAADSYAAA0jwAAAAAAAMyYAAALAgAADAIAAA0CAAAOAgAAPQIAABACAAARAgAAEgIAAD4CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFAGyLAACgmAAANI8AAAAAAAA8mQAACwIAAAwCAAANAgAADgIAAD8CAAAQAgAAEQIAABICAABAAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGbG9hdExpdGVyYWxJbXBsSWZFRQBsiwAABJkAADSPAAAAAAAArJkAAAsCAAAMAgAADQIAAA4CAABBAgAAEAIAABECAAASAgAAQgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElkRUUAbIsAAHSZAAA0jwAAAAAAAByaAAALAgAADAIAAA0CAAAOAgAAQwIAABACAAARAgAAEgIAAEQCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZsb2F0TGl0ZXJhbEltcGxJZUVFAGyLAADkmQAANI8AAAAAAACImgAACwIAAAwCAAANAgAADgIAAEUCAAAQAgAAEQIAABICAABGAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNTdHJpbmdMaXRlcmFsRQAAAGyLAABUmgAANI8AAAAAAAD0mgAACwIAAAwCAAANAgAADgIAAEcCAAAQAgAAEQIAABICAABIAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVVbm5hbWVkVHlwZU5hbWVFAGyLAADAmgAANI8AAAAAAABsmwAACwIAAAwCAAANAgAADgIAAEkCAAAQAgAAEQIAABICAABKAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjZTeW50aGV0aWNUZW1wbGF0ZVBhcmFtTmFtZUUAAGyLAAAsmwAANI8AAAAAAADgmwAACwIAAAwCAAANAgAADgIAAEsCAABMAgAAEQIAABICAABNAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjFUeXBlVGVtcGxhdGVQYXJhbURlY2xFAAAAbIsAAKSbAAA0jwAAAAAAAFicAAALAgAADAIAAA0CAAAOAgAATgIAAE8CAAARAgAAEgIAAFACAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyNE5vblR5cGVUZW1wbGF0ZVBhcmFtRGVjbEUAAAAAbIsAABicAAA0jwAAAAAAANCcAAALAgAADAIAAA0CAAAOAgAAUQIAAFICAAARAgAAEgIAAFMCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyNVRlbXBsYXRlVGVtcGxhdGVQYXJhbURlY2xFAAAAbIsAAJCcAAA0jwAAAAAAAESdAAALAgAADAIAAA0CAAAOAgAAVAIAAFUCAAARAgAAEgIAAFYCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVRlbXBsYXRlUGFyYW1QYWNrRGVjbEUAAABsiwAACJ0AADSPAAAAAAAAsJ0AAAsCAAAMAgAADQIAAA4CAABXAgAAEAIAABECAAASAgAAWAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1Q2xvc3VyZVR5cGVOYW1lRQBsiwAAfJ0AADSPAAAAAAAAGJ4AAAsCAAAMAgAADQIAAA4CAABZAgAAEAIAABECAAASAgAAWgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTGFtYmRhRXhwckUAAGyLAADonQAANI8AAAAAAACAngAACwIAAAwCAAANAgAADgIAAFsCAAAQAgAAEQIAABICAABcAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTFFbnVtTGl0ZXJhbEUAbIsAAFCeAAA0jwAAAAAAAOyeAAALAgAADAIAAA0CAAAOAgAAXQIAABACAAARAgAAEgIAAF4CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0Z1bmN0aW9uUGFyYW1FAAAAbIsAALieAAA0jwAAAAAAAFCfAAALAgAADAIAAA0CAAAOAgAAXwIAABACAAARAgAAEgIAAGACAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Rm9sZEV4cHJFAGyLAAAknwAANI8AAAAAAADEnwAACwIAAAwCAAANAgAADgIAAGECAAAQAgAAEQIAABICAABiAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJQYXJhbWV0ZXJQYWNrRXhwYW5zaW9uRQAAbIsAAIifAAA0jwAAAAAAACygAAALAgAADAIAAA0CAAAOAgAAYwIAABACAAARAgAAEgIAAGQCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEJyYWNlZEV4cHJFAABsiwAA/J8AADSPAAAAAAAAmKAAAAsCAAAMAgAADQIAAA4CAABlAgAAEAIAABECAAASAgAAZgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1QnJhY2VkUmFuZ2VFeHByRQBsiwAAZKAAADSPAAAAAAAABKEAAAsCAAAMAgAADQIAAA4CAABnAgAAEAIAABECAAASAgAAaAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEySW5pdExpc3RFeHByRQAAAABsiwAA0KAAADSPAAAAAAAAgKEAAAsCAAAMAgAADQIAAA4CAABpAgAAEAIAABECAAASAgAAagIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTI5UG9pbnRlclRvTWVtYmVyQ29udmVyc2lvbkV4cHJFAAAAbIsAADyhAAA0jwAAAAAAAOyhAAALAgAADAIAAA0CAAAOAgAAawIAABACAAARAgAAEgIAAGwCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1N1Ym9iamVjdEV4cHJFAAAAbIsAALihAAA0jwAAAAAAAFyiAAALAgAADAIAAA0CAAAOAgAAbQIAABACAAARAgAAEgIAAG4CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVNpemVvZlBhcmFtUGFja0V4cHJFAGyLAAAkogAANI8AAAAAAADIogAACwIAAAwCAAANAgAADgIAAG8CAAAQAgAAEQIAABICAABwAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNOb2RlQXJyYXlOb2RlRQAAAGyLAACUogAANI8AAAAAAAAwowAACwIAAAwCAAANAgAADgIAAHECAAAQAgAAEQIAABICAAByAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUAAAAAbIsAAACjAAA0jwAAAAAAAJyjAAALAgAADAIAAA0CAAAOAgAAcwIAABACAAB0AgAAEgIAAHUCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1F1YWxpZmllZE5hbWVFAAAAbIsAAGijAAA0jwAAAAAAAACkAAALAgAADAIAAA0CAAAOAgAAdgIAABACAAARAgAAEgIAAHcCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4RHRvck5hbWVFAGyLAADUowAANI8AAAAAAAB0pAAACwIAAAwCAAANAgAADgIAAHgCAAAQAgAAEQIAABICAAB5AgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJDb252ZXJzaW9uT3BlcmF0b3JUeXBlRQAAbIsAADikAAA0jwAAAAAAAOCkAAALAgAADAIAAA0CAAAOAgAAegIAABACAAARAgAAEgIAAHsCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAbIsAAKykAAA0jwAAAAAAAFClAAALAgAADAIAAA0CAAAOAgAAfAIAABACAAB9AgAAEgIAAH4CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFAGyLAAAYpQAANI8AAAAAAAAMpgAACwIAAAwCAAANAgAADgIAAH8CAAAQAgAAgAIAABICAACBAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTlTcGVjaWFsU3Vic3RpdHV0aW9uRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyN0V4cGFuZGVkU3BlY2lhbFN1YnN0aXR1dGlvbkUAbIsAAMClAAA0jwAAbIsAAIilAAAApgAAAAAAAACmAAALAgAADAIAAA0CAAAOAgAAggIAABACAACDAgAAEgIAAIQCAAAAAAAAoKYAAAsCAAAMAgAADQIAAA4CAACFAgAAEAIAABECAAASAgAAhgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQWJpVGFnQXR0ckUAAGyLAABwpgAANI8AAAAAAAAUpwAACwIAAAwCAAANAgAADgIAAIcCAAAQAgAAEQIAABICAACIAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjFTdHJ1Y3R1cmVkQmluZGluZ05hbWVFAAAAbIsAANimAAA0jwAAAAAAAICnAAALAgAADAIAAA0CAAAOAgAAiQIAABACAAARAgAAEgIAAIoCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMkN0b3JEdG9yTmFtZUUAAAAAbIsAAEynAAA0jwAAAAAAAOynAAALAgAADAIAAA0CAAAOAgAAiwIAABACAACMAgAAEgIAAI0CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMk1vZHVsZUVudGl0eUUAAAAAbIsAALinAAA0jwAAAAAAAFSoAAALAgAADAIAAA0CAAAOAgAAjgIAABACAACPAgAAEgIAAJACAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME5lc3RlZE5hbWVFAABsiwAAJKgAADSPAAAAAAAAvKgAAAsCAAAMAgAADQIAAA4CAACRAgAAEAIAABECAAASAgAAkgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlMb2NhbE5hbWVFAAAAAGyLAACMqAAANI8AAAAAAAAoqQAAkwIAAJQCAACVAgAAlgIAAJcCAACYAgAAEQIAABICAACZAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNQYXJhbWV0ZXJQYWNrRQAAAGyLAAD0qAAANI8AAAAAAACUqQAACwIAAAwCAAANAgAADgIAAJoCAAAQAgAAEQIAABICAACbAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJUZW1wbGF0ZUFyZ3NFAAAAAGyLAABgqQAANI8AAAAAAAAIqgAACwIAAAwCAAANAgAADgIAAJwCAAAQAgAAnQIAABICAACeAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBOYW1lV2l0aFRlbXBsYXRlQXJnc0UAAAAAbIsAAMypAAA0jwAAAAAAAHyqAAALAgAADAIAAA0CAAAOAgAAnwIAABACAAARAgAAEgIAAKACAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFRlbXBsYXRlQXJndW1lbnRQYWNrRQAAAABsiwAAQKoAADSPAAAAAAAA6KoAAAsCAAAMAgAADQIAAA4CAAChAgAAEAIAABECAAASAgAAogIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRW5hYmxlSWZBdHRyRQAAAABsiwAAtKoAADSPAAAAAAAAWKsAAKMCAAAMAgAApAIAAA4CAAClAgAApgIAABECAAASAgAApwIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RnVuY3Rpb25FbmNvZGluZ0UAAAAAbIsAACCrAAA0jwAAAAAAAMCrAAALAgAADAIAAA0CAAAOAgAAqAIAABACAAARAgAAEgIAAKkCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5RG90U3VmZml4RQAAAABsiwAAkKsAADSPAAAAAAAALKwAAAsCAAAMAgAADQIAAA4CAACqAgAAEAIAABECAAASAgAAqwIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyTm9leGNlcHRTcGVjRQAAAABsiwAA+KsAADSPAAAAAAAAoKwAAAsCAAAMAgAADQIAAA4CAACsAgAAEAIAABECAAASAgAArQIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwRHluYW1pY0V4Y2VwdGlvblNwZWNFAAAAAGyLAABkrAAANI8AAAAAAAAMrQAArgIAAAwCAACvAgAADgIAALACAACxAgAAEQIAABICAACyAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJGdW5jdGlvblR5cGVFAAAAAGyLAADYrAAANI8AAAAAAAB4rQAACwIAAAwCAAANAgAADgIAALMCAAAQAgAAEQIAABICAAC0AgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNPYmpDUHJvdG9OYW1lRQAAAGyLAABErQAANI8AAAAAAADorQAACwIAAAwCAAANAgAADgIAALUCAAAQAgAAEQIAABICAAC2AgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTdWZW5kb3JFeHRRdWFsVHlwZUUAAABsiwAAsK0AADSPAAAAAAAATK4AALcCAAC4AgAAuQIAAA4CAAC6AgAAuwIAABECAAASAgAAvAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThRdWFsVHlwZUUAbIsAACCuAAA0jwAAAAAAALiuAAALAgAADAIAAA0CAAAOAgAAvQIAABACAAARAgAAEgIAAL4CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMkJpbmFyeUZQVHlwZUUAAAAAbIsAAISuAAA0jwAAAAAAACCvAAALAgAADAIAAA0CAAAOAgAAvwIAABACAAARAgAAEgIAAMACAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEJpdEludFR5cGVFAABsiwAA8K4AADSPAAAAAAAAjK8AAAsCAAAMAgAADQIAAA4CAADBAgAAEAIAABECAAASAgAAwgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1UGl4ZWxWZWN0b3JUeXBlRQBsiwAAWK8AADSPAAAAAAAA9K8AAAsCAAAMAgAADQIAAA4CAADDAgAAEAIAABECAAASAgAAxAIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwVmVjdG9yVHlwZUUAAGyLAADErwAANI8AAAAAAABcsAAAxQIAAMYCAAANAgAADgIAAMcCAADIAgAAEQIAABICAADJAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOUFycmF5VHlwZUUAAAAAbIsAACywAAA0jwAAAAAAAMywAADKAgAADAIAAA0CAAAOAgAAywIAAMwCAAARAgAAEgIAAM0CAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVBvaW50ZXJUb01lbWJlclR5cGVFAGyLAACUsAAANI8AAAAAAABAsQAACwIAAAwCAAANAgAADgIAAM4CAAAQAgAAEQIAABICAADPAgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJFbGFib3JhdGVkVHlwZVNwZWZUeXBlRQAAbIsAAASxAAA0jwAAAAAAAKixAADQAgAADAIAAA0CAAAOAgAA0QIAANICAAARAgAAEgIAANMCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvaW50ZXJUeXBlRQBsiwAAeLEAADSPAAAAAAAAFLIAANQCAAAMAgAADQIAAA4CAADVAgAA1gIAABECAAASAgAA1wIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzUmVmZXJlbmNlVHlwZUUAAABsiwAA4LEAADSPAAAAAAAAiLIAAAsCAAAMAgAADQIAAA4CAADYAgAAEAIAABECAAASAgAA2QIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwUG9zdGZpeFF1YWxpZmllZFR5cGVFAAAAAGyLAABMsgAANI8AAKMLAACDEQAAgxEAANMOAADFDgAAtg4AQbDlAgsBBQBBvOUCCwGLAEHU5QILDowAAACNAAAAyLcAAAAEAEHs5QILAQEAQfzlAgsF/////woAQcDmAgsZsLIAAADJAQBwUQAA2IcAAPyHAAAAAAAABQBB5OYCCwGSAEH85gILCowAAACQAAAA3MYAQZTnAgsBAgBBpOcCCwj//////////wBB6OcCCw5YswAA5gEAAOcBAABKCAD5+AgEbmFtZQGF8wipCAANX2VtdmFsX2RlY3JlZgEYX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAg1fZW12YWxfaW5jcmVmAxdfZW12YWxfY2FsbF92b2lkX21ldGhvZAQZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgUWX2VtYmluZF9yZWdpc3Rlcl9jbGFzcwYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgcfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgglX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jbGFzc19mdW5jdGlvbgkRX2VtdmFsX3Rha2VfdmFsdWUKEF9lbXZhbF9uZXdfYXJyYXkLEV9lbXZhbF9uZXdfb2JqZWN0DBJfZW12YWxfbmV3X2NzdHJpbmcNE19lbXZhbF9zZXRfcHJvcGVydHkOGGVtc2NyaXB0ZW5fYXNtX2NvbnN0X2ludA8Kc3luY0lkYl9qcxATX2VtdmFsX2dldF9wcm9wZXJ0eREJX2VtdmFsX2FzEhZfZW12YWxfcnVuX2Rlc3RydWN0b3JzExFfZW12YWxfZ2V0X2dsb2JhbBQKX2VtdmFsX25ldxUhX2VtdmFsX25ld19hcnJheV9mcm9tX21lbW9yeV92aWV3FhJfZW12YWxfY2FsbF9tZXRob2QXDV9fYXNzZXJ0X2ZhaWwYFV9lbWJpbmRfcmVnaXN0ZXJfdm9pZBkVX2VtYmluZF9yZWdpc3Rlcl9ib29sGhhfZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIbFl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQcG19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZx0cX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZx4WX2VtYmluZF9yZWdpc3Rlcl9lbXZhbB8cX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldyAVZW1zY3JpcHRlbl9tZW1jcHlfYmlnIRJlbXNjcmlwdGVuX2dldF9ub3ciD19fd2FzaV9mZF93cml0ZSMWZW1zY3JpcHRlbl9yZXNpemVfaGVhcCQgX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWMlEF9fc3lzY2FsbF9vcGVuYXQmEV9fc3lzY2FsbF9mY250bDY0Jw9fX3N5c2NhbGxfaW9jdGwoDl9fd2FzaV9mZF9yZWFkKQ9fX3dhc2lfZmRfY2xvc2UqGF9fd2FzaV9lbnZpcm9uX3NpemVzX2dldCsSX193YXNpX2Vudmlyb25fZ2V0LApzdHJmdGltZV9sLRBfX3N5c2NhbGxfc3RhdDY0LhFfX3N5c2NhbGxfbWtkaXJhdC8FYWJvcnQwIl9fdGhyb3dfZXhjZXB0aW9uX3dpdGhfc3RhY2tfdHJhY2UxI2xlZ2FsaW1wb3J0JF9lbWJpbmRfcmVnaXN0ZXJfYmlnaW50MhpsZWdhbGltcG9ydCRfX3dhc2lfZmRfc2VlazMRX193YXNtX2NhbGxfY3RvcnM0F19fY3h4X2dsb2JhbF9hcnJheV9kdG9yNRlfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci40NhlfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci42N4wBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPHN0ZDo6bnVsbHB0cl90PihjaGFyIGNvbnN0Kik4f3N0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X190aHJvd19sZW5ndGhfZXJyb3JbYWJpOnYxNjAwMDRdKCkgY29uc3Q5GV9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjg6DnNldElkYmZzU3luY2VkO1tlbXNjcmlwdGVuOjpub3JtYWxpemVQb2ludHNQdXJlKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYpPF5zdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj46Ol9fdGhyb3dfbGVuZ3RoX2Vycm9yW2FiaTp2MTYwMDA0XSgpIGNvbnN0PSFlbXNjcmlwdGVuOjplbWJpbmRfaW5pdF9obnN3bGliKCk+oQJlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCY+OjppbnZva2Uoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+ICgqKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKSwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopP1p2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpMMlNwYWNlPihlbXNjcmlwdGVuOjpMMlNwYWNlKilAVHZvaWQgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OnJhd19kZXN0cnVjdG9yPGVtc2NyaXB0ZW46OkwyU3BhY2U+KGVtc2NyaXB0ZW46OkwyU3BhY2UqKUGDAWVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGVtc2NyaXB0ZW46OkwyU3BhY2UqLCB1bnNpZ25lZCBpbnQmJj46Omludm9rZShlbXNjcmlwdGVuOjpMMlNwYWNlKiAoKikodW5zaWduZWQgaW50JiYpLCB1bnNpZ25lZCBpbnQpQmplbXNjcmlwdGVuOjpMMlNwYWNlKiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6b3BlcmF0b3JfbmV3PGVtc2NyaXB0ZW46OkwyU3BhY2UsIHVuc2lnbmVkIGludD4odW5zaWduZWQgaW50JiYpQ5UBZW1zY3JpcHRlbjo6TDJTcGFjZTo6ZGlzdGFuY2Uoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JilEuQRlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjxmbG9hdCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiksIGZsb2F0LCBlbXNjcmlwdGVuOjpMMlNwYWNlKiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jj46Omludm9rZShmbG9hdCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6KiBjb25zdCYpKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjpMMlNwYWNlKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGVtc2NyaXB0ZW46Ol9FTV9WQUwqKUUnZW1zY3JpcHRlbjo6TDJTcGFjZTo6Z2V0TnVtRGltZW5zaW9ucygpRr4BZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dW5zaWduZWQgaW50IChlbXNjcmlwdGVuOjpMMlNwYWNlOjoqKSgpLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OkwyU3BhY2UqPjo6aW52b2tlKHVuc2lnbmVkIGludCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6KiBjb25zdCYpKCksIGVtc2NyaXB0ZW46OkwyU3BhY2UqKUdudm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6SW5uZXJQcm9kdWN0U3BhY2U+KGVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlKilIfmVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlKiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6b3BlcmF0b3JfbmV3PGVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlLCB1bnNpZ25lZCBpbnQ+KHVuc2lnbmVkIGludCYmKUmfAWVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlOjpkaXN0YW5jZShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKUpydm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3Rvcj4oZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciopS2x2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yPihlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKilMqQFlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKiwgZW1zY3JpcHRlbjo6dmFsJiY+OjppbnZva2UoZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciogKCopKGVtc2NyaXB0ZW46OnZhbCYmKSwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopTYgBZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciogZW1zY3JpcHRlbjo6aW50ZXJuYWw6Om9wZXJhdG9yX25ldzxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yLCBlbXNjcmlwdGVuOjp2YWw+KGVtc2NyaXB0ZW46OnZhbCYmKU6OAmVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPGJvb2wgKGVtc2NyaXB0ZW46OkN1c3RvbUZpbHRlckZ1bmN0b3I6OiopKHVuc2lnbmVkIGxvbmcpLCBib29sLCBlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKiwgdW5zaWduZWQgbG9uZz46Omludm9rZShib29sIChlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yOjoqIGNvbnN0JikodW5zaWduZWQgbG9uZyksIGVtc2NyaXB0ZW46OkN1c3RvbUZpbHRlckZ1bmN0b3IqLCB1bnNpZ25lZCBsb25nKU9sdm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaD4oZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCopUGZ2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoPihlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKilR0ANlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYsIHVuc2lnbmVkIGludCYmPjo6aW52b2tlKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mJiwgdW5zaWduZWQgaW50JiYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgdW5zaWduZWQgaW50KVKqAmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB1bnNpZ25lZCBpbnQ+KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYmLCB1bnNpZ25lZCBpbnQmJilTNWVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmluaXRJbmRleCh1bnNpZ25lZCBpbnQpVP4BZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6KikodW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHVuc2lnbmVkIGludD46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0JikodW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHVuc2lnbmVkIGludClVMmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmlzSW5kZXhJbml0aWFsaXplZCgpVusBZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8ZW1zY3JpcHRlbjo6dmFsIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqKSgpLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqPjo6aW52b2tlKGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6KiBjb25zdCYpKCksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqKVeEAWVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OnJlYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKVjoBGVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHZvaWQgKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OiopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCB2b2lkLCBlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jj46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0Jikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKilZhQFlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjp3cml0ZUluZGV4KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpWnBlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjphZGRQb2ludChzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpW8gDZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHVuc2lnbmVkIGludD46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIGVtc2NyaXB0ZW46Ol9FTV9WQUwqLCB1bnNpZ25lZCBpbnQpXDdlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjpyZW1vdmVQb2ludCh1bnNpZ25lZCBpbnQpXYIBZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6c2VhcmNoS25uKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHVuc2lnbmVkIGludCwgZW1zY3JpcHRlbjo6dmFsKV6yBGVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjp2YWwpLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OnZhbD46Omludm9rZShlbXNjcmlwdGVuOjp2YWwgKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OiogY29uc3QmKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjpfRU1fVkFMKilfLmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmdldE1heEVsZW1lbnRzKClgL2Vtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmdldEN1cnJlbnRDb3VudCgpYWp2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c+KGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyopYmR2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c+KGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyopY50GZW1zY3JpcHRlbjo6aW50ZXJuYWw6Okludm9rZXI8ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50JiYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2UoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50JiYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKilk7gNlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHVuc2lnbmVkIGludCYmLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKWVeZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjppbml0SW5kZXgodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KWaiA2Vtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHZvaWQgKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6KikodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50Pjo6aW52b2tlKHZvaWQgKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6KiBjb25zdCYpKHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCksIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludClnkQFlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OnJlYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpaJwFZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpLCB2b2lkLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQ+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OkJpbmRpbmdUeXBlPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Piwgdm9pZD46Oid1bm5hbWVkJyosIHVuc2lnbmVkIGludClphAFlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OndyaXRlSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JilqNmVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6cmVzaXplSW5kZXgodW5zaWduZWQgaW50KWszZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpnZXRQb2ludCh1bnNpZ25lZCBpbnQpbJsCZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8ZW1zY3JpcHRlbjo6dmFsIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHVuc2lnbmVkIGludCksIGVtc2NyaXB0ZW46OnZhbCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50Pjo6aW52b2tlKGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0JikodW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50KW11ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjphZGRQb2ludChzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2wpbtwDZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2wpLCB2b2lkLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2w+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBib29sKSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIHVuc2lnbmVkIGludCwgYm9vbClvjgJlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmFkZFBvaW50cyhzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4+PiBjb25zdCYsIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0JiwgYm9vbClwrAdlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjx2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gY29uc3QmLCBib29sKSwgdm9pZCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYsIGJvb2w+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYsIGJvb2wpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGJvb2wpccMBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjphZGRJdGVtcyhzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4+PiBjb25zdCYsIGJvb2wpcu8GZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8c3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Kikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBib29sKSwgc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4sIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+IGNvbnN0JiwgYm9vbD46Omludm9rZShzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBib29sKSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGJvb2wpcyxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmdldFVzZWRMYWJlbHMoKXT9AmVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKCksIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+LCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqPjo6aW52b2tlKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiogY29uc3QmKSgpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqKXUvZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpnZXREZWxldGVkTGFiZWxzKCl2LWVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0TWF4RWxlbWVudHMoKXc1ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjptYXJrRGVsZXRlKHVuc2lnbmVkIGludCl4dmVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6bWFya0RlbGV0ZUl0ZW1zKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0Jil5tgNlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjx2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0JiksIHZvaWQsIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0Jj46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiogY29uc3QmKShzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKil6N2Vtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6dW5tYXJrRGVsZXRlKHVuc2lnbmVkIGludCl7NGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0Q3VycmVudENvdW50KCkgY29uc3R8MGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0RWZTZWFyY2goKSBjb25zdH02ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpzZXRFZlNlYXJjaCh1bnNpZ25lZCBpbnQpfoEBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpzZWFyY2hLbm4oc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjp2YWwpf0dlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBib29sPjo6aW52b2tlKHZvaWQgKCopKGJvb2wpLCBib29sKYABggF2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI+KGVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciopgQF8dm9pZCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6cmF3X2Rlc3RydWN0b3I8ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyPihlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXIqKYIBf2Vtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcio+OjppbnZva2UoZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyKiAoKikoKSmDAXZlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXIqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyPigphAH6AmVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPHZvaWQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2Uodm9pZCAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqKYUBmgFlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI6OmluaXRpYWxpemVGaWxlU3lzdGVtKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYphgE4ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjppc0luaXRpYWxpemVkKCmHAX9lbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBib29sLCBlbXNjcmlwdGVuOjp2YWw+OjppbnZva2Uodm9pZCAoKikoYm9vbCwgZW1zY3JpcHRlbjo6dmFsKSwgYm9vbCwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopiAFGZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjpzeW5jRlMoYm9vbCwgZW1zY3JpcHRlbjo6dmFsKYkBO2Vtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6c2V0RGVidWdMb2dzKGJvb2wpigEzZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjppc1N5bmNlZCgpiwH6AmVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGJvb2wsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2UoYm9vbCAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqKYwBlQFlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI6OmNoZWNrRmlsZUV4aXN0cyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKY0BmgRlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2Uoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+ICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKSwgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OkJpbmRpbmdUeXBlPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Piwgdm9pZD46Oid1bm5hbWVkJyopjgGXAWVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6Z2V0U3RyaW5nRnJvbUZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JimPAfcFZW1zY3JpcHRlbjo6aW50ZXJuYWw6Okludm9rZXI8dm9pZCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsPjo6aW52b2tlKHZvaWQgKCopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopkAGFAmVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6d3JpdGVTdHJpbmdUb0ZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsKZEB+ANlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGNoYXIsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgY2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmPjo6aW52b2tlKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgY2hhciwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBjaGFyPj4gKCopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKimSAZcBZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjpnZXRCdWZmZXJGcm9tRmlsZShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZMB6gNlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OnZhbD46Omludm9rZSh2b2lkICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCoplAG5AWVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6d3JpdGVCdWZmZXJUb0ZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsLCBlbXNjcmlwdGVuOjp2YWwplQFiaG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46OkJydXRlZm9yY2VTZWFyY2goaG5zd2xpYjo6U3BhY2VJbnRlcmZhY2U8ZmxvYXQ+KiwgdW5zaWduZWQgbG9uZymWAakBaG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46OmxvYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD4qKZcB3wFzdGQ6Ol9fMjo6dW5vcmRlcmVkX21hcDx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPHVuc2lnbmVkIGxvbmcgY29uc3QsIHVuc2lnbmVkIGxvbmc+Pj46On51bm9yZGVyZWRfbWFwW2FiaTp2MTYwMDA0XSgpmAHZAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6ZmluZFthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgbG9uZykgY29uc3SZAbICc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X2ZvcndhcmRfaXRlcmF0b3I8Y2hhciBjb25zdCo+Ojp2YWx1ZSwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jj46OnR5cGUgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmRbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopmgGaB3N0ZDo6X18yOjpwYWlyPHN0ZDo6X18yOjpfX2hhc2hfaXRlcmF0b3I8c3RkOjpfXzI6Ol9faGFzaF9ub2RlPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgdm9pZCo+Kj4sIGJvb2w+IHN0ZDo6X18yOjpfX2hhc2hfdGFibGU8c3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6X191bm9yZGVyZWRfbWFwX2hhc2hlcjx1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpoYXNoPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6ZXF1YWxfdG88dW5zaWduZWQgbG9uZz4sIHRydWU+LCBzdGQ6Ol9fMjo6X191bm9yZGVyZWRfbWFwX2VxdWFsPHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgdHJ1ZT4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+Pj46Ol9fZW1wbGFjZV91bmlxdWVfa2V5X2FyZ3M8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6OnBpZWNld2lzZV9jb25zdHJ1Y3RfdCBjb25zdCYsIHN0ZDo6X18yOjp0dXBsZTx1bnNpZ25lZCBsb25nIGNvbnN0Jj4sIHN0ZDo6X18yOjp0dXBsZTw+Pih1bnNpZ25lZCBsb25nIGNvbnN0Jiwgc3RkOjpfXzI6OnBpZWNld2lzZV9jb25zdHJ1Y3RfdCBjb25zdCYsIHN0ZDo6X18yOjp0dXBsZTx1bnNpZ25lZCBsb25nIGNvbnN0Jj4mJiwgc3RkOjpfXzI6OnR1cGxlPD4mJimbAcsEdW5zaWduZWQgbG9uZyBzdGQ6Ol9fMjo6X19oYXNoX3RhYmxlPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Ol9fdW5vcmRlcmVkX21hcF9oYXNoZXI8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCB0cnVlPiwgc3RkOjpfXzI6Ol9fdW5vcmRlcmVkX21hcF9lcXVhbDx1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjplcXVhbF90bzx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgbG9uZz4sIHRydWU+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPj4+OjpfX2VyYXNlX3VuaXF1ZTx1bnNpZ25lZCBsb25nPih1bnNpZ25lZCBsb25nIGNvbnN0JimcAUFzdGQ6OmludmFsaWRfYXJndW1lbnQ6OmludmFsaWRfYXJndW1lbnRbYWJpOnYxNjAwMDRdKGNoYXIgY29uc3QqKZ0BP3ZvaWQgZW1zY3JpcHRlbjo6dmFsOjpzZXQ8aW50LCBmbG9hdD4oaW50IGNvbnN0JiwgZmxvYXQgY29uc3QmKZ4BT3ZvaWQgZW1zY3JpcHRlbjo6dmFsOjpzZXQ8aW50LCB1bnNpZ25lZCBsb25nPihpbnQgY29uc3QmLCB1bnNpZ25lZCBsb25nIGNvbnN0JimfAdQDdm9pZCBzdGQ6Ol9fMjo6X19wb3BfaGVhcFthYmk6djE2MDAwNF08c3RkOjpfXzI6Ol9DbGFzc2ljQWxnUG9saWN5LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+Kj4+KHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4qPiwgc3RkOjpfXzI6Ol9fd3JhcF9pdGVyPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBsb25nPio+LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+Jiwgc3RkOjpfXzI6Oml0ZXJhdG9yX3RyYWl0czxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+Kj4+OjpkaWZmZXJlbmNlX3R5cGUpoAGPAWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkhpZXJhcmNoaWNhbE5TVyhobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD4qLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIGJvb2wpoQEwZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjp1cGRhdGVMYWJlbENhY2hlcygpogE7aG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6cmVzaXplSW5kZXgodW5zaWduZWQgbG9uZymjASxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmF1dG9TYXZlSW5kZXgoKaQBf3N0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpnZXREYXRhQnlMYWJlbDxmbG9hdD4odW5zaWduZWQgbG9uZykgY29uc3SlATpobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjptYXJrRGVsZXRlKHVuc2lnbmVkIGxvbmcppgE8aG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6dW5tYXJrRGVsZXRlKHVuc2lnbmVkIGxvbmcppwG2AXN0ZDo6X18yOjpiYXNpY19pZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpiYXNpY19pZnN0cmVhbShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpqAFOc3RkOjpfXzI6OmJhc2ljX2lmc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pZnN0cmVhbSgpqQG2AXN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpiYXNpY19vZnN0cmVhbShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpqgFOc3RkOjpfXzI6OmJhc2ljX29mc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vZnN0cmVhbSgpqwFtc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGVtc2NyaXB0ZW46OnZlY0Zyb21KU0FycmF5PGZsb2F0PihlbXNjcmlwdGVuOjp2YWwgY29uc3QmKawBpAFlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCB2b2lkPjo6dG9XaXJlVHlwZShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKa0BMHN0ZDo6X190aHJvd19iYWRfYXJyYXlfbmV3X2xlbmd0aFthYmk6djE2MDAwNF0oKa4BOHN0ZDo6X18yOjpfX3Rocm93X2xlbmd0aF9lcnJvclthYmk6djE2MDAwNF0oY2hhciBjb25zdCoprwEqZW1zY3JpcHRlbjo6TDJTcGFjZTo6TDJTcGFjZSh1bnNpZ25lZCBpbnQpsAE1aG5zd2xpYjo6TDJTcXIodm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KimxASFobnN3bGliOjpMMlNwYWNlOjpnZXRfZGF0YV9zaXplKCmyASFobnN3bGliOjpMMlNwYWNlOjpnZXRfZGlzdF9mdW5jKCmzASdobnN3bGliOjpMMlNwYWNlOjpnZXRfZGlzdF9mdW5jX3BhcmFtKCm0ARxobnN3bGliOjpMMlNwYWNlOjp+TDJTcGFjZSgptQFEaG5zd2xpYjo6SW5uZXJQcm9kdWN0RGlzdGFuY2Uodm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0Kim2ATFobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD46On5TcGFjZUludGVyZmFjZSgptwE6ZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3Rvcjo6b3BlcmF0b3IoKSh1bnNpZ25lZCBsb25nKbgBTGhuc3dsaWI6OkJydXRlZm9yY2VTZWFyY2g8ZmxvYXQ+OjphZGRQb2ludCh2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgYm9vbCm5AWpobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6c2VhcmNoS25uKHZvaWQgY29uc3QqLCB1bnNpZ25lZCBsb25nLCBobnN3bGliOjpCYXNlRmlsdGVyRnVuY3RvciopIGNvbnN0ugGVAnN0ZDo6X18yOjpwcmlvcml0eV9xdWV1ZTxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBsb25nPj4+LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+Pjo6cHVzaChzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4mJim7AXdobnN3bGliOjpBbGdvcml0aG1JbnRlcmZhY2U8ZmxvYXQ+OjpzZWFyY2hLbm5DbG9zZXJGaXJzdCh2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgaG5zd2xpYjo6QmFzZUZpbHRlckZ1bmN0b3IqKSBjb25zdLwBiAFobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6c2F2ZUluZGV4KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpvQE1aG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46On5CcnV0ZWZvcmNlU2VhcmNoKCm+ATdobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6fkJydXRlZm9yY2VTZWFyY2goKS4xvwGvBHZvaWQgc3RkOjpfXzI6Ol9faGFzaF90YWJsZTxzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpfX3Vub3JkZXJlZF9tYXBfaGFzaGVyPHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjplcXVhbF90bzx1bnNpZ25lZCBsb25nPiwgdHJ1ZT4sIHN0ZDo6X18yOjpfX3Vub3JkZXJlZF9tYXBfZXF1YWw8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6ZXF1YWxfdG88dW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpoYXNoPHVuc2lnbmVkIGxvbmc+LCB0cnVlPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4+Pjo6X19kb19yZWhhc2g8dHJ1ZT4odW5zaWduZWQgbG9uZynAAfQBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpIaWVyYXJjaGljYWxOU1coc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKcEBrwFzdGQ6Ol9fMjo6X19leGNlcHRpb25fZ3VhcmRfZXhjZXB0aW9uczxzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjptdXRleCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6bXV0ZXg+Pjo6X19kZXN0cm95X3ZlY3Rvcj46On5fX2V4Y2VwdGlvbl9ndWFyZF9leGNlcHRpb25zW2FiaTp2MTYwMDA0XSgpwgEzaG5zd2xpYjo6VmlzaXRlZExpc3RQb29sOjpWaXNpdGVkTGlzdFBvb2woaW50LCBpbnQpwwFfc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6bXV0ZXgsIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Om11dGV4Pj46On52ZWN0b3JbYWJpOnYxNjAwMDRdKCnEAWpzdGQ6Ol9fMjo6ZGVxdWU8aG5zd2xpYjo6VmlzaXRlZExpc3QqLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kj4+OjpfX2FkZF9mcm9udF9jYXBhY2l0eSgpxQFpc3RkOjpfXzI6OmRlcXVlPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxobnN3bGliOjpWaXNpdGVkTGlzdCo+Pjo6fmRlcXVlW2FiaTp2MTYwMDA0XSgpxgFLaG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6YWRkUG9pbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGJvb2wpxwFKaG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6YWRkUG9pbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGludCnIAURobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojp1bm1hcmtEZWxldGVkSW50ZXJuYWwodW5zaWduZWQgaW50KckBTmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OnVwZGF0ZVBvaW50KHZvaWQgY29uc3QqLCB1bnNpZ25lZCBpbnQsIGZsb2F0KcoBaWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OnNlYXJjaEtubih2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgaG5zd2xpYjo6QmFzZUZpbHRlckZ1bmN0b3IqKSBjb25zdMsBhwFobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpzYXZlSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JinMATNobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojp+SGllcmFyY2hpY2FsTlNXKCnNASxobnN3bGliOjpWaXNpdGVkTGlzdFBvb2w6On5WaXNpdGVkTGlzdFBvb2woKc4BNWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46On5IaWVyYXJjaGljYWxOU1coKS4xzwGIAXN0ZDo6X18yOjpfX3NwbGl0X2J1ZmZlcjxobnN3bGliOjpWaXNpdGVkTGlzdCoqLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kio+Pjo6cHVzaF9mcm9udChobnN3bGliOjpWaXNpdGVkTGlzdCoqIGNvbnN0JinQAVBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpzZWFyY2hCYXNlTGF5ZXIodW5zaWduZWQgaW50LCB2b2lkIGNvbnN0KiwgaW50KdEBmwJ2b2lkIHN0ZDo6X18yOjpwcmlvcml0eV9xdWV1ZTxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Pj4+LCBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpDb21wYXJlQnlGaXJzdD46OmVtcGxhY2U8ZmxvYXQsIHVuc2lnbmVkIGludCY+KGZsb2F0JiYsIHVuc2lnbmVkIGludCYp0gHCAmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46Om11dHVhbGx5Q29ubmVjdE5ld0VsZW1lbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OnByaW9yaXR5X3F1ZXVlPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+Pj4sIGhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkNvbXBhcmVCeUZpcnN0PiYsIGludCwgYm9vbCnTAW5obnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpyZXBhaXJDb25uZWN0aW9uc0ZvclVwZGF0ZSh2b2lkIGNvbnN0KiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIGludCwgaW50KdQBzAJzdGQ6Ol9fMjo6cGFpcjxzdGQ6Ol9fMjo6X19oYXNoX2l0ZXJhdG9yPHN0ZDo6X18yOjpfX2hhc2hfbm9kZTx1bnNpZ25lZCBpbnQsIHZvaWQqPio+LCBib29sPiBzdGQ6Ol9fMjo6X19oYXNoX3RhYmxlPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGludD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj46Ol9fZW1wbGFjZV91bmlxdWVfa2V5X2FyZ3M8dW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQgY29uc3QmPih1bnNpZ25lZCBpbnQgY29uc3QmLCB1bnNpZ25lZCBpbnQgY29uc3QmKdUBqgJobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpnZXROZWlnaGJvcnNCeUhldXJpc3RpYzIoc3RkOjpfXzI6OnByaW9yaXR5X3F1ZXVlPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+Pj4sIGhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkNvbXBhcmVCeUZpcnN0PiYsIHVuc2lnbmVkIGxvbmcp1gEuaG5zd2xpYjo6VmlzaXRlZExpc3RQb29sOjpnZXRGcmVlVmlzaXRlZExpc3QoKdcBtwFobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojpsb2FkSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgaG5zd2xpYjo6U3BhY2VJbnRlcmZhY2U8ZmxvYXQ+KiwgdW5zaWduZWQgbG9uZynYAfcBc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gZW1zY3JpcHRlbjo6dmVjRnJvbUpTQXJyYXk8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+PihlbXNjcmlwdGVuOjp2YWwgY29uc3QmKdkBggFzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBlbXNjcmlwdGVuOjp2ZWNGcm9tSlNBcnJheTx1bnNpZ25lZCBpbnQ+KGVtc2NyaXB0ZW46OnZhbCBjb25zdCYp2gGnAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+Ojp+dmVjdG9yW2FiaTp2MTYwMDA0XSgp2wHAAWVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+Piwgdm9pZD46OnRvV2lyZVR5cGUoc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gY29uc3QmKdwBQmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46Om1hcmtEZWxldGVkSW50ZXJuYWwodW5zaWduZWQgaW50Kd0BxAFlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+Piwgdm9pZD46OnRvV2lyZVR5cGUoc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+PiBjb25zdCYp3gENX19nZXRUeXBlTmFtZd8BG19lbWJpbmRfaW5pdGlhbGl6ZV9iaW5kaW5nc+ABFWVtYmluZF9pbml0X2J1aWx0aW4oKeEBCF9fbWVtY3B54gEHbWVtbW92ZeMBCF9fbWVtc2V05AEDbG9n5QEGbWVtY2hy5gEGbWVtY21w5wEHaXByaW50ZugBCl9fbG9ja2ZpbGXpARVlbXNjcmlwdGVuX2Z1dGV4X3dha2XqARRfX3B0aHJlYWRfbXV0ZXhfbG9ja+sBCV9fdG93cml0ZewBCV9fZndyaXRleO0BBmZ3cml0Ze4BCl9fb3ZlcmZsb3fvAQRwdXRz8AENX19zdGRpb193cml0ZfEBGF9fZW1zY3JpcHRlbl9zdGRvdXRfc2Vla/IBBnN0cmxlbvMBEF9fZXJybm9fbG9jYXRpb270AQVmcmV4cPUBE19fdmZwcmludGZfaW50ZXJuYWz2AQtwcmludGZfY29yZfcBA291dPgBBmdldGludPkBB3BvcF9hcmf6AQVmbXRfdfsBA3BhZPwBCHZmcHJpbnRm/QEGZm10X2Zw/gETcG9wX2FyZ19sb25nX2RvdWJsZf8BB3djcnRvbWKAAgZ3Y3RvbWKBAgRzYnJrggIIZGxtYWxsb2ODAgZkbGZyZWWEAglkbHJlYWxsb2OFAg1kaXNwb3NlX2NodW5rhgIJX19hc2hsdGkzhwIJX19sc2hydGkziAIMX190cnVuY3RmZGYyiQIlc3RkOjpfXzI6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKYoCJXN0ZDo6X18yOjpfX25leHRfcHJpbWUodW5zaWduZWQgbG9uZymLApoBdW5zaWduZWQgaW50IGNvbnN0KiBzdGQ6Ol9fMjo6bG93ZXJfYm91bmRbYWJpOnYxNjAwMDRdPHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGxvbmc+KHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGxvbmcgY29uc3QmKYwCOnN0ZDo6X18yOjpfX3Rocm93X292ZXJmbG93X2Vycm9yW2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KimNAmR1bnNpZ25lZCBpbnQgY29uc3QmIHN0ZDo6X18yOjpfX2lkZW50aXR5OjpvcGVyYXRvcigpPHVuc2lnbmVkIGludCBjb25zdCY+KHVuc2lnbmVkIGludCBjb25zdCYpIGNvbnN0jgILX19zdHJjaHJudWyPAgZzdHJjaHKQAgxfX3N0ZGlvX3NlZWuRAgxfX3N0ZGlvX3JlYWSSAg1fX3N0ZGlvX2Nsb3NlkwIRX19mc2Vla29fdW5sb2NrZWSUAghfX2ZzZWVrb5UCBmZmbHVzaJYCBmZjbG9zZZcCCF9fdG9yZWFkmAIFZnJlYWSZAhFfX2Z0ZWxsb191bmxvY2tlZJoCRHN0ZDo6X18yOjpiYXNpY19pb3M8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lvcygpmwJQc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfc3RyZWFtYnVmKCmcAlJzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19zdHJlYW1idWYoKS4xnQJcc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjppbWJ1ZShzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JimeAlFzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNldGJ1ZihjaGFyKiwgbG9uZymfAntzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlZWtvZmYobG9uZyBsb25nLCBzdGQ6Ol9fMjo6aW9zX2Jhc2U6OnNlZWtkaXIsIHVuc2lnbmVkIGludCmgAnBzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlZWtwb3Moc3RkOjpfXzI6OmZwb3M8X19tYnN0YXRlX3Q+LCB1bnNpZ25lZCBpbnQpoQJRc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp4c2dldG4oY2hhciosIGxvbmcpogJEc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Ojpjb3B5KGNoYXIqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZymjArsBc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X3JhbmRvbV9hY2Nlc3NfaXRlcmF0b3I8Y2hhciBjb25zdCo+Ojp2YWx1ZSwgY2hhcio+Ojp0eXBlIHN0ZDo6X18yOjpjb3B5X25bYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nLCBjaGFyKj4oY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGNoYXIqKaQCSXN0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6dW5kZXJmbG93KCmlAkVzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnVmbG93KCmmAkxzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnBiYWNrZmFpbChpbnQppwJXc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp4c3B1dG4oY2hhciBjb25zdCosIGxvbmcpqAJMc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKakCTnN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pc3RyZWFtKCkuMaoCXXZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKasCTnN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pc3RyZWFtKCkuMqwCX3ZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKS4xrQKNAXN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlbnRyeTo6c2VudHJ5KHN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBib29sKa4CQ3N0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmZsdXNoKCmvAm1zdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpjdHlwZTxjaGFyPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpsAJbc3RkOjpfXzI6OmJhc2ljX2lvczxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZXRzdGF0ZVthYmk6djE2MDAwNF0odW5zaWduZWQgaW50KbEC2wFib29sIHN0ZDo6X18yOjpvcGVyYXRvcj09W2FiaTp2MTYwMDA0XTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4gY29uc3QmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+IGNvbnN0JimyAltzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpvcGVyYXRvcisrW2FiaTp2MTYwMDA0XSgpswJTc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzYnVtcGNbYWJpOnYxNjAwMDRdKCm0Ak1zdGQ6Ol9fMjo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpyZWFkKGNoYXIqLCBsb25nKbUCQ3N0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnRlbGxnKCm2AmlzdGQ6Ol9fMjo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZWVrZyhsb25nIGxvbmcsIHN0ZDo6X18yOjppb3NfYmFzZTo6c2Vla2Rpcim3Ak5zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb3N0cmVhbSgpLjG4Al12aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vc3RyZWFtKCm5Ak5zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb3N0cmVhbSgpLjK6Al92aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vc3RyZWFtKCkuMbsChwFzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZW50cnk6OnNlbnRyeShzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jim8Ak1zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZW50cnk6On5zZW50cnkoKb0CXnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oY2hhcim+AlRzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp3cml0ZShjaGFyIGNvbnN0KiwgbG9uZym/Ak1zdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD46OmNvcHkod2NoYXJfdCosIHdjaGFyX3QgY29uc3QqLCB1bnNpZ25lZCBsb25nKcACc3N0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinBAu0BYm9vbCBzdGQ6Ol9fMjo6b3BlcmF0b3I9PVthYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiBjb25zdCYpwgJhc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6b3BlcmF0b3IrK1thYmk6djE2MDAwNF0oKcMCWXN0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6c2J1bXBjW2FiaTp2MTYwMDA0XSgpxAJnc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6b3BlcmF0b3I9W2FiaTp2MTYwMDA0XSh3Y2hhcl90KcUCV3N0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6Z3B0clthYmk6djE2MDAwNF0oKSBjb25zdMYCxAFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYpxwK8AXN0ZDo6X18yOjplbmFibGVfaWY8X19pc19jcHAxN19mb3J3YXJkX2l0ZXJhdG9yPGNoYXIqPjo6dmFsdWUsIHZvaWQ+Ojp0eXBlIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19pbml0PGNoYXIqPihjaGFyKiwgY2hhciopyAJ4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpyZXNpemVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpyQJbc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3BlbihjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50KcoCS3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmJhc2ljX2ZpbGVidWYoKcsClwFzdGQ6Ol9fMjo6Y29kZWN2dDxjaGFyLCBjaGFyLCBfX21ic3RhdGVfdD4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIsIGNoYXIsIF9fbWJzdGF0ZV90Pj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpzAJMc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2ZpbGVidWYoKc0CQ3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmNsb3NlKCnOAtUBc3RkOjpfXzI6OnVuaXF1ZV9wdHI8X0lPX0ZJTEUsIGludCAoKikoX0lPX0ZJTEUqKT46OnVuaXF1ZV9wdHJbYWJpOnYxNjAwMDRdPHRydWUsIHZvaWQ+KF9JT19GSUxFKiwgc3RkOjpfXzI6Ol9fZGVwZW5kZW50X3R5cGU8c3RkOjpfXzI6Ol9fdW5pcXVlX3B0cl9kZWxldGVyX3NmaW5hZTxpbnQgKCopKF9JT19GSUxFKik+LCB0cnVlPjo6X19nb29kX3J2YWxfcmVmX3R5cGUpzwJOc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2ZpbGVidWYoKS4x0AJRc3RkOjpfXzI6OnVuaXF1ZV9wdHI8X0lPX0ZJTEUsIGludCAoKikoX0lPX0ZJTEUqKT46OnJlc2V0W2FiaTp2MTYwMDA0XShfSU9fRklMRSop0QJHc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6dW5kZXJmbG93KCnSAilzdGQ6Ol9fMjo6X190aHJvd19iYWRfY2FzdFthYmk6djE2MDAwNF0oKdMCSnN0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnBiYWNrZmFpbChpbnQp1AJJc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3ZlcmZsb3coaW50KdUCT3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNldGJ1ZihjaGFyKiwgbG9uZynWAnlzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZWVrb2ZmKGxvbmcgbG9uZywgc3RkOjpfXzI6Omlvc19iYXNlOjpzZWVrZGlyLCB1bnNpZ25lZCBpbnQp1wJuc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6c2Vla3BvcyhzdGQ6Ol9fMjo6ZnBvczxfX21ic3RhdGVfdD4sIHVuc2lnbmVkIGludCnYAkJzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzeW5jKCnZAlpzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjppbWJ1ZShzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinaAlBzdGQ6Ol9fMjo6YmFzaWNfaWZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lmc3RyZWFtKCkuMdsCX3ZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lmc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pZnN0cmVhbSgp3AJhdmlydHVhbCB0aHVuayB0byBzdGQ6Ol9fMjo6YmFzaWNfaWZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lmc3RyZWFtKCkuMd0CUHN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb2ZzdHJlYW0oKS4x3gJfdmlydHVhbCB0aHVuayB0byBzdGQ6Ol9fMjo6YmFzaWNfb2ZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX29mc3RyZWFtKCnfAmF2aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb2ZzdHJlYW0oKS4x4AJWY2hhciogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCBjaGFyKj4oY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyKinhAl5hdXRvIHN0ZDo6X18yOjpfX3Vud3JhcF9yYW5nZVthYmk6djE2MDAwNF08Y2hhciBjb25zdCosIGNoYXIgY29uc3QqPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCop4gKQAXN0ZDo6X18yOjpwYWlyPGNoYXIgY29uc3QqLCBjaGFyKj4gc3RkOjpfXzI6Ol9fY29weV90cml2aWFsOjpvcGVyYXRvcigpW2FiaTp2MTYwMDA0XTxjaGFyIGNvbnN0LCBjaGFyLCAwPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKSBjb25zdOMCgAFzdGQ6Ol9fMjo6cGFpcjxjaGFyIGNvbnN0KiwgY2hhcio+IHN0ZDo6X18yOjpfX2NvcHlfdHJpdmlhbF9pbXBsW2FiaTp2MTYwMDA0XTxjaGFyIGNvbnN0LCBjaGFyPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKeQCgAFzdGQ6Ol9fMjo6YWxsb2NhdG9yX3RyYWl0czxzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6ZGVhbGxvY2F0ZVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPiYsIGNoYXIqLCB1bnNpZ25lZCBsb25nKeUCT3N0ZDo6X18yOjpfX2xpYmNwcF9kZWFsbG9jYXRlW2FiaTp2MTYwMDA0XSh2b2lkKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZynmAs4Bc3RkOjpfXzI6Ol9fYWxsb2NhdGlvbl9yZXN1bHQ8c3RkOjpfXzI6OmFsbG9jYXRvcl90cmFpdHM8c3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OnBvaW50ZXI+IHN0ZDo6X18yOjpfX2FsbG9jYXRlX2F0X2xlYXN0W2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PihzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+JiwgdW5zaWduZWQgbG9uZynnAj9zdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+OjphbGxvY2F0ZVthYmk6djE2MDAwNF0odW5zaWduZWQgbG9uZynoAkZzdGQ6Ol9fMjo6X19saWJjcHBfYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcp6QJlc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6X190ZXN0X2Zvcl9lb2ZbYWJpOnYxNjAwMDRdKCkgY29uc3TqAmtzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+OjpfX3Rlc3RfZm9yX2VvZlthYmk6djE2MDAwNF0oKSBjb25zdOsCK3N0ZDo6X18yOjpfX2lvc3RyZWFtX2NhdGVnb3J5OjpuYW1lKCkgY29uc3TsAjFzdGQ6Ol9fMjo6X19pb3N0cmVhbV9jYXRlZ29yeTo6bWVzc2FnZShpbnQpIGNvbnN07QInc3RkOjpfXzI6Omlvc19iYXNlOjpmYWlsdXJlOjp+ZmFpbHVyZSgp7gIpc3RkOjpfXzI6Omlvc19iYXNlOjpmYWlsdXJlOjp+ZmFpbHVyZSgpLjHvAidzdGQ6Ol9fMjo6aW9zX2Jhc2U6OmNsZWFyKHVuc2lnbmVkIGludCnwAh9zdGQ6Ol9fMjo6aW9zX2Jhc2U6On5pb3NfYmFzZSgp8QIhc3RkOjpfXzI6Omlvc19iYXNlOjp+aW9zX2Jhc2UoKS4x8gIfc3RkOjpfXzI6Omlvc19iYXNlOjppbml0KHZvaWQqKfMCN3N0ZDo6X18yOjppb3NfYmFzZTo6X19zZXRfYmFkYml0X2FuZF9jb25zaWRlcl9yZXRocm93KCn0AgdfX3NobGlt9QIIX19zaGdldGP2AgtfX2Zsb2F0c2l0ZvcCCF9fbXVsdGYz+AIIX19hZGR0ZjP5Ag1fX2V4dGVuZGRmdGYy+gIHX19sZXRmMvsCB19fZ2V0ZjL8AgZzY2FsYm79Agljb3B5c2lnbmz+Ag1fX2Zsb2F0dW5zaXRm/wIIX19zdWJ0ZjOAAwdzY2FsYm5sgQMIX19tdWx0aTOCAwhfX2RpdnRmM4MDBWZtb2RshAMLX19mbG9hdHNjYW6FAwdzY2FuZXhwhgMMX190cnVuY3Rmc2YyhwMHbWJydG93Y4gDCXN0b3JlX2ludIkDB3Zzc2NhbmaKAwtzdHJpbmdfcmVhZIsDBnN0cmNtcIwDBXN3YXBjjQMHc3RybmNtcI4DBmdldGVudo8DDF9fZ2V0X2xvY2FsZZADCXZzbnByaW50ZpEDCHNuX3dyaXRlkgMGc3NjYW5mkwMIc25wcmludGaUAwpmcmVlbG9jYWxllQMGc3RyY3B5lgMJbWJzcnRvd2NzlwMGc3RydG94mAMIc3RydG94LjGZA11zdGQ6Ol9fMjo6Y29sbGF0ZTxjaGFyPjo6ZG9fY29tcGFyZShjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KikgY29uc3SaA0VzdGQ6Ol9fMjo6Y29sbGF0ZTxjaGFyPjo6ZG9fdHJhbnNmb3JtKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KikgY29uc3SbA5wBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCB2b2lkPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopnANAc3RkOjpfXzI6OmNvbGxhdGU8Y2hhcj46OmRvX2hhc2goY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdJ0DbHN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb19jb21wYXJlKHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdJ4DTnN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb190cmFuc2Zvcm0od2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdJ8D6QFzdGQ6Ol9fMjo6ZW5hYmxlX2lmPF9faXNfY3BwMTdfZm9yd2FyZF9pdGVyYXRvcjx3Y2hhcl90IGNvbnN0Kj46OnZhbHVlLCB2b2lkPjo6dHlwZSBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9faW5pdDx3Y2hhcl90IGNvbnN0Kj4od2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKaADSXN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb19oYXNoKHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0KikgY29uc3ShA5YCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBib29sJikgY29uc3SiA3NzdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpudW1wdW5jdDxjaGFyPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpowOpBXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCogc3RkOjpfXzI6Ol9fc2Nhbl9rZXl3b3JkW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmLCB1bnNpZ25lZCBpbnQmLCBib29sKaQDOHN0ZDo6X18yOjpsb2NhbGU6OnVzZV9mYWNldChzdGQ6Ol9fMjo6bG9jYWxlOjppZCYpIGNvbnN0pQNYc3RkOjpfXzI6OnVuaXF1ZV9wdHI8dW5zaWduZWQgY2hhciwgdm9pZCAoKikodm9pZCopPjo6cmVzZXRbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGNoYXIqKaYDUHN0ZDo6X18yOjp1bmlxdWVfcHRyPHVuc2lnbmVkIGNoYXIsIHZvaWQgKCopKHZvaWQqKT46On51bmlxdWVfcHRyW2FiaTp2MTYwMDA0XSgppwOWAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyYpIGNvbnN0qAM5c3RkOjpfXzI6Ol9fbnVtX2dldF9iYXNlOjpfX2dldF9iYXNlKHN0ZDo6X18yOjppb3NfYmFzZSYpqQNIc3RkOjpfXzI6Ol9fbnVtX2dldDxjaGFyPjo6X19zdGFnZTJfaW50X3ByZXAoc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciYpqgPkAXN0ZDo6X18yOjpfX251bV9nZXQ8Y2hhcj46Ol9fc3RhZ2UyX2ludF9sb29wKGNoYXIsIGludCwgY2hhciosIGNoYXIqJiwgdW5zaWduZWQgaW50JiwgY2hhciwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIGNoYXIgY29uc3QqKasDaWxvbmcgc3RkOjpfXzI6Ol9fbnVtX2dldF9zaWduZWRfaW50ZWdyYWxbYWJpOnYxNjAwMDRdPGxvbmc+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50JiwgaW50KawDpAFzdGQ6Ol9fMjo6X19jaGVja19ncm91cGluZyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQqLCB1bnNpZ25lZCBpbnQqLCB1bnNpZ25lZCBpbnQmKa0DmwJzdGQ6Ol9fMjo6bnVtX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcgbG9uZyYpIGNvbnN0rgNzbG9uZyBsb25nIHN0ZDo6X18yOjpfX251bV9nZXRfc2lnbmVkX2ludGVncmFsW2FiaTp2MTYwMDA0XTxsb25nIGxvbmc+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50JiwgaW50Ka8DoAJzdGQ6Ol9fMjo6bnVtX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHVuc2lnbmVkIHNob3J0JikgY29uc3SwA391bnNpZ25lZCBzaG9ydCBzdGQ6Ol9fMjo6X19udW1fZ2V0X3Vuc2lnbmVkX2ludGVncmFsW2FiaTp2MTYwMDA0XTx1bnNpZ25lZCBzaG9ydD4oY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQmLCBpbnQpsQOeAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgaW50JikgY29uc3SyA3t1bnNpZ25lZCBpbnQgc3RkOjpfXzI6Ol9fbnVtX2dldF91bnNpZ25lZF9pbnRlZ3JhbFthYmk6djE2MDAwNF08dW5zaWduZWQgaW50PihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYsIGludCmzA6QCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB1bnNpZ25lZCBsb25nIGxvbmcmKSBjb25zdLQDhwF1bnNpZ25lZCBsb25nIGxvbmcgc3RkOjpfXzI6Ol9fbnVtX2dldF91bnNpZ25lZF9pbnRlZ3JhbFthYmk6djE2MDAwNF08dW5zaWduZWQgbG9uZyBsb25nPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYsIGludCm1A5cCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBmbG9hdCYpIGNvbnN0tgNYc3RkOjpfXzI6Ol9fbnVtX2dldDxjaGFyPjo6X19zdGFnZTJfZmxvYXRfcHJlcChzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyKiwgY2hhciYsIGNoYXImKbcD7wFzdGQ6Ol9fMjo6X19udW1fZ2V0PGNoYXI+OjpfX3N0YWdlMl9mbG9hdF9sb29wKGNoYXIsIGJvb2wmLCBjaGFyJiwgY2hhciosIGNoYXIqJiwgY2hhciwgY2hhciwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludCYsIGNoYXIqKbgDXGZsb2F0IHN0ZDo6X18yOjpfX251bV9nZXRfZmxvYXRbYWJpOnYxNjAwMDRdPGZsb2F0PihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpuQOYAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgZG91YmxlJikgY29uc3S6A15kb3VibGUgc3RkOjpfXzI6Ol9fbnVtX2dldF9mbG9hdFthYmk6djE2MDAwNF08ZG91YmxlPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpuwOdAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdLwDaGxvbmcgZG91YmxlIHN0ZDo6X18yOjpfX251bV9nZXRfZmxvYXRbYWJpOnYxNjAwMDRdPGxvbmcgZG91YmxlPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpvQOXAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50Jiwgdm9pZComKSBjb25zdL4DEnN0ZDo6X18yOjpfX2Nsb2MoKb8DTHN0ZDo6X18yOjpfX2xpYmNwcF9zc2NhbmZfbChjaGFyIGNvbnN0KiwgX19sb2NhbGVfc3RydWN0KiwgY2hhciBjb25zdCosIC4uLinAA2FjaGFyIGNvbnN0KiBzdGQ6Ol9fMjo6ZmluZFthYmk6djE2MDAwNF08Y2hhciBjb25zdCosIGNoYXI+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCYpwQNWc3RkOjpfXzI6Ol9fbGliY3BwX2xvY2FsZV9ndWFyZDo6X19saWJjcHBfbG9jYWxlX2d1YXJkW2FiaTp2MTYwMDA0XShfX2xvY2FsZV9zdHJ1Y3QqJinCA6sCc3RkOjpfXzI6Om51bV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBib29sJikgY29uc3TDA3lzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpudW1wdW5jdDx3Y2hhcl90Pj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpxAPlBXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCogc3RkOjpfXzI6Ol9fc2Nhbl9rZXl3b3JkW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmLCB1bnNpZ25lZCBpbnQmLCBib29sKcUDqwJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcmKSBjb25zdMYDTXN0ZDo6X18yOjpfX251bV9nZXQ8d2NoYXJfdD46Ol9fZG9fd2lkZW4oc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCopIGNvbnN0xwNOc3RkOjpfXzI6Ol9fbnVtX2dldDx3Y2hhcl90Pjo6X19zdGFnZTJfaW50X3ByZXAoc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCYpyAPwAXN0ZDo6X18yOjpfX251bV9nZXQ8d2NoYXJfdD46Ol9fc3RhZ2UyX2ludF9sb29wKHdjaGFyX3QsIGludCwgY2hhciosIGNoYXIqJiwgdW5zaWduZWQgaW50Jiwgd2NoYXJfdCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHdjaGFyX3QgY29uc3QqKckDsAJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcgbG9uZyYpIGNvbnN0ygO1AnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgc2hvcnQmKSBjb25zdMsDswJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHVuc2lnbmVkIGludCYpIGNvbnN0zAO5AnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgbG9uZyBsb25nJikgY29uc3TNA6wCc3RkOjpfXzI6Om51bV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBmbG9hdCYpIGNvbnN0zgNkc3RkOjpfXzI6Ol9fbnVtX2dldDx3Y2hhcl90Pjo6X19zdGFnZTJfZmxvYXRfcHJlcChzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90Kiwgd2NoYXJfdCYsIHdjaGFyX3QmKc8D/gFzdGQ6Ol9fMjo6X19udW1fZ2V0PHdjaGFyX3Q+OjpfX3N0YWdlMl9mbG9hdF9sb29wKHdjaGFyX3QsIGJvb2wmLCBjaGFyJiwgY2hhciosIGNoYXIqJiwgd2NoYXJfdCwgd2NoYXJfdCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludCYsIHdjaGFyX3QqKdADrQJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGRvdWJsZSYpIGNvbnN00QOyAnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdNIDrAJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHZvaWQqJikgY29uc3TTA3N3Y2hhcl90IGNvbnN0KiBzdGQ6Ol9fMjo6ZmluZFthYmk6djE2MDAwNF08d2NoYXJfdCBjb25zdCosIHdjaGFyX3Q+KHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCYp1APKAXN0ZDo6X18yOjpudW1fcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciwgYm9vbCkgY29uc3TVA2pzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OmJlZ2luW2FiaTp2MTYwMDA0XSgp1gNoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjplbmRbYWJpOnYxNjAwMDRdKCnXA8oBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nKSBjb25zdNgDTnN0ZDo6X18yOjpfX251bV9wdXRfYmFzZTo6X19mb3JtYXRfaW50KGNoYXIqLCBjaGFyIGNvbnN0KiwgYm9vbCwgdW5zaWduZWQgaW50KdkDV3N0ZDo6X18yOjpfX2xpYmNwcF9zbnByaW50Zl9sKGNoYXIqLCB1bnNpZ25lZCBsb25nLCBfX2xvY2FsZV9zdHJ1Y3QqLCBjaGFyIGNvbnN0KiwgLi4uKdoDVXN0ZDo6X18yOjpfX251bV9wdXRfYmFzZTo6X19pZGVudGlmeV9wYWRkaW5nKGNoYXIqLCBjaGFyKiwgc3RkOjpfXzI6Omlvc19iYXNlIGNvbnN0JinbA3VzdGQ6Ol9fMjo6X19udW1fcHV0PGNoYXI+OjpfX3dpZGVuX2FuZF9ncm91cF9pbnQoY2hhciosIGNoYXIqLCBjaGFyKiwgY2hhciosIGNoYXIqJiwgY2hhciomLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JincA48Cc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiBzdGQ6Ol9fMjo6X19wYWRfYW5kX291dHB1dFthYmk6djE2MDAwNF08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyKd0DzwFzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIGxvbmcgbG9uZykgY29uc3TeA9MBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCB1bnNpZ25lZCBsb25nKSBjb25zdN8D2AFzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIHVuc2lnbmVkIGxvbmcgbG9uZykgY29uc3TgA8wBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBkb3VibGUpIGNvbnN04QPAAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4gc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxkb3VibGU+KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN04gNKc3RkOjpfXzI6Ol9fbnVtX3B1dF9iYXNlOjpfX2Zvcm1hdF9mbG9hdChjaGFyKiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCnjA0lzdGQ6Ol9fMjo6X19saWJjcHBfYXNwcmludGZfbChjaGFyKiosIF9fbG9jYWxlX3N0cnVjdCosIGNoYXIgY29uc3QqLCAuLi4p5AN3c3RkOjpfXzI6Ol9fbnVtX3B1dDxjaGFyPjo6X193aWRlbl9hbmRfZ3JvdXBfZmxvYXQoY2hhciosIGNoYXIqLCBjaGFyKiwgY2hhciosIGNoYXIqJiwgY2hhciomLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinlA9EBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSkgY29uc3TmA8oCc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiBzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19kb19wdXRfZmxvYXRpbmdfcG9pbnRbYWJpOnYxNjAwMDRdPGxvbmcgZG91YmxlPihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN05wPRAXN0ZDo6X18yOjpudW1fcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciwgdm9pZCBjb25zdCopIGNvbnN06AOEAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YmFzaWNfc3RyaW5nW2FiaTp2MTYwMDA0XSh1bnNpZ25lZCBsb25nLCBjaGFyKekD3AFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGJvb2wpIGNvbnN06gNxc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjplbmRbYWJpOnYxNjAwMDRdKCnrA9wBc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBsb25nKSBjb25zdOwDgQFzdGQ6Ol9fMjo6X19udW1fcHV0PHdjaGFyX3Q+OjpfX3dpZGVuX2FuZF9ncm91cF9pbnQoY2hhciosIGNoYXIqLCBjaGFyKiwgd2NoYXJfdCosIHdjaGFyX3QqJiwgd2NoYXJfdComLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JintA60Cc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiBzdGQ6Ol9fMjo6X19wYWRfYW5kX291dHB1dFthYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90Ke4D4QFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGxvbmcgbG9uZykgY29uc3TvA+UBc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCB1bnNpZ25lZCBsb25nKSBjb25zdPAD6gFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHVuc2lnbmVkIGxvbmcgbG9uZykgY29uc3TxA94Bc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBkb3VibGUpIGNvbnN08gPYAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4gc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxkb3VibGU+KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN08wODAXN0ZDo6X18yOjpfX251bV9wdXQ8d2NoYXJfdD46Ol9fd2lkZW5fYW5kX2dyb3VwX2Zsb2F0KGNoYXIqLCBjaGFyKiwgY2hhciosIHdjaGFyX3QqLCB3Y2hhcl90KiYsIHdjaGFyX3QqJiwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYp9APjAXN0ZDo6X18yOjpudW1fcHV0PHdjaGFyX3QsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgbG9uZyBkb3VibGUpIGNvbnN09QPiAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4gc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxsb25nIGRvdWJsZT4oc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgbG9uZyBkb3VibGUsIGNoYXIgY29uc3QqKSBjb25zdPYD4wFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHZvaWQgY29uc3QqKSBjb25zdPcDkAFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46OmJhc2ljX3N0cmluZ1thYmk6djE2MDAwNF0odW5zaWduZWQgbG9uZywgd2NoYXJfdCn4Azh2b2lkIHN0ZDo6X18yOjpyZXZlcnNlW2FiaTp2MTYwMDA0XTxjaGFyKj4oY2hhciosIGNoYXIqKfkDQXZvaWQgc3RkOjpfXzI6OnJldmVyc2VbYWJpOnYxNjAwMDRdPHdjaGFyX3QqPih3Y2hhcl90Kiwgd2NoYXJfdCop+gOsAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6Z2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdPsDcXN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZGF0ZV9vcmRlcigpIGNvbnN0/AOaAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0X3RpbWUoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdP0DmgJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldF9kYXRlKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3T+A50Cc3RkOjpfXzI6OnRpbWVfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXRfd2Vla2RheShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0/wOrAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19nZXRfd2Vla2RheW5hbWUoaW50Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpjdHlwZTxjaGFyPiBjb25zdCYpIGNvbnN0gASfAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0X21vbnRobmFtZShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0gQSpAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19nZXRfbW9udGhuYW1lKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmKSBjb25zdIIEmgJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldF95ZWFyKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3SDBKQCc3RkOjpfXzI6OnRpbWVfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+OjpfX2dldF95ZWFyKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmKSBjb25zdIQErgJpbnQgc3RkOjpfXzI6Ol9fZ2V0X3VwX3RvX25fZGlnaXRzW2FiaTp2MTYwMDA0XTxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+PihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPGNoYXI+IGNvbnN0JiwgaW50KYUEoQJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSosIGNoYXIsIGNoYXIpIGNvbnN0hgTHAnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6Z2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdIcErwJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldF90aW1lKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3SIBK8Cc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXRfZGF0ZShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0iQSyAnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0X3dlZWtkYXkoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdIoEwwJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZ2V0X3dlZWtkYXluYW1lKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmKSBjb25zdIsEtAJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldF9tb250aG5hbWUoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdIwEwQJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZ2V0X21vbnRobmFtZShpbnQmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+IGNvbnN0JikgY29uc3SNBK8Cc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXRfeWVhcihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0jgS8AnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6X19nZXRfeWVhcihpbnQmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+IGNvbnN0JikgY29uc3SPBMYCaW50IHN0ZDo6X18yOjpfX2dldF91cF90b19uX2RpZ2l0c1thYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj4oc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYsIGludCmQBLYCc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qLCBjaGFyLCBjaGFyKSBjb25zdJEE3AFzdGQ6Ol9fMjo6dGltZV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCB0bSBjb25zdCosIGNoYXIsIGNoYXIpIGNvbnN0kgRKc3RkOjpfXzI6Ol9fdGltZV9wdXQ6Ol9fZG9fcHV0KGNoYXIqLCBjaGFyKiYsIHRtIGNvbnN0KiwgY2hhciwgY2hhcikgY29uc3STBO4Bc3RkOjpfXzI6OnRpbWVfcHV0PHdjaGFyX3QsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgdG0gY29uc3QqLCBjaGFyLCBjaGFyKSBjb25zdJQELHN0ZDo6X18yOjpfX3Rocm93X3J1bnRpbWVfZXJyb3IoY2hhciBjb25zdCoplQQ7c3RkOjpfXzI6Om1vbmV5cHVuY3Q8Y2hhciwgZmFsc2U+Ojpkb19kZWNpbWFsX3BvaW50KCkgY29uc3SWBDZzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT46OmRvX2dyb3VwaW5nKCkgY29uc3SXBDtzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT46OmRvX25lZ2F0aXZlX3NpZ24oKSBjb25zdJgEOHN0ZDo6X18yOjptb25leXB1bmN0PGNoYXIsIGZhbHNlPjo6ZG9fcG9zX2Zvcm1hdCgpIGNvbnN0mQQ+c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgZmFsc2U+Ojpkb19kZWNpbWFsX3BvaW50KCkgY29uc3SaBD5zdGQ6Ol9fMjo6bW9uZXlwdW5jdDx3Y2hhcl90LCBmYWxzZT46OmRvX25lZ2F0aXZlX3NpZ24oKSBjb25zdJsEvwFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OmJhc2ljX3N0cmluZyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZwEpQJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdJ0EiANzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+OjpfX2RvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50JiwgYm9vbCYsIHN0ZDo6X18yOjpjdHlwZTxjaGFyPiBjb25zdCYsIHN0ZDo6X18yOjp1bmlxdWVfcHRyPGNoYXIsIHZvaWQgKCopKHZvaWQqKT4mLCBjaGFyKiYsIGNoYXIqKZ4EXnN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46Om9wZXJhdG9yKytbYWJpOnYxNjAwMDRdKGludCmfBHN2b2lkIHN0ZDo6X18yOjpfX2RvdWJsZV9vcl9ub3RoaW5nW2FiaTp2MTYwMDA0XTxjaGFyPihzdGQ6Ol9fMjo6dW5pcXVlX3B0cjxjaGFyLCB2b2lkICgqKSh2b2lkKik+JiwgY2hhciomLCBjaGFyKiYpoASTAXZvaWQgc3RkOjpfXzI6Ol9fZG91YmxlX29yX25vdGhpbmdbYWJpOnYxNjAwMDRdPHVuc2lnbmVkIGludD4oc3RkOjpfXzI6OnVuaXF1ZV9wdHI8dW5zaWduZWQgaW50LCB2b2lkICgqKSh2b2lkKik+JiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludComKaEE7gJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JikgY29uc3SiBJoCc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X2ZvcndhcmRfaXRlcmF0b3I8Y2hhcio+Ojp2YWx1ZSwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jj46OnR5cGUgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmRbYWJpOnYxNjAwMDRdPGNoYXIqPihjaGFyKiwgY2hhciopowR8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX3NldF9zaXplW2FiaTp2MTYwMDA0XSh1bnNpZ25lZCBsb25nKaQEgwFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCB0cnVlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8Y2hhciwgdHJ1ZT4+KHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmKaUEhQFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjptb25leXB1bmN0PGNoYXIsIGZhbHNlPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYppgRAc3RkOjpfXzI6Ol9fd3JhcF9pdGVyPGNoYXIqPjo6b3BlcmF0b3IrW2FiaTp2MTYwMDA0XShsb25nKSBjb25zdKcEcnN0ZDo6X18yOjp1bmlxdWVfcHRyPGNoYXIsIHZvaWQgKCopKHZvaWQqKT46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OnVuaXF1ZV9wdHI8Y2hhciwgdm9pZCAoKikodm9pZCopPiYmKagEugJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdKkEqQNzdGQ6Ol9fMjo6bW9uZXlfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+OjpfX2RvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgYm9vbCwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50JiwgYm9vbCYsIHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYsIHN0ZDo6X18yOjp1bmlxdWVfcHRyPHdjaGFyX3QsIHZvaWQgKCopKHZvaWQqKT4mLCB3Y2hhcl90KiYsIHdjaGFyX3QqKaoEZHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj46Om9wZXJhdG9yKytbYWJpOnYxNjAwMDRdKGludCmrBIwDc3RkOjpfXzI6Om1vbmV5X2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiYpIGNvbnN0rAS4AnN0ZDo6X18yOjplbmFibGVfaWY8X19pc19jcHAxN19mb3J3YXJkX2l0ZXJhdG9yPHdjaGFyX3QqPjo6dmFsdWUsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiY+Ojp0eXBlIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Pjo6YXBwZW5kW2FiaTp2MTYwMDA0XTx3Y2hhcl90Kj4od2NoYXJfdCosIHdjaGFyX3QqKa0EiQFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDx3Y2hhcl90LCB0cnVlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgdHJ1ZT4+KHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmKa4E1gFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+JiYprwSLAXN0ZDo6X18yOjptb25leXB1bmN0PHdjaGFyX3QsIGZhbHNlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgZmFsc2U+PihzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JimwBENzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCo+OjpvcGVyYXRvcitbYWJpOnYxNjAwMDRdKGxvbmcpIGNvbnN0sQTZAXN0ZDo6X18yOjptb25leV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBib29sLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSkgY29uc3SyBIgDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PGNoYXI+OjpfX2dhdGhlcl9pbmZvKGJvb2wsIGJvb2wsIHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiYsIGNoYXImLCBjaGFyJiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiwgaW50JimzBNYDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PGNoYXI+OjpfX2Zvcm1hdChjaGFyKiwgY2hhciomLCBjaGFyKiYsIHVuc2lnbmVkIGludCwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmLCBib29sLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiBjb25zdCYsIGNoYXIsIGNoYXIsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIGludCm0BJsBY2hhciogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIGNoYXIqPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBjaGFyKim1BKkCc3RkOjpfXzI6Om1vbmV5X3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpIGNvbnN0tgTrAXN0ZDo6X18yOjptb25leV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBib29sLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBsb25nIGRvdWJsZSkgY29uc3S3BKMDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PHdjaGFyX3Q+OjpfX2dhdGhlcl9pbmZvKGJvb2wsIGJvb2wsIHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiYsIHdjaGFyX3QmLCB3Y2hhcl90Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+JiwgaW50Jim4BIMEc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PHdjaGFyX3Q+OjpfX2Zvcm1hdCh3Y2hhcl90Kiwgd2NoYXJfdComLCB3Y2hhcl90KiYsIHVuc2lnbmVkIGludCwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmLCBib29sLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiBjb25zdCYsIHdjaGFyX3QsIHdjaGFyX3QsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYsIGludCm5BK0Bd2NoYXJfdCogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjx3Y2hhcl90IGNvbnN0Kj4sIHdjaGFyX3QqPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCBjb25zdCo+LCB3Y2hhcl90Kim6BMQCc3RkOjpfXzI6Om1vbmV5X3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYpIGNvbnN0uwSdAXN0ZDo6X18yOjptZXNzYWdlczxjaGFyPjo6ZG9fb3BlbihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JikgY29uc3S8BJMBc3RkOjpfXzI6Om1lc3NhZ2VzPGNoYXI+Ojpkb19nZXQobG9uZywgaW50LCBpbnQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpIGNvbnN0vQSfAXN0ZDo6X18yOjptZXNzYWdlczx3Y2hhcl90Pjo6ZG9fZ2V0KGxvbmcsIGludCwgaW50LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QmKSBjb25zdL4EOXN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6fmNvZGVjdnQoKb8ELXN0ZDo6X18yOjpsb2NhbGU6Ol9faW1wOjpfX2ltcCh1bnNpZ25lZCBsb25nKcAEfXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+Ojp+dmVjdG9yW2FiaTp2MTYwMDA0XSgpwQSIAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2NvbnN0cnVjdF9hdF9lbmQodW5zaWduZWQgbG9uZynCBM0Bc3RkOjpfXzI6Ol9fZXhjZXB0aW9uX2d1YXJkX2V4Y2VwdGlvbnM8c3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCosIHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46Ol9fZGVzdHJveV92ZWN0b3I+Ojp+X19leGNlcHRpb25fZ3VhcmRfZXhjZXB0aW9uc1thYmk6djE2MDAwNF0oKcMEfXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2NsZWFyW2FiaTp2MTYwMDA0XSgpxAQdc3RkOjpfXzI6OmxvY2FsZTo6aWQ6Ol9fZ2V0KCnFBEBzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6aW5zdGFsbChzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCosIGxvbmcpxgSSAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2Rlc3Ryb3lfdmVjdG9yOjpvcGVyYXRvcigpW2FiaTp2MTYwMDA0XSgpxwSFAXN0ZDo6X18yOjp1bmlxdWVfcHRyPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0LCBzdGQ6Ol9fMjo6KGFub255bW91cyBuYW1lc3BhY2UpOjpyZWxlYXNlPjo6cmVzZXRbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KinIBCFzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6fl9faW1wKCnJBCNzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6fl9faW1wKCkuMcoEfnN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2FwcGVuZCh1bnNpZ25lZCBsb25nKcsELnN0ZDo6X18yOjpsb2NhbGU6Ol9faW1wOjpoYXNfZmFjZXQobG9uZykgY29uc3TMBBpzdGQ6Ol9fMjo6bG9jYWxlOjpsb2NhbGUoKc0EsgFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46Om9wZXJhdG9yIHN0ZDo6X18yOjpiYXNpY19zdHJpbmdfdmlldzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+W2FiaTp2MTYwMDA0XSgpIGNvbnN0zgRrc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmJhc2ljX3N0cmluZ192aWV3W2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KinPBB5zdGQ6Ol9fMjo6bG9jYWxlOjppZDo6X19pbml0KCnQBCtzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldDo6X19vbl96ZXJvX3NoYXJlZCgp0QR1dm9pZCBzdGQ6Ol9fMjo6X19jYWxsX29uY2VfcHJveHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjp0dXBsZTxzdGQ6Ol9fMjo6KGFub255bW91cyBuYW1lc3BhY2UpOjpfX2Zha2VfYmluZCYmPj4odm9pZCop0gQ9c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb19pcyh1bnNpZ25lZCBsb25nLCB3Y2hhcl90KSBjb25zdNMEVXN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9faXMod2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCB1bnNpZ25lZCBsb25nKikgY29uc3TUBFlzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX3NjYW5faXModW5zaWduZWQgbG9uZywgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdNUEWnN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fc2Nhbl9ub3QodW5zaWduZWQgbG9uZywgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdNYEM3N0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fdG91cHBlcih3Y2hhcl90KSBjb25zdNcERHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fdG91cHBlcih3Y2hhcl90Kiwgd2NoYXJfdCBjb25zdCopIGNvbnN02AQzc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb190b2xvd2VyKHdjaGFyX3QpIGNvbnN02QREc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb190b2xvd2VyKHdjaGFyX3QqLCB3Y2hhcl90IGNvbnN0KikgY29uc3TaBExzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX3dpZGVuKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0Kiwgd2NoYXJfdCopIGNvbnN02wQ4c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb19uYXJyb3cod2NoYXJfdCwgY2hhcikgY29uc3TcBFZzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX25hcnJvdyh3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIGNoYXIsIGNoYXIqKSBjb25zdN0EH3N0ZDo6X18yOjpjdHlwZTxjaGFyPjo6fmN0eXBlKCneBCFzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46On5jdHlwZSgpLjHfBC1zdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46OmRvX3RvdXBwZXIoY2hhcikgY29uc3TgBDtzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46OmRvX3RvdXBwZXIoY2hhciosIGNoYXIgY29uc3QqKSBjb25zdOEELXN0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fdG9sb3dlcihjaGFyKSBjb25zdOIEO3N0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fdG9sb3dlcihjaGFyKiwgY2hhciBjb25zdCopIGNvbnN04wRGc3RkOjpfXzI6OmN0eXBlPGNoYXI+Ojpkb193aWRlbihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKSBjb25zdOQEMnN0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fbmFycm93KGNoYXIsIGNoYXIpIGNvbnN05QRNc3RkOjpfXzI6OmN0eXBlPGNoYXI+Ojpkb19uYXJyb3coY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyLCBjaGFyKikgY29uc3TmBIQBc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN05wRgc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb191bnNoaWZ0KF9fbWJzdGF0ZV90JiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN06ARyc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19sZW5ndGgoX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcpIGNvbnN06QQ7c3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojp+Y29kZWN2dCgpLjHqBJABc3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN06wRZc3RkOjpfXzI6Ol9fbGliY3BwX3djcnRvbWJfbFthYmk6djE2MDAwNF0oY2hhciosIHdjaGFyX3QsIF9fbWJzdGF0ZV90KiwgX19sb2NhbGVfc3RydWN0KinsBI8Bc3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19pbihfX21ic3RhdGVfdCYsIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdComLCB3Y2hhcl90Kiwgd2NoYXJfdCosIHdjaGFyX3QqJikgY29uc3TtBG9zdGQ6Ol9fMjo6X19saWJjcHBfbWJydG93Y19sW2FiaTp2MTYwMDA0XSh3Y2hhcl90KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcsIF9fbWJzdGF0ZV90KiwgX19sb2NhbGVfc3RydWN0KinuBGNzdGQ6Ol9fMjo6Y29kZWN2dDx3Y2hhcl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX3Vuc2hpZnQoX19tYnN0YXRlX3QmLCBjaGFyKiwgY2hhciosIGNoYXIqJikgY29uc3TvBEJzdGQ6Ol9fMjo6Y29kZWN2dDx3Y2hhcl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2VuY29kaW5nKCkgY29uc3TwBD5zdGQ6Ol9fMjo6X19saWJjcHBfbWJfY3VyX21heF9sW2FiaTp2MTYwMDA0XShfX2xvY2FsZV9zdHJ1Y3QqKfEEdXN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbGVuZ3RoKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nKSBjb25zdPIERHN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbWF4X2xlbmd0aCgpIGNvbnN08wSUAXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIxNl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX291dChfX21ic3RhdGVfdCYsIGNoYXIxNl90IGNvbnN0KiwgY2hhcjE2X3QgY29uc3QqLCBjaGFyMTZfdCBjb25zdComLCBjaGFyKiwgY2hhciosIGNoYXIqJikgY29uc3T0BJMBc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhcjE2X3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9faW4oX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqJiwgY2hhcjE2X3QqLCBjaGFyMTZfdCosIGNoYXIxNl90KiYpIGNvbnN09QR2c3RkOjpfXzI6OmNvZGVjdnQ8Y2hhcjE2X3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbGVuZ3RoKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nKSBjb25zdPYERXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIxNl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX21heF9sZW5ndGgoKSBjb25zdPcElAFzdGQ6Ol9fMjo6Y29kZWN2dDxjaGFyMzJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCBjaGFyMzJfdCBjb25zdCosIGNoYXIzMl90IGNvbnN0KiwgY2hhcjMyX3QgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN0+ASTAXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIzMl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2luKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiYsIGNoYXIzMl90KiwgY2hhcjMyX3QqLCBjaGFyMzJfdComKSBjb25zdPkEdnN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIzMl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2xlbmd0aChfX21ic3RhdGVfdCYsIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZykgY29uc3T6BCVzdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46On5udW1wdW5jdCgp+wQnc3RkOjpfXzI6Om51bXB1bmN0PGNoYXI+Ojp+bnVtcHVuY3QoKS4x/AQoc3RkOjpfXzI6Om51bXB1bmN0PHdjaGFyX3Q+Ojp+bnVtcHVuY3QoKf0EKnN0ZDo6X18yOjpudW1wdW5jdDx3Y2hhcl90Pjo6fm51bXB1bmN0KCkuMf4EMnN0ZDo6X18yOjpudW1wdW5jdDxjaGFyPjo6ZG9fZGVjaW1hbF9wb2ludCgpIGNvbnN0/wQyc3RkOjpfXzI6Om51bXB1bmN0PGNoYXI+Ojpkb190aG91c2FuZHNfc2VwKCkgY29uc3SABS1zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX2dyb3VwaW5nKCkgY29uc3SBBTBzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD46OmRvX2dyb3VwaW5nKCkgY29uc3SCBS1zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX3RydWVuYW1lKCkgY29uc3SDBTBzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD46OmRvX3RydWVuYW1lKCkgY29uc3SEBZgBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPHN0ZDo6bnVsbHB0cl90Pih3Y2hhcl90IGNvbnN0KimFBS5zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX2ZhbHNlbmFtZSgpIGNvbnN0hgUxc3RkOjpfXzI6Om51bXB1bmN0PHdjaGFyX3Q+Ojpkb19mYWxzZW5hbWUoKSBjb25zdIcFeXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6b3BlcmF0b3I9W2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KimIBTVzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fd2Vla3MoKSBjb25zdIkFGl9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjU3igU4c3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPHdjaGFyX3Q+OjpfX3dlZWtzKCkgY29uc3SLBRpfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci43MowFhQFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0od2NoYXJfdCBjb25zdCopjQU2c3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPGNoYXI+OjpfX21vbnRocygpIGNvbnN0jgUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuODePBTlzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fbW9udGhzKCkgY29uc3SQBRtfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci4xMTGRBTVzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fYW1fcG0oKSBjb25zdJIFG19fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjEzNZMFOHN0ZDo6X18yOjpfX3RpbWVfZ2V0X2Nfc3RvcmFnZTx3Y2hhcl90Pjo6X19hbV9wbSgpIGNvbnN0lAUbX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMTM4lQUxc3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPGNoYXI+OjpfX3goKSBjb25zdJYFGV9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjOXBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9feCgpIGNvbnN0mAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzKZBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fWCgpIGNvbnN0mgUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzSbBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fWCgpIGNvbnN0nAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzadBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fYygpIGNvbnN0ngUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzifBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fYygpIGNvbnN0oAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDChBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fcigpIGNvbnN0ogUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDKjBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fcigpIGNvbnN0pAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDSlBWdzdGQ6Ol9fMjo6dGltZV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46On50aW1lX3B1dCgppgVpc3RkOjpfXzI6OnRpbWVfcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojp+dGltZV9wdXQoKS4xpwXXAXN0ZDo6X18yOjpfX2FsbG9jYXRpb25fcmVzdWx0PHN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+Ojpwb2ludGVyPiBzdGQ6Ol9fMjo6X19hbGxvY2F0ZV9hdF9sZWFzdFthYmk6djE2MDAwNF08c3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4oc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90PiYsIHVuc2lnbmVkIGxvbmcpqAVCc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pjo6YWxsb2NhdGVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpqQWAAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19lcmFzZV90b19lbmRbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpqgWMAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19udWxsX3Rlcm1pbmF0ZV9hdFthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGxvbmcpqwWJAXN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjpkZWFsbG9jYXRlW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Jiwgd2NoYXJfdCosIHVuc2lnbmVkIGxvbmcprAVOc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pjo6ZGVhbGxvY2F0ZVthYmk6djE2MDAwNF0od2NoYXJfdCosIHVuc2lnbmVkIGxvbmcprQW6AWF1dG8gc3RkOjpfXzI6Ol9fdW53cmFwX3JhbmdlW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+PihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+Ka4FxgJkZWNsdHlwZShzdGQ6Ol9fMjo6X191bndyYXBfaXRlcl9pbXBsPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIHRydWU+OjpfX3Vud3JhcChzdGQ6OmRlY2x2YWw8c3RkOjpfXzI6Ol9fd3JhcF9pdGVyPGNoYXIgY29uc3QqPj4oKSkpIHN0ZDo6X18yOjpfX3Vud3JhcF9pdGVyW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X191bndyYXBfaXRlcl9pbXBsPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIHRydWU+LCAwPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+Ka8Fd3N0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjptYXhfc2l6ZSgpIGNvbnN0sAWuAnN0ZDo6X18yOjpfX2FsbG9jYXRpb25fcmVzdWx0PHN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46OnBvaW50ZXI+IHN0ZDo6X18yOjpfX2FsbG9jYXRlX2F0X2xlYXN0W2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+KHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPiYsIHVuc2lnbmVkIGxvbmcpsQXUAXN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46OmRlYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPiYsIHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiosIHVuc2lnbmVkIGxvbmcpsgWlAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2Jhc2VfZGVzdHJ1Y3RfYXRfZW5kW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCoqKbMFgQFzdGQ6Ol9fMjo6X19zcGxpdF9idWZmZXI8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4mPjo6fl9fc3BsaXRfYnVmZmVyKCm0BY0Bc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmNvbXBhcmUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4pIGNvbnN0tQV/c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX3Rocm93X291dF9vZl9yYW5nZVthYmk6djE2MDAwNF0oKSBjb25zdLYFOHN0ZDo6X18yOjpfX3Rocm93X291dF9vZl9yYW5nZVthYmk6djE2MDAwNF0oY2hhciBjb25zdCoptwU5c3RkOjpfXzI6Ol9fY29uc3RleHByX3djc2xlblthYmk6djE2MDAwNF0od2NoYXJfdCBjb25zdCopuAUvc3RkOjpfXzI6Ol9fdGltZV9wdXQ6Ol9fdGltZV9wdXRbYWJpOnYxNjAwMDRdKCm5BQlzdHJ0b2xsX2y6BQpzdHJ0b3VsbF9suwUtc3RkOjpfXzI6Ol9fc2hhcmVkX2NvdW50Ojp+X19zaGFyZWRfY291bnQoKS4xvAUYc3RkOjpfX3Rocm93X2JhZF9hbGxvYygpvQUbb3BlcmF0b3IgbmV3KHVuc2lnbmVkIGxvbmcpvgVLc3RkOjpfXzI6Ol9fbGliY3BwX2FsaWduZWRfYWxsb2NbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpvwVBc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6On5maWxlc3lzdGVtX2Vycm9yKCnABWhzdGQ6Ol9fMjo6c2hhcmVkX3B0cjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Ojp+c2hhcmVkX3B0clthYmk6djE2MDAwNF0oKcEFQ3N0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjp+ZmlsZXN5c3RlbV9lcnJvcigpLjHCBUBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X19jcmVhdGVfd2hhdChpbnQpwwVac3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmRldGFpbDo6KGFub255bW91cyBuYW1lc3BhY2UpOjpmb3JtYXRfc3RyaW5nKGNoYXIgY29uc3QqLCAuLi4pxAUtc3RkOjpfXzI6Ol9fbGliY3BwX3VucmVhY2hhYmxlW2FiaTp2MTYwMDA0XSgpxQU2c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGg6On5wYXRoW2FiaTp2MTYwMDA0XSgpxgVcc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGg6OnBhdGhbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0JinHBZgCc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IHN0ZDo6X18yOjpvcGVyYXRvcitbYWJpOnYxNjAwMDRdPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYsIGNoYXIgY29uc3QqKcgFrgJ2b2lkIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpfX3Rocm93X2ZpbGVzeXN0ZW1fZXJyb3JbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYsIHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0Jj4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmKckFgAN2b2lkIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpfX3Rocm93X2ZpbGVzeXN0ZW1fZXJyb3JbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmPihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JinKBdIDdm9pZCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X190aHJvd19maWxlc3lzdGVtX2Vycm9yW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmPihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmKcsF0QFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjx2b2lkPjo6RXJyb3JIYW5kbGVyKGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSosIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Kiwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QqKcwFWHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpleGlzdHNbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlX3N0YXR1cynNBXhzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjxib29sPjo6cmVwb3J0KHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JikgY29uc3TOBXJzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjxib29sPjo6cmVwb3J0KHN0ZDo6X18yOjplcnJjIGNvbnN0JikgY29uc3TPBW9zdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6c3RhdHVzW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlJinQBXBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X19jcmVhdGVfZGlyZWN0b3JpZXMoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSop0QWFAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpkZXRhaWw6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cG9zaXhfc3RhdChzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlKinSBWRzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X19zdGF0dXMoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSop0wVTc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyOjpvcGVyYXRvci0tKCnUBVhzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om9wZXJhdG9yKigpIGNvbnN01QWSAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6Q3JlYXRlQmVnaW4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4p1gXGAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YXBwZW5kW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKdcFUnN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6aW5jcmVtZW50KCnYBXJzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6Q29uc3VtZVJvb3REaXIoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyKinZBZoCc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OkNvbXBhcmVSb290TmFtZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqKTo6JF8wOjpvcGVyYXRvcigpKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlciopIGNvbnN02gVzc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OkNvbnN1bWVSb290TmFtZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqKdsFOnN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjp3aGF0KCkgY29uc3TcBWFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OmZvcm1hdF9zdHJpbmdfaW1wbChjaGFyIGNvbnN0Kiwgdm9pZCop3QWRAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpkZXRhaWw6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RXJyb3JIYW5kbGVyPHZvaWQ+OjpyZXBvcnRfaW1wbChzdGQ6Ol9fMjo6ZXJyb3JfY29kZSBjb25zdCYsIGNoYXIgY29uc3QqLCB2b2lkKikgY29uc3TeBbkCc3RkOjpfXzI6OnNoYXJlZF9wdHI8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPiBzdGQ6Ol9fMjo6bWFrZV9zaGFyZWRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGgsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoLCB2b2lkPihzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCYmLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCYmKd8F3gNzdGQ6Ol9fMjo6c2hhcmVkX3B0cjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+IHN0ZDo6X18yOjphbGxvY2F0ZV9zaGFyZWRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+LCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGgsIHZvaWQ+KHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPiBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoJiYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoJiYp4AX6AXN0ZDo6X18yOjpfX2FsbG9jYXRpb25fZ3VhcmQ8c3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19zaGFyZWRfcHRyX2VtcGxhY2U8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZT4+Pj46On5fX2FsbG9jYXRpb25fZ3VhcmRbYWJpOnYxNjAwMDRdKCnhBbwBc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6fl9fc2hhcmVkX3B0cl9lbXBsYWNlKCniBb4Bc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6fl9fc2hhcmVkX3B0cl9lbXBsYWNlKCkuMeMFtwFzdGQ6Ol9fMjo6X19zaGFyZWRfcHRyX2VtcGxhY2U8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZT4+OjpfX29uX3plcm9fc2hhcmVkKCnkBbwBc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6X19vbl96ZXJvX3NoYXJlZF93ZWFrKCnlBZ8Bc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlOjpfU3RvcmFnZVthYmk6djE2MDAwNF0oc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYp5gWGA3N0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pj46OmRlYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX3NoYXJlZF9wdHJfZW1wbGFjZTxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2UsIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPj4qLCB1bnNpZ25lZCBsb25nKecFpAFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om1ha2VTdGF0ZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6OlBhcnNlclN0YXRlKegFe3N0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6Y29uc3VtZUFsbFNlcGFyYXRvcnMoY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdOkFvgFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om1ha2VTdGF0ZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6OlBhcnNlclN0YXRlLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCop6gVyc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyOjpjb25zdW1lTmFtZShjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopIGNvbnN06wV6c3RkOjpsb2dpY19lcnJvcjo6bG9naWNfZXJyb3Ioc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JinsBT1zdGQ6Ol9fMjo6X19saWJjcHBfcmVmc3RyaW5nOjpfX2xpYmNwcF9yZWZzdHJpbmcoY2hhciBjb25zdCop7QUqc3RkOjpsb2dpY19lcnJvcjo6bG9naWNfZXJyb3IoY2hhciBjb25zdCop7gV+c3RkOjpydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYp7wUuc3RkOjpydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yKGNoYXIgY29uc3QqKfAFRHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPjo6bW92ZShjaGFyKiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp8QXSAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19ncm93X2J5X2FuZF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIGNoYXIgY29uc3QqKfIFZXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6fmJhc2ljX3N0cmluZygp8wW5AXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19ncm93X2J5KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcp9AU/c3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Ojphc3NpZ24oY2hhciosIHVuc2lnbmVkIGxvbmcsIGNoYXIp9QV4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX2luaXQoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp9gWDAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19hc3NpZ25fZXh0ZXJuYWwoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp9wV4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmQoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp+AX/AXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YmFzaWNfc3RyaW5nKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4gY29uc3QmKfkFeHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6aW5zZXJ0KHVuc2lnbmVkIGxvbmcsIGNoYXIgY29uc3QqKfoFZXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6cHVzaF9iYWNrKGNoYXIp+wV2c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpyZmluZChjaGFyLCB1bnNpZ25lZCBsb25nKSBjb25zdPwFaXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YXBwZW5kKGNoYXIgY29uc3QqKf0F3gFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9fZ3Jvd19ieV9hbmRfcmVwbGFjZSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB3Y2hhcl90IGNvbnN0Kin+BW5zdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46On5iYXNpY19zdHJpbmcoKf8FwgFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9fZ3Jvd19ieSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKYAGcXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Pjo6cHVzaF9iYWNrKHdjaGFyX3QpgQaQAnN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBzdGQ6Ol9fMjo6b3BlcmF0b3IrPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4oY2hhciBjb25zdCosIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpggYec3RkOjpfXzI6OnRvX3N0cmluZyhsb25nIGxvbmcpgwYhc3RkOjpfXzI6OnRvX3N0cmluZyh1bnNpZ25lZCBpbnQphAZBc3RkOjpfXzI6Ol9faXRvYTo6X19iYXNlXzEwX3UzMlthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGludCmFBj1zdGQ6Ol9fMjo6X19pdG9hOjpfX2FwcGVuZDJbYWJpOnYxNjAwMDRdKGNoYXIqLCB1bnNpZ25lZCBpbnQphgY9c3RkOjpfXzI6Ol9faXRvYTo6X19hcHBlbmQ0W2FiaTp2MTYwMDA0XShjaGFyKiwgdW5zaWduZWQgaW50KYcGPXN0ZDo6X18yOjpfX2l0b2E6Ol9fYXBwZW5kNlthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGludCmIBj1zdGQ6Ol9fMjo6X19pdG9hOjpfX2FwcGVuZDhbYWJpOnYxNjAwMDRdKGNoYXIqLCB1bnNpZ25lZCBpbnQpiQY8c3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjpkZWZhdWx0X2Vycm9yX2NvbmRpdGlvbihpbnQpIGNvbnN0igZRc3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjplcXVpdmFsZW50KGludCwgc3RkOjpfXzI6OmVycm9yX2NvbmRpdGlvbiBjb25zdCYpIGNvbnN0iwZMc3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjplcXVpdmFsZW50KHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JiwgaW50KSBjb25zdIwGKnN0ZDo6X18yOjpfX2RvX21lc3NhZ2U6Om1lc3NhZ2UoaW50KSBjb25zdI0GMHN0ZDo6X18yOjpfX2dlbmVyaWNfZXJyb3JfY2F0ZWdvcnk6Om5hbWUoKSBjb25zdI4GNnN0ZDo6X18yOjpfX2dlbmVyaWNfZXJyb3JfY2F0ZWdvcnk6Om1lc3NhZ2UoaW50KSBjb25zdI8GL3N0ZDo6X18yOjpfX3N5c3RlbV9lcnJvcl9jYXRlZ29yeTo6bmFtZSgpIGNvbnN0kAZFc3RkOjpfXzI6Ol9fc3lzdGVtX2Vycm9yX2NhdGVnb3J5OjpkZWZhdWx0X2Vycm9yX2NvbmRpdGlvbihpbnQpIGNvbnN0kQaRAXN0ZDo6X18yOjpzeXN0ZW1fZXJyb3I6Ol9faW5pdChzdGQ6Ol9fMjo6ZXJyb3JfY29kZSBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PimSBpcBc3RkOjpfXzI6OnN5c3RlbV9lcnJvcjo6c3lzdGVtX2Vycm9yKHN0ZDo6X18yOjplcnJvcl9jb2RlLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZMGR3N0ZDo6X18yOjpzeXN0ZW1fZXJyb3I6OnN5c3RlbV9lcnJvcihzdGQ6Ol9fMjo6ZXJyb3JfY29kZSwgY2hhciBjb25zdCoplAYwc3RkOjpfXzI6Ol9fdGhyb3dfc3lzdGVtX2Vycm9yKGludCwgY2hhciBjb25zdCoplQYYX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9ulgYUX19jeGFfZnJlZV9leGNlcHRpb26XBgtfX2N4YV90aHJvd5gGS19fY3h4YWJpdjE6OmV4Y2VwdGlvbl9jbGVhbnVwX2Z1bmMoX1Vud2luZF9SZWFzb25fQ29kZSwgX1Vud2luZF9FeGNlcHRpb24qKZkGIl9fY3hhX2RlY3JlbWVudF9leGNlcHRpb25fcmVmY291bnSaBhFfX2N4YV9iZWdpbl9jYXRjaJsGD19fY3hhX2VuZF9jYXRjaJwGDV9fY3hhX3JldGhyb3edBiJfX2N4YV9pbmNyZW1lbnRfZXhjZXB0aW9uX3JlZmNvdW50ngYNYWJvcnRfbWVzc2FnZZ8GHmRlbWFuZ2xpbmdfdGVybWluYXRlX2hhbmRsZXIoKaAGH2RlbWFuZ2xpbmdfdW5leHBlY3RlZF9oYW5kbGVyKCmhBhBzdGQ6OnRlcm1pbmF0ZSgpogYcc3RkOjpfX3Rlcm1pbmF0ZSh2b2lkICgqKSgpKaMGEl9fY3hhX3B1cmVfdmlydHVhbKQGL19fY3h4YWJpdjE6Ol9fYWxpZ25lZF9mcmVlX3dpdGhfZmFsbGJhY2sodm9pZCoppQZhX19jeHhhYml2MTo6X19mdW5kYW1lbnRhbF90eXBlX2luZm86OmNhbl9jYXRjaChfX2N4eGFiaXYxOjpfX3NoaW1fdHlwZV9pbmZvIGNvbnN0Kiwgdm9pZComKSBjb25zdKYGPGlzX2VxdWFsKHN0ZDo6dHlwZV9pbmZvIGNvbnN0Kiwgc3RkOjp0eXBlX2luZm8gY29uc3QqLCBib29sKacGW19fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpjYW5fY2F0Y2goX19jeHhhYml2MTo6X19zaGltX3R5cGVfaW5mbyBjb25zdCosIHZvaWQqJikgY29uc3SoBg5fX2R5bmFtaWNfY2FzdKkGa19fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpwcm9jZXNzX2ZvdW5kX2Jhc2VfY2xhc3MoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQqLCBpbnQpIGNvbnN0qgZuX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3SrBnFfX2N4eGFiaXYxOjpfX3NpX2NsYXNzX3R5cGVfaW5mbzo6aGFzX3VuYW1iaWd1b3VzX3B1YmxpY19iYXNlKF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkKiwgaW50KSBjb25zdKwGc19fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3StBnJfX2N4eGFiaXYxOjpfX3ZtaV9jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3SuBl1fX2N4eGFiaXYxOjpfX3BvaW50ZXJfdHlwZV9pbmZvOjpjYW5fY2F0Y2goX19jeHhhYml2MTo6X19zaGltX3R5cGVfaW5mbyBjb25zdCosIHZvaWQqJikgY29uc3SvBmZfX2N4eGFiaXYxOjpfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mbzo6Y2FuX2NhdGNoX25lc3RlZChfX2N4eGFiaXYxOjpfX3NoaW1fdHlwZV9pbmZvIGNvbnN0KikgY29uc3SwBoMBX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86OnByb2Nlc3Nfc3RhdGljX3R5cGVfYWJvdmVfZHN0KF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkIGNvbnN0Kiwgdm9pZCBjb25zdCosIGludCkgY29uc3SxBnNfX2N4eGFiaXYxOjpfX3ZtaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0sgaBAV9fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9hYm92ZV9kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KiwgaW50LCBib29sKSBjb25zdLMGdF9fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tAZyX19jeHhhYml2MTo6X19zaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tQZvX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tgaAAV9fY3h4YWJpdjE6Ol9fdm1pX2NsYXNzX3R5cGVfaW5mbzo6c2VhcmNoX2Fib3ZlX2RzdChfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0twZ/X19jeHhhYml2MTo6X19zaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9hYm92ZV9kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KiwgaW50LCBib29sKSBjb25zdLgGfF9fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpzZWFyY2hfYWJvdmVfZHN0KF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkIGNvbnN0Kiwgdm9pZCBjb25zdCosIGludCwgYm9vbCkgY29uc3S5BhxzdGQ6OmV4Y2VwdGlvbjo6d2hhdCgpIGNvbnN0ugYcc3RkOjpiYWRfYWxsb2M6OndoYXQoKSBjb25zdLsGJ3N0ZDo6YmFkX2FycmF5X25ld19sZW5ndGg6OndoYXQoKSBjb25zdLwGIHN0ZDo6bG9naWNfZXJyb3I6On5sb2dpY19lcnJvcigpvQYzc3RkOjpfXzI6Ol9fbGliY3BwX3JlZnN0cmluZzo6fl9fbGliY3BwX3JlZnN0cmluZygpvgYic3RkOjpsb2dpY19lcnJvcjo6fmxvZ2ljX2Vycm9yKCkuMb8GJHN0ZDo6cnVudGltZV9lcnJvcjo6fnJ1bnRpbWVfZXJyb3IoKcAGG3N0ZDo6YmFkX2Nhc3Q6OndoYXQoKSBjb25zdMEGU19fY3h4YWJpdjE6OnJlYWRFbmNvZGVkUG9pbnRlcih1bnNpZ25lZCBjaGFyIGNvbnN0KiosIHVuc2lnbmVkIGNoYXIsIHVuc2lnbmVkIGxvbmcpwgYuX19jeHhhYml2MTo6cmVhZFVMRUIxMjgodW5zaWduZWQgY2hhciBjb25zdCoqKcMGLl9fY3h4YWJpdjE6OnJlYWRTTEVCMTI4KHVuc2lnbmVkIGNoYXIgY29uc3QqKinEBoABX19jeHhhYml2MTo6Z2V0X3NoaW1fdHlwZV9pbmZvKHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGNoYXIsIGJvb2wsIF9VbndpbmRfRXhjZXB0aW9uKiwgdW5zaWduZWQgbG9uZynFBjRfX2N4eGFiaXYxOjpjYWxsX3Rlcm1pbmF0ZShib29sLCBfVW53aW5kX0V4Y2VwdGlvbiopxgYXX1Vud2luZF9DYWxsUGVyc29uYWxpdHnHBhVlbXNjcmlwdGVuX3N0YWNrX2luaXTIBhllbXNjcmlwdGVuX3N0YWNrX2dldF9mcmVlyQYZZW1zY3JpcHRlbl9zdGFja19nZXRfYmFzZcoGGGVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2VuZMsGCXN0YWNrU2F2ZcwGDHN0YWNrUmVzdG9yZc0GCnN0YWNrQWxsb2POBg5fX2N4YV9kZW1hbmdsZc8G5QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojp+QWJzdHJhY3RNYW5nbGluZ1BhcnNlcigp0AZHKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6Om9wZXJhdG9yKz0oY2hhcinRBkwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXc6OlN0cmluZ1ZpZXcoY2hhciBjb25zdCop0gaKAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OmNvbnN1bWVJZigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcp0wbbAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRW5jb2RpbmcoKdQG2wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojpjb25zdW1lSWYoY2hhcinVBt0BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VOdW1iZXIoYm9vbCnWBsEDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbE5hbWUsIGNoYXIgY29uc3QgKCYpIFszNF0sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPihjaGFyIGNvbnN0ICgmKSBbMzRdLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJinXBtcBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUeXBlKCnYBkooYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlcjo6Z3Jvdyh1bnNpZ25lZCBsb25nKdkGkwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlKiwgNHVsPjo6flBPRFNtYWxsVmVjdG9yKCnaBn8oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDMydWw+OjpQT0RTbWFsbFZlY3Rvcigp2wZ+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+OjpQT0RTbWFsbFZlY3Rvcigp3Aa9AShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+KiwgNHVsPjo6UE9EU21hbGxWZWN0b3IoKd0Geihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldzo6c3RhcnRzV2l0aCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpIGNvbnN03gatAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlTmFtZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpOYW1lU3RhdGUqKd8G+wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUVuY29kaW5nKCk6OidsYW1iZGEnKCk6Om9wZXJhdG9yKCkoKSBjb25zdOAG3gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVRlbXBsYXRlQXJnKCnhBq8BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCAzMnVsPjo6cHVzaF9iYWNrKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogY29uc3QmKeIG7wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojpwb3BUcmFpbGluZ05vZGVBcnJheSh1bnNpZ25lZCBsb25nKeMGrAcoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsaWZpZXJzJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvblJlZlF1YWwmPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5JiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxpZmllcnMmLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uUmVmUXVhbCYp5AaGAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRW5jb2RpbmcoKTo6U2F2ZVRlbXBsYXRlUGFyYW1zOjp+U2F2ZVRlbXBsYXRlUGFyYW1zKCnlBtoCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TmFtZVR5cGUsIGNoYXIgY29uc3QgKCYpIFs1XT4oY2hhciBjb25zdCAoJikgWzVdKeYG4QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUJhcmVTb3VyY2VOYW1lKCnnBp4DKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TmFtZVR5cGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyYp6AbXAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRXhwcigp6QbbAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRGVjbHR5cGUoKeoGogMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrRXhwYW5zaW9uLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYp6wbgAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVGVtcGxhdGVQYXJhbSgp7AbjAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVGVtcGxhdGVBcmdzKGJvb2wp7QaCBChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVXaXRoVGVtcGxhdGVBcmdzLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJinuBosEKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlVHlwZSwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlS2luZD4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlS2luZCYmKe8GvAMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVVuc2NvcGVkTmFtZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpOYW1lU3RhdGUqLCBib29sKinwBuABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VRdWFsaWZpZWRUeXBlKCnxBuUCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+OjpvcGVyYXRvcj0oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+JiYp8gbnAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPjo6b3BlcmF0b3I9KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPiYmKfMG3QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUNhbGxPZmZzZXQoKfQG5gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVNlcUlkKHVuc2lnbmVkIGxvbmcqKfUGlQIoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZU1vZHVsZU5hbWVPcHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVOYW1lKiYp9gabAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UqLCA0dWw+OjpvcGVyYXRvcltdKHVuc2lnbmVkIGxvbmcp9waZAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UqLCA0dWw+Ojpkcm9wQmFjayh1bnNpZ25lZCBsb25nKfgG3gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUV4cHJQcmltYXJ5KCn5BroFKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+Kiogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPioqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qKj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+KiosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPioqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qKin6BrMDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VTb3VyY2VOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSop+wZEKGFub255bW91cyBuYW1lc3BhY2UpOjpCdW1wUG9pbnRlckFsbG9jYXRvcjo6YWxsb2NhdGUodW5zaWduZWQgbG9uZyn8BqwBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsTmFtZTo6U3BlY2lhbE5hbWUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqKf0GvwIoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6Ok5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpLaW5kLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OlByZWMsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUp/gZ9KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T/BnYoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlcjo6b3BlcmF0b3IrPSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpgAdCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpnZXRCYXNlTmFtZSgpIGNvbnN0gQeHAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q3RvclZ0YWJsZVNwZWNpYWxOYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIIH8AEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVBvc2l0aXZlSW50ZWdlcih1bnNpZ25lZCBsb25nKimDB3AoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVUeXBlOjpOYW1lVHlwZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcphAd6KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOYW1lVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SFB0YoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVUeXBlOjpnZXRCYXNlTmFtZSgpIGNvbnN0hgd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVOYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIcH3wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUNWUXVhbGlmaWVycygpiAffAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlU3Vic3RpdHV0aW9uKCmJB3koYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDMydWw+Ojpwb3BfYmFjaygpigeeBChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVW5xdWFsaWZpZWROYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TW9kdWxlTmFtZSopiwdWKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpwYXJzZV9kaXNjcmltaW5hdG9yKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KimMB/cDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TG9jYWxOYW1lLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimNB7MBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+OjpiYWNrKCmOB4gCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VBYmlUYWdzKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSopjwe4Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVW5uYW1lZFR5cGVOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSopkAe1Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlT3BlcmF0b3JOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSopkQeKAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Tm9kZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OktpbmQsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUpkgeUAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3STB3woYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6Omhhc1JIU0NvbXBvbmVudCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0lAeNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlOjpoYXNBcnJheVNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJUHkAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZTo6aGFzRnVuY3Rpb25TbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SWB44BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2U6OmdldFN5bnRheE5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJcHigEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SYB4sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2U6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJkH4wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZU9wZXJhdG9yRW5jb2RpbmcoKZoH6wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpPcGVyYXRvckluZm86OmdldFN5bWJvbCgpIGNvbnN0mwfFAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlUHJlZml4RXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6UHJlYymcB+oEKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FsbEV4cHIsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheSwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlQXJyYXkmJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjJiYpnQfgAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRnVuY3Rpb25QYXJhbSgpngfdAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlQnJhY2VkRXhwcigpnwfDAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuY2xvc2luZ0V4cHIsIGNoYXIgY29uc3QgKCYpIFsxMV0sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPihjaGFyIGNvbnN0ICgmKSBbMTFdLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimgB6sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpvcGVyYXRvcj09KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyBjb25zdCYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyBjb25zdCYpoQdTKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3Ojpkcm9wRnJvbnQodW5zaWduZWQgbG9uZykgY29uc3SiB5QCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VJbnRlZ2VyTGl0ZXJhbCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpowe+Aihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJvb2xFeHByLCBpbnQ+KGludCYmKaQHowMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvblBhcmFtLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcmPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcmKaUH6QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpPcGVyYXRvckluZm86OmdldE5hbWUoKSBjb25zdKYHhgQoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCcmFjZWRFeHByLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIGJvb2w+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgYm9vbCYmKacH4QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVVucmVzb2x2ZWRUeXBlKCmoB9sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VTaW1wbGVJZCgpqQf7Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxpZmllZE5hbWUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomKaoH5QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUJhc2VVbnJlc29sdmVkTmFtZSgpqwefAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Okdsb2JhbFF1YWxpZmllZE5hbWUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimsB3woYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJpbmFyeUV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0rQdGKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6OnByaW50T3BlbihjaGFyKa4HtgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OnByaW50QXNPcGVyYW5kKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjLCBib29sKSBjb25zdK8HRyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyOjpwcmludENsb3NlKGNoYXIpsAd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQcmVmaXhFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLEHfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9zdGZpeEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0sgeEAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlTdWJzY3JpcHRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLMHfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWVtYmVyRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3S0B3koYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5ld0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0tQeAAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5OjpwcmludFdpdGhDb21tYSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0tgd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEZWxldGVFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLcHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FsbEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uAeAAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q29udmVyc2lvbkV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uQeBAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q29uZGl0aW9uYWxFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLoHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FzdEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uwflAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RW5jbG9zaW5nRXhwcjo6RW5jbG9zaW5nRXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6UHJlYym8B38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuY2xvc2luZ0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0vQfJAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OlNjb3BlZFRlbXBsYXRlUGFyYW1MaXN0OjpTY29wZWRUZW1wbGF0ZVBhcmFtTGlzdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Kim+B+QBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUZW1wbGF0ZVBhcmFtRGVjbCgpvwf/AShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OlNjb3BlZFRlbXBsYXRlUGFyYW1MaXN0Ojp+U2NvcGVkVGVtcGxhdGVQYXJhbUxpc3QoKcAHgAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkludGVnZXJMaXRlcmFsOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMEHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Qm9vbEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0wgeJAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RmxvYXRMaXRlcmFsSW1wbDxmbG9hdD46OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0wweKAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RmxvYXRMaXRlcmFsSW1wbDxkb3VibGU+OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMQHjwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZsb2F0TGl0ZXJhbEltcGw8bG9uZyBkb3VibGU+OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMUHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nTGl0ZXJhbDo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TGB/gCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUZW1wbGF0ZVBhcmFtRGVjbCgpOjonbGFtYmRhJygoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1LaW5kKTo6b3BlcmF0b3IoKSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1LaW5kKSBjb25zdMcHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlVubmFtZWRUeXBlTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TIB4wBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTeW50aGV0aWNUZW1wbGF0ZVBhcmFtTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TJB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUeXBlVGVtcGxhdGVQYXJhbURlY2w6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0ygeIAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6VHlwZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TLB4oBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb25UeXBlVGVtcGxhdGVQYXJhbURlY2w6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0zAeLAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9uVHlwZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TNB4sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUZW1wbGF0ZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdM4HhwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1QYWNrRGVjbDo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TPB4gBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUZW1wbGF0ZVBhcmFtUGFja0RlY2w6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNAHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkNsb3N1cmVUeXBlTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TRB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDbG9zdXJlVHlwZU5hbWU6OnByaW50RGVjbGFyYXRvcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN00gd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpMYW1iZGFFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNMHfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RW51bUxpdGVyYWw6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN01Ad2KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6Om9wZXJhdG9yPDwoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3KdUHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RnVuY3Rpb25QYXJhbTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TWB3ooYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvbGRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNcHmgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvbGRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdDo6J2xhbWJkYScoKTo6b3BlcmF0b3IoKSgpIGNvbnN02AeNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFja0V4cGFuc2lvbjo6UGFyYW1ldGVyUGFja0V4cGFuc2lvbigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqKdkHiAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBhcmFtZXRlclBhY2tFeHBhbnNpb246OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN02gd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCcmFjZWRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNsHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJyYWNlZFJhbmdlRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TcB60BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpJbml0TGlzdEV4cHI6OkluaXRMaXN0RXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheSndB34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkluaXRMaXN0RXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TeB48BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb2ludGVyVG9NZW1iZXJDb252ZXJzaW9uRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TfB38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN1Ym9iamVjdEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04AeFAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U2l6ZW9mUGFyYW1QYWNrRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3ThB38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheU5vZGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04gd7KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUaHJvd0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04wd/KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsaWZpZWROYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOQHSyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UXVhbGlmaWVkTmFtZTo6Z2V0QmFzZU5hbWUoKSBjb25zdOUHogMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDb252ZXJzaW9uT3BlcmF0b3JUeXBlLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYp5gd6KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEdG9yTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TnB4gBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDb252ZXJzaW9uT3BlcmF0b3JUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOgHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkxpdGVyYWxPcGVyYXRvcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TpB4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpHbG9iYWxRdWFsaWZpZWROYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOoHUShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6R2xvYmFsUXVhbGlmaWVkTmFtZTo6Z2V0QmFzZU5hbWUoKSBjb25zdOsHzwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkV4cGFuZGVkU3BlY2lhbFN1YnN0aXR1dGlvbjo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbFN1YktpbmQsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6S2luZCnsB4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsU3Vic3RpdHV0aW9uOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdO0HUShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbFN1YnN0aXR1dGlvbjo6Z2V0QmFzZU5hbWUoKSBjb25zdO4HWShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uOjpnZXRCYXNlTmFtZSgpIGNvbnN07weNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPAHfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJpVGFnQXR0cjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TxB7IDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q3RvckR0b3JOYW1lLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgYm9vbCwgaW50Jj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIGJvb2wmJiwgaW50JinyB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJ1Y3R1cmVkQmluZGluZ05hbWU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN08wd+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDdG9yRHRvck5hbWU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09Ad+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVFbnRpdHk6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09QeJAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6aGFzUkhTQ29tcG9uZW50U2xvdygoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09geCAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6aGFzQXJyYXlTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T3B4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrOjpoYXNGdW5jdGlvblNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPgHgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBhcmFtZXRlclBhY2s6OmdldFN5bnRheE5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPkHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T6B4ABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T7B34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlQXJnczo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T8B4YBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOYW1lV2l0aFRlbXBsYXRlQXJnczo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T9B34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuYWJsZUlmQXR0cjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T+B4wBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T/B4IBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIAIgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uRW5jb2Rpbmc6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIEIeyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RG90U3VmZml4OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIII+AMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimDCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZXhjZXB0U3BlYzo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SECIYBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEeW5hbWljRXhjZXB0aW9uU3BlYzo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SFCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SGCH8oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uVHlwZTo6cHJpbnRSaWdodCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0hwh/KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPYmpDUHJvdG9OYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIgIgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlZlbmRvckV4dFF1YWxUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIkIhAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SKCH0oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNBcnJheVNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIsIgAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNGdW5jdGlvblNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIwIeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UXVhbFR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jQh7KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsVHlwZTo6cHJpbnRSaWdodCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jgh+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCaW5hcnlGUFR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jwh8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCaXRJbnRUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJAIgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBpeGVsVmVjdG9yVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SRCKsBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlOjpWZWN0b3JUeXBlKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCopkgh8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJMIeyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJQIfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlUeXBlOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SVCIUBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb2ludGVyVG9NZW1iZXJUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJYIhgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBvaW50ZXJUb01lbWJlclR5cGU6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJcIiAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVsYWJvcmF0ZWRUeXBlU3BlZlR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0mAiHAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6Omhhc1JIU0NvbXBvbmVudFNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJkIfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0mghMKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPYmpDUHJvdG9OYW1lOjppc09iakNPYmplY3QoKSBjb25zdJsIfihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJwIfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SdCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlJlZmVyZW5jZVR5cGU6OmNvbGxhcHNlKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SeCIABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpSZWZlcmVuY2VUeXBlOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SfCL4BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb3N0Zml4UXVhbGlmaWVkVHlwZTo6UG9zdGZpeFF1YWxpZmllZFR5cGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlIGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3KaAIhgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBvc3RmaXhRdWFsaWZpZWRUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdKEIJV9fdGhyb3duX29iamVjdF9mcm9tX3Vud2luZF9leGNlcHRpb26iCBdfX2dldF9leGNlcHRpb25fbWVzc2FnZaMIFmxlZ2Fsc3R1YiRkeW5DYWxsX2ppammkCBhsZWdhbHN0dWIkZHluQ2FsbF92aWlqaWmlCBhsZWdhbHN0dWIkZHluQ2FsbF9paWlpaWqmCBlsZWdhbHN0dWIkZHluQ2FsbF9paWlpaWpqpwgabGVnYWxzdHViJGR5bkNhbGxfaWlpaWlpamqoCCFsZWdhbGZ1bmMkX2VtYmluZF9yZWdpc3Rlcl9iaWdpbnQHNwQAD19fc3RhY2tfcG9pbnRlcgEIdGVtcFJldDACC19fc3RhY2tfZW5kAwxfX3N0YWNrX2Jhc2UJrwU9AAcucm9kYXRhAQkucm9kYXRhLjECCS5yb2RhdGEuMgMJLnJvZGF0YS4zBAkucm9kYXRhLjQFCS5yb2RhdGEuNQYJLnJvZGF0YS42Bwkucm9kYXRhLjcICS5yb2RhdGEuOAkJLnJvZGF0YS45Cgoucm9kYXRhLjEwCwoucm9kYXRhLjExDAoucm9kYXRhLjEyDQoucm9kYXRhLjEzDgoucm9kYXRhLjE0Dwoucm9kYXRhLjE1EAoucm9kYXRhLjE2EQoucm9kYXRhLjE3Egoucm9kYXRhLjE4Ewoucm9kYXRhLjE5FAoucm9kYXRhLjIwFQoucm9kYXRhLjIxFgoucm9kYXRhLjIyFwoucm9kYXRhLjIzGAoucm9kYXRhLjI0GQoucm9kYXRhLjI1Ggoucm9kYXRhLjI2Gwoucm9kYXRhLjI3HAoucm9kYXRhLjI4HQoucm9kYXRhLjI5Hgoucm9kYXRhLjMwHwoucm9kYXRhLjMxIAoucm9kYXRhLjMyIQoucm9kYXRhLjMzIgoucm9kYXRhLjM0Iwoucm9kYXRhLjM1JAoucm9kYXRhLjM2JQoucm9kYXRhLjM3Jgoucm9kYXRhLjM4Jwoucm9kYXRhLjM5KAoucm9kYXRhLjQwKQoucm9kYXRhLjQxKgoucm9kYXRhLjQyKwoucm9kYXRhLjQzLAoucm9kYXRhLjQ0LQoucm9kYXRhLjQ1Lgoucm9kYXRhLjQ2Lwoucm9kYXRhLjQ3MAoucm9kYXRhLjQ4MQoucm9kYXRhLjQ5MgUuZGF0YTMHLmRhdGEuMTQHLmRhdGEuMjUHLmRhdGEuMzYHLmRhdGEuNDcHLmRhdGEuNTgHLmRhdGEuNjkHLmRhdGEuNzoHLmRhdGEuODsHLmRhdGEuOTwILmRhdGEuMTA=';
    if (!isDataURI(wasmBinaryFile)) {
      wasmBinaryFile = locateFile(wasmBinaryFile);
    }

  function getBinarySync(file) {
    if (file == wasmBinaryFile && wasmBinary) {
      return new Uint8Array(wasmBinary);
    }
    var binary = tryParseAsDataURI(file);
    if (binary) {
      return binary;
    }
    throw "both async and sync fetching of the wasm failed";
  }

  function getBinaryPromise(binaryFile) {

    // Otherwise, getBinarySync should be able to get it synchronously
    return Promise.resolve().then(() => getBinarySync(binaryFile));
  }

  function instantiateArrayBuffer(binaryFile, imports, receiver) {
    return getBinaryPromise(binaryFile).then((binary) => {
      return WebAssembly.instantiate(binary, imports);
    }).then((instance) => {
      return instance;
    }).then(receiver, (reason) => {
      err('failed to asynchronously prepare wasm: ' + reason);

      // Warn on some common problems.
      if (isFileURI(wasmBinaryFile)) {
        err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing');
      }
      abort(reason);
    });
  }

  function instantiateAsync(binary, binaryFile, imports, callback) {
    return instantiateArrayBuffer(binaryFile, imports, callback);
  }

  // Create the wasm instance.
  // Receives the wasm imports, returns the exports.
  function createWasm() {
    // prepare imports
    var info = {
      'env': wasmImports,
      'wasi_snapshot_preview1': wasmImports,
    };
    // Load the wasm module and create an instance of using native support in the JS engine.
    // handle a generated wasm instance, receiving its exports and
    // performing other necessary setup
    /** @param {WebAssembly.Module=} module*/
    function receiveInstance(instance, module) {
      var exports = instance.exports;

      wasmExports = exports;
      

      wasmMemory = wasmExports['memory'];
      
      assert(wasmMemory, "memory not found in wasm exports");
      // This assertion doesn't hold when emscripten is run in --post-link
      // mode.
      // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode.
      //assert(wasmMemory.buffer.byteLength === 16777216);
      updateMemoryViews();

      wasmTable = wasmExports['__indirect_function_table'];
      
      assert(wasmTable, "table not found in wasm exports");

      addOnInit(wasmExports['__wasm_call_ctors']);

      removeRunDependency('wasm-instantiate');
      return exports;
    }
    // wait for the pthread pool (if any)
    addRunDependency('wasm-instantiate');

    // Prefer streaming instantiation if available.
    // Async compilation can be confusing when an error on the page overwrites Module
    // (for example, if the order of elements is wrong, and the one defining Module is
    // later), so we save Module and check it later.
    var trueModule = Module;
    function receiveInstantiationResult(result) {
      // 'result' is a ResultObject object which has both the module and instance.
      // receiveInstance() will swap in the exports (to Module.asm) so they can be called
      assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?');
      trueModule = null;
      // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
      // When the regression is fixed, can restore the above PTHREADS-enabled path.
      receiveInstance(result['instance']);
    }

    // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
    // to manually instantiate the Wasm module themselves. This allows pages to
    // run the instantiation parallel to any other async startup actions they are
    // performing.
    // Also pthreads and wasm workers initialize the wasm instance through this
    // path.
    if (Module['instantiateWasm']) {

      try {
        return Module['instantiateWasm'](info, receiveInstance);
      } catch(e) {
        err('Module.instantiateWasm callback failed with error: ' + e);
          // If instantiation fails, reject the module ready promise.
          readyPromiseReject(e);
      }
    }

    // If instantiation fails, reject the module ready promise.
    instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
    return {}; // no exports yet; we'll fill them in later
  }

  // Globals used by JS i64 conversions (see makeSetValue)
  var tempDouble;
  var tempI64;

  // include: runtime_debug.js
  function legacyModuleProp(prop, newName, incomming=true) {
    if (!Object.getOwnPropertyDescriptor(Module, prop)) {
      Object.defineProperty(Module, prop, {
        configurable: true,
        get() {
          let extra = incomming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : '';
          abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra);

        }
      });
    }
  }

  function ignoredModuleProp(prop) {
    if (Object.getOwnPropertyDescriptor(Module, prop)) {
      abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`);
    }
  }

  // forcing the filesystem exports a few things by default
  function isExportedByForceFilesystem(name) {
    return name === 'FS_createPath' ||
           name === 'FS_createDataFile' ||
           name === 'FS_createPreloadedFile' ||
           name === 'FS_unlink' ||
           name === 'addRunDependency' ||
           // The old FS has some functionality that WasmFS lacks.
           name === 'FS_createLazyFile' ||
           name === 'FS_createDevice' ||
           name === 'removeRunDependency';
  }

  function missingGlobal(sym, msg) {
    if (typeof globalThis !== 'undefined') {
      Object.defineProperty(globalThis, sym, {
        configurable: true,
        get() {
          warnOnce('`' + sym + '` is not longer defined by emscripten. ' + msg);
          return undefined;
        }
      });
    }
  }

  missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer');

  function missingLibrarySymbol(sym) {
    if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) {
      Object.defineProperty(globalThis, sym, {
        configurable: true,
        get() {
          // Can't `abort()` here because it would break code that does runtime
          // checks.  e.g. `if (typeof SDL === 'undefined')`.
          var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line';
          // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in
          // library.js, which means $name for a JS name with no prefix, or name
          // for a JS name like _name.
          var librarySymbol = sym;
          if (!librarySymbol.startsWith('_')) {
            librarySymbol = '$' + sym;
          }
          msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='" + librarySymbol + "')";
          if (isExportedByForceFilesystem(sym)) {
            msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you';
          }
          warnOnce(msg);
          return undefined;
        }
      });
    }
    // Any symbol that is not included from the JS libary is also (by definition)
    // not exported on the Module object.
    unexportedRuntimeSymbol(sym);
  }

  function unexportedRuntimeSymbol(sym) {
    if (!Object.getOwnPropertyDescriptor(Module, sym)) {
      Object.defineProperty(Module, sym, {
        configurable: true,
        get() {
          var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";
          if (isExportedByForceFilesystem(sym)) {
            msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you';
          }
          abort(msg);
        }
      });
    }
  }
  // end include: runtime_debug.js
  // === Body ===

  var ASM_CONSTS = {
    46407: ($0, $1) => { let type = UTF8ToString($0); let directory = UTF8ToString($1); let allocatedDir = _malloc(directory.length + 1); stringToUTF8(directory, allocatedDir, directory.length + 1); let jsAllocatedDir = UTF8ToString(allocatedDir); if (type == "IDBFS") { FS.mkdir(jsAllocatedDir); FS.mount(IDBFS, {}, jsAllocatedDir); console.log('EmscriptenFileSystemManager: Mounting IDBFS filesystem...\n'); } else { throw new Error('Unsupported filesystem type, IDBFS is supported: ' + type); } _free(allocatedDir); }
  };
  function syncIdb_js(populateFromFS) { try { FS.syncfs(populateFromFS, function(err) { setTimeout(function() { if (err) { console.error('b. jsFS Error: syncing FS:', err); Module.setIdbfsSynced(false); } else { console.log('b. jsFS synced successfully'); Module.setIdbfsSynced(true); } }, 1); }); } catch (err) { Module.setIdbfsSynced(false); } }

    var callRuntimeCallbacks = (callbacks) => {
        while (callbacks.length > 0) {
          // Pass the module as the first argument.
          callbacks.shift()(Module);
        }
      };

    
    function getCppExceptionTag() {
        // In static linking, tags are defined within the wasm module and are
        // exported, whereas in dynamic linking, tags are defined in library.js in
        // JS code and wasm modules import them.
        return wasmExports['__cpp_exception'];
      }
    
    function getCppExceptionThrownObjectFromWebAssemblyException(ex) {
        // In Wasm EH, the value extracted from WebAssembly.Exception is a pointer
        // to the unwind header. Convert it to the actual thrown value.
        var unwind_header = ex.getArg(getCppExceptionTag(), 0);
        return ___thrown_object_from_unwind_exception(unwind_header);
      }

    var withStackSave = (f) => {
        var stack = stackSave();
        var ret = f();
        stackRestore(stack);
        return ret;
      };
    
    
    
    var lengthBytesUTF8 = (str) => {
        var len = 0;
        for (var i = 0; i < str.length; ++i) {
          // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
          // unit, not a Unicode code point of the character! So decode
          // UTF16->UTF32->UTF8.
          // See http://unicode.org/faq/utf_bom.html#utf16-3
          var c = str.charCodeAt(i); // possibly a lead surrogate
          if (c <= 0x7F) {
            len++;
          } else if (c <= 0x7FF) {
            len += 2;
          } else if (c >= 0xD800 && c <= 0xDFFF) {
            len += 4; ++i;
          } else {
            len += 3;
          }
        }
        return len;
      };
    
    var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
        assert(typeof str === 'string');
        // Parameter maxBytesToWrite is not optional. Negative values, 0, null,
        // undefined and false each don't write out any bytes.
        if (!(maxBytesToWrite > 0))
          return 0;
    
        var startIdx = outIdx;
        var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
        for (var i = 0; i < str.length; ++i) {
          // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
          // unit, not a Unicode code point of the character! So decode
          // UTF16->UTF32->UTF8.
          // See http://unicode.org/faq/utf_bom.html#utf16-3
          // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
          // and https://www.ietf.org/rfc/rfc2279.txt
          // and https://tools.ietf.org/html/rfc3629
          var u = str.charCodeAt(i); // possibly a lead surrogate
          if (u >= 0xD800 && u <= 0xDFFF) {
            var u1 = str.charCodeAt(++i);
            u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
          }
          if (u <= 0x7F) {
            if (outIdx >= endIdx) break;
            heap[outIdx++] = u;
          } else if (u <= 0x7FF) {
            if (outIdx + 1 >= endIdx) break;
            heap[outIdx++] = 0xC0 | (u >> 6);
            heap[outIdx++] = 0x80 | (u & 63);
          } else if (u <= 0xFFFF) {
            if (outIdx + 2 >= endIdx) break;
            heap[outIdx++] = 0xE0 | (u >> 12);
            heap[outIdx++] = 0x80 | ((u >> 6) & 63);
            heap[outIdx++] = 0x80 | (u & 63);
          } else {
            if (outIdx + 3 >= endIdx) break;
            if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).');
            heap[outIdx++] = 0xF0 | (u >> 18);
            heap[outIdx++] = 0x80 | ((u >> 12) & 63);
            heap[outIdx++] = 0x80 | ((u >> 6) & 63);
            heap[outIdx++] = 0x80 | (u & 63);
          }
        }
        // Null-terminate the pointer to the buffer.
        heap[outIdx] = 0;
        return outIdx - startIdx;
      };
    var stringToUTF8 = (str, outPtr, maxBytesToWrite) => {
        assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
        return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
      };
    var stringToUTF8OnStack = (str) => {
        var size = lengthBytesUTF8(str) + 1;
        var ret = stackAlloc(size);
        stringToUTF8(str, ret, size);
        return ret;
      };
    
    var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;
    
      /**
       * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
       * array that contains uint8 values, returns a copy of that string as a
       * Javascript String object.
       * heapOrArray is either a regular array, or a JavaScript typed array view.
       * @param {number} idx
       * @param {number=} maxBytesToRead
       * @return {string}
       */
    var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
        var endIdx = idx + maxBytesToRead;
        var endPtr = idx;
        // TextDecoder needs to know the byte length in advance, it doesn't stop on
        // null terminator by itself.  Also, use the length info to avoid running tiny
        // strings through TextDecoder, since .subarray() allocates garbage.
        // (As a tiny code save trick, compare endPtr against endIdx using a negation,
        // so that undefined means Infinity)
        while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
    
        if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
          return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
        }
        var str = '';
        // If building with TextDecoder, we have already computed the string length
        // above, so test loop end condition against that
        while (idx < endPtr) {
          // For UTF8 byte structure, see:
          // http://en.wikipedia.org/wiki/UTF-8#Description
          // https://www.ietf.org/rfc/rfc2279.txt
          // https://tools.ietf.org/html/rfc3629
          var u0 = heapOrArray[idx++];
          if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
          var u1 = heapOrArray[idx++] & 63;
          if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
          var u2 = heapOrArray[idx++] & 63;
          if ((u0 & 0xF0) == 0xE0) {
            u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
          } else {
            if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!');
            u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63);
          }
    
          if (u0 < 0x10000) {
            str += String.fromCharCode(u0);
          } else {
            var ch = u0 - 0x10000;
            str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
          }
        }
        return str;
      };
    
      /**
       * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
       * emscripten HEAP, returns a copy of that string as a Javascript String object.
       *
       * @param {number} ptr
       * @param {number=} maxBytesToRead - An optional length that specifies the
       *   maximum number of bytes to read. You can omit this parameter to scan the
       *   string until the first 0 byte. If maxBytesToRead is passed, and the string
       *   at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
       *   string will cut short at that byte index (i.e. maxBytesToRead will not
       *   produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
       *   frequent uses of UTF8ToString() with and without maxBytesToRead may throw
       *   JS JIT optimizations off, so it is worth to consider consistently using one
       * @return {string}
       */
    var UTF8ToString = (ptr, maxBytesToRead) => {
        assert(typeof ptr == 'number');
        return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
      };
    function demangle(func) {
        // If demangle has failed before, stop demangling any further function names
        // This avoids an infinite recursion with malloc()->abort()->stackTrace()->demangle()->malloc()->...
        demangle.recursionGuard = (demangle.recursionGuard|0)+1;
        if (demangle.recursionGuard > 1) return func;
        return withStackSave(function() {
          try {
            var s = func;
            if (s.startsWith('__Z'))
              s = s.substr(1);
            var buf = stringToUTF8OnStack(s);
            var status = stackAlloc(4);
            var ret = ___cxa_demangle(buf, 0, 0, status);
            if (HEAP32[((status)>>2)] === 0 && ret) {
              return UTF8ToString(ret);
            }
            // otherwise, libcxxabi failed
          } catch(e) {
          } finally {
            _free(ret);
            if (demangle.recursionGuard < 2) --demangle.recursionGuard;
          }
          // failure when using libcxxabi, don't demangle
          return func;
        });
      }

    
    
    
    
    var getExceptionMessageCommon = (ptr) => withStackSave(() => {
        var type_addr_addr = stackAlloc(4);
        var message_addr_addr = stackAlloc(4);
        ___get_exception_message(ptr, type_addr_addr, message_addr_addr);
        var type_addr = HEAPU32[((type_addr_addr)>>2)];
        var message_addr = HEAPU32[((message_addr_addr)>>2)];
        var type = UTF8ToString(type_addr);
        _free(type_addr);
        var message;
        if (message_addr) {
          message = UTF8ToString(message_addr);
          _free(message_addr);
        }
        return [type, message];
      });
    function getExceptionMessage(ex) {
        var ptr = getCppExceptionThrownObjectFromWebAssemblyException(ex);
        return getExceptionMessageCommon(ptr);
      }
    Module['getExceptionMessage'] = getExceptionMessage;

    var ptrToString = (ptr) => {
        assert(typeof ptr === 'number');
        // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
        ptr >>>= 0;
        return '0x' + ptr.toString(16).padStart(8, '0');
      };
    
    function demangleAll(text) {
        var regex =
          /\b_Z[\w\d_]+/g;
        return text.replace(regex,
          function(x) {
            var y = demangle(x);
            return x === y ? x : (y + ' [' + x + ']');
          });
      }

    var warnOnce = (text) => {
        if (!warnOnce.shown) warnOnce.shown = {};
        if (!warnOnce.shown[text]) {
          warnOnce.shown[text] = 1;
          err(text);
        }
      };

    var ___assert_fail = (condition, filename, line, func) => {
        abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
      };

    var setErrNo = (value) => {
        HEAP32[((___errno_location())>>2)] = value;
        return value;
      };
    
    var PATH = {
    isAbs:(path) => path.charAt(0) === '/',
    splitPath:(filename) => {
          var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
          return splitPathRe.exec(filename).slice(1);
        },
    normalizeArray:(parts, allowAboveRoot) => {
          // if the path tries to go above the root, `up` ends up > 0
          var up = 0;
          for (var i = parts.length - 1; i >= 0; i--) {
            var last = parts[i];
            if (last === '.') {
              parts.splice(i, 1);
            } else if (last === '..') {
              parts.splice(i, 1);
              up++;
            } else if (up) {
              parts.splice(i, 1);
              up--;
            }
          }
          // if the path is allowed to go above the root, restore leading ..s
          if (allowAboveRoot) {
            for (; up; up--) {
              parts.unshift('..');
            }
          }
          return parts;
        },
    normalize:(path) => {
          var isAbsolute = PATH.isAbs(path),
              trailingSlash = path.substr(-1) === '/';
          // Normalize the path
          path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/');
          if (!path && !isAbsolute) {
            path = '.';
          }
          if (path && trailingSlash) {
            path += '/';
          }
          return (isAbsolute ? '/' : '') + path;
        },
    dirname:(path) => {
          var result = PATH.splitPath(path),
              root = result[0],
              dir = result[1];
          if (!root && !dir) {
            // No dirname whatsoever
            return '.';
          }
          if (dir) {
            // It has a dirname, strip trailing slash
            dir = dir.substr(0, dir.length - 1);
          }
          return root + dir;
        },
    basename:(path) => {
          // EMSCRIPTEN return '/'' for '/', not an empty string
          if (path === '/') return '/';
          path = PATH.normalize(path);
          path = path.replace(/\/$/, "");
          var lastSlash = path.lastIndexOf('/');
          if (lastSlash === -1) return path;
          return path.substr(lastSlash+1);
        },
    join:function() {
          var paths = Array.prototype.slice.call(arguments);
          return PATH.normalize(paths.join('/'));
        },
    join2:(l, r) => {
          return PATH.normalize(l + '/' + r);
        },
    };
    
    var initRandomFill = () => {
        if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') {
          // for modern web browsers
          return (view) => crypto.getRandomValues(view);
        } else
        // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
        abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };");
      };
    var randomFill = (view) => {
        // Lazily init on the first invocation.
        return (randomFill = initRandomFill())(view);
      };
    
    
    
    var PATH_FS = {
    resolve:function() {
          var resolvedPath = '',
            resolvedAbsolute = false;
          for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
            var path = (i >= 0) ? arguments[i] : FS.cwd();
            // Skip empty and invalid entries
            if (typeof path != 'string') {
              throw new TypeError('Arguments to path.resolve must be strings');
            } else if (!path) {
              return ''; // an invalid portion invalidates the whole thing
            }
            resolvedPath = path + '/' + resolvedPath;
            resolvedAbsolute = PATH.isAbs(path);
          }
          // At this point the path should be resolved to a full absolute path, but
          // handle relative paths to be safe (might happen when process.cwd() fails)
          resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/');
          return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
        },
    relative:(from, to) => {
          from = PATH_FS.resolve(from).substr(1);
          to = PATH_FS.resolve(to).substr(1);
          function trim(arr) {
            var start = 0;
            for (; start < arr.length; start++) {
              if (arr[start] !== '') break;
            }
            var end = arr.length - 1;
            for (; end >= 0; end--) {
              if (arr[end] !== '') break;
            }
            if (start > end) return [];
            return arr.slice(start, end - start + 1);
          }
          var fromParts = trim(from.split('/'));
          var toParts = trim(to.split('/'));
          var length = Math.min(fromParts.length, toParts.length);
          var samePartsLength = length;
          for (var i = 0; i < length; i++) {
            if (fromParts[i] !== toParts[i]) {
              samePartsLength = i;
              break;
            }
          }
          var outputParts = [];
          for (var i = samePartsLength; i < fromParts.length; i++) {
            outputParts.push('..');
          }
          outputParts = outputParts.concat(toParts.slice(samePartsLength));
          return outputParts.join('/');
        },
    };
    
    
    
    var FS_stdin_getChar_buffer = [];
    
    
    /** @type {function(string, boolean=, number=)} */
    function intArrayFromString(stringy, dontAddNull, length) {
      var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
      var u8array = new Array(len);
      var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
      if (dontAddNull) u8array.length = numBytesWritten;
      return u8array;
    }
    var FS_stdin_getChar = () => {
        if (!FS_stdin_getChar_buffer.length) {
          var result = null;
          if (typeof window != 'undefined' &&
            typeof window.prompt == 'function') {
            // Browser.
            result = window.prompt('Input: ');  // returns null on cancel
            if (result !== null) {
              result += '\n';
            }
          } else if (typeof readline == 'function') {
            // Command line.
            result = readline();
            if (result !== null) {
              result += '\n';
            }
          }
          if (!result) {
            return null;
          }
          FS_stdin_getChar_buffer = intArrayFromString(result, true);
        }
        return FS_stdin_getChar_buffer.shift();
      };
    var TTY = {
    ttys:[],
    init:function () {
          // https://github.com/emscripten-core/emscripten/pull/1555
          // if (ENVIRONMENT_IS_NODE) {
          //   // currently, FS.init does not distinguish if process.stdin is a file or TTY
          //   // device, it always assumes it's a TTY device. because of this, we're forcing
          //   // process.stdin to UTF8 encoding to at least make stdin reading compatible
          //   // with text files until FS.init can be refactored.
          //   process.stdin.setEncoding('utf8');
          // }
        },
    shutdown:function() {
          // https://github.com/emscripten-core/emscripten/pull/1555
          // if (ENVIRONMENT_IS_NODE) {
          //   // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
          //   // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
          //   // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
          //   // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
          //   // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
          //   process.stdin.pause();
          // }
        },
    register:function(dev, ops) {
          TTY.ttys[dev] = { input: [], output: [], ops: ops };
          FS.registerDevice(dev, TTY.stream_ops);
        },
    stream_ops:{
    open:function(stream) {
            var tty = TTY.ttys[stream.node.rdev];
            if (!tty) {
              throw new FS.ErrnoError(43);
            }
            stream.tty = tty;
            stream.seekable = false;
          },
    close:function(stream) {
            // flush any pending line data
            stream.tty.ops.fsync(stream.tty);
          },
    fsync:function(stream) {
            stream.tty.ops.fsync(stream.tty);
          },
    read:function(stream, buffer, offset, length, pos /* ignored */) {
            if (!stream.tty || !stream.tty.ops.get_char) {
              throw new FS.ErrnoError(60);
            }
            var bytesRead = 0;
            for (var i = 0; i < length; i++) {
              var result;
              try {
                result = stream.tty.ops.get_char(stream.tty);
              } catch (e) {
                throw new FS.ErrnoError(29);
              }
              if (result === undefined && bytesRead === 0) {
                throw new FS.ErrnoError(6);
              }
              if (result === null || result === undefined) break;
              bytesRead++;
              buffer[offset+i] = result;
            }
            if (bytesRead) {
              stream.node.timestamp = Date.now();
            }
            return bytesRead;
          },
    write:function(stream, buffer, offset, length, pos) {
            if (!stream.tty || !stream.tty.ops.put_char) {
              throw new FS.ErrnoError(60);
            }
            try {
              for (var i = 0; i < length; i++) {
                stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
              }
            } catch (e) {
              throw new FS.ErrnoError(29);
            }
            if (length) {
              stream.node.timestamp = Date.now();
            }
            return i;
          },
    },
    default_tty_ops:{
    get_char:function(tty) {
            return FS_stdin_getChar();
          },
    put_char:function(tty, val) {
            if (val === null || val === 10) {
              out(UTF8ArrayToString(tty.output, 0));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
            }
          },
    fsync:function(tty) {
            if (tty.output && tty.output.length > 0) {
              out(UTF8ArrayToString(tty.output, 0));
              tty.output = [];
            }
          },
    ioctl_tcgets:function(tty) {
            // typical setting
            return {
              c_iflag: 25856,
              c_oflag: 5,
              c_cflag: 191,
              c_lflag: 35387,
              c_cc: [
                0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00,
                0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
              ]
            };
          },
    ioctl_tcsets:function(tty, optional_actions, data) {
            // currently just ignore
            return 0;
          },
    ioctl_tiocgwinsz:function(tty) {
            return [24, 80];
          },
    },
    default_tty1_ops:{
    put_char:function(tty, val) {
            if (val === null || val === 10) {
              err(UTF8ArrayToString(tty.output, 0));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val);
            }
          },
    fsync:function(tty) {
            if (tty.output && tty.output.length > 0) {
              err(UTF8ArrayToString(tty.output, 0));
              tty.output = [];
            }
          },
    },
    };
    var mmapAlloc = (size) => {
        abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported');
      };
    var MEMFS = {
    ops_table:null,
    mount(mount) {
          return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
        },
    createNode(parent, name, mode, dev) {
          if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
            // no supported
            throw new FS.ErrnoError(63);
          }
          if (!MEMFS.ops_table) {
            MEMFS.ops_table = {
              dir: {
                node: {
                  getattr: MEMFS.node_ops.getattr,
                  setattr: MEMFS.node_ops.setattr,
                  lookup: MEMFS.node_ops.lookup,
                  mknod: MEMFS.node_ops.mknod,
                  rename: MEMFS.node_ops.rename,
                  unlink: MEMFS.node_ops.unlink,
                  rmdir: MEMFS.node_ops.rmdir,
                  readdir: MEMFS.node_ops.readdir,
                  symlink: MEMFS.node_ops.symlink
                },
                stream: {
                  llseek: MEMFS.stream_ops.llseek
                }
              },
              file: {
                node: {
                  getattr: MEMFS.node_ops.getattr,
                  setattr: MEMFS.node_ops.setattr
                },
                stream: {
                  llseek: MEMFS.stream_ops.llseek,
                  read: MEMFS.stream_ops.read,
                  write: MEMFS.stream_ops.write,
                  allocate: MEMFS.stream_ops.allocate,
                  mmap: MEMFS.stream_ops.mmap,
                  msync: MEMFS.stream_ops.msync
                }
              },
              link: {
                node: {
                  getattr: MEMFS.node_ops.getattr,
                  setattr: MEMFS.node_ops.setattr,
                  readlink: MEMFS.node_ops.readlink
                },
                stream: {}
              },
              chrdev: {
                node: {
                  getattr: MEMFS.node_ops.getattr,
                  setattr: MEMFS.node_ops.setattr
                },
                stream: FS.chrdev_stream_ops
              }
            };
          }
          var node = FS.createNode(parent, name, mode, dev);
          if (FS.isDir(node.mode)) {
            node.node_ops = MEMFS.ops_table.dir.node;
            node.stream_ops = MEMFS.ops_table.dir.stream;
            node.contents = {};
          } else if (FS.isFile(node.mode)) {
            node.node_ops = MEMFS.ops_table.file.node;
            node.stream_ops = MEMFS.ops_table.file.stream;
            node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
            // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
            // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
            // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
            node.contents = null; 
          } else if (FS.isLink(node.mode)) {
            node.node_ops = MEMFS.ops_table.link.node;
            node.stream_ops = MEMFS.ops_table.link.stream;
          } else if (FS.isChrdev(node.mode)) {
            node.node_ops = MEMFS.ops_table.chrdev.node;
            node.stream_ops = MEMFS.ops_table.chrdev.stream;
          }
          node.timestamp = Date.now();
          // add the new node to the parent
          if (parent) {
            parent.contents[name] = node;
            parent.timestamp = node.timestamp;
          }
          return node;
        },
    getFileDataAsTypedArray(node) {
          if (!node.contents) return new Uint8Array(0);
          if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
          return new Uint8Array(node.contents);
        },
    expandFileStorage(node, newCapacity) {
          var prevCapacity = node.contents ? node.contents.length : 0;
          if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
          // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
          // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
          // avoid overshooting the allocation cap by a very large margin.
          var CAPACITY_DOUBLING_MAX = 1024 * 1024;
          newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0);
          if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
          var oldContents = node.contents;
          node.contents = new Uint8Array(newCapacity); // Allocate new storage.
          if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
        },
    resizeFileStorage(node, newSize) {
          if (node.usedBytes == newSize) return;
          if (newSize == 0) {
            node.contents = null; // Fully decommit when requesting a resize to zero.
            node.usedBytes = 0;
          } else {
            var oldContents = node.contents;
            node.contents = new Uint8Array(newSize); // Allocate new storage.
            if (oldContents) {
              node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
            }
            node.usedBytes = newSize;
          }
        },
    node_ops:{
    getattr(node) {
            var attr = {};
            // device numbers reuse inode numbers.
            attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
            attr.ino = node.id;
            attr.mode = node.mode;
            attr.nlink = 1;
            attr.uid = 0;
            attr.gid = 0;
            attr.rdev = node.rdev;
            if (FS.isDir(node.mode)) {
              attr.size = 4096;
            } else if (FS.isFile(node.mode)) {
              attr.size = node.usedBytes;
            } else if (FS.isLink(node.mode)) {
              attr.size = node.link.length;
            } else {
              attr.size = 0;
            }
            attr.atime = new Date(node.timestamp);
            attr.mtime = new Date(node.timestamp);
            attr.ctime = new Date(node.timestamp);
            // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
            //       but this is not required by the standard.
            attr.blksize = 4096;
            attr.blocks = Math.ceil(attr.size / attr.blksize);
            return attr;
          },
    setattr(node, attr) {
            if (attr.mode !== undefined) {
              node.mode = attr.mode;
            }
            if (attr.timestamp !== undefined) {
              node.timestamp = attr.timestamp;
            }
            if (attr.size !== undefined) {
              MEMFS.resizeFileStorage(node, attr.size);
            }
          },
    lookup(parent, name) {
            throw FS.genericErrors[44];
          },
    mknod(parent, name, mode, dev) {
            return MEMFS.createNode(parent, name, mode, dev);
          },
    rename(old_node, new_dir, new_name) {
            // if we're overwriting a directory at new_name, make sure it's empty.
            if (FS.isDir(old_node.mode)) {
              var new_node;
              try {
                new_node = FS.lookupNode(new_dir, new_name);
              } catch (e) {
              }
              if (new_node) {
                for (var i in new_node.contents) {
                  throw new FS.ErrnoError(55);
                }
              }
            }
            // do the internal rewiring
            delete old_node.parent.contents[old_node.name];
            old_node.parent.timestamp = Date.now();
            old_node.name = new_name;
            new_dir.contents[new_name] = old_node;
            new_dir.timestamp = old_node.parent.timestamp;
            old_node.parent = new_dir;
          },
    unlink(parent, name) {
            delete parent.contents[name];
            parent.timestamp = Date.now();
          },
    rmdir(parent, name) {
            var node = FS.lookupNode(parent, name);
            for (var i in node.contents) {
              throw new FS.ErrnoError(55);
            }
            delete parent.contents[name];
            parent.timestamp = Date.now();
          },
    readdir(node) {
            var entries = ['.', '..'];
            for (var key in node.contents) {
              if (!node.contents.hasOwnProperty(key)) {
                continue;
              }
              entries.push(key);
            }
            return entries;
          },
    symlink(parent, newname, oldpath) {
            var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
            node.link = oldpath;
            return node;
          },
    readlink(node) {
            if (!FS.isLink(node.mode)) {
              throw new FS.ErrnoError(28);
            }
            return node.link;
          },
    },
    stream_ops:{
    read(stream, buffer, offset, length, position) {
            var contents = stream.node.contents;
            if (position >= stream.node.usedBytes) return 0;
            var size = Math.min(stream.node.usedBytes - position, length);
            assert(size >= 0);
            if (size > 8 && contents.subarray) { // non-trivial, and typed array
              buffer.set(contents.subarray(position, position + size), offset);
            } else {
              for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
            }
            return size;
          },
    write(stream, buffer, offset, length, position, canOwn) {
            // The data buffer should be a typed array view
            assert(!(buffer instanceof ArrayBuffer));
            // If the buffer is located in main memory (HEAP), and if
            // memory can grow, we can't hold on to references of the
            // memory buffer, as they may get invalidated. That means we
            // need to do copy its contents.
            if (buffer.buffer === HEAP8.buffer) {
              canOwn = false;
            }
    
            if (!length) return 0;
            var node = stream.node;
            node.timestamp = Date.now();
    
            if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
              if (canOwn) {
                assert(position === 0, 'canOwn must imply no weird position inside the file');
                node.contents = buffer.subarray(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
                node.contents = buffer.slice(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
                node.contents.set(buffer.subarray(offset, offset + length), position);
                return length;
              }
            }
    
            // Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
            MEMFS.expandFileStorage(node, position+length);
            if (node.contents.subarray && buffer.subarray) {
              // Use typed array write which is available.
              node.contents.set(buffer.subarray(offset, offset + length), position);
            } else {
              for (var i = 0; i < length; i++) {
               node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
              }
            }
            node.usedBytes = Math.max(node.usedBytes, position + length);
            return length;
          },
    llseek(stream, offset, whence) {
            var position = offset;
            if (whence === 1) {
              position += stream.position;
            } else if (whence === 2) {
              if (FS.isFile(stream.node.mode)) {
                position += stream.node.usedBytes;
              }
            }
            if (position < 0) {
              throw new FS.ErrnoError(28);
            }
            return position;
          },
    allocate(stream, offset, length) {
            MEMFS.expandFileStorage(stream.node, offset + length);
            stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
          },
    mmap(stream, length, position, prot, flags) {
            if (!FS.isFile(stream.node.mode)) {
              throw new FS.ErrnoError(43);
            }
            var ptr;
            var allocated;
            var contents = stream.node.contents;
            // Only make a new copy when MAP_PRIVATE is specified.
            if (!(flags & 2) && contents.buffer === HEAP8.buffer) {
              // We can't emulate MAP_SHARED when the file is not backed by the
              // buffer we're mapping to (e.g. the HEAP buffer).
              allocated = false;
              ptr = contents.byteOffset;
            } else {
              // Try to avoid unnecessary slices.
              if (position > 0 || position + length < contents.length) {
                if (contents.subarray) {
                  contents = contents.subarray(position, position + length);
                } else {
                  contents = Array.prototype.slice.call(contents, position, position + length);
                }
              }
              allocated = true;
              ptr = mmapAlloc();
              if (!ptr) {
                throw new FS.ErrnoError(48);
              }
              HEAP8.set(contents, ptr);
            }
            return { ptr, allocated };
          },
    msync(stream, buffer, offset, length, mmapFlags) {
            MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
            // should we check if bytesWritten and length are the same?
            return 0;
          },
    },
    };
    
    /** @param {boolean=} noRunDep */
    var asyncLoad = (url, onload, onerror, noRunDep) => {
        var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : '';
        readAsync(url, (arrayBuffer) => {
          assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`);
          onload(new Uint8Array(arrayBuffer));
          if (dep) removeRunDependency(dep);
        }, (event) => {
          if (onerror) {
            onerror();
          } else {
            throw `Loading data file "${url}" failed.`;
          }
        });
        if (dep) addRunDependency(dep);
      };
    
    
    var preloadPlugins = Module['preloadPlugins'] || [];
    function FS_handledByPreloadPlugin(byteArray, fullname, finish, onerror) {
        // Ensure plugins are ready.
        if (typeof Browser != 'undefined') Browser.init();
    
        var handled = false;
        preloadPlugins.forEach(function(plugin) {
          if (handled) return;
          if (plugin['canHandle'](fullname)) {
            plugin['handle'](byteArray, fullname, finish, onerror);
            handled = true;
          }
        });
        return handled;
      }
    function FS_createPreloadedFile(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
        // TODO we should allow people to just pass in a complete filename instead
        // of parent and name being that we just join them anyways
        var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
        var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname
        function processData(byteArray) {
          function finish(byteArray) {
            if (preFinish) preFinish();
            if (!dontCreateFile) {
              FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
            }
            if (onload) onload();
            removeRunDependency(dep);
          }
          if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => {
            if (onerror) onerror();
            removeRunDependency(dep);
          })) {
            return;
          }
          finish(byteArray);
        }
        addRunDependency(dep);
        if (typeof url == 'string') {
          asyncLoad(url, (byteArray) => processData(byteArray), onerror);
        } else {
          processData(url);
        }
      }
    
    function FS_modeStringToFlags(str) {
        var flagModes = {
          'r': 0,
          'r+': 2,
          'w': 512 | 64 | 1,
          'w+': 512 | 64 | 2,
          'a': 1024 | 64 | 1,
          'a+': 1024 | 64 | 2,
        };
        var flags = flagModes[str];
        if (typeof flags == 'undefined') {
          throw new Error(`Unknown file open mode: ${str}`);
        }
        return flags;
      }
    
    function FS_getMode(canRead, canWrite) {
        var mode = 0;
        if (canRead) mode |= 292 | 73;
        if (canWrite) mode |= 146;
        return mode;
      }
    
    
    
    
    
    
    var IDBFS = {
    dbs:{
    },
    indexedDB:() => {
          if (typeof indexedDB != 'undefined') return indexedDB;
          var ret = null;
          if (typeof window == 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
          assert(ret, 'IDBFS used, but indexedDB not supported');
          return ret;
        },
    DB_VERSION:21,
    DB_STORE_NAME:"FILE_DATA",
    mount:function(mount) {
          // reuse all of the core MEMFS functionality
          return MEMFS.mount.apply(null, arguments);
        },
    syncfs:(mount, populate, callback) => {
          IDBFS.getLocalSet(mount, (err, local) => {
            if (err) return callback(err);
    
            IDBFS.getRemoteSet(mount, (err, remote) => {
              if (err) return callback(err);
    
              var src = populate ? remote : local;
              var dst = populate ? local : remote;
    
              IDBFS.reconcile(src, dst, callback);
            });
          });
        },
    quit:() => {
          Object.values(IDBFS.dbs).forEach((value) => value.close());
          IDBFS.dbs = {};
        },
    getDB:(name, callback) => {
          // check the cache first
          var db = IDBFS.dbs[name];
          if (db) {
            return callback(null, db);
          }
    
          var req;
          try {
            req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
          } catch (e) {
            return callback(e);
          }
          if (!req) {
            return callback("Unable to connect to IndexedDB");
          }
          req.onupgradeneeded = (e) => {
            var db = /** @type {IDBDatabase} */ (e.target.result);
            var transaction = e.target.transaction;
    
            var fileStore;
    
            if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
              fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
            } else {
              fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
            }
    
            if (!fileStore.indexNames.contains('timestamp')) {
              fileStore.createIndex('timestamp', 'timestamp', { unique: false });
            }
          };
          req.onsuccess = () => {
            db = /** @type {IDBDatabase} */ (req.result);
    
            // add to the cache
            IDBFS.dbs[name] = db;
            callback(null, db);
          };
          req.onerror = (e) => {
            callback(e.target.error);
            e.preventDefault();
          };
        },
    getLocalSet:(mount, callback) => {
          var entries = {};
    
          function isRealDir(p) {
            return p !== '.' && p !== '..';
          }        function toAbsolute(root) {
            return (p) => {
              return PATH.join2(root, p);
            }
          }  
          var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
    
          while (check.length) {
            var path = check.pop();
            var stat;
    
            try {
              stat = FS.stat(path);
            } catch (e) {
              return callback(e);
            }
    
            if (FS.isDir(stat.mode)) {
              check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
            }
    
            entries[path] = { 'timestamp': stat.mtime };
          }
    
          return callback(null, { type: 'local', entries: entries });
        },
    getRemoteSet:(mount, callback) => {
          var entries = {};
    
          IDBFS.getDB(mount.mountpoint, (err, db) => {
            if (err) return callback(err);
    
            try {
              var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
              transaction.onerror = (e) => {
                callback(e.target.error);
                e.preventDefault();
              };
    
              var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
              var index = store.index('timestamp');
    
              index.openKeyCursor().onsuccess = (event) => {
                var cursor = event.target.result;
    
                if (!cursor) {
                  return callback(null, { type: 'remote', db, entries });
                }
    
                entries[cursor.primaryKey] = { 'timestamp': cursor.key };
    
                cursor.continue();
              };
            } catch (e) {
              return callback(e);
            }
          });
        },
    loadLocalEntry:(path, callback) => {
          var stat, node;
    
          try {
            var lookup = FS.lookupPath(path);
            node = lookup.node;
            stat = FS.stat(path);
          } catch (e) {
            return callback(e);
          }
    
          if (FS.isDir(stat.mode)) {
            return callback(null, { 'timestamp': stat.mtime, 'mode': stat.mode });
          } else if (FS.isFile(stat.mode)) {
            // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
            // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
            node.contents = MEMFS.getFileDataAsTypedArray(node);
            return callback(null, { 'timestamp': stat.mtime, 'mode': stat.mode, 'contents': node.contents });
          } else {
            return callback(new Error('node type not supported'));
          }
        },
    storeLocalEntry:(path, entry, callback) => {
          try {
            if (FS.isDir(entry['mode'])) {
              FS.mkdirTree(path, entry['mode']);
            } else if (FS.isFile(entry['mode'])) {
              FS.writeFile(path, entry['contents'], { canOwn: true });
            } else {
              return callback(new Error('node type not supported'));
            }
    
            FS.chmod(path, entry['mode']);
            FS.utime(path, entry['timestamp'], entry['timestamp']);
          } catch (e) {
            return callback(e);
          }
    
          callback(null);
        },
    removeLocalEntry:(path, callback) => {
          try {
            var stat = FS.stat(path);
    
            if (FS.isDir(stat.mode)) {
              FS.rmdir(path);
            } else if (FS.isFile(stat.mode)) {
              FS.unlink(path);
            }
          } catch (e) {
            return callback(e);
          }
    
          callback(null);
        },
    loadRemoteEntry:(store, path, callback) => {
          var req = store.get(path);
          req.onsuccess = (event) => { callback(null, event.target.result); };
          req.onerror = (e) => {
            callback(e.target.error);
            e.preventDefault();
          };
        },
    storeRemoteEntry:(store, path, entry, callback) => {
          try {
            var req = store.put(entry, path);
          } catch (e) {
            callback(e);
            return;
          }
          req.onsuccess = () => { callback(null); };
          req.onerror = (e) => {
            callback(e.target.error);
            e.preventDefault();
          };
        },
    removeRemoteEntry:(store, path, callback) => {
          var req = store.delete(path);
          req.onsuccess = () => { callback(null); };
          req.onerror = (e) => {
            callback(e.target.error);
            e.preventDefault();
          };
        },
    reconcile:(src, dst, callback) => {
          var total = 0;
    
          var create = [];
          Object.keys(src.entries).forEach(function (key) {
            var e = src.entries[key];
            var e2 = dst.entries[key];
            if (!e2 || e['timestamp'].getTime() != e2['timestamp'].getTime()) {
              create.push(key);
              total++;
            }
          });
    
          var remove = [];
          Object.keys(dst.entries).forEach(function (key) {
            if (!src.entries[key]) {
              remove.push(key);
              total++;
            }
          });
    
          if (!total) {
            return callback(null);
          }
    
          var errored = false;
          var db = src.type === 'remote' ? src.db : dst.db;
          var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
          var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
    
          function done(err) {
            if (err && !errored) {
              errored = true;
              return callback(err);
            }
          }  
          transaction.onerror = (e) => {
            done(this.error);
            e.preventDefault();
          };
    
          transaction.oncomplete = (e) => {
            if (!errored) {
              callback(null);
            }
          };
    
          // sort paths in ascending order so directory entries are created
          // before the files inside them
          create.sort().forEach((path) => {
            if (dst.type === 'local') {
              IDBFS.loadRemoteEntry(store, path, (err, entry) => {
                if (err) return done(err);
                IDBFS.storeLocalEntry(path, entry, done);
              });
            } else {
              IDBFS.loadLocalEntry(path, (err, entry) => {
                if (err) return done(err);
                IDBFS.storeRemoteEntry(store, path, entry, done);
              });
            }
          });
    
          // sort paths in descending order so files are deleted before their
          // parent directories
          remove.sort().reverse().forEach((path) => {
            if (dst.type === 'local') {
              IDBFS.removeLocalEntry(path, done);
            } else {
              IDBFS.removeRemoteEntry(store, path, done);
            }
          });
        },
    };
    
    var ERRNO_MESSAGES = {
    0:"Success",
    1:"Arg list too long",
    2:"Permission denied",
    3:"Address already in use",
    4:"Address not available",
    5:"Address family not supported by protocol family",
    6:"No more processes",
    7:"Socket already connected",
    8:"Bad file number",
    9:"Trying to read unreadable message",
    10:"Mount device busy",
    11:"Operation canceled",
    12:"No children",
    13:"Connection aborted",
    14:"Connection refused",
    15:"Connection reset by peer",
    16:"File locking deadlock error",
    17:"Destination address required",
    18:"Math arg out of domain of func",
    19:"Quota exceeded",
    20:"File exists",
    21:"Bad address",
    22:"File too large",
    23:"Host is unreachable",
    24:"Identifier removed",
    25:"Illegal byte sequence",
    26:"Connection already in progress",
    27:"Interrupted system call",
    28:"Invalid argument",
    29:"I/O error",
    30:"Socket is already connected",
    31:"Is a directory",
    32:"Too many symbolic links",
    33:"Too many open files",
    34:"Too many links",
    35:"Message too long",
    36:"Multihop attempted",
    37:"File or path name too long",
    38:"Network interface is not configured",
    39:"Connection reset by network",
    40:"Network is unreachable",
    41:"Too many open files in system",
    42:"No buffer space available",
    43:"No such device",
    44:"No such file or directory",
    45:"Exec format error",
    46:"No record locks available",
    47:"The link has been severed",
    48:"Not enough core",
    49:"No message of desired type",
    50:"Protocol not available",
    51:"No space left on device",
    52:"Function not implemented",
    53:"Socket is not connected",
    54:"Not a directory",
    55:"Directory not empty",
    56:"State not recoverable",
    57:"Socket operation on non-socket",
    59:"Not a typewriter",
    60:"No such device or address",
    61:"Value too large for defined data type",
    62:"Previous owner died",
    63:"Not super-user",
    64:"Broken pipe",
    65:"Protocol error",
    66:"Unknown protocol",
    67:"Protocol wrong type for socket",
    68:"Math result not representable",
    69:"Read only file system",
    70:"Illegal seek",
    71:"No such process",
    72:"Stale file handle",
    73:"Connection timed out",
    74:"Text file busy",
    75:"Cross-device link",
    100:"Device not a stream",
    101:"Bad font file fmt",
    102:"Invalid slot",
    103:"Invalid request code",
    104:"No anode",
    105:"Block device required",
    106:"Channel number out of range",
    107:"Level 3 halted",
    108:"Level 3 reset",
    109:"Link number out of range",
    110:"Protocol driver not attached",
    111:"No CSI structure available",
    112:"Level 2 halted",
    113:"Invalid exchange",
    114:"Invalid request descriptor",
    115:"Exchange full",
    116:"No data (for no delay io)",
    117:"Timer expired",
    118:"Out of streams resources",
    119:"Machine is not on the network",
    120:"Package not installed",
    121:"The object is remote",
    122:"Advertise error",
    123:"Srmount error",
    124:"Communication error on send",
    125:"Cross mount point (not really error)",
    126:"Given log. name not unique",
    127:"f.d. invalid for this operation",
    128:"Remote address changed",
    129:"Can   access a needed shared lib",
    130:"Accessing a corrupted shared lib",
    131:".lib section in a.out corrupted",
    132:"Attempting to link in too many libs",
    133:"Attempting to exec a shared library",
    135:"Streams pipe error",
    136:"Too many users",
    137:"Socket type not supported",
    138:"Not supported",
    139:"Protocol family not supported",
    140:"Can't send after socket shutdown",
    141:"Too many references",
    142:"Host is down",
    148:"No medium (in tape drive)",
    156:"Level 2 not synchronized",
    };
    
    var ERRNO_CODES = {
    };
    
    var FS = {
    root:null,
    mounts:[],
    devices:{
    },
    streams:[],
    nextInode:1,
    nameTable:null,
    currentPath:"/",
    initialized:false,
    ignorePermissions:true,
    ErrnoError:null,
    genericErrors:{
    },
    filesystems:null,
    syncFSRequests:0,
    lookupPath:(path, opts = {}) => {
          path = PATH_FS.resolve(path);
    
          if (!path) return { path: '', node: null };
    
          var defaults = {
            follow_mount: true,
            recurse_count: 0
          };
          opts = Object.assign(defaults, opts);
    
          if (opts.recurse_count > 8) {  // max recursive lookup of 8
            throw new FS.ErrnoError(32);
          }
    
          // split the absolute path
          var parts = path.split('/').filter((p) => !!p);
    
          // start at the root
          var current = FS.root;
          var current_path = '/';
    
          for (var i = 0; i < parts.length; i++) {
            var islast = (i === parts.length-1);
            if (islast && opts.parent) {
              // stop resolving
              break;
            }
    
            current = FS.lookupNode(current, parts[i]);
            current_path = PATH.join2(current_path, parts[i]);
    
            // jump to the mount's root node if this is a mountpoint
            if (FS.isMountpoint(current)) {
              if (!islast || (islast && opts.follow_mount)) {
                current = current.mounted.root;
              }
            }
    
            // by default, lookupPath will not follow a symlink if it is the final path component.
            // setting opts.follow = true will override this behavior.
            if (!islast || opts.follow) {
              var count = 0;
              while (FS.isLink(current.mode)) {
                var link = FS.readlink(current_path);
                current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
    
                var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 });
                current = lookup.node;
    
                if (count++ > 40) {  // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
                  throw new FS.ErrnoError(32);
                }
              }
            }
          }
    
          return { path: current_path, node: current };
        },
    getPath:(node) => {
          var path;
          while (true) {
            if (FS.isRoot(node)) {
              var mount = node.mount.mountpoint;
              if (!path) return mount;
              return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path;
            }
            path = path ? `${node.name}/${path}` : node.name;
            node = node.parent;
          }
        },
    hashName:(parentid, name) => {
          var hash = 0;
    
          for (var i = 0; i < name.length; i++) {
            hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
          }
          return ((parentid + hash) >>> 0) % FS.nameTable.length;
        },
    hashAddNode:(node) => {
          var hash = FS.hashName(node.parent.id, node.name);
          node.name_next = FS.nameTable[hash];
          FS.nameTable[hash] = node;
        },
    hashRemoveNode:(node) => {
          var hash = FS.hashName(node.parent.id, node.name);
          if (FS.nameTable[hash] === node) {
            FS.nameTable[hash] = node.name_next;
          } else {
            var current = FS.nameTable[hash];
            while (current) {
              if (current.name_next === node) {
                current.name_next = node.name_next;
                break;
              }
              current = current.name_next;
            }
          }
        },
    lookupNode:(parent, name) => {
          var errCode = FS.mayLookup(parent);
          if (errCode) {
            throw new FS.ErrnoError(errCode, parent);
          }
          var hash = FS.hashName(parent.id, name);
          for (var node = FS.nameTable[hash]; node; node = node.name_next) {
            var nodeName = node.name;
            if (node.parent.id === parent.id && nodeName === name) {
              return node;
            }
          }
          // if we failed to find it in the cache, call into the VFS
          return FS.lookup(parent, name);
        },
    createNode:(parent, name, mode, rdev) => {
          assert(typeof parent == 'object');
          var node = new FS.FSNode(parent, name, mode, rdev);
    
          FS.hashAddNode(node);
    
          return node;
        },
    destroyNode:(node) => {
          FS.hashRemoveNode(node);
        },
    isRoot:(node) => {
          return node === node.parent;
        },
    isMountpoint:(node) => {
          return !!node.mounted;
        },
    isFile:(mode) => {
          return (mode & 61440) === 32768;
        },
    isDir:(mode) => {
          return (mode & 61440) === 16384;
        },
    isLink:(mode) => {
          return (mode & 61440) === 40960;
        },
    isChrdev:(mode) => {
          return (mode & 61440) === 8192;
        },
    isBlkdev:(mode) => {
          return (mode & 61440) === 24576;
        },
    isFIFO:(mode) => {
          return (mode & 61440) === 4096;
        },
    isSocket:(mode) => {
          return (mode & 49152) === 49152;
        },
    flagsToPermissionString:(flag) => {
          var perms = ['r', 'w', 'rw'][flag & 3];
          if ((flag & 512)) {
            perms += 'w';
          }
          return perms;
        },
    nodePermissions:(node, perms) => {
          if (FS.ignorePermissions) {
            return 0;
          }
          // return 0 if any user, group or owner bits are set.
          if (perms.includes('r') && !(node.mode & 292)) {
            return 2;
          } else if (perms.includes('w') && !(node.mode & 146)) {
            return 2;
          } else if (perms.includes('x') && !(node.mode & 73)) {
            return 2;
          }
          return 0;
        },
    mayLookup:(dir) => {
          var errCode = FS.nodePermissions(dir, 'x');
          if (errCode) return errCode;
          if (!dir.node_ops.lookup) return 2;
          return 0;
        },
    mayCreate:(dir, name) => {
          try {
            var node = FS.lookupNode(dir, name);
            return 20;
          } catch (e) {
          }
          return FS.nodePermissions(dir, 'wx');
        },
    mayDelete:(dir, name, isdir) => {
          var node;
          try {
            node = FS.lookupNode(dir, name);
          } catch (e) {
            return e.errno;
          }
          var errCode = FS.nodePermissions(dir, 'wx');
          if (errCode) {
            return errCode;
          }
          if (isdir) {
            if (!FS.isDir(node.mode)) {
              return 54;
            }
            if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
              return 10;
            }
          } else {
            if (FS.isDir(node.mode)) {
              return 31;
            }
          }
          return 0;
        },
    mayOpen:(node, flags) => {
          if (!node) {
            return 44;
          }
          if (FS.isLink(node.mode)) {
            return 32;
          } else if (FS.isDir(node.mode)) {
            if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
                (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
              return 31;
            }
          }
          return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
        },
    MAX_OPEN_FDS:4096,
    nextfd:() => {
          for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) {
            if (!FS.streams[fd]) {
              return fd;
            }
          }
          throw new FS.ErrnoError(33);
        },
    getStreamChecked:(fd) => {
          var stream = FS.getStream(fd);
          if (!stream) {
            throw new FS.ErrnoError(8);
          }
          return stream;
        },
    getStream:(fd) => FS.streams[fd],
    createStream:(stream, fd = -1) => {
          if (!FS.FSStream) {
            FS.FSStream = /** @constructor */ function() {
              this.shared = { };
            };
            FS.FSStream.prototype = {};
            Object.defineProperties(FS.FSStream.prototype, {
              object: {
                /** @this {FS.FSStream} */
                get() { return this.node; },
                /** @this {FS.FSStream} */
                set(val) { this.node = val; }
              },
              isRead: {
                /** @this {FS.FSStream} */
                get() { return (this.flags & 2097155) !== 1; }
              },
              isWrite: {
                /** @this {FS.FSStream} */
                get() { return (this.flags & 2097155) !== 0; }
              },
              isAppend: {
                /** @this {FS.FSStream} */
                get() { return (this.flags & 1024); }
              },
              flags: {
                /** @this {FS.FSStream} */
                get() { return this.shared.flags; },
                /** @this {FS.FSStream} */
                set(val) { this.shared.flags = val; },
              },
              position : {
                /** @this {FS.FSStream} */
                get() { return this.shared.position; },
                /** @this {FS.FSStream} */
                set(val) { this.shared.position = val; },
              },
            });
          }
          // clone it, so we can return an instance of FSStream
          stream = Object.assign(new FS.FSStream(), stream);
          if (fd == -1) {
            fd = FS.nextfd();
          }
          stream.fd = fd;
          FS.streams[fd] = stream;
          return stream;
        },
    closeStream:(fd) => {
          FS.streams[fd] = null;
        },
    chrdev_stream_ops:{
    open:(stream) => {
            var device = FS.getDevice(stream.node.rdev);
            // override node's stream ops with the device's
            stream.stream_ops = device.stream_ops;
            // forward the open call
            if (stream.stream_ops.open) {
              stream.stream_ops.open(stream);
            }
          },
    llseek:() => {
            throw new FS.ErrnoError(70);
          },
    },
    major:(dev) => ((dev) >> 8),
    minor:(dev) => ((dev) & 0xff),
    makedev:(ma, mi) => ((ma) << 8 | (mi)),
    registerDevice:(dev, ops) => {
          FS.devices[dev] = { stream_ops: ops };
        },
    getDevice:(dev) => FS.devices[dev],
    getMounts:(mount) => {
          var mounts = [];
          var check = [mount];
    
          while (check.length) {
            var m = check.pop();
    
            mounts.push(m);
    
            check.push.apply(check, m.mounts);
          }
    
          return mounts;
        },
    syncfs:(populate, callback) => {
          if (typeof populate == 'function') {
            callback = populate;
            populate = false;
          }
    
          FS.syncFSRequests++;
    
          if (FS.syncFSRequests > 1) {
            err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
          }
    
          var mounts = FS.getMounts(FS.root.mount);
          var completed = 0;
    
          function doCallback(errCode) {
            assert(FS.syncFSRequests > 0);
            FS.syncFSRequests--;
            return callback(errCode);
          }
    
          function done(errCode) {
            if (errCode) {
              if (!done.errored) {
                done.errored = true;
                return doCallback(errCode);
              }
              return;
            }
            if (++completed >= mounts.length) {
              doCallback(null);
            }
          }  
          // sync all mounts
          mounts.forEach((mount) => {
            if (!mount.type.syncfs) {
              return done(null);
            }
            mount.type.syncfs(mount, populate, done);
          });
        },
    mount:(type, opts, mountpoint) => {
          if (typeof type == 'string') {
            // The filesystem was not included, and instead we have an error
            // message stored in the variable.
            throw type;
          }
          var root = mountpoint === '/';
          var pseudo = !mountpoint;
          var node;
    
          if (root && FS.root) {
            throw new FS.ErrnoError(10);
          } else if (!root && !pseudo) {
            var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
    
            mountpoint = lookup.path;  // use the absolute path
            node = lookup.node;
    
            if (FS.isMountpoint(node)) {
              throw new FS.ErrnoError(10);
            }
    
            if (!FS.isDir(node.mode)) {
              throw new FS.ErrnoError(54);
            }
          }
    
          var mount = {
            type,
            opts,
            mountpoint,
            mounts: []
          };
    
          // create a root node for the fs
          var mountRoot = type.mount(mount);
          mountRoot.mount = mount;
          mount.root = mountRoot;
    
          if (root) {
            FS.root = mountRoot;
          } else if (node) {
            // set as a mountpoint
            node.mounted = mount;
    
            // add the new mount to the current mount's children
            if (node.mount) {
              node.mount.mounts.push(mount);
            }
          }
    
          return mountRoot;
        },
    unmount:(mountpoint) => {
          var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
    
          if (!FS.isMountpoint(lookup.node)) {
            throw new FS.ErrnoError(28);
          }
    
          // destroy the nodes for this mount, and all its child mounts
          var node = lookup.node;
          var mount = node.mounted;
          var mounts = FS.getMounts(mount);
    
          Object.keys(FS.nameTable).forEach((hash) => {
            var current = FS.nameTable[hash];
    
            while (current) {
              var next = current.name_next;
    
              if (mounts.includes(current.mount)) {
                FS.destroyNode(current);
              }
    
              current = next;
            }
          });
    
          // no longer a mountpoint
          node.mounted = null;
    
          // remove this mount from the child mounts
          var idx = node.mount.mounts.indexOf(mount);
          assert(idx !== -1);
          node.mount.mounts.splice(idx, 1);
        },
    lookup:(parent, name) => {
          return parent.node_ops.lookup(parent, name);
        },
    mknod:(path, mode, dev) => {
          var lookup = FS.lookupPath(path, { parent: true });
          var parent = lookup.node;
          var name = PATH.basename(path);
          if (!name || name === '.' || name === '..') {
            throw new FS.ErrnoError(28);
          }
          var errCode = FS.mayCreate(parent, name);
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          if (!parent.node_ops.mknod) {
            throw new FS.ErrnoError(63);
          }
          return parent.node_ops.mknod(parent, name, mode, dev);
        },
    create:(path, mode) => {
          mode = mode !== undefined ? mode : 438 /* 0666 */;
          mode &= 4095;
          mode |= 32768;
          return FS.mknod(path, mode, 0);
        },
    mkdir:(path, mode) => {
          mode = mode !== undefined ? mode : 511 /* 0777 */;
          mode &= 511 | 512;
          mode |= 16384;
          return FS.mknod(path, mode, 0);
        },
    mkdirTree:(path, mode) => {
          var dirs = path.split('/');
          var d = '';
          for (var i = 0; i < dirs.length; ++i) {
            if (!dirs[i]) continue;
            d += '/' + dirs[i];
            try {
              FS.mkdir(d, mode);
            } catch(e) {
              if (e.errno != 20) throw e;
            }
          }
        },
    mkdev:(path, mode, dev) => {
          if (typeof dev == 'undefined') {
            dev = mode;
            mode = 438 /* 0666 */;
          }
          mode |= 8192;
          return FS.mknod(path, mode, dev);
        },
    symlink:(oldpath, newpath) => {
          if (!PATH_FS.resolve(oldpath)) {
            throw new FS.ErrnoError(44);
          }
          var lookup = FS.lookupPath(newpath, { parent: true });
          var parent = lookup.node;
          if (!parent) {
            throw new FS.ErrnoError(44);
          }
          var newname = PATH.basename(newpath);
          var errCode = FS.mayCreate(parent, newname);
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          if (!parent.node_ops.symlink) {
            throw new FS.ErrnoError(63);
          }
          return parent.node_ops.symlink(parent, newname, oldpath);
        },
    rename:(old_path, new_path) => {
          var old_dirname = PATH.dirname(old_path);
          var new_dirname = PATH.dirname(new_path);
          var old_name = PATH.basename(old_path);
          var new_name = PATH.basename(new_path);
          // parents must exist
          var lookup, old_dir, new_dir;
    
          // let the errors from non existant directories percolate up
          lookup = FS.lookupPath(old_path, { parent: true });
          old_dir = lookup.node;
          lookup = FS.lookupPath(new_path, { parent: true });
          new_dir = lookup.node;
    
          if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
          // need to be part of the same mount
          if (old_dir.mount !== new_dir.mount) {
            throw new FS.ErrnoError(75);
          }
          // source must exist
          var old_node = FS.lookupNode(old_dir, old_name);
          // old path should not be an ancestor of the new path
          var relative = PATH_FS.relative(old_path, new_dirname);
          if (relative.charAt(0) !== '.') {
            throw new FS.ErrnoError(28);
          }
          // new path should not be an ancestor of the old path
          relative = PATH_FS.relative(new_path, old_dirname);
          if (relative.charAt(0) !== '.') {
            throw new FS.ErrnoError(55);
          }
          // see if the new path already exists
          var new_node;
          try {
            new_node = FS.lookupNode(new_dir, new_name);
          } catch (e) {
            // not fatal
          }
          // early out if nothing needs to change
          if (old_node === new_node) {
            return;
          }
          // we'll need to delete the old entry
          var isdir = FS.isDir(old_node.mode);
          var errCode = FS.mayDelete(old_dir, old_name, isdir);
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          // need delete permissions if we'll be overwriting.
          // need create permissions if new doesn't already exist.
          errCode = new_node ?
            FS.mayDelete(new_dir, new_name, isdir) :
            FS.mayCreate(new_dir, new_name);
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          if (!old_dir.node_ops.rename) {
            throw new FS.ErrnoError(63);
          }
          if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
            throw new FS.ErrnoError(10);
          }
          // if we are going to change the parent, check write permissions
          if (new_dir !== old_dir) {
            errCode = FS.nodePermissions(old_dir, 'w');
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
          }
          // remove the node from the lookup hash
          FS.hashRemoveNode(old_node);
          // do the underlying fs rename
          try {
            old_dir.node_ops.rename(old_node, new_dir, new_name);
          } catch (e) {
            throw e;
          } finally {
            // add the node back to the hash (in case node_ops.rename
            // changed its name)
            FS.hashAddNode(old_node);
          }
        },
    rmdir:(path) => {
          var lookup = FS.lookupPath(path, { parent: true });
          var parent = lookup.node;
          var name = PATH.basename(path);
          var node = FS.lookupNode(parent, name);
          var errCode = FS.mayDelete(parent, name, true);
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          if (!parent.node_ops.rmdir) {
            throw new FS.ErrnoError(63);
          }
          if (FS.isMountpoint(node)) {
            throw new FS.ErrnoError(10);
          }
          parent.node_ops.rmdir(parent, name);
          FS.destroyNode(node);
        },
    readdir:(path) => {
          var lookup = FS.lookupPath(path, { follow: true });
          var node = lookup.node;
          if (!node.node_ops.readdir) {
            throw new FS.ErrnoError(54);
          }
          return node.node_ops.readdir(node);
        },
    unlink:(path) => {
          var lookup = FS.lookupPath(path, { parent: true });
          var parent = lookup.node;
          if (!parent) {
            throw new FS.ErrnoError(44);
          }
          var name = PATH.basename(path);
          var node = FS.lookupNode(parent, name);
          var errCode = FS.mayDelete(parent, name, false);
          if (errCode) {
            // According to POSIX, we should map EISDIR to EPERM, but
            // we instead do what Linux does (and we must, as we use
            // the musl linux libc).
            throw new FS.ErrnoError(errCode);
          }
          if (!parent.node_ops.unlink) {
            throw new FS.ErrnoError(63);
          }
          if (FS.isMountpoint(node)) {
            throw new FS.ErrnoError(10);
          }
          parent.node_ops.unlink(parent, name);
          FS.destroyNode(node);
        },
    readlink:(path) => {
          var lookup = FS.lookupPath(path);
          var link = lookup.node;
          if (!link) {
            throw new FS.ErrnoError(44);
          }
          if (!link.node_ops.readlink) {
            throw new FS.ErrnoError(28);
          }
          return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
        },
    stat:(path, dontFollow) => {
          var lookup = FS.lookupPath(path, { follow: !dontFollow });
          var node = lookup.node;
          if (!node) {
            throw new FS.ErrnoError(44);
          }
          if (!node.node_ops.getattr) {
            throw new FS.ErrnoError(63);
          }
          return node.node_ops.getattr(node);
        },
    lstat:(path) => {
          return FS.stat(path, true);
        },
    chmod:(path, mode, dontFollow) => {
          var node;
          if (typeof path == 'string') {
            var lookup = FS.lookupPath(path, { follow: !dontFollow });
            node = lookup.node;
          } else {
            node = path;
          }
          if (!node.node_ops.setattr) {
            throw new FS.ErrnoError(63);
          }
          node.node_ops.setattr(node, {
            mode: (mode & 4095) | (node.mode & ~4095),
            timestamp: Date.now()
          });
        },
    lchmod:(path, mode) => {
          FS.chmod(path, mode, true);
        },
    fchmod:(fd, mode) => {
          var stream = FS.getStreamChecked(fd);
          FS.chmod(stream.node, mode);
        },
    chown:(path, uid, gid, dontFollow) => {
          var node;
          if (typeof path == 'string') {
            var lookup = FS.lookupPath(path, { follow: !dontFollow });
            node = lookup.node;
          } else {
            node = path;
          }
          if (!node.node_ops.setattr) {
            throw new FS.ErrnoError(63);
          }
          node.node_ops.setattr(node, {
            timestamp: Date.now()
            // we ignore the uid / gid for now
          });
        },
    lchown:(path, uid, gid) => {
          FS.chown(path, uid, gid, true);
        },
    fchown:(fd, uid, gid) => {
          var stream = FS.getStreamChecked(fd);
          FS.chown(stream.node, uid, gid);
        },
    truncate:(path, len) => {
          if (len < 0) {
            throw new FS.ErrnoError(28);
          }
          var node;
          if (typeof path == 'string') {
            var lookup = FS.lookupPath(path, { follow: true });
            node = lookup.node;
          } else {
            node = path;
          }
          if (!node.node_ops.setattr) {
            throw new FS.ErrnoError(63);
          }
          if (FS.isDir(node.mode)) {
            throw new FS.ErrnoError(31);
          }
          if (!FS.isFile(node.mode)) {
            throw new FS.ErrnoError(28);
          }
          var errCode = FS.nodePermissions(node, 'w');
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          node.node_ops.setattr(node, {
            size: len,
            timestamp: Date.now()
          });
        },
    ftruncate:(fd, len) => {
          var stream = FS.getStreamChecked(fd);
          if ((stream.flags & 2097155) === 0) {
            throw new FS.ErrnoError(28);
          }
          FS.truncate(stream.node, len);
        },
    utime:(path, atime, mtime) => {
          var lookup = FS.lookupPath(path, { follow: true });
          var node = lookup.node;
          node.node_ops.setattr(node, {
            timestamp: Math.max(atime, mtime)
          });
        },
    open:(path, flags, mode) => {
          if (path === "") {
            throw new FS.ErrnoError(44);
          }
          flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags;
          mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode;
          if ((flags & 64)) {
            mode = (mode & 4095) | 32768;
          } else {
            mode = 0;
          }
          var node;
          if (typeof path == 'object') {
            node = path;
          } else {
            path = PATH.normalize(path);
            try {
              var lookup = FS.lookupPath(path, {
                follow: !(flags & 131072)
              });
              node = lookup.node;
            } catch (e) {
              // ignore
            }
          }
          // perhaps we need to create the node
          var created = false;
          if ((flags & 64)) {
            if (node) {
              // if O_CREAT and O_EXCL are set, error out if the node already exists
              if ((flags & 128)) {
                throw new FS.ErrnoError(20);
              }
            } else {
              // node doesn't exist, try to create it
              node = FS.mknod(path, mode, 0);
              created = true;
            }
          }
          if (!node) {
            throw new FS.ErrnoError(44);
          }
          // can't truncate a device
          if (FS.isChrdev(node.mode)) {
            flags &= ~512;
          }
          // if asked only for a directory, then this must be one
          if ((flags & 65536) && !FS.isDir(node.mode)) {
            throw new FS.ErrnoError(54);
          }
          // check permissions, if this is not a file we just created now (it is ok to
          // create and write to a file with read-only permissions; it is read-only
          // for later use)
          if (!created) {
            var errCode = FS.mayOpen(node, flags);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
          }
          // do truncation if necessary
          if ((flags & 512) && !created) {
            FS.truncate(node, 0);
          }
          // we've already handled these, don't pass down to the underlying vfs
          flags &= ~(128 | 512 | 131072);
    
          // register the stream with the filesystem
          var stream = FS.createStream({
            node,
            path: FS.getPath(node),  // we want the absolute path to the node
            flags,
            seekable: true,
            position: 0,
            stream_ops: node.stream_ops,
            // used by the file family libc calls (fopen, fwrite, ferror, etc.)
            ungotten: [],
            error: false
          });
          // call the new stream's open function
          if (stream.stream_ops.open) {
            stream.stream_ops.open(stream);
          }
          if (Module['logReadFiles'] && !(flags & 1)) {
            if (!FS.readFiles) FS.readFiles = {};
            if (!(path in FS.readFiles)) {
              FS.readFiles[path] = 1;
            }
          }
          return stream;
        },
    close:(stream) => {
          if (FS.isClosed(stream)) {
            throw new FS.ErrnoError(8);
          }
          if (stream.getdents) stream.getdents = null; // free readdir state
          try {
            if (stream.stream_ops.close) {
              stream.stream_ops.close(stream);
            }
          } catch (e) {
            throw e;
          } finally {
            FS.closeStream(stream.fd);
          }
          stream.fd = null;
        },
    isClosed:(stream) => {
          return stream.fd === null;
        },
    llseek:(stream, offset, whence) => {
          if (FS.isClosed(stream)) {
            throw new FS.ErrnoError(8);
          }
          if (!stream.seekable || !stream.stream_ops.llseek) {
            throw new FS.ErrnoError(70);
          }
          if (whence != 0 && whence != 1 && whence != 2) {
            throw new FS.ErrnoError(28);
          }
          stream.position = stream.stream_ops.llseek(stream, offset, whence);
          stream.ungotten = [];
          return stream.position;
        },
    read:(stream, buffer, offset, length, position) => {
          assert(offset >= 0);
          if (length < 0 || position < 0) {
            throw new FS.ErrnoError(28);
          }
          if (FS.isClosed(stream)) {
            throw new FS.ErrnoError(8);
          }
          if ((stream.flags & 2097155) === 1) {
            throw new FS.ErrnoError(8);
          }
          if (FS.isDir(stream.node.mode)) {
            throw new FS.ErrnoError(31);
          }
          if (!stream.stream_ops.read) {
            throw new FS.ErrnoError(28);
          }
          var seeking = typeof position != 'undefined';
          if (!seeking) {
            position = stream.position;
          } else if (!stream.seekable) {
            throw new FS.ErrnoError(70);
          }
          var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
          if (!seeking) stream.position += bytesRead;
          return bytesRead;
        },
    write:(stream, buffer, offset, length, position, canOwn) => {
          assert(offset >= 0);
          if (length < 0 || position < 0) {
            throw new FS.ErrnoError(28);
          }
          if (FS.isClosed(stream)) {
            throw new FS.ErrnoError(8);
          }
          if ((stream.flags & 2097155) === 0) {
            throw new FS.ErrnoError(8);
          }
          if (FS.isDir(stream.node.mode)) {
            throw new FS.ErrnoError(31);
          }
          if (!stream.stream_ops.write) {
            throw new FS.ErrnoError(28);
          }
          if (stream.seekable && stream.flags & 1024) {
            // seek to the end before writing in append mode
            FS.llseek(stream, 0, 2);
          }
          var seeking = typeof position != 'undefined';
          if (!seeking) {
            position = stream.position;
          } else if (!stream.seekable) {
            throw new FS.ErrnoError(70);
          }
          var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
          if (!seeking) stream.position += bytesWritten;
          return bytesWritten;
        },
    allocate:(stream, offset, length) => {
          if (FS.isClosed(stream)) {
            throw new FS.ErrnoError(8);
          }
          if (offset < 0 || length <= 0) {
            throw new FS.ErrnoError(28);
          }
          if ((stream.flags & 2097155) === 0) {
            throw new FS.ErrnoError(8);
          }
          if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
            throw new FS.ErrnoError(43);
          }
          if (!stream.stream_ops.allocate) {
            throw new FS.ErrnoError(138);
          }
          stream.stream_ops.allocate(stream, offset, length);
        },
    mmap:(stream, length, position, prot, flags) => {
          // User requests writing to file (prot & PROT_WRITE != 0).
          // Checking if we have permissions to write to the file unless
          // MAP_PRIVATE flag is set. According to POSIX spec it is possible
          // to write to file opened in read-only mode with MAP_PRIVATE flag,
          // as all modifications will be visible only in the memory of
          // the current process.
          if ((prot & 2) !== 0
              && (flags & 2) === 0
              && (stream.flags & 2097155) !== 2) {
            throw new FS.ErrnoError(2);
          }
          if ((stream.flags & 2097155) === 1) {
            throw new FS.ErrnoError(2);
          }
          if (!stream.stream_ops.mmap) {
            throw new FS.ErrnoError(43);
          }
          return stream.stream_ops.mmap(stream, length, position, prot, flags);
        },
    msync:(stream, buffer, offset, length, mmapFlags) => {
          assert(offset >= 0);
          if (!stream.stream_ops.msync) {
            return 0;
          }
          return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
        },
    munmap:(stream) => 0,
    ioctl:(stream, cmd, arg) => {
          if (!stream.stream_ops.ioctl) {
            throw new FS.ErrnoError(59);
          }
          return stream.stream_ops.ioctl(stream, cmd, arg);
        },
    readFile:(path, opts = {}) => {
          opts.flags = opts.flags || 0;
          opts.encoding = opts.encoding || 'binary';
          if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
            throw new Error(`Invalid encoding type "${opts.encoding}"`);
          }
          var ret;
          var stream = FS.open(path, opts.flags);
          var stat = FS.stat(path);
          var length = stat.size;
          var buf = new Uint8Array(length);
          FS.read(stream, buf, 0, length, 0);
          if (opts.encoding === 'utf8') {
            ret = UTF8ArrayToString(buf, 0);
          } else if (opts.encoding === 'binary') {
            ret = buf;
          }
          FS.close(stream);
          return ret;
        },
    writeFile:(path, data, opts = {}) => {
          opts.flags = opts.flags || 577;
          var stream = FS.open(path, opts.flags, opts.mode);
          if (typeof data == 'string') {
            var buf = new Uint8Array(lengthBytesUTF8(data)+1);
            var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
            FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
          } else if (ArrayBuffer.isView(data)) {
            FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
          } else {
            throw new Error('Unsupported data type');
          }
          FS.close(stream);
        },
    cwd:() => FS.currentPath,
    chdir:(path) => {
          var lookup = FS.lookupPath(path, { follow: true });
          if (lookup.node === null) {
            throw new FS.ErrnoError(44);
          }
          if (!FS.isDir(lookup.node.mode)) {
            throw new FS.ErrnoError(54);
          }
          var errCode = FS.nodePermissions(lookup.node, 'x');
          if (errCode) {
            throw new FS.ErrnoError(errCode);
          }
          FS.currentPath = lookup.path;
        },
    createDefaultDirectories:() => {
          FS.mkdir('/tmp');
          FS.mkdir('/home');
          FS.mkdir('/home/web_user');
        },
    createDefaultDevices:() => {
          // create /dev
          FS.mkdir('/dev');
          // setup /dev/null
          FS.registerDevice(FS.makedev(1, 3), {
            read: () => 0,
            write: (stream, buffer, offset, length, pos) => length,
          });
          FS.mkdev('/dev/null', FS.makedev(1, 3));
          // setup /dev/tty and /dev/tty1
          // stderr needs to print output using err() rather than out()
          // so we register a second tty just for it.
          TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
          TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
          FS.mkdev('/dev/tty', FS.makedev(5, 0));
          FS.mkdev('/dev/tty1', FS.makedev(6, 0));
          // setup /dev/[u]random
          // use a buffer to avoid overhead of individual crypto calls per byte
          var randomBuffer = new Uint8Array(1024), randomLeft = 0;
          var randomByte = () => {
            if (randomLeft === 0) {
              randomLeft = randomFill(randomBuffer).byteLength;
            }
            return randomBuffer[--randomLeft];
          };
          FS.createDevice('/dev', 'random', randomByte);
          FS.createDevice('/dev', 'urandom', randomByte);
          // we're not going to emulate the actual shm device,
          // just create the tmp dirs that reside in it commonly
          FS.mkdir('/dev/shm');
          FS.mkdir('/dev/shm/tmp');
        },
    createSpecialDirectories:() => {
          // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the
          // name of the stream for fd 6 (see test_unistd_ttyname)
          FS.mkdir('/proc');
          var proc_self = FS.mkdir('/proc/self');
          FS.mkdir('/proc/self/fd');
          FS.mount({
            mount: () => {
              var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73);
              node.node_ops = {
                lookup: (parent, name) => {
                  var fd = +name;
                  var stream = FS.getStreamChecked(fd);
                  var ret = {
                    parent: null,
                    mount: { mountpoint: 'fake' },
                    node_ops: { readlink: () => stream.path },
                  };
                  ret.parent = ret; // make it look like a simple root node
                  return ret;
                }
              };
              return node;
            }
          }, {}, '/proc/self/fd');
        },
    createStandardStreams:() => {
          // TODO deprecate the old functionality of a single
          // input / output callback and that utilizes FS.createDevice
          // and instead require a unique set of stream ops
    
          // by default, we symlink the standard streams to the
          // default tty devices. however, if the standard streams
          // have been overwritten we create a unique device for
          // them instead.
          if (Module['stdin']) {
            FS.createDevice('/dev', 'stdin', Module['stdin']);
          } else {
            FS.symlink('/dev/tty', '/dev/stdin');
          }
          if (Module['stdout']) {
            FS.createDevice('/dev', 'stdout', null, Module['stdout']);
          } else {
            FS.symlink('/dev/tty', '/dev/stdout');
          }
          if (Module['stderr']) {
            FS.createDevice('/dev', 'stderr', null, Module['stderr']);
          } else {
            FS.symlink('/dev/tty1', '/dev/stderr');
          }
    
          // open default streams for the stdin, stdout and stderr devices
          var stdin = FS.open('/dev/stdin', 0);
          var stdout = FS.open('/dev/stdout', 1);
          var stderr = FS.open('/dev/stderr', 1);
          assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`);
          assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`);
          assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`);
        },
    ensureErrnoError:() => {
          if (FS.ErrnoError) return;
          FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
            // We set the `name` property to be able to identify `FS.ErrnoError`
            // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway.
            // - when using PROXYFS, an error can come from an underlying FS
            // as different FS objects have their own FS.ErrnoError each,
            // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs.
            // we'll use the reliable test `err.name == "ErrnoError"` instead
            this.name = 'ErrnoError';
            this.node = node;
            this.setErrno = /** @this{Object} */ function(errno) {
              this.errno = errno;
              for (var key in ERRNO_CODES) {
                if (ERRNO_CODES[key] === errno) {
                  this.code = key;
                  break;
                }
              }
            };
            this.setErrno(errno);
            this.message = ERRNO_MESSAGES[errno];
    
            // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
            // now ensures it shows what we want.
            if (this.stack) {
              // Define the stack property for Node.js 4, which otherwise errors on the next line.
              Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
              this.stack = demangleAll(this.stack);
            }
          };
          FS.ErrnoError.prototype = new Error();
          FS.ErrnoError.prototype.constructor = FS.ErrnoError;
          // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
          [44].forEach((code) => {
            FS.genericErrors[code] = new FS.ErrnoError(code);
            FS.genericErrors[code].stack = '<generic error, no stack>';
          });
        },
    staticInit:() => {
          FS.ensureErrnoError();
    
          FS.nameTable = new Array(4096);
    
          FS.mount(MEMFS, {}, '/');
    
          FS.createDefaultDirectories();
          FS.createDefaultDevices();
          FS.createSpecialDirectories();
    
          FS.filesystems = {
            'MEMFS': MEMFS,
            'IDBFS': IDBFS,
          };
        },
    init:(input, output, error) => {
          assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
          FS.init.initialized = true;
    
          FS.ensureErrnoError();
    
          // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
          Module['stdin'] = input || Module['stdin'];
          Module['stdout'] = output || Module['stdout'];
          Module['stderr'] = error || Module['stderr'];
    
          FS.createStandardStreams();
        },
    quit:() => {
          FS.init.initialized = false;
          // force-flush all streams, so we get musl std streams printed out
          _fflush(0);
          // close all of our streams
          for (var i = 0; i < FS.streams.length; i++) {
            var stream = FS.streams[i];
            if (!stream) {
              continue;
            }
            FS.close(stream);
          }
        },
    findObject:(path, dontResolveLastLink) => {
          var ret = FS.analyzePath(path, dontResolveLastLink);
          if (!ret.exists) {
            return null;
          }
          return ret.object;
        },
    analyzePath:(path, dontResolveLastLink) => {
          // operate from within the context of the symlink's target
          try {
            var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
            path = lookup.path;
          } catch (e) {
          }
          var ret = {
            isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
            parentExists: false, parentPath: null, parentObject: null
          };
          try {
            var lookup = FS.lookupPath(path, { parent: true });
            ret.parentExists = true;
            ret.parentPath = lookup.path;
            ret.parentObject = lookup.node;
            ret.name = PATH.basename(path);
            lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
            ret.exists = true;
            ret.path = lookup.path;
            ret.object = lookup.node;
            ret.name = lookup.node.name;
            ret.isRoot = lookup.path === '/';
          } catch (e) {
            ret.error = e.errno;
          }        return ret;
        },
    createPath:(parent, path, canRead, canWrite) => {
          parent = typeof parent == 'string' ? parent : FS.getPath(parent);
          var parts = path.split('/').reverse();
          while (parts.length) {
            var part = parts.pop();
            if (!part) continue;
            var current = PATH.join2(parent, part);
            try {
              FS.mkdir(current);
            } catch (e) {
              // ignore EEXIST
            }
            parent = current;
          }
          return current;
        },
    createFile:(parent, name, properties, canRead, canWrite) => {
          var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
          var mode = FS_getMode(canRead, canWrite);
          return FS.create(path, mode);
        },
    createDataFile:(parent, name, data, canRead, canWrite, canOwn) => {
          var path = name;
          if (parent) {
            parent = typeof parent == 'string' ? parent : FS.getPath(parent);
            path = name ? PATH.join2(parent, name) : parent;
          }
          var mode = FS_getMode(canRead, canWrite);
          var node = FS.create(path, mode);
          if (data) {
            if (typeof data == 'string') {
              var arr = new Array(data.length);
              for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
              data = arr;
            }
            // make sure we can write to the file
            FS.chmod(node, mode | 146);
            var stream = FS.open(node, 577);
            FS.write(stream, data, 0, data.length, 0, canOwn);
            FS.close(stream);
            FS.chmod(node, mode);
          }
          return node;
        },
    createDevice:(parent, name, input, output) => {
          var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
          var mode = FS_getMode(!!input, !!output);
          if (!FS.createDevice.major) FS.createDevice.major = 64;
          var dev = FS.makedev(FS.createDevice.major++, 0);
          // Create a fake device that a set of stream ops to emulate
          // the old behavior.
          FS.registerDevice(dev, {
            open: (stream) => {
              stream.seekable = false;
            },
            close: (stream) => {
              // flush any pending line data
              if (output && output.buffer && output.buffer.length) {
                output(10);
              }
            },
            read: (stream, buffer, offset, length, pos /* ignored */) => {
              var bytesRead = 0;
              for (var i = 0; i < length; i++) {
                var result;
                try {
                  result = input();
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
                if (result === undefined && bytesRead === 0) {
                  throw new FS.ErrnoError(6);
                }
                if (result === null || result === undefined) break;
                bytesRead++;
                buffer[offset+i] = result;
              }
              if (bytesRead) {
                stream.node.timestamp = Date.now();
              }
              return bytesRead;
            },
            write: (stream, buffer, offset, length, pos) => {
              for (var i = 0; i < length; i++) {
                try {
                  output(buffer[offset+i]);
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
              }
              if (length) {
                stream.node.timestamp = Date.now();
              }
              return i;
            }
          });
          return FS.mkdev(path, mode, dev);
        },
    forceLoadFile:(obj) => {
          if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
          if (typeof XMLHttpRequest != 'undefined') {
            throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
          } else if (read_) {
            // Command-line.
            try {
              // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
              //          read() will try to parse UTF8.
              obj.contents = intArrayFromString(read_(obj.url), true);
              obj.usedBytes = obj.contents.length;
            } catch (e) {
              throw new FS.ErrnoError(29);
            }
          } else {
            throw new Error('Cannot load without read() or XMLHttpRequest.');
          }
        },
    createLazyFile:(parent, name, url, canRead, canWrite) => {
          // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
          /** @constructor */
          function LazyUint8Array() {
            this.lengthKnown = false;
            this.chunks = []; // Loaded chunks. Index is the chunk number
          }
          LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) {
            if (idx > this.length-1 || idx < 0) {
              return undefined;
            }
            var chunkOffset = idx % this.chunkSize;
            var chunkNum = (idx / this.chunkSize)|0;
            return this.getter(chunkNum)[chunkOffset];
          };
          LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
            this.getter = getter;
          };
          LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
            // Find length
            var xhr = new XMLHttpRequest();
            xhr.open('HEAD', url, false);
            xhr.send(null);
            if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
            var datalength = Number(xhr.getResponseHeader("Content-length"));
            var header;
            var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
            var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
    
            var chunkSize = 1024*1024; // Chunk size in bytes
    
            if (!hasByteServing) chunkSize = datalength;
    
            // Function to get a range from the remote URL.
            var doXHR = (from, to) => {
              if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
              if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
    
              // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
              var xhr = new XMLHttpRequest();
              xhr.open('GET', url, false);
              if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
    
              // Some hints to the browser that we want binary data.
              xhr.responseType = 'arraybuffer';
              if (xhr.overrideMimeType) {
                xhr.overrideMimeType('text/plain; charset=x-user-defined');
              }
    
              xhr.send(null);
              if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
              if (xhr.response !== undefined) {
                return new Uint8Array(/** @type{Array<number>} */(xhr.response || []));
              }
              return intArrayFromString(xhr.responseText || '', true);
            };
            var lazyArray = this;
            lazyArray.setDataGetter((chunkNum) => {
              var start = chunkNum * chunkSize;
              var end = (chunkNum+1) * chunkSize - 1; // including this byte
              end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
              if (typeof lazyArray.chunks[chunkNum] == 'undefined') {
                lazyArray.chunks[chunkNum] = doXHR(start, end);
              }
              if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!');
              return lazyArray.chunks[chunkNum];
            });
    
            if (usesGzip || !datalength) {
              // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
              chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
              datalength = this.getter(0).length;
              chunkSize = datalength;
              out("LazyFiles on gzip forces download of the whole file when length is accessed");
            }
    
            this._length = datalength;
            this._chunkSize = chunkSize;
            this.lengthKnown = true;
          };
          if (typeof XMLHttpRequest != 'undefined') {
            throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
            var lazyArray = new LazyUint8Array();
    
            var properties = { isDevice: false, contents: lazyArray };
          } else {
            var properties = { isDevice: false, url: url };
          }
    
          var node = FS.createFile(parent, name, properties, canRead, canWrite);
          // This is a total hack, but I want to get this lazy file code out of the
          // core of MEMFS. If we want to keep this lazy file concept I feel it should
          // be its own thin LAZYFS proxying calls to MEMFS.
          if (properties.contents) {
            node.contents = properties.contents;
          } else if (properties.url) {
            node.contents = null;
            node.url = properties.url;
          }
          // Add a function that defers querying the file size until it is asked the first time.
          Object.defineProperties(node, {
            usedBytes: {
              get: /** @this {FSNode} */ function() { return this.contents.length; }
            }
          });
          // override each stream op with one that tries to force load the lazy file first
          var stream_ops = {};
          var keys = Object.keys(node.stream_ops);
          keys.forEach((key) => {
            var fn = node.stream_ops[key];
            stream_ops[key] = function forceLoadLazyFile() {
              FS.forceLoadFile(node);
              return fn.apply(null, arguments);
            };
          });
          function writeChunks(stream, buffer, offset, length, position) {
            var contents = stream.node.contents;
            if (position >= contents.length)
              return 0;
            var size = Math.min(contents.length - position, length);
            assert(size >= 0);
            if (contents.slice) { // normal array
              for (var i = 0; i < size; i++) {
                buffer[offset + i] = contents[position + i];
              }
            } else {
              for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
                buffer[offset + i] = contents.get(position + i);
              }
            }
            return size;
          }
          // use a custom read function
          stream_ops.read = (stream, buffer, offset, length, position) => {
            FS.forceLoadFile(node);
            return writeChunks(stream, buffer, offset, length, position)
          };
          // use a custom mmap function
          stream_ops.mmap = (stream, length, position, prot, flags) => {
            FS.forceLoadFile(node);
            var ptr = mmapAlloc();
            if (!ptr) {
              throw new FS.ErrnoError(48);
            }
            writeChunks(stream, HEAP8, ptr, length, position);
            return { ptr, allocated: true };
          };
          node.stream_ops = stream_ops;
          return node;
        },
    absolutePath:() => {
          abort('FS.absolutePath has been removed; use PATH_FS.resolve instead');
        },
    createFolder:() => {
          abort('FS.createFolder has been removed; use FS.mkdir instead');
        },
    createLink:() => {
          abort('FS.createLink has been removed; use FS.symlink instead');
        },
    joinPath:() => {
          abort('FS.joinPath has been removed; use PATH.join instead');
        },
    mmapAlloc:() => {
          abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc');
        },
    standardizePath:() => {
          abort('FS.standardizePath has been removed; use PATH.normalize instead');
        },
    };
    
    var SYSCALLS = {
    DEFAULT_POLLMASK:5,
    calculateAt:function(dirfd, path, allowEmpty) {
          if (PATH.isAbs(path)) {
            return path;
          }
          // relative path
          var dir;
          if (dirfd === -100) {
            dir = FS.cwd();
          } else {
            var dirstream = SYSCALLS.getStreamFromFD(dirfd);
            dir = dirstream.path;
          }
          if (path.length == 0) {
            if (!allowEmpty) {
              throw new FS.ErrnoError(44);          }
            return dir;
          }
          return PATH.join2(dir, path);
        },
    doStat:function(func, path, buf) {
          try {
            var stat = func(path);
          } catch (e) {
            if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
              // an error occurred while trying to look up the path; we should just report ENOTDIR
              return -54;
            }
            throw e;
          }
          HEAP32[((buf)>>2)] = stat.dev;
          HEAP32[(((buf)+(4))>>2)] = stat.mode;
          HEAPU32[(((buf)+(8))>>2)] = stat.nlink;
          HEAP32[(((buf)+(12))>>2)] = stat.uid;
          HEAP32[(((buf)+(16))>>2)] = stat.gid;
          HEAP32[(((buf)+(20))>>2)] = stat.rdev;
          (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(24))>>2)] = tempI64[0],HEAP32[(((buf)+(28))>>2)] = tempI64[1]);
          HEAP32[(((buf)+(32))>>2)] = 4096;
          HEAP32[(((buf)+(36))>>2)] = stat.blocks;
          var atime = stat.atime.getTime();
          var mtime = stat.mtime.getTime();
          var ctime = stat.ctime.getTime();
          (tempI64 = [Math.floor(atime / 1000)>>>0,(tempDouble=Math.floor(atime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]);
          HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000;
          (tempI64 = [Math.floor(mtime / 1000)>>>0,(tempDouble=Math.floor(mtime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]);
          HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000;
          (tempI64 = [Math.floor(ctime / 1000)>>>0,(tempDouble=Math.floor(ctime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]);
          HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000;
          (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]);
          return 0;
        },
    doMsync:function(addr, stream, len, flags, offset) {
          if (!FS.isFile(stream.node.mode)) {
            throw new FS.ErrnoError(43);
          }
          if (flags & 2) {
            // MAP_PRIVATE calls need not to be synced back to underlying fs
            return 0;
          }
          var buffer = HEAPU8.slice(addr, addr + len);
          FS.msync(stream, buffer, offset, len, flags);
        },
    varargs:undefined,
    get() {
          assert(SYSCALLS.varargs != undefined);
          SYSCALLS.varargs += 4;
          var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
          return ret;
        },
    getStr(ptr) {
          var ret = UTF8ToString(ptr);
          return ret;
        },
    getStreamFromFD:function(fd) {
          var stream = FS.getStreamChecked(fd);
          return stream;
        },
    };
    function ___syscall_fcntl64(fd, cmd, varargs) {
    SYSCALLS.varargs = varargs;
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        switch (cmd) {
          case 0: {
            var arg = SYSCALLS.get();
            if (arg < 0) {
              return -28;
            }
            var newStream;
            newStream = FS.createStream(stream, arg);
            return newStream.fd;
          }
          case 1:
          case 2:
            return 0;  // FD_CLOEXEC makes no sense for a single process.
          case 3:
            return stream.flags;
          case 4: {
            var arg = SYSCALLS.get();
            stream.flags |= arg;
            return 0;
          }
          case 5: {
            var arg = SYSCALLS.get();
            var offset = 0;
            // We're always unlocked.
            HEAP16[(((arg)+(offset))>>1)] = 2;
            return 0;
          }
          case 6:
          case 7:
            return 0; // Pretend that the locking is successful.
          case 16:
          case 8:
            return -28; // These are for sockets. We don't have them fully implemented yet.
          case 9:
            // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves.
            setErrNo(28);
            return -1;
          default: {
            return -28;
          }
        }
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_fstat64(fd, buf) {
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        return SYSCALLS.doStat(FS.stat, stream.path, buf);
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_ioctl(fd, op, varargs) {
    SYSCALLS.varargs = varargs;
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        switch (op) {
          case 21509: {
            if (!stream.tty) return -59;
            return 0;
          }
          case 21505: {
            if (!stream.tty) return -59;
            if (stream.tty.ops.ioctl_tcgets) {
              var termios = stream.tty.ops.ioctl_tcgets(stream);
              var argp = SYSCALLS.get();
              HEAP32[((argp)>>2)] = termios.c_iflag || 0;
              HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0;
              HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0;
              HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0;
              for (var i = 0; i < 32; i++) {
                HEAP8[(((argp + i)+(17))>>0)] = termios.c_cc[i] || 0;
              }
              return 0;
            }
            return 0;
          }
          case 21510:
          case 21511:
          case 21512: {
            if (!stream.tty) return -59;
            return 0; // no-op, not actually adjusting terminal settings
          }
          case 21506:
          case 21507:
          case 21508: {
            if (!stream.tty) return -59;
            if (stream.tty.ops.ioctl_tcsets) {
              var argp = SYSCALLS.get();
              var c_iflag = HEAP32[((argp)>>2)];
              var c_oflag = HEAP32[(((argp)+(4))>>2)];
              var c_cflag = HEAP32[(((argp)+(8))>>2)];
              var c_lflag = HEAP32[(((argp)+(12))>>2)];
              var c_cc = [];
              for (var i = 0; i < 32; i++) {
                c_cc.push(HEAP8[(((argp + i)+(17))>>0)]);
              }
              return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc });
            }
            return 0; // no-op, not actually adjusting terminal settings
          }
          case 21519: {
            if (!stream.tty) return -59;
            var argp = SYSCALLS.get();
            HEAP32[((argp)>>2)] = 0;
            return 0;
          }
          case 21520: {
            if (!stream.tty) return -59;
            return -28; // not supported
          }
          case 21531: {
            var argp = SYSCALLS.get();
            return FS.ioctl(stream, op, argp);
          }
          case 21523: {
            // TODO: in theory we should write to the winsize struct that gets
            // passed in, but for now musl doesn't read anything on it
            if (!stream.tty) return -59;
            if (stream.tty.ops.ioctl_tiocgwinsz) {
              var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty);
              var argp = SYSCALLS.get();
              HEAP16[((argp)>>1)] = winsize[0];
              HEAP16[(((argp)+(2))>>1)] = winsize[1];
            }
            return 0;
          }
          case 21524: {
            // TODO: technically, this ioctl call should change the window size.
            // but, since emscripten doesn't have any concept of a terminal window
            // yet, we'll just silently throw it away as we do TIOCGWINSZ
            if (!stream.tty) return -59;
            return 0;
          }
          case 21515: {
            if (!stream.tty) return -59;
            return 0;
          }
          default: return -28; // not supported
        }
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_lstat64(path, buf) {
    try {
    
        path = SYSCALLS.getStr(path);
        return SYSCALLS.doStat(FS.lstat, path, buf);
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_mkdirat(dirfd, path, mode) {
    try {
    
        path = SYSCALLS.getStr(path);
        path = SYSCALLS.calculateAt(dirfd, path);
        // remove a trailing slash, if one - /a/b/ has basename of '', but
        // we want to create b in the context of this function
        path = PATH.normalize(path);
        if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
        FS.mkdir(path, mode, 0);
        return 0;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_newfstatat(dirfd, path, buf, flags) {
    try {
    
        path = SYSCALLS.getStr(path);
        var nofollow = flags & 256;
        var allowEmpty = flags & 4096;
        flags = flags & (~6400);
        assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`);
        path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);
        return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_openat(dirfd, path, flags, varargs) {
    SYSCALLS.varargs = varargs;
    try {
    
        path = SYSCALLS.getStr(path);
        path = SYSCALLS.calculateAt(dirfd, path);
        var mode = varargs ? SYSCALLS.get() : 0;
        return FS.open(path, flags, mode).fd;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    function ___syscall_stat64(path, buf) {
    try {
    
        path = SYSCALLS.getStr(path);
        return SYSCALLS.doStat(FS.stat, path, buf);
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return -e.errno;
    }
    }

    
    function ___throw_exception_with_stack_trace(ex) {
        var e = new WebAssembly.Exception(getCppExceptionTag(), [ex], {traceStack: true});
        e.message = getExceptionMessage(e);
        // The generated stack trace will be in the form of:
        //
        // Error
        //     at ___throw_exception_with_stack_trace(test.js:1139:13)
        //     at __cxa_throw (wasm://wasm/009a7c9a:wasm-function[1551]:0x24367)
        //     ...
        //
        // Remove this JS function name, which is in the second line, from the stack
        // trace. Note that .stack does not yet exist in all browsers (see #18828).
        if (e.stack) {
          var arr = e.stack.split('\n');
          arr.splice(1,1);
          e.stack = arr.join('\n');
        }
        throw e;
      }

    function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {}

    function getShiftFromSize(size) {
        switch (size) {
            case 1: return 0;
            case 2: return 1;
            case 4: return 2;
            case 8: return 3;
            default:
                throw new TypeError(`Unknown type size: ${size}`);
        }
      }
    
    function embind_init_charCodes() {
        var codes = new Array(256);
        for (var i = 0; i < 256; ++i) {
            codes[i] = String.fromCharCode(i);
        }
        embind_charCodes = codes;
      }
    var embind_charCodes = undefined;
    function readLatin1String(ptr) {
        var ret = "";
        var c = ptr;
        while (HEAPU8[c]) {
            ret += embind_charCodes[HEAPU8[c++]];
        }
        return ret;
      }
    
    var awaitingDependencies = {
    };
    
    var registeredTypes = {
    };
    
    var typeDependencies = {
    };
    
    var BindingError = undefined;
    function throwBindingError(message) {
        throw new BindingError(message);
      }
    
    
    
    
    var InternalError = undefined;
    function throwInternalError(message) {
        throw new InternalError(message);
      }
    function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
        myTypes.forEach(function(type) {
            typeDependencies[type] = dependentTypes;
        });
    
        function onComplete(typeConverters) {
            var myTypeConverters = getTypeConverters(typeConverters);
            if (myTypeConverters.length !== myTypes.length) {
                throwInternalError('Mismatched type converter count');
            }
            for (var i = 0; i < myTypes.length; ++i) {
                registerType(myTypes[i], myTypeConverters[i]);
            }
        }
    
        var typeConverters = new Array(dependentTypes.length);
        var unregisteredTypes = [];
        var registered = 0;
        dependentTypes.forEach((dt, i) => {
          if (registeredTypes.hasOwnProperty(dt)) {
            typeConverters[i] = registeredTypes[dt];
          } else {
            unregisteredTypes.push(dt);
            if (!awaitingDependencies.hasOwnProperty(dt)) {
              awaitingDependencies[dt] = [];
            }
            awaitingDependencies[dt].push(() => {
              typeConverters[i] = registeredTypes[dt];
              ++registered;
              if (registered === unregisteredTypes.length) {
                onComplete(typeConverters);
              }
            });
          }
        });
        if (0 === unregisteredTypes.length) {
          onComplete(typeConverters);
        }
      }
    /** @param {Object=} options */
    function sharedRegisterType(rawType, registeredInstance, options = {}) {
        var name = registeredInstance.name;
        if (!rawType) {
          throwBindingError(`type "${name}" must have a positive integer typeid pointer`);
        }
        if (registeredTypes.hasOwnProperty(rawType)) {
          if (options.ignoreDuplicateRegistrations) {
            return;
          } else {
            throwBindingError(`Cannot register type '${name}' twice`);
          }
        }
    
        registeredTypes[rawType] = registeredInstance;
        delete typeDependencies[rawType];
    
        if (awaitingDependencies.hasOwnProperty(rawType)) {
          var callbacks = awaitingDependencies[rawType];
          delete awaitingDependencies[rawType];
          callbacks.forEach((cb) => cb());
        }
      }
    /** @param {Object=} options */
    function registerType(rawType, registeredInstance, options = {}) {
        if (!('argPackAdvance' in registeredInstance)) {
          throw new TypeError('registerType registeredInstance requires argPackAdvance');
        }
        return sharedRegisterType(rawType, registeredInstance, options);
      }
    function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
        var shift = getShiftFromSize(size);
    
        name = readLatin1String(name);
        registerType(rawType, {
            name,
            'fromWireType': function(wt) {
                // ambiguous emscripten ABI: sometimes return values are
                // true or false, and sometimes integers (0 or 1)
                return !!wt;
            },
            'toWireType': function(destructors, o) {
                return o ? trueValue : falseValue;
            },
            'argPackAdvance': 8,
            'readValueFromPointer': function(pointer) {
                // TODO: if heap is fixed (like in asm.js) this could be executed outside
                var heap;
                if (size === 1) {
                    heap = HEAP8;
                } else if (size === 2) {
                    heap = HEAP16;
                } else if (size === 4) {
                    heap = HEAP32;
                } else {
                    throw new TypeError("Unknown boolean type size: " + name);
                }
                return this['fromWireType'](heap[pointer >> shift]);
            },
            destructorFunction: null, // This type does not need a destructor
        });
      }

    
    function ClassHandle_isAliasOf(other) {
        if (!(this instanceof ClassHandle)) {
          return false;
        }
        if (!(other instanceof ClassHandle)) {
          return false;
        }
    
        var leftClass = this.$$.ptrType.registeredClass;
        var left = this.$$.ptr;
        var rightClass = other.$$.ptrType.registeredClass;
        var right = other.$$.ptr;
    
        while (leftClass.baseClass) {
          left = leftClass.upcast(left);
          leftClass = leftClass.baseClass;
        }
    
        while (rightClass.baseClass) {
          right = rightClass.upcast(right);
          rightClass = rightClass.baseClass;
        }
    
        return leftClass === rightClass && left === right;
      }
    
    function shallowCopyInternalPointer(o) {
        return {
          count: o.count,
          deleteScheduled: o.deleteScheduled,
          preservePointerOnDelete: o.preservePointerOnDelete,
          ptr: o.ptr,
          ptrType: o.ptrType,
          smartPtr: o.smartPtr,
          smartPtrType: o.smartPtrType,
        };
      }
    
    function throwInstanceAlreadyDeleted(obj) {
        function getInstanceTypeName(handle) {
          return handle.$$.ptrType.registeredClass.name;
        }
        throwBindingError(getInstanceTypeName(obj) + ' instance already deleted');
      }
    
    var finalizationRegistry = false;
    
    function detachFinalizer(handle) {}
    
    function runDestructor($$) {
        if ($$.smartPtr) {
          $$.smartPtrType.rawDestructor($$.smartPtr);
        } else {
          $$.ptrType.registeredClass.rawDestructor($$.ptr);
        }
      }
    function releaseClassHandle($$) {
        $$.count.value -= 1;
        var toDelete = 0 === $$.count.value;
        if (toDelete) {
          runDestructor($$);
        }
      }
    
    function downcastPointer(ptr, ptrClass, desiredClass) {
        if (ptrClass === desiredClass) {
          return ptr;
        }
        if (undefined === desiredClass.baseClass) {
          return null; // no conversion
        }
    
        var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
        if (rv === null) {
          return null;
        }
        return desiredClass.downcast(rv);
      }
    
    var registeredPointers = {
    };
    
    function getInheritedInstanceCount() {
        return Object.keys(registeredInstances).length;
      }
    
    function getLiveInheritedInstances() {
        var rv = [];
        for (var k in registeredInstances) {
          if (registeredInstances.hasOwnProperty(k)) {
            rv.push(registeredInstances[k]);
          }
        }
        return rv;
      }
    
    var deletionQueue = [];
    function flushPendingDeletes() {
        while (deletionQueue.length) {
          var obj = deletionQueue.pop();
          obj.$$.deleteScheduled = false;
          obj['delete']();
        }
      }
    
    var delayFunction = undefined;
    
    
    function setDelayFunction(fn) {
        delayFunction = fn;
        if (deletionQueue.length && delayFunction) {
          delayFunction(flushPendingDeletes);
        }
      }
    function init_embind() {
        Module['getInheritedInstanceCount'] = getInheritedInstanceCount;
        Module['getLiveInheritedInstances'] = getLiveInheritedInstances;
        Module['flushPendingDeletes'] = flushPendingDeletes;
        Module['setDelayFunction'] = setDelayFunction;
      }
    var registeredInstances = {
    };
    
    function getBasestPointer(class_, ptr) {
        if (ptr === undefined) {
            throwBindingError('ptr should not be undefined');
        }
        while (class_.baseClass) {
            ptr = class_.upcast(ptr);
            class_ = class_.baseClass;
        }
        return ptr;
      }
    function getInheritedInstance(class_, ptr) {
        ptr = getBasestPointer(class_, ptr);
        return registeredInstances[ptr];
      }
    
    
    function makeClassHandle(prototype, record) {
        if (!record.ptrType || !record.ptr) {
          throwInternalError('makeClassHandle requires ptr and ptrType');
        }
        var hasSmartPtrType = !!record.smartPtrType;
        var hasSmartPtr = !!record.smartPtr;
        if (hasSmartPtrType !== hasSmartPtr) {
          throwInternalError('Both smartPtrType and smartPtr must be specified');
        }
        record.count = { value: 1 };
        return attachFinalizer(Object.create(prototype, {
          $$: {
              value: record,
          },
        }));
      }
    function RegisteredPointer_fromWireType(ptr) {
        // ptr is a raw pointer (or a raw smartpointer)
    
        // rawPointer is a maybe-null raw pointer
        var rawPointer = this.getPointee(ptr);
        if (!rawPointer) {
          this.destructor(ptr);
          return null;
        }
    
        var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
        if (undefined !== registeredInstance) {
          // JS object has been neutered, time to repopulate it
          if (0 === registeredInstance.$$.count.value) {
            registeredInstance.$$.ptr = rawPointer;
            registeredInstance.$$.smartPtr = ptr;
            return registeredInstance['clone']();
          } else {
            // else, just increment reference count on existing object
            // it already has a reference to the smart pointer
            var rv = registeredInstance['clone']();
            this.destructor(ptr);
            return rv;
          }
        }
    
        function makeDefaultHandle() {
          if (this.isSmartPointer) {
            return makeClassHandle(this.registeredClass.instancePrototype, {
              ptrType: this.pointeeType,
              ptr: rawPointer,
              smartPtrType: this,
              smartPtr: ptr,
            });
          } else {
            return makeClassHandle(this.registeredClass.instancePrototype, {
              ptrType: this,
              ptr,
            });
          }
        }
    
        var actualType = this.registeredClass.getActualType(rawPointer);
        var registeredPointerRecord = registeredPointers[actualType];
        if (!registeredPointerRecord) {
          return makeDefaultHandle.call(this);
        }
    
        var toType;
        if (this.isConst) {
          toType = registeredPointerRecord.constPointerType;
        } else {
          toType = registeredPointerRecord.pointerType;
        }
        var dp = downcastPointer(
            rawPointer,
            this.registeredClass,
            toType.registeredClass);
        if (dp === null) {
          return makeDefaultHandle.call(this);
        }
        if (this.isSmartPointer) {
          return makeClassHandle(toType.registeredClass.instancePrototype, {
            ptrType: toType,
            ptr: dp,
            smartPtrType: this,
            smartPtr: ptr,
          });
        } else {
          return makeClassHandle(toType.registeredClass.instancePrototype, {
            ptrType: toType,
            ptr: dp,
          });
        }
      }
    var attachFinalizer = function(handle) {
        if ('undefined' === typeof FinalizationRegistry) {
          attachFinalizer = (handle) => handle;
          return handle;
        }
        // If the running environment has a FinalizationRegistry (see
        // https://github.com/tc39/proposal-weakrefs), then attach finalizers
        // for class handles.  We check for the presence of FinalizationRegistry
        // at run-time, not build-time.
        finalizationRegistry = new FinalizationRegistry((info) => {
          console.warn(info.leakWarning.stack.replace(/^Error: /, ''));
          releaseClassHandle(info.$$);
        });
        attachFinalizer = (handle) => {
          var $$ = handle.$$;
          var hasSmartPtr = !!$$.smartPtr;
          if (hasSmartPtr) {
            // We should not call the destructor on raw pointers in case other code expects the pointee to live
            var info = { $$: $$ };
            // Create a warning as an Error instance in advance so that we can store
            // the current stacktrace and point to it when / if a leak is detected.
            // This is more useful than the empty stacktrace of `FinalizationRegistry`
            // callback.
            var cls = $$.ptrType.registeredClass;
            info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` +
            "We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" +
            "Make sure to invoke .delete() manually once you're done with the instance instead.\n" +
            "Originally allocated"); // `.stack` will add "at ..." after this sentence
            if ('captureStackTrace' in Error) {
              Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType);
            }
            finalizationRegistry.register(handle, info, handle);
          }
          return handle;
        };
        detachFinalizer = (handle) => finalizationRegistry.unregister(handle);
        return attachFinalizer(handle);
      };
    function ClassHandle_clone() {
        if (!this.$$.ptr) {
          throwInstanceAlreadyDeleted(this);
        }
    
        if (this.$$.preservePointerOnDelete) {
          this.$$.count.value += 1;
          return this;
        } else {
          var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), {
            $$: {
              value: shallowCopyInternalPointer(this.$$),
            }
          }));
    
          clone.$$.count.value += 1;
          clone.$$.deleteScheduled = false;
          return clone;
        }
      }
    
    
    
    
    function ClassHandle_delete() {
        if (!this.$$.ptr) {
          throwInstanceAlreadyDeleted(this);
        }
    
        if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
          throwBindingError('Object already scheduled for deletion');
        }
    
        detachFinalizer(this);
        releaseClassHandle(this.$$);
    
        if (!this.$$.preservePointerOnDelete) {
          this.$$.smartPtr = undefined;
          this.$$.ptr = undefined;
        }
      }
    
    function ClassHandle_isDeleted() {
        return !this.$$.ptr;
      }
    
    
    
    function ClassHandle_deleteLater() {
        if (!this.$$.ptr) {
          throwInstanceAlreadyDeleted(this);
        }
        if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
          throwBindingError('Object already scheduled for deletion');
        }
        deletionQueue.push(this);
        if (deletionQueue.length === 1 && delayFunction) {
          delayFunction(flushPendingDeletes);
        }
        this.$$.deleteScheduled = true;
        return this;
      }
    function init_ClassHandle() {
        ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf;
        ClassHandle.prototype['clone'] = ClassHandle_clone;
        ClassHandle.prototype['delete'] = ClassHandle_delete;
        ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted;
        ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater;
      }
    function ClassHandle() {
      }
    
    var char_0 = 48;
    
    var char_9 = 57;
    function makeLegalFunctionName(name) {
        if (undefined === name) {
          return '_unknown';
        }
        name = name.replace(/[^a-zA-Z0-9_]/g, '$');
        var f = name.charCodeAt(0);
        if (f >= char_0 && f <= char_9) {
          return `_${name}`;
        }
        return name;
      }
    function createNamedFunction(name, body) {
        name = makeLegalFunctionName(name);
        // Use an abject with a computed property name to create a new function with
        // a name specified at runtime, but without using `new Function` or `eval`.
        return {
          [name]: function() {
            return body.apply(this, arguments);
          }
        }[name];
      }
    
    
    function ensureOverloadTable(proto, methodName, humanName) {
        if (undefined === proto[methodName].overloadTable) {
          var prevFunc = proto[methodName];
          // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments.
          proto[methodName] = function() {
            // TODO This check can be removed in -O3 level "unsafe" optimizations.
            if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
                throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`);
            }
            return proto[methodName].overloadTable[arguments.length].apply(this, arguments);
          };
          // Move the previous function into the overload table.
          proto[methodName].overloadTable = [];
          proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
        }
      }
    
    /** @param {number=} numArguments */
    function exposePublicSymbol(name, value, numArguments) {
        if (Module.hasOwnProperty(name)) {
          if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) {
            throwBindingError(`Cannot register public name '${name}' twice`);
          }
    
          // We are exposing a function with the same name as an existing function. Create an overload table and a function selector
          // that routes between the two.
          ensureOverloadTable(Module, name, name);
          if (Module.hasOwnProperty(numArguments)) {
            throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`);
          }
          // Add the new function into the overload table.
          Module[name].overloadTable[numArguments] = value;
        }
        else {
          Module[name] = value;
          if (undefined !== numArguments) {
            Module[name].numArguments = numArguments;
          }
        }
      }
    
    
    
    /** @constructor */
    function RegisteredClass(name,
                                 constructor,
                                 instancePrototype,
                                 rawDestructor,
                                 baseClass,
                                 getActualType,
                                 upcast,
                                 downcast) {
        this.name = name;
        this.constructor = constructor;
        this.instancePrototype = instancePrototype;
        this.rawDestructor = rawDestructor;
        this.baseClass = baseClass;
        this.getActualType = getActualType;
        this.upcast = upcast;
        this.downcast = downcast;
        this.pureVirtualFunctions = [];
      }
    
    
    function upcastPointer(ptr, ptrClass, desiredClass) {
        while (ptrClass !== desiredClass) {
          if (!ptrClass.upcast) {
            throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`);
          }
          ptr = ptrClass.upcast(ptr);
          ptrClass = ptrClass.baseClass;
        }
        return ptr;
      }
    function constNoSmartPtrRawPointerToWireType(destructors, handle) {
        if (handle === null) {
          if (this.isReference) {
            throwBindingError(`null is not a valid ${this.name}`);
          }
          return 0;
        }
    
        if (!handle.$$) {
          throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
        }
        if (!handle.$$.ptr) {
          throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
        }
        var handleClass = handle.$$.ptrType.registeredClass;
        var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
        return ptr;
      }
    
    
    function genericPointerToWireType(destructors, handle) {
        var ptr;
        if (handle === null) {
          if (this.isReference) {
            throwBindingError(`null is not a valid ${this.name}`);
          }
    
          if (this.isSmartPointer) {
            ptr = this.rawConstructor();
            if (destructors !== null) {
              destructors.push(this.rawDestructor, ptr);
            }
            return ptr;
          } else {
            return 0;
          }
        }
    
        if (!handle.$$) {
          throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
        }
        if (!handle.$$.ptr) {
          throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
        }
        if (!this.isConst && handle.$$.ptrType.isConst) {
          throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`);
        }
        var handleClass = handle.$$.ptrType.registeredClass;
        ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
    
        if (this.isSmartPointer) {
          // TODO: this is not strictly true
          // We could support BY_EMVAL conversions from raw pointers to smart pointers
          // because the smart pointer can hold a reference to the handle
          if (undefined === handle.$$.smartPtr) {
            throwBindingError('Passing raw pointer to smart pointer is illegal');
          }
    
          switch (this.sharingPolicy) {
            case 0: // NONE
              // no upcasting
              if (handle.$$.smartPtrType === this) {
                ptr = handle.$$.smartPtr;
              } else {
                throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`);
              }
              break;
    
            case 1: // INTRUSIVE
              ptr = handle.$$.smartPtr;
              break;
    
            case 2: // BY_EMVAL
              if (handle.$$.smartPtrType === this) {
                ptr = handle.$$.smartPtr;
              } else {
                var clonedHandle = handle['clone']();
                ptr = this.rawShare(
                  ptr,
                  Emval.toHandle(function() {
                    clonedHandle['delete']();
                  })
                );
                if (destructors !== null) {
                  destructors.push(this.rawDestructor, ptr);
                }
              }
              break;
    
            default:
              throwBindingError('Unsupporting sharing policy');
          }
        }
        return ptr;
      }
    
    
    function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
        if (handle === null) {
          if (this.isReference) {
            throwBindingError(`null is not a valid ${this.name}`);
          }
          return 0;
        }
    
        if (!handle.$$) {
          throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
        }
        if (!handle.$$.ptr) {
          throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
        }
        if (handle.$$.ptrType.isConst) {
            throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`);
        }
        var handleClass = handle.$$.ptrType.registeredClass;
        var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
        return ptr;
      }
    
    function simpleReadValueFromPointer(pointer) {
        return this['fromWireType'](HEAP32[((pointer)>>2)]);
      }
    
    function RegisteredPointer_getPointee(ptr) {
        if (this.rawGetPointee) {
          ptr = this.rawGetPointee(ptr);
        }
        return ptr;
      }
    
    function RegisteredPointer_destructor(ptr) {
        if (this.rawDestructor) {
          this.rawDestructor(ptr);
        }
      }
    
    function RegisteredPointer_deleteObject(handle) {
        if (handle !== null) {
          handle['delete']();
        }
      }
    
    function init_RegisteredPointer() {
        RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;
        RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;
        RegisteredPointer.prototype['argPackAdvance'] = 8;
        RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer;
        RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject;
        RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType;
      }
    /** @constructor
        @param {*=} pointeeType,
        @param {*=} sharingPolicy,
        @param {*=} rawGetPointee,
        @param {*=} rawConstructor,
        @param {*=} rawShare,
        @param {*=} rawDestructor,
         */
    function RegisteredPointer(
        name,
        registeredClass,
        isReference,
        isConst,
    
        // smart pointer properties
        isSmartPointer,
        pointeeType,
        sharingPolicy,
        rawGetPointee,
        rawConstructor,
        rawShare,
        rawDestructor
      ) {
        this.name = name;
        this.registeredClass = registeredClass;
        this.isReference = isReference;
        this.isConst = isConst;
    
        // smart pointer properties
        this.isSmartPointer = isSmartPointer;
        this.pointeeType = pointeeType;
        this.sharingPolicy = sharingPolicy;
        this.rawGetPointee = rawGetPointee;
        this.rawConstructor = rawConstructor;
        this.rawShare = rawShare;
        this.rawDestructor = rawDestructor;
    
        if (!isSmartPointer && registeredClass.baseClass === undefined) {
          if (isConst) {
            this['toWireType'] = constNoSmartPtrRawPointerToWireType;
            this.destructorFunction = null;
          } else {
            this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType;
            this.destructorFunction = null;
          }
        } else {
          this['toWireType'] = genericPointerToWireType;
          // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns
          // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time.
          // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in
          //       craftInvokerFunction altogether.
        }
      }
    
    /** @param {number=} numArguments */
    function replacePublicSymbol(name, value, numArguments) {
        if (!Module.hasOwnProperty(name)) {
          throwInternalError('Replacing nonexistant public symbol');
        }
        // If there's an overload table for this symbol, replace the symbol in the overload table instead.
        if (undefined !== Module[name].overloadTable && undefined !== numArguments) {
          Module[name].overloadTable[numArguments] = value;
        }
        else {
          Module[name] = value;
          Module[name].argCount = numArguments;
        }
      }
    
    
    
    var dynCallLegacy = (sig, ptr, args) => {
        assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`);
        if (args && args.length) {
          // j (64-bit integer) must be passed in as two numbers [low 32, high 32].
          assert(args.length === sig.substring(1).replace(/j/g, '--').length);
        } else {
          assert(sig.length == 1);
        }
        var f = Module['dynCall_' + sig];
        return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr);
      };
    
    var wasmTableMirror = [];
    var getWasmTableEntry = (funcPtr) => {
        var func = wasmTableMirror[funcPtr];
        if (!func) {
          if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
          wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
        }
        assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!");
        return func;
      };
    
    /** @param {Object=} args */
    var dynCall = (sig, ptr, args) => {
        // Without WASM_BIGINT support we cannot directly call function with i64 as
        // part of thier signature, so we rely the dynCall functions generated by
        // wasm-emscripten-finalize
        if (sig.includes('j')) {
          return dynCallLegacy(sig, ptr, args);
        }
        assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`);
        var rtn = getWasmTableEntry(ptr).apply(null, args);
        return rtn;
    
      };
    var getDynCaller = (sig, ptr) => {
        assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs');
        var argCache = [];
        return function() {
          argCache.length = 0;
          Object.assign(argCache, arguments);
          return dynCall(sig, ptr, argCache);
        };
      };
    
    
    function embind__requireFunction(signature, rawFunction) {
        signature = readLatin1String(signature);
    
        function makeDynCaller() {
          if (signature.includes('j')) {
            return getDynCaller(signature, rawFunction);
          }
          return getWasmTableEntry(rawFunction);
        }
    
        var fp = makeDynCaller();
        if (typeof fp != "function") {
            throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`);
        }
        return fp;
      }
    
    
    
    function extendError(baseErrorType, errorName) {
        var errorClass = createNamedFunction(errorName, function(message) {
          this.name = errorName;
          this.message = message;
    
          var stack = (new Error(message)).stack;
          if (stack !== undefined) {
            this.stack = this.toString() + '\n' +
                stack.replace(/^Error(:[^\n]*)?\n/, '');
          }
        });
        errorClass.prototype = Object.create(baseErrorType.prototype);
        errorClass.prototype.constructor = errorClass;
        errorClass.prototype.toString = function() {
          if (this.message === undefined) {
            return this.name;
          } else {
            return `${this.name}: ${this.message}`;
          }
        };
    
        return errorClass;
      }
    var UnboundTypeError = undefined;
    
    
    
    function getTypeName(type) {
        var ptr = ___getTypeName(type);
        var rv = readLatin1String(ptr);
        _free(ptr);
        return rv;
      }
    function throwUnboundTypeError(message, types) {
        var unboundTypes = [];
        var seen = {};
        function visit(type) {
          if (seen[type]) {
            return;
          }
          if (registeredTypes[type]) {
            return;
          }
          if (typeDependencies[type]) {
            typeDependencies[type].forEach(visit);
            return;
          }
          unboundTypes.push(type);
          seen[type] = true;
        }
        types.forEach(visit);
    
        throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', ']));
      }
    
    function __embind_register_class(rawType,
                                       rawPointerType,
                                       rawConstPointerType,
                                       baseClassRawType,
                                       getActualTypeSignature,
                                       getActualType,
                                       upcastSignature,
                                       upcast,
                                       downcastSignature,
                                       downcast,
                                       name,
                                       destructorSignature,
                                       rawDestructor) {
        name = readLatin1String(name);
        getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
        if (upcast) {
          upcast = embind__requireFunction(upcastSignature, upcast);
        }
        if (downcast) {
          downcast = embind__requireFunction(downcastSignature, downcast);
        }
        rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
        var legalFunctionName = makeLegalFunctionName(name);
    
        exposePublicSymbol(legalFunctionName, function() {
          // this code cannot run if baseClassRawType is zero
          throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]);
        });
    
        whenDependentTypesAreResolved(
          [rawType, rawPointerType, rawConstPointerType],
          baseClassRawType ? [baseClassRawType] : [],
          function(base) {
            base = base[0];
    
            var baseClass;
            var basePrototype;
            if (baseClassRawType) {
              baseClass = base.registeredClass;
              basePrototype = baseClass.instancePrototype;
            } else {
              basePrototype = ClassHandle.prototype;
            }
    
            var constructor = createNamedFunction(legalFunctionName, function() {
              if (Object.getPrototypeOf(this) !== instancePrototype) {
                throw new BindingError("Use 'new' to construct " + name);
              }
              if (undefined === registeredClass.constructor_body) {
                throw new BindingError(name + " has no accessible constructor");
              }
              var body = registeredClass.constructor_body[arguments.length];
              if (undefined === body) {
                throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`);
              }
              return body.apply(this, arguments);
            });
    
            var instancePrototype = Object.create(basePrototype, {
              constructor: { value: constructor },
            });
    
            constructor.prototype = instancePrototype;
    
            var registeredClass = new RegisteredClass(name,
                                                      constructor,
                                                      instancePrototype,
                                                      rawDestructor,
                                                      baseClass,
                                                      getActualType,
                                                      upcast,
                                                      downcast);
    
            if (registeredClass.baseClass) {
              // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions.
              if (registeredClass.baseClass.__derivedClasses === undefined) {
                registeredClass.baseClass.__derivedClasses = [];
              }
    
              registeredClass.baseClass.__derivedClasses.push(registeredClass);
            }
    
            var referenceConverter = new RegisteredPointer(name,
                                                           registeredClass,
                                                           true,
                                                           false,
                                                           false);
    
            var pointerConverter = new RegisteredPointer(name + '*',
                                                         registeredClass,
                                                         false,
                                                         false,
                                                         false);
    
            var constPointerConverter = new RegisteredPointer(name + ' const*',
                                                              registeredClass,
                                                              false,
                                                              true,
                                                              false);
    
            registeredPointers[rawType] = {
              pointerType: pointerConverter,
              constPointerType: constPointerConverter
            };
    
            replacePublicSymbol(legalFunctionName, constructor);
    
            return [referenceConverter, pointerConverter, constPointerConverter];
          }
        );
      }

    
    function runDestructors(destructors) {
        while (destructors.length) {
          var ptr = destructors.pop();
          var del = destructors.pop();
          del(ptr);
        }
      }
    
    
    function newFunc(constructor, argumentList) {
        if (!(constructor instanceof Function)) {
          throw new TypeError(`new_ called with constructor type ${typeof(constructor)} which is not a function`);
        }
        /*
         * Previously, the following line was just:
         *   function dummy() {};
         * Unfortunately, Chrome was preserving 'dummy' as the object's name, even
         * though at creation, the 'dummy' has the correct constructor name.  Thus,
         * objects created with IMVU.new would show up in the debugger as 'dummy',
         * which isn't very helpful.  Using IMVU.createNamedFunction addresses the
         * issue.  Doublely-unfortunately, there's no way to write a test for this
         * behavior.  -NRD 2013.02.22
         */
        var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function(){});
        dummy.prototype = constructor.prototype;
        var obj = new dummy;
    
        var r = constructor.apply(obj, argumentList);
        return (r instanceof Object) ? r : obj;
      }
    function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) {
        // humanName: a human-readable string name for the function to be generated.
        // argTypes: An array that contains the embind type objects for all types in the function signature.
        //    argTypes[0] is the type object for the function return value.
        //    argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method.
        //    argTypes[2...] are the actual function parameters.
        // classType: The embind type object for the class to be bound, or null if this is not a method of a class.
        // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code.
        // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling.
        // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI.
        var argCount = argTypes.length;
    
        if (argCount < 2) {
          throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
        }
    
        assert(!isAsync, 'Async bindings are only supported with JSPI.');
    
        var isClassMethodFunc = (argTypes[1] !== null && classType !== null);
    
        // Free functions with signature "void function()" do not need an invoker that marshalls between wire types.
    // TODO: This omits argument count check - enable only at -O3 or similar.
    //    if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) {
    //       return FUNCTION_TABLE[fn];
    //    }
    
        // Determine if we need to use a dynamic stack to store the destructors for the function parameters.
        // TODO: Remove this completely once all function invokers are being dynamically generated.
        var needsDestructorStack = false;
    
        for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here.
          if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack
            needsDestructorStack = true;
            break;
          }
        }
    
        var returns = (argTypes[0].name !== "void");
    
        var argsList = "";
        var argsListWired = "";
        for (var i = 0; i < argCount - 2; ++i) {
          argsList += (i!==0?", ":"")+"arg"+i;
          argsListWired += (i!==0?", ":"")+"arg"+i+"Wired";
        }
    
        var invokerFnBody = `
        return function ${makeLegalFunctionName(humanName)}(${argsList}) {
        if (arguments.length !== ${argCount - 2}) {
          throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount - 2} args!');
        }`;
    
        if (needsDestructorStack) {
          invokerFnBody += "var destructors = [];\n";
        }
    
        var dtorStack = needsDestructorStack ? "destructors" : "null";
        var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
        var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
    
        if (isClassMethodFunc) {
          invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n";
        }
    
        for (var i = 0; i < argCount - 2; ++i) {
          invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";
          args1.push("argType"+i);
          args2.push(argTypes[i+2]);
        }
    
        if (isClassMethodFunc) {
          argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
        }
    
        invokerFnBody +=
            (returns || isAsync ? "var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";
    
        if (needsDestructorStack) {
          invokerFnBody += "runDestructors(destructors);\n";
        } else {
          for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method.
            var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired"));
            if (argTypes[i].destructorFunction !== null) {
              invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";
              args1.push(paramName+"_dtor");
              args2.push(argTypes[i].destructorFunction);
            }
          }
        }
    
        if (returns) {
          invokerFnBody += "var ret = retType.fromWireType(rv);\n" +
                           "return ret;\n";
        }
    
        invokerFnBody += "}\n";
    
        args1.push(invokerFnBody);
    
        return newFunc(Function, args1).apply(null, args2);
      }
    
    
    function heap32VectorToArray(count, firstElement) {
        var array = [];
        for (var i = 0; i < count; i++) {
            // TODO(https://github.com/emscripten-core/emscripten/issues/17310):
            // Find a way to hoist the `>> 2` or `>> 3` out of this loop.
            array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]);
        }
        return array;
      }
    
    
    
    
    function __embind_register_class_class_function(rawClassType,
                                                      methodName,
                                                      argCount,
                                                      rawArgTypesAddr,
                                                      invokerSignature,
                                                      rawInvoker,
                                                      fn,
                                                      isAsync) {
        var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
        methodName = readLatin1String(methodName);
        rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
        whenDependentTypesAreResolved([], [rawClassType], function(classType) {
          classType = classType[0];
          var humanName = `${classType.name}.${methodName}`;
    
          function unboundTypesHandler() {
            throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
          }
    
          if (methodName.startsWith("@@")) {
            methodName = Symbol[methodName.substring(2)];
          }
    
          var proto = classType.registeredClass.constructor;
          if (undefined === proto[methodName]) {
            // This is the first function to be registered with this name.
            unboundTypesHandler.argCount = argCount-1;
            proto[methodName] = unboundTypesHandler;
          } else {
            // There was an existing function with the same name registered. Set up
            // a function overload routing table.
            ensureOverloadTable(proto, methodName, humanName);
            proto[methodName].overloadTable[argCount-1] = unboundTypesHandler;
          }
    
          whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
            // Replace the initial unbound-types-handler stub with the proper
            // function. If multiple overloads are registered, the function handlers
            // go into an overload table.
            var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */);
            var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync);
            if (undefined === proto[methodName].overloadTable) {
              func.argCount = argCount-1;
              proto[methodName] = func;
            } else {
              proto[methodName].overloadTable[argCount-1] = func;
            }
    
            if (classType.registeredClass.__derivedClasses) {
              for (const derivedClass of classType.registeredClass.__derivedClasses) {
                if (!derivedClass.constructor.hasOwnProperty(methodName)) {
                  // TODO: Add support for overloads
                  derivedClass.constructor[methodName] = func;
                }
              }
            }
    
            return [];
          });
          return [];
        });
      }

    
    
    
    
    
    
    function __embind_register_class_constructor(
        rawClassType,
        argCount,
        rawArgTypesAddr,
        invokerSignature,
        invoker,
        rawConstructor
      ) {
        assert(argCount > 0);
        var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
        invoker = embind__requireFunction(invokerSignature, invoker);
    
        whenDependentTypesAreResolved([], [rawClassType], function(classType) {
          classType = classType[0];
          var humanName = `constructor ${classType.name}`;
    
          if (undefined === classType.registeredClass.constructor_body) {
            classType.registeredClass.constructor_body = [];
          }
          if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) {
            throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
          }
          classType.registeredClass.constructor_body[argCount - 1] = () => {
            throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes);
          };
    
          whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
            // Insert empty slot for context type (argTypes[1]).
            argTypes.splice(1, 0, null);
            classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor);
            return [];
          });
          return [];
        });
      }

    
    
    
    
    
    function __embind_register_class_function(rawClassType,
                                                methodName,
                                                argCount,
                                                rawArgTypesAddr, // [ReturnType, ThisType, Args...]
                                                invokerSignature,
                                                rawInvoker,
                                                context,
                                                isPureVirtual,
                                                isAsync) {
        var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
        methodName = readLatin1String(methodName);
        rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
    
        whenDependentTypesAreResolved([], [rawClassType], function(classType) {
          classType = classType[0];
          var humanName = `${classType.name}.${methodName}`;
    
          if (methodName.startsWith("@@")) {
            methodName = Symbol[methodName.substring(2)];
          }
    
          if (isPureVirtual) {
            classType.registeredClass.pureVirtualFunctions.push(methodName);
          }
    
          function unboundTypesHandler() {
            throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
          }
    
          var proto = classType.registeredClass.instancePrototype;
          var method = proto[methodName];
          if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) {
            // This is the first overload to be registered, OR we are replacing a
            // function in the base class with a function in the derived class.
            unboundTypesHandler.argCount = argCount - 2;
            unboundTypesHandler.className = classType.name;
            proto[methodName] = unboundTypesHandler;
          } else {
            // There was an existing function with the same name registered. Set up
            // a function overload routing table.
            ensureOverloadTable(proto, methodName, humanName);
            proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
          }
    
          whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
            var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync);
    
            // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types
            // are resolved. If multiple overloads are registered for this function, the function goes into an overload table.
            if (undefined === proto[methodName].overloadTable) {
              // Set argCount in case an overload is registered later
              memberFunction.argCount = argCount - 2;
              proto[methodName] = memberFunction;
            } else {
              proto[methodName].overloadTable[argCount - 2] = memberFunction;
            }
    
            return [];
          });
          return [];
        });
      }

    function handleAllocatorInit() {
        Object.assign(HandleAllocator.prototype, /** @lends {HandleAllocator.prototype} */ {
          get(id) {
            assert(this.allocated[id] !== undefined, `invalid handle: ${id}`);
            return this.allocated[id];
          },
          has(id) {
            return this.allocated[id] !== undefined;
          },
          allocate(handle) {
            var id = this.freelist.pop() || this.allocated.length;
            this.allocated[id] = handle;
            return id;
          },
          free(id) {
            assert(this.allocated[id] !== undefined);
            // Set the slot to `undefined` rather than using `delete` here since
            // apparently arrays with holes in them can be less efficient.
            this.allocated[id] = undefined;
            this.freelist.push(id);
          }
        });
      }
    /** @constructor */
    function HandleAllocator() {
        // Reserve slot 0 so that 0 is always an invalid handle
        this.allocated = [undefined];
        this.freelist = [];
      }
    var emval_handles = new HandleAllocator();  function __emval_decref(handle) {
        if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) {
          emval_handles.free(handle);
        }
      }
    
    
    
    function count_emval_handles() {
        var count = 0;
        for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) {
          if (emval_handles.allocated[i] !== undefined) {
            ++count;
          }
        }
        return count;
      }
    
    function init_emval() {
        // reserve some special values. These never get de-allocated.
        // The HandleAllocator takes care of reserving zero.
        emval_handles.allocated.push(
          {value: undefined},
          {value: null},
          {value: true},
          {value: false},
        );
        emval_handles.reserved = emval_handles.allocated.length;
        Module['count_emval_handles'] = count_emval_handles;
      }
    var Emval = {
    toValue:(handle) => {
          if (!handle) {
              throwBindingError('Cannot use deleted val. handle = ' + handle);
          }
          return emval_handles.get(handle).value;
        },
    toHandle:(value) => {
          switch (value) {
            case undefined: return 1;
            case null: return 2;
            case true: return 3;
            case false: return 4;
            default:{
              return emval_handles.allocate({refcount: 1, value: value});
            }
          }
        },
    };
    
    
    
    function __embind_register_emval(rawType, name) {
        name = readLatin1String(name);
        registerType(rawType, {
          name,
          'fromWireType': function(handle) {
            var rv = Emval.toValue(handle);
            __emval_decref(handle);
            return rv;
          },
          'toWireType': function(destructors, value) {
            return Emval.toHandle(value);
          },
          'argPackAdvance': 8,
          'readValueFromPointer': simpleReadValueFromPointer,
          destructorFunction: null, // This type does not need a destructor
    
          // TODO: do we need a deleteObject here?  write a test where
          // emval is passed into JS via an interface
        });
      }

    function embindRepr(v) {
        if (v === null) {
            return 'null';
        }
        var t = typeof v;
        if (t === 'object' || t === 'array' || t === 'function') {
            return v.toString();
        } else {
            return '' + v;
        }
      }
    
    function floatReadValueFromPointer(name, shift) {
        switch (shift) {
            case 2: return function(pointer) {
                return this['fromWireType'](HEAPF32[pointer >> 2]);
            };
            case 3: return function(pointer) {
                return this['fromWireType'](HEAPF64[pointer >> 3]);
            };
            default:
                throw new TypeError("Unknown float type: " + name);
        }
      }
    
    
    
    function __embind_register_float(rawType, name, size) {
        var shift = getShiftFromSize(size);
        name = readLatin1String(name);
        registerType(rawType, {
          name,
          'fromWireType': function(value) {
             return value;
          },
          'toWireType': function(destructors, value) {
            if (typeof value != "number" && typeof value != "boolean") {
              throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`);
            }
            // The VM will perform JS to Wasm value conversion, according to the spec:
            // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue
            return value;
          },
          'argPackAdvance': 8,
          'readValueFromPointer': floatReadValueFromPointer(name, shift),
          destructorFunction: null, // This type does not need a destructor
        });
      }

    
    
    
    
    
    
    
    function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) {
        var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
        name = readLatin1String(name);
    
        rawInvoker = embind__requireFunction(signature, rawInvoker);
    
        exposePublicSymbol(name, function() {
          throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes);
        }, argCount - 1);
    
        whenDependentTypesAreResolved([], argTypes, function(argTypes) {
          var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */);
          replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1);
          return [];
        });
      }

    
    
    function integerReadValueFromPointer(name, shift, signed) {
        // integers are quite common, so generate very specialized functions
        switch (shift) {
            case 0: return signed ?
                function readS8FromPointer(pointer) { return HEAP8[pointer]; } :
                function readU8FromPointer(pointer) { return HEAPU8[pointer]; };
            case 1: return signed ?
                function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } :
                function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; };
            case 2: return signed ?
                function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } :
                function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; };
            default:
                throw new TypeError("Unknown integer type: " + name);
        }
      }
    
    
    function __embind_register_integer(primitiveType, name, size, minRange, maxRange) {
        name = readLatin1String(name);
        // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come
        // out as 'i32 -1'. Always treat those as max u32.
        if (maxRange === -1) {
            maxRange = 4294967295;
        }
    
        var shift = getShiftFromSize(size);
    
        var fromWireType = (value) => value;
    
        if (minRange === 0) {
            var bitshift = 32 - 8*size;
            fromWireType = (value) => (value << bitshift) >>> bitshift;
        }
    
        var isUnsignedType = (name.includes('unsigned'));
        var checkAssertions = (value, toTypeName) => {
          if (typeof value != "number" && typeof value != "boolean") {
            throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`);
          }
          if (value < minRange || value > maxRange) {
            throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`);
          }
        };
        var toWireType;
        if (isUnsignedType) {
          toWireType = function(destructors, value) {
            checkAssertions(value, this.name);
            return value >>> 0;
          };
        } else {
          toWireType = function(destructors, value) {
            checkAssertions(value, this.name);
            // The VM will perform JS to Wasm value conversion, according to the spec:
            // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue
            return value;
          };
        }
        registerType(primitiveType, {
          name,
          'fromWireType': fromWireType,
          'toWireType': toWireType,
          'argPackAdvance': 8,
          'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0),
          destructorFunction: null, // This type does not need a destructor
        });
      }

    
    function __embind_register_memory_view(rawType, dataTypeIndex, name) {
        var typeMapping = [
          Int8Array,
          Uint8Array,
          Int16Array,
          Uint16Array,
          Int32Array,
          Uint32Array,
          Float32Array,
          Float64Array,
        ];
    
        var TA = typeMapping[dataTypeIndex];
    
        function decodeMemoryView(handle) {
          handle = handle >> 2;
          var heap = HEAPU32;
          var size = heap[handle]; // in elements
          var data = heap[handle + 1]; // byte offset into emscripten heap
          return new TA(heap.buffer, data, size);
        }
    
        name = readLatin1String(name);
        registerType(rawType, {
          name,
          'fromWireType': decodeMemoryView,
          'argPackAdvance': 8,
          'readValueFromPointer': decodeMemoryView,
        }, {
          ignoreDuplicateRegistrations: true,
        });
      }

    
    
    
    
    
    
    
    
    function __embind_register_std_string(rawType, name) {
        name = readLatin1String(name);
        var stdStringIsUTF8
        //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string<unsigned char>
        = (name === "std::string");
    
        registerType(rawType, {
          name,
          'fromWireType': function(value) {
            var length = HEAPU32[((value)>>2)];
            var payload = value + 4;
    
            var str;
            if (stdStringIsUTF8) {
              var decodeStartPtr = payload;
              // Looping here to support possible embedded '0' bytes
              for (var i = 0; i <= length; ++i) {
                var currentBytePtr = payload + i;
                if (i == length || HEAPU8[currentBytePtr] == 0) {
                  var maxRead = currentBytePtr - decodeStartPtr;
                  var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
                  if (str === undefined) {
                    str = stringSegment;
                  } else {
                    str += String.fromCharCode(0);
                    str += stringSegment;
                  }
                  decodeStartPtr = currentBytePtr + 1;
                }
              }
            } else {
              var a = new Array(length);
              for (var i = 0; i < length; ++i) {
                a[i] = String.fromCharCode(HEAPU8[payload + i]);
              }
              str = a.join('');
            }
    
            _free(value);
    
            return str;
          },
          'toWireType': function(destructors, value) {
            if (value instanceof ArrayBuffer) {
              value = new Uint8Array(value);
            }
    
            var length;
            var valueIsOfTypeString = (typeof value == 'string');
    
            if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
              throwBindingError('Cannot pass non-string to std::string');
            }
            if (stdStringIsUTF8 && valueIsOfTypeString) {
              length = lengthBytesUTF8(value);
            } else {
              length = value.length;
            }
    
            // assumes 4-byte alignment
            var base = _malloc(4 + length + 1);
            var ptr = base + 4;
            HEAPU32[((base)>>2)] = length;
            if (stdStringIsUTF8 && valueIsOfTypeString) {
              stringToUTF8(value, ptr, length + 1);
            } else {
              if (valueIsOfTypeString) {
                for (var i = 0; i < length; ++i) {
                  var charCode = value.charCodeAt(i);
                  if (charCode > 255) {
                    _free(ptr);
                    throwBindingError('String has UTF-16 code units that do not fit in 8 bits');
                  }
                  HEAPU8[ptr + i] = charCode;
                }
              } else {
                for (var i = 0; i < length; ++i) {
                  HEAPU8[ptr + i] = value[i];
                }
              }
            }
    
            if (destructors !== null) {
              destructors.push(_free, base);
            }
            return base;
          },
          'argPackAdvance': 8,
          'readValueFromPointer': simpleReadValueFromPointer,
          destructorFunction: function(ptr) { _free(ptr); },
        });
      }

    
    
    
    var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;  var UTF16ToString = (ptr, maxBytesToRead) => {
        assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
        var endPtr = ptr;
        // TextDecoder needs to know the byte length in advance, it doesn't stop on
        // null terminator by itself.
        // Also, use the length info to avoid running tiny strings through
        // TextDecoder, since .subarray() allocates garbage.
        var idx = endPtr >> 1;
        var maxIdx = idx + maxBytesToRead / 2;
        // If maxBytesToRead is not passed explicitly, it will be undefined, and this
        // will always evaluate to true. This saves on code size.
        while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;
        endPtr = idx << 1;
    
        if (endPtr - ptr > 32 && UTF16Decoder)
          return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
    
        // Fallback: decode without UTF16Decoder
        var str = '';
    
        // If maxBytesToRead is not passed explicitly, it will be undefined, and the
        // for-loop's condition will always evaluate to true. The loop is then
        // terminated on the first null char.
        for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
          var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
          if (codeUnit == 0) break;
          // fromCharCode constructs a character from a UTF-16 code unit, so we can
          // pass the UTF16 string right through.
          str += String.fromCharCode(codeUnit);
        }
    
        return str;
      };
    
    var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
        assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
        assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
        // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
        if (maxBytesToWrite === undefined) {
          maxBytesToWrite = 0x7FFFFFFF;
        }
        if (maxBytesToWrite < 2) return 0;
        maxBytesToWrite -= 2; // Null terminator.
        var startPtr = outPtr;
        var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
        for (var i = 0; i < numCharsToWrite; ++i) {
          // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
          var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
          HEAP16[((outPtr)>>1)] = codeUnit;
          outPtr += 2;
        }
        // Null-terminate the pointer to the HEAP.
        HEAP16[((outPtr)>>1)] = 0;
        return outPtr - startPtr;
      };
    
    var lengthBytesUTF16 = (str) => {
        return str.length*2;
      };
    
    var UTF32ToString = (ptr, maxBytesToRead) => {
        assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
        var i = 0;
    
        var str = '';
        // If maxBytesToRead is not passed explicitly, it will be undefined, and this
        // will always evaluate to true. This saves on code size.
        while (!(i >= maxBytesToRead / 4)) {
          var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
          if (utf32 == 0) break;
          ++i;
          // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
          // See http://unicode.org/faq/utf_bom.html#utf16-3
          if (utf32 >= 0x10000) {
            var ch = utf32 - 0x10000;
            str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
          } else {
            str += String.fromCharCode(utf32);
          }
        }
        return str;
      };
    
    var stringToUTF32 = (str, outPtr, maxBytesToWrite) => {
        assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
        assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
        // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
        if (maxBytesToWrite === undefined) {
          maxBytesToWrite = 0x7FFFFFFF;
        }
        if (maxBytesToWrite < 4) return 0;
        var startPtr = outPtr;
        var endPtr = startPtr + maxBytesToWrite - 4;
        for (var i = 0; i < str.length; ++i) {
          // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
          // See http://unicode.org/faq/utf_bom.html#utf16-3
          var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
          if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
            var trailSurrogate = str.charCodeAt(++i);
            codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
          }
          HEAP32[((outPtr)>>2)] = codeUnit;
          outPtr += 4;
          if (outPtr + 4 > endPtr) break;
        }
        // Null-terminate the pointer to the HEAP.
        HEAP32[((outPtr)>>2)] = 0;
        return outPtr - startPtr;
      };
    
    var lengthBytesUTF32 = (str) => {
        var len = 0;
        for (var i = 0; i < str.length; ++i) {
          // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
          // See http://unicode.org/faq/utf_bom.html#utf16-3
          var codeUnit = str.charCodeAt(i);
          if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
          len += 4;
        }
    
        return len;
      };
    var __embind_register_std_wstring = function(rawType, charSize, name) {
        name = readLatin1String(name);
        var decodeString, encodeString, getHeap, lengthBytesUTF, shift;
        if (charSize === 2) {
          decodeString = UTF16ToString;
          encodeString = stringToUTF16;
          lengthBytesUTF = lengthBytesUTF16;
          getHeap = () => HEAPU16;
          shift = 1;
        } else if (charSize === 4) {
          decodeString = UTF32ToString;
          encodeString = stringToUTF32;
          lengthBytesUTF = lengthBytesUTF32;
          getHeap = () => HEAPU32;
          shift = 2;
        }
        registerType(rawType, {
          name,
          'fromWireType': function(value) {
            // Code mostly taken from _embind_register_std_string fromWireType
            var length = HEAPU32[value >> 2];
            var HEAP = getHeap();
            var str;
    
            var decodeStartPtr = value + 4;
            // Looping here to support possible embedded '0' bytes
            for (var i = 0; i <= length; ++i) {
              var currentBytePtr = value + 4 + i * charSize;
              if (i == length || HEAP[currentBytePtr >> shift] == 0) {
                var maxReadBytes = currentBytePtr - decodeStartPtr;
                var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
                if (str === undefined) {
                  str = stringSegment;
                } else {
                  str += String.fromCharCode(0);
                  str += stringSegment;
                }
                decodeStartPtr = currentBytePtr + charSize;
              }
            }
    
            _free(value);
    
            return str;
          },
          'toWireType': function(destructors, value) {
            if (!(typeof value == 'string')) {
              throwBindingError(`Cannot pass non-string to C++ string type ${name}`);
            }
    
            // assumes 4-byte alignment
            var length = lengthBytesUTF(value);
            var ptr = _malloc(4 + length + charSize);
            HEAPU32[ptr >> 2] = length >> shift;
    
            encodeString(value, ptr + 4, length + charSize);
    
            if (destructors !== null) {
              destructors.push(_free, ptr);
            }
            return ptr;
          },
          'argPackAdvance': 8,
          'readValueFromPointer': simpleReadValueFromPointer,
          destructorFunction: function(ptr) { _free(ptr); },
        });
      };

    
    function __embind_register_void(rawType, name) {
        name = readLatin1String(name);
        registerType(rawType, {
            isVoid: true, // void return values can be optimized out sometimes
            name,
            'argPackAdvance': 0,
            'fromWireType': function() {
                return undefined;
            },
            'toWireType': function(destructors, o) {
                // TODO: assert if anything else is given?
                return undefined;
            },
        });
      }

    var nowIsMonotonic = true;  var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;

    
    
    
    function requireRegisteredType(rawType, humanName) {
        var impl = registeredTypes[rawType];
        if (undefined === impl) {
            throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
        }
        return impl;
      }
    function __emval_as(handle, returnType, destructorsRef) {
        handle = Emval.toValue(handle);
        returnType = requireRegisteredType(returnType, 'emval::as');
        var destructors = [];
        var rd = Emval.toHandle(destructors);
        HEAPU32[((destructorsRef)>>2)] = rd;
        return returnType['toWireType'](destructors, handle);
      }

    function emval_allocateDestructors(destructorsRef) {
        var destructors = [];
        HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors);
        return destructors;
      }
    
    var emval_symbols = {
    };
    
    function getStringOrSymbol(address) {
        var symbol = emval_symbols[address];
        if (symbol === undefined) {
          return readLatin1String(address);
        }
        return symbol;
      }
    
    var emval_methodCallers = [];
    
    function __emval_call_method(caller, handle, methodName, destructorsRef, args) {
        caller = emval_methodCallers[caller];
        handle = Emval.toValue(handle);
        methodName = getStringOrSymbol(methodName);
        return caller(handle, methodName, emval_allocateDestructors(destructorsRef), args);
      }

    
    
    
    function __emval_call_void_method(caller, handle, methodName, args) {
        caller = emval_methodCallers[caller];
        handle = Emval.toValue(handle);
        methodName = getStringOrSymbol(methodName);
        caller(handle, methodName, null, args);
      }


    
    
    function emval_get_global() {
        if (typeof globalThis == 'object') {
          return globalThis;
        }
        return (function(){
          return Function;
        })()('return this')();
      }
    function __emval_get_global(name) {
        if (name===0) {
          return Emval.toHandle(emval_get_global());
        } else {
          name = getStringOrSymbol(name);
          return Emval.toHandle(emval_get_global()[name]);
        }
      }

    function emval_addMethodCaller(caller) {
        var id = emval_methodCallers.length;
        emval_methodCallers.push(caller);
        return id;
      }
    
    function emval_lookupTypes(argCount, argTypes) {
        var a = new Array(argCount);
        for (var i = 0; i < argCount; ++i) {
          a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)],
                                       "parameter " + i);
        }
        return a;
      }
    
    
    var emval_registeredMethods = [];
    
    function __emval_get_method_caller(argCount, argTypes) {
        var types = emval_lookupTypes(argCount, argTypes);
        var retType = types[0];
        var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$";
        var returnId = emval_registeredMethods[signatureName];
        if (returnId !== undefined) {
          return returnId;
        }
    
        var params = ["retType"];
        var args = [retType];
    
        var argsList = ""; // 'arg0, arg1, arg2, ... , argN'
        for (var i = 0; i < argCount - 1; ++i) {
          argsList += (i !== 0 ? ", " : "") + "arg" + i;
          params.push("argType" + i);
          args.push(types[1 + i]);
        }
    
        var functionName = makeLegalFunctionName("methodCaller_" + signatureName);
        var functionBody =
            "return function " + functionName + "(handle, name, destructors, args) {\n";
    
        var offset = 0;
        for (var i = 0; i < argCount - 1; ++i) {
            functionBody +=
            "    var arg" + i + " = argType" + i + ".readValueFromPointer(args" + (offset ? ("+"+offset) : "") + ");\n";
            offset += types[i + 1]['argPackAdvance'];
        }
        functionBody +=
            "    var rv = handle[name](" + argsList + ");\n";
        for (var i = 0; i < argCount - 1; ++i) {
            if (types[i + 1]['deleteObject']) {
                functionBody +=
                "    argType" + i + ".deleteObject(arg" + i + ");\n";
            }
        }
        if (!retType.isVoid) {
            functionBody +=
            "    return retType.toWireType(destructors, rv);\n";
        }
        functionBody +=
            "};\n";
    
        params.push(functionBody);
        var invokerFunction = newFunc(Function, params).apply(null, args);
        returnId = emval_addMethodCaller(invokerFunction);
        emval_registeredMethods[signatureName] = returnId;
        return returnId;
      }

    function __emval_get_property(handle, key) {
        handle = Emval.toValue(handle);
        key = Emval.toValue(key);
        return Emval.toHandle(handle[key]);
      }

    function __emval_incref(handle) {
        if (handle > 4) {
          emval_handles.get(handle).refcount += 1;
        }
      }

    
    function craftEmvalAllocator(argCount) {
        /*This function returns a new function that looks like this:
        function emval_allocator_3(constructor, argTypes, args) {
            var argType0 = requireRegisteredType(HEAP32[(argTypes >> 2)], "parameter 0");
            var arg0 = argType0['readValueFromPointer'](args);
            var argType1 = requireRegisteredType(HEAP32[(argTypes >> 2) + 1], "parameter 1");
            var arg1 = argType1['readValueFromPointer'](args + 8);
            var argType2 = requireRegisteredType(HEAP32[(argTypes >> 2) + 2], "parameter 2");
            var arg2 = argType2['readValueFromPointer'](args + 16);
            var obj = new constructor(arg0, arg1, arg2);
            return Emval.toHandle(obj);
        } */
        var argsList = "";
        for (var i = 0; i < argCount; ++i) {
          argsList += (i!==0?", ":"")+"arg"+i; // 'arg0, arg1, ..., argn'
        }
    
        // The body of the generated function does not have access to enclosing
        // scope where HEAPU64/HEAPU32/etc are defined, and we cannot pass them
        // directly as arguments (like we do the Module object) since memory
        // growth can cause them to be re-bound.
        var getMemory = () => HEAPU32;
    
        var functionBody =
            "return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n" +
            "  var HEAPU32 = getMemory();\n";
    
        for (var i = 0; i < argCount; ++i) {
            functionBody +=
                "var argType"+i+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+i+"');\n" +
                "var arg"+i+" = argType"+i+".readValueFromPointer(args);\n" +
                "args += argType"+i+"['argPackAdvance'];\n" +
                "argTypes += 4;\n";
        }
        functionBody +=
            "var obj = new constructor("+argsList+");\n" +
            "return valueToHandle(obj);\n" +
            "}\n";
    
        /*jshint evil:true*/
        return (new Function("requireRegisteredType", "Module", "valueToHandle", "getMemory" , functionBody))(
            requireRegisteredType, Module, Emval.toHandle, getMemory);
      }
    
    var emval_newers = {
    };
    
    function __emval_new(handle, argCount, argTypes, args) {
        handle = Emval.toValue(handle);
    
        var newer = emval_newers[argCount];
        if (!newer) {
          newer = craftEmvalAllocator(argCount);
          emval_newers[argCount] = newer;
        }
    
        return newer(handle, argTypes, args);
      }

    function __emval_new_array() {
        return Emval.toHandle([]);
      }

    function __emval_new_array_from_memory_view(view) {
        view = Emval.toValue(view);
        // using for..loop is faster than Array.from
        var a = new Array(view.length);
        for (var i = 0; i < view.length; i++) a[i] = view[i];
        return Emval.toHandle(a);
      }

    
    function __emval_new_cstring(v) {
        return Emval.toHandle(getStringOrSymbol(v));
      }

    function __emval_new_object() {
        return Emval.toHandle({});
      }

    
    
    function __emval_run_destructors(handle) {
        var destructors = Emval.toValue(handle);
        runDestructors(destructors);
        __emval_decref(handle);
      }

    function __emval_set_property(handle, key, value) {
        handle = Emval.toValue(handle);
        key = Emval.toValue(key);
        value = Emval.toValue(value);
        handle[key] = value;
      }

    
    function __emval_take_value(type, arg) {
        type = requireRegisteredType(type, '_emval_take_value');
        var v = type['readValueFromPointer'](arg);
        return Emval.toHandle(v);
      }

    var _abort = () => {
        abort('native code called abort()');
      };

    var readEmAsmArgsArray = [];
    var readEmAsmArgs = (sigPtr, buf) => {
        // Nobody should have mutated _readEmAsmArgsArray underneath us to be something else than an array.
        assert(Array.isArray(readEmAsmArgsArray));
        // The input buffer is allocated on the stack, so it must be stack-aligned.
        assert(buf % 16 == 0);
        readEmAsmArgsArray.length = 0;
        var ch;
        // Most arguments are i32s, so shift the buffer pointer so it is a plain
        // index into HEAP32.
        buf >>= 2;
        while (ch = HEAPU8[sigPtr++]) {
          var chr = String.fromCharCode(ch);
          var validChars = ['d', 'f', 'i'];
          assert(validChars.includes(chr), `Invalid character ${ch}("${chr}") in readEmAsmArgs! Use only [${validChars}], and do not specify "v" for void return argument.`);
          // Floats are always passed as doubles, and doubles and int64s take up 8
          // bytes (two 32-bit slots) in memory, align reads to these:
          buf += (ch != 105/*i*/) & buf;
          readEmAsmArgsArray.push(
            ch == 105/*i*/ ? HEAP32[buf] :
           HEAPF64[buf++ >> 1]
          );
          ++buf;
        }
        return readEmAsmArgsArray;
      };
    var runEmAsmFunction = (code, sigPtr, argbuf) => {
        var args = readEmAsmArgs(sigPtr, argbuf);
        if (!ASM_CONSTS.hasOwnProperty(code)) abort(`No EM_ASM constant found at address ${code}`);
        return ASM_CONSTS[code].apply(null, args);
      };
    var _emscripten_asm_const_int = (code, sigPtr, argbuf) => {
        return runEmAsmFunction(code, sigPtr, argbuf);
      };

    function _emscripten_date_now() {
        return Date.now();
      }

    var _emscripten_get_now;
        // Modern environment where performance.now() is supported:
        // N.B. a shorter form "_emscripten_get_now = performance.now;" is
        // unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
        _emscripten_get_now = () => performance.now();

    var _emscripten_memcpy_big = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);

    var getHeapMax = () =>
        // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
        // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
        // for any code that deals with heap sizes, which would require special
        // casing all heap size related code to treat 0 specially.
        2147483648;
    
    var growMemory = (size) => {
        var b = wasmMemory.buffer;
        var pages = (size - b.byteLength + 65535) >>> 16;
        try {
          // round size grow request up to wasm page size (fixed 64KB per spec)
          wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size
          updateMemoryViews();
          return 1 /*success*/;
        } catch(e) {
          err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`);
        }
        // implicit 0 return to save code size (caller will cast "undefined" into 0
        // anyhow)
      };
    var _emscripten_resize_heap = (requestedSize) => {
        var oldSize = HEAPU8.length;
        // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
        requestedSize >>>= 0;
        // With multithreaded builds, races can happen (another thread might increase the size
        // in between), so return a failure, and let the caller retry.
        assert(requestedSize > oldSize);
    
        // Memory resize rules:
        // 1.  Always increase heap size to at least the requested size, rounded up
        //     to next page multiple.
        // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
        //     geometrically: increase the heap size according to
        //     MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
        //     overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
        // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
        //     linearly: increase the heap size by at least
        //     MEMORY_GROWTH_LINEAR_STEP bytes.
        // 3.  Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
        //     MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
        // 4.  If we were unable to allocate as much memory, it may be due to
        //     over-eager decision to excessively reserve due to (3) above.
        //     Hence if an allocation fails, cut down on the amount of excess
        //     growth, in an attempt to succeed to perform a smaller allocation.
    
        // A limit is set for how much we can grow. We should not exceed that
        // (the wasm binary specifies it, so if we tried, we'd fail anyhow).
        var maxHeapSize = getHeapMax();
        if (requestedSize > maxHeapSize) {
          err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);
          return false;
        }
    
        var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
    
        // Loop through potential heap size increases. If we attempt a too eager
        // reservation that fails, cut down on the attempted size and reserve a
        // smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
        for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
          var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth
          // but limit overreserving (default to capping at +96MB overgrowth at most)
          overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 );
    
          var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
    
          var replacement = growMemory(newSize);
          if (replacement) {
    
            return true;
          }
        }
        err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);
        return false;
      };

    var ENV = {
    };
    
    var getExecutableName = () => {
        return thisProgram || './this.program';
      };
    var getEnvStrings = () => {
        if (!getEnvStrings.strings) {
          // Default values.
          // Browser language detection #8751
          var lang = ((typeof navigator == 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8';
          var env = {
            'USER': 'web_user',
            'LOGNAME': 'web_user',
            'PATH': '/',
            'PWD': '/',
            'HOME': '/home/web_user',
            'LANG': lang,
            '_': getExecutableName()
          };
          // Apply the user-provided values, if any.
          for (var x in ENV) {
            // x is a key in ENV; if ENV[x] is undefined, that means it was
            // explicitly set to be so. We allow user code to do that to
            // force variables with default values to remain unset.
            if (ENV[x] === undefined) delete env[x];
            else env[x] = ENV[x];
          }
          var strings = [];
          for (var x in env) {
            strings.push(`${x}=${env[x]}`);
          }
          getEnvStrings.strings = strings;
        }
        return getEnvStrings.strings;
      };
    
    var stringToAscii = (str, buffer) => {
        for (var i = 0; i < str.length; ++i) {
          assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff));
          HEAP8[((buffer++)>>0)] = str.charCodeAt(i);
        }
        // Null-terminate the string
        HEAP8[((buffer)>>0)] = 0;
      };
    
    var _environ_get = (__environ, environ_buf) => {
        var bufSize = 0;
        getEnvStrings().forEach(function(string, i) {
          var ptr = environ_buf + bufSize;
          HEAPU32[(((__environ)+(i*4))>>2)] = ptr;
          stringToAscii(string, ptr);
          bufSize += string.length + 1;
        });
        return 0;
      };

    
    var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
        var strings = getEnvStrings();
        HEAPU32[((penviron_count)>>2)] = strings.length;
        var bufSize = 0;
        strings.forEach(function(string) {
          bufSize += string.length + 1;
        });
        HEAPU32[((penviron_buf_size)>>2)] = bufSize;
        return 0;
      };

    function _fd_close(fd) {
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        FS.close(stream);
        return 0;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return e.errno;
    }
    }

    /** @param {number=} offset */
    var doReadv = (stream, iov, iovcnt, offset) => {
        var ret = 0;
        for (var i = 0; i < iovcnt; i++) {
          var ptr = HEAPU32[((iov)>>2)];
          var len = HEAPU32[(((iov)+(4))>>2)];
          iov += 8;
          var curr = FS.read(stream, HEAP8,ptr, len, offset);
          if (curr < 0) return -1;
          ret += curr;
          if (curr < len) break; // nothing more to read
          if (typeof offset !== 'undefined') {
            offset += curr;
          }
        }
        return ret;
      };
    
    function _fd_read(fd, iov, iovcnt, pnum) {
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        var num = doReadv(stream, iov, iovcnt);
        HEAPU32[((pnum)>>2)] = num;
        return 0;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return e.errno;
    }
    }

    
    function convertI32PairToI53Checked(lo, hi) {
        assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32
        assert(hi === (hi|0));                    // hi should be a i32
        return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN;
      }
    function _fd_seek(fd,offset_low, offset_high,whence,newOffset) {
      var offset = convertI32PairToI53Checked(offset_low, offset_high);  
      
    try {
    
        if (isNaN(offset)) return 61;
        var stream = SYSCALLS.getStreamFromFD(fd);
        FS.llseek(stream, offset, whence);
        (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]);
        if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
        return 0;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return e.errno;
    }
    }

    /** @param {number=} offset */
    var doWritev = (stream, iov, iovcnt, offset) => {
        var ret = 0;
        for (var i = 0; i < iovcnt; i++) {
          var ptr = HEAPU32[((iov)>>2)];
          var len = HEAPU32[(((iov)+(4))>>2)];
          iov += 8;
          var curr = FS.write(stream, HEAP8,ptr, len, offset);
          if (curr < 0) return -1;
          ret += curr;
          if (typeof offset !== 'undefined') {
            offset += curr;
          }
        }
        return ret;
      };
    
    function _fd_write(fd, iov, iovcnt, pnum) {
    try {
    
        var stream = SYSCALLS.getStreamFromFD(fd);
        var num = doWritev(stream, iov, iovcnt);
        HEAPU32[((pnum)>>2)] = num;
        return 0;
      } catch (e) {
      if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
      return e.errno;
    }
    }

    var isLeapYear = (year) => {
          return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
      };
    
    var arraySum = (array, index) => {
        var sum = 0;
        for (var i = 0; i <= index; sum += array[i++]) {
          // no-op
        }
        return sum;
      };
    
    
    var MONTH_DAYS_LEAP = [31,29,31,30,31,30,31,31,30,31,30,31];
    
    var MONTH_DAYS_REGULAR = [31,28,31,30,31,30,31,31,30,31,30,31];
    var addDays = (date, days) => {
        var newDate = new Date(date.getTime());
        while (days > 0) {
          var leap = isLeapYear(newDate.getFullYear());
          var currentMonth = newDate.getMonth();
          var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];
    
          if (days > daysInCurrentMonth-newDate.getDate()) {
            // we spill over to next month
            days -= (daysInCurrentMonth-newDate.getDate()+1);
            newDate.setDate(1);
            if (currentMonth < 11) {
              newDate.setMonth(currentMonth+1);
            } else {
              newDate.setMonth(0);
              newDate.setFullYear(newDate.getFullYear()+1);
            }
          } else {
            // we stay in current month
            newDate.setDate(newDate.getDate()+days);
            return newDate;
          }
        }
    
        return newDate;
      };
    
    
    
    
    var writeArrayToMemory = (array, buffer) => {
        assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)');
        HEAP8.set(array, buffer);
      };
    
    var _strftime = (s, maxsize, format, tm) => {
        // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
        // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
    
        var tm_zone = HEAP32[(((tm)+(40))>>2)];
    
        var date = {
          tm_sec: HEAP32[((tm)>>2)],
          tm_min: HEAP32[(((tm)+(4))>>2)],
          tm_hour: HEAP32[(((tm)+(8))>>2)],
          tm_mday: HEAP32[(((tm)+(12))>>2)],
          tm_mon: HEAP32[(((tm)+(16))>>2)],
          tm_year: HEAP32[(((tm)+(20))>>2)],
          tm_wday: HEAP32[(((tm)+(24))>>2)],
          tm_yday: HEAP32[(((tm)+(28))>>2)],
          tm_isdst: HEAP32[(((tm)+(32))>>2)],
          tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
          tm_zone: tm_zone ? UTF8ToString(tm_zone) : ''
        };
    
        var pattern = UTF8ToString(format);
    
        // expand format
        var EXPANSION_RULES_1 = {
          '%c': '%a %b %d %H:%M:%S %Y',     // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug  3 14:02:01 2013
          '%D': '%m/%d/%y',                 // Equivalent to %m / %d / %y
          '%F': '%Y-%m-%d',                 // Equivalent to %Y - %m - %d
          '%h': '%b',                       // Equivalent to %b
          '%r': '%I:%M:%S %p',              // Replaced by the time in a.m. and p.m. notation
          '%R': '%H:%M',                    // Replaced by the time in 24-hour notation
          '%T': '%H:%M:%S',                 // Replaced by the time
          '%x': '%m/%d/%y',                 // Replaced by the locale's appropriate date representation
          '%X': '%H:%M:%S',                 // Replaced by the locale's appropriate time representation
          // Modified Conversion Specifiers
          '%Ec': '%c',                      // Replaced by the locale's alternative appropriate date and time representation.
          '%EC': '%C',                      // Replaced by the name of the base year (period) in the locale's alternative representation.
          '%Ex': '%m/%d/%y',                // Replaced by the locale's alternative date representation.
          '%EX': '%H:%M:%S',                // Replaced by the locale's alternative time representation.
          '%Ey': '%y',                      // Replaced by the offset from %EC (year only) in the locale's alternative representation.
          '%EY': '%Y',                      // Replaced by the full alternative year representation.
          '%Od': '%d',                      // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading <space> characters.
          '%Oe': '%e',                      // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading <space> characters.
          '%OH': '%H',                      // Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols.
          '%OI': '%I',                      // Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols.
          '%Om': '%m',                      // Replaced by the month using the locale's alternative numeric symbols.
          '%OM': '%M',                      // Replaced by the minutes using the locale's alternative numeric symbols.
          '%OS': '%S',                      // Replaced by the seconds using the locale's alternative numeric symbols.
          '%Ou': '%u',                      // Replaced by the weekday as a number in the locale's alternative representation (Monday=1).
          '%OU': '%U',                      // Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols.
          '%OV': '%V',                      // Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols.
          '%Ow': '%w',                      // Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols.
          '%OW': '%W',                      // Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols.
          '%Oy': '%y',                      // Replaced by the year (offset from %C ) using the locale's alternative numeric symbols.
        };
        for (var rule in EXPANSION_RULES_1) {
          pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
        }
    
        var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
        var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
    
        function leadingSomething(value, digits, character) {
          var str = typeof value == 'number' ? value.toString() : (value || '');
          while (str.length < digits) {
            str = character[0]+str;
          }
          return str;
        }
    
        function leadingNulls(value, digits) {
          return leadingSomething(value, digits, '0');
        }
    
        function compareByDay(date1, date2) {
          function sgn(value) {
            return value < 0 ? -1 : (value > 0 ? 1 : 0);
          }
    
          var compare;
          if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
            if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
              compare = sgn(date1.getDate()-date2.getDate());
            }
          }
          return compare;
        }
    
        function getFirstWeekStartDate(janFourth) {
            switch (janFourth.getDay()) {
              case 0: // Sunday
                return new Date(janFourth.getFullYear()-1, 11, 29);
              case 1: // Monday
                return janFourth;
              case 2: // Tuesday
                return new Date(janFourth.getFullYear(), 0, 3);
              case 3: // Wednesday
                return new Date(janFourth.getFullYear(), 0, 2);
              case 4: // Thursday
                return new Date(janFourth.getFullYear(), 0, 1);
              case 5: // Friday
                return new Date(janFourth.getFullYear()-1, 11, 31);
              case 6: // Saturday
                return new Date(janFourth.getFullYear()-1, 11, 30);
            }
        }
    
        function getWeekBasedYear(date) {
            var thisDate = addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
    
            var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
            var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
    
            var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
            var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
    
            if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
              // this date is after the start of the first week of this year
              if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
                return thisDate.getFullYear()+1;
              }
              return thisDate.getFullYear();
            }
            return thisDate.getFullYear()-1;
        }
    
        var EXPANSION_RULES_2 = {
          '%a': (date) => WEEKDAYS[date.tm_wday].substring(0,3) ,
          '%A': (date) => WEEKDAYS[date.tm_wday],
          '%b': (date) => MONTHS[date.tm_mon].substring(0,3),
          '%B': (date) => MONTHS[date.tm_mon],
          '%C': (date) => {
            var year = date.tm_year+1900;
            return leadingNulls((year/100)|0,2);
          },
          '%d': (date) => leadingNulls(date.tm_mday, 2),
          '%e': (date) => leadingSomething(date.tm_mday, 2, ' '),
          '%g': (date) => {
            // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
            // In this system, weeks begin on a Monday and week 1 of the year is the week that includes
            // January 4th, which is also the week that includes the first Thursday of the year, and
            // is also the first week that contains at least four days in the year.
            // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
            // the last week of the preceding year; thus, for Saturday 2nd January 1999,
            // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
            // or 31st is a Monday, it and any following days are part of week 1 of the following year.
            // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
    
            return getWeekBasedYear(date).toString().substring(2);
          },
          '%G': (date) => getWeekBasedYear(date),
          '%H': (date) => leadingNulls(date.tm_hour, 2),
          '%I': (date) => {
            var twelveHour = date.tm_hour;
            if (twelveHour == 0) twelveHour = 12;
            else if (twelveHour > 12) twelveHour -= 12;
            return leadingNulls(twelveHour, 2);
          },
          '%j': (date) => {
            // Day of the year (001-366)
            return leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year+1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
          },
          '%m': (date) => leadingNulls(date.tm_mon+1, 2),
          '%M': (date) => leadingNulls(date.tm_min, 2),
          '%n': () => '\n',
          '%p': (date) => {
            if (date.tm_hour >= 0 && date.tm_hour < 12) {
              return 'AM';
            }
            return 'PM';
          },
          '%S': (date) => leadingNulls(date.tm_sec, 2),
          '%t': () => '\t',
          '%u': (date) => date.tm_wday || 7,
          '%U': (date) => {
            var days = date.tm_yday + 7 - date.tm_wday;
            return leadingNulls(Math.floor(days / 7), 2);
          },
          '%V': (date) => {
            // Replaced by the week number of the year (Monday as the first day of the week)
            // as a decimal number [01,53]. If the week containing 1 January has four
            // or more days in the new year, then it is considered week 1.
            // Otherwise, it is the last week of the previous year, and the next week is week 1.
            // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
            var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7 ) / 7);
            // If 1 Jan is just 1-3 days past Monday, the previous week
            // is also in this year.
            if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {
              val++;
            }
            if (!val) {
              val = 52;
              // If 31 December of prev year a Thursday, or Friday of a
              // leap year, then the prev year has 53 weeks.
              var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;
              if (dec31 == 4 || (dec31 == 5 && isLeapYear(date.tm_year%400-1))) {
                val++;
              }
            } else if (val == 53) {
              // If 1 January is not a Thursday, and not a Wednesday of a
              // leap year, then this year has only 52 weeks.
              var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;
              if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year)))
                val = 1;
            }
            return leadingNulls(val, 2);
          },
          '%w': (date) => date.tm_wday,
          '%W': (date) => {
            var days = date.tm_yday + 7 - ((date.tm_wday + 6) % 7);
            return leadingNulls(Math.floor(days / 7), 2);
          },
          '%y': (date) => {
            // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
            return (date.tm_year+1900).toString().substring(2);
          },
          // Replaced by the year as a decimal number (for example, 1997). [ tm_year]
          '%Y': (date) => date.tm_year+1900,
          '%z': (date) => {
            // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
            // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
            var off = date.tm_gmtoff;
            var ahead = off >= 0;
            off = Math.abs(off) / 60;
            // convert from minutes into hhmm format (which means 60 minutes = 100 units)
            off = (off / 60)*100 + (off % 60);
            return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
          },
          '%Z': (date) => date.tm_zone,
          '%%': () => '%'
        };
    
        // Replace %% with a pair of NULLs (which cannot occur in a C string), then
        // re-inject them after processing.
        pattern = pattern.replace(/%%/g, '\0\0');
        for (var rule in EXPANSION_RULES_2) {
          if (pattern.includes(rule)) {
            pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
          }
        }
        pattern = pattern.replace(/\0\0/g, '%');
    
        var bytes = intArrayFromString(pattern, false);
        if (bytes.length > maxsize) {
          return 0;
        }
    
        writeArrayToMemory(bytes, s);
        return bytes.length-1;
      };
    var _strftime_l = (s, maxsize, format, tm, loc) => {
        return _strftime(s, maxsize, format, tm); // no locale support yet
      };

    var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
      if (!parent) {
        parent = this;  // root node sets parent to itself
      }
      this.parent = parent;
      this.mount = parent.mount;
      this.mounted = null;
      this.id = FS.nextInode++;
      this.name = name;
      this.mode = mode;
      this.node_ops = {};
      this.stream_ops = {};
      this.rdev = rdev;
    };
    var readMode = 292/*292*/ | 73/*73*/;
    var writeMode = 146/*146*/;
    Object.defineProperties(FSNode.prototype, {
     read: {
      get: /** @this{FSNode} */function() {
       return (this.mode & readMode) === readMode;
      },
      set: /** @this{FSNode} */function(val) {
       val ? this.mode |= readMode : this.mode &= ~readMode;
      }
     },
     write: {
      get: /** @this{FSNode} */function() {
       return (this.mode & writeMode) === writeMode;
      },
      set: /** @this{FSNode} */function(val) {
       val ? this.mode |= writeMode : this.mode &= ~writeMode;
      }
     },
     isFolder: {
      get: /** @this{FSNode} */function() {
       return FS.isDir(this.mode);
      }
     },
     isDevice: {
      get: /** @this{FSNode} */function() {
       return FS.isChrdev(this.mode);
      }
     }
    });
    FS.FSNode = FSNode;
    FS.createPreloadedFile = FS_createPreloadedFile;
    FS.staticInit();ERRNO_CODES = {
        'EPERM': 63,
        'ENOENT': 44,
        'ESRCH': 71,
        'EINTR': 27,
        'EIO': 29,
        'ENXIO': 60,
        'E2BIG': 1,
        'ENOEXEC': 45,
        'EBADF': 8,
        'ECHILD': 12,
        'EAGAIN': 6,
        'EWOULDBLOCK': 6,
        'ENOMEM': 48,
        'EACCES': 2,
        'EFAULT': 21,
        'ENOTBLK': 105,
        'EBUSY': 10,
        'EEXIST': 20,
        'EXDEV': 75,
        'ENODEV': 43,
        'ENOTDIR': 54,
        'EISDIR': 31,
        'EINVAL': 28,
        'ENFILE': 41,
        'EMFILE': 33,
        'ENOTTY': 59,
        'ETXTBSY': 74,
        'EFBIG': 22,
        'ENOSPC': 51,
        'ESPIPE': 70,
        'EROFS': 69,
        'EMLINK': 34,
        'EPIPE': 64,
        'EDOM': 18,
        'ERANGE': 68,
        'ENOMSG': 49,
        'EIDRM': 24,
        'ECHRNG': 106,
        'EL2NSYNC': 156,
        'EL3HLT': 107,
        'EL3RST': 108,
        'ELNRNG': 109,
        'EUNATCH': 110,
        'ENOCSI': 111,
        'EL2HLT': 112,
        'EDEADLK': 16,
        'ENOLCK': 46,
        'EBADE': 113,
        'EBADR': 114,
        'EXFULL': 115,
        'ENOANO': 104,
        'EBADRQC': 103,
        'EBADSLT': 102,
        'EDEADLOCK': 16,
        'EBFONT': 101,
        'ENOSTR': 100,
        'ENODATA': 116,
        'ETIME': 117,
        'ENOSR': 118,
        'ENONET': 119,
        'ENOPKG': 120,
        'EREMOTE': 121,
        'ENOLINK': 47,
        'EADV': 122,
        'ESRMNT': 123,
        'ECOMM': 124,
        'EPROTO': 65,
        'EMULTIHOP': 36,
        'EDOTDOT': 125,
        'EBADMSG': 9,
        'ENOTUNIQ': 126,
        'EBADFD': 127,
        'EREMCHG': 128,
        'ELIBACC': 129,
        'ELIBBAD': 130,
        'ELIBSCN': 131,
        'ELIBMAX': 132,
        'ELIBEXEC': 133,
        'ENOSYS': 52,
        'ENOTEMPTY': 55,
        'ENAMETOOLONG': 37,
        'ELOOP': 32,
        'EOPNOTSUPP': 138,
        'EPFNOSUPPORT': 139,
        'ECONNRESET': 15,
        'ENOBUFS': 42,
        'EAFNOSUPPORT': 5,
        'EPROTOTYPE': 67,
        'ENOTSOCK': 57,
        'ENOPROTOOPT': 50,
        'ESHUTDOWN': 140,
        'ECONNREFUSED': 14,
        'EADDRINUSE': 3,
        'ECONNABORTED': 13,
        'ENETUNREACH': 40,
        'ENETDOWN': 38,
        'ETIMEDOUT': 73,
        'EHOSTDOWN': 142,
        'EHOSTUNREACH': 23,
        'EINPROGRESS': 26,
        'EALREADY': 7,
        'EDESTADDRREQ': 17,
        'EMSGSIZE': 35,
        'EPROTONOSUPPORT': 66,
        'ESOCKTNOSUPPORT': 137,
        'EADDRNOTAVAIL': 4,
        'ENETRESET': 39,
        'EISCONN': 30,
        'ENOTCONN': 53,
        'ETOOMANYREFS': 141,
        'EUSERS': 136,
        'EDQUOT': 19,
        'ESTALE': 72,
        'ENOTSUP': 138,
        'ENOMEDIUM': 148,
        'EILSEQ': 25,
        'EOVERFLOW': 61,
        'ECANCELED': 11,
        'ENOTRECOVERABLE': 56,
        'EOWNERDEAD': 62,
        'ESTRPIPE': 135,
      };embind_init_charCodes();
  BindingError = Module['BindingError'] = class BindingError extends Error { constructor(message) { super(message); this.name = 'BindingError'; }};
  InternalError = Module['InternalError'] = class InternalError extends Error { constructor(message) { super(message); this.name = 'InternalError'; }};
  init_ClassHandle();
  init_embind();init_RegisteredPointer();
  UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');handleAllocatorInit();
  init_emval();function checkIncomingModuleAPI() {
    ignoredModuleProp('fetchSettings');
  }
  var wasmImports = {
    __assert_fail: ___assert_fail,
    __syscall_fcntl64: ___syscall_fcntl64,
    __syscall_fstat64: ___syscall_fstat64,
    __syscall_ioctl: ___syscall_ioctl,
    __syscall_lstat64: ___syscall_lstat64,
    __syscall_mkdirat: ___syscall_mkdirat,
    __syscall_newfstatat: ___syscall_newfstatat,
    __syscall_openat: ___syscall_openat,
    __syscall_stat64: ___syscall_stat64,
    __throw_exception_with_stack_trace: ___throw_exception_with_stack_trace,
    _embind_register_bigint: __embind_register_bigint,
    _embind_register_bool: __embind_register_bool,
    _embind_register_class: __embind_register_class,
    _embind_register_class_class_function: __embind_register_class_class_function,
    _embind_register_class_constructor: __embind_register_class_constructor,
    _embind_register_class_function: __embind_register_class_function,
    _embind_register_emval: __embind_register_emval,
    _embind_register_float: __embind_register_float,
    _embind_register_function: __embind_register_function,
    _embind_register_integer: __embind_register_integer,
    _embind_register_memory_view: __embind_register_memory_view,
    _embind_register_std_string: __embind_register_std_string,
    _embind_register_std_wstring: __embind_register_std_wstring,
    _embind_register_void: __embind_register_void,
    _emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic,
    _emval_as: __emval_as,
    _emval_call_method: __emval_call_method,
    _emval_call_void_method: __emval_call_void_method,
    _emval_decref: __emval_decref,
    _emval_get_global: __emval_get_global,
    _emval_get_method_caller: __emval_get_method_caller,
    _emval_get_property: __emval_get_property,
    _emval_incref: __emval_incref,
    _emval_new: __emval_new,
    _emval_new_array: __emval_new_array,
    _emval_new_array_from_memory_view: __emval_new_array_from_memory_view,
    _emval_new_cstring: __emval_new_cstring,
    _emval_new_object: __emval_new_object,
    _emval_run_destructors: __emval_run_destructors,
    _emval_set_property: __emval_set_property,
    _emval_take_value: __emval_take_value,
    abort: _abort,
    emscripten_asm_const_int: _emscripten_asm_const_int,
    emscripten_date_now: _emscripten_date_now,
    emscripten_get_now: _emscripten_get_now,
    emscripten_memcpy_big: _emscripten_memcpy_big,
    emscripten_resize_heap: _emscripten_resize_heap,
    environ_get: _environ_get,
    environ_sizes_get: _environ_sizes_get,
    fd_close: _fd_close,
    fd_read: _fd_read,
    fd_seek: _fd_seek,
    fd_write: _fd_write,
    strftime_l: _strftime_l,
    syncIdb_js: syncIdb_js
  };
  createWasm();
  var _malloc = createExportWrapper('malloc');
  var _free = Module['_free'] = createExportWrapper('free');
  var ___getTypeName = createExportWrapper('__getTypeName');
  Module['__embind_initialize_bindings'] = createExportWrapper('_embind_initialize_bindings');
  var ___errno_location = createExportWrapper('__errno_location');
  var _fflush = Module['_fflush'] = createExportWrapper('fflush');
  var ___trap = () => (___trap = wasmExports['__trap'])();
  var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])();
  var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])();
  var stackSave = createExportWrapper('stackSave');
  var stackRestore = createExportWrapper('stackRestore');
  var stackAlloc = createExportWrapper('stackAlloc');
  Module['___cxa_decrement_exception_refcount'] = createExportWrapper('__cxa_decrement_exception_refcount');
  Module['___cxa_increment_exception_refcount'] = createExportWrapper('__cxa_increment_exception_refcount');
  var ___cxa_demangle = createExportWrapper('__cxa_demangle');
  var ___thrown_object_from_unwind_exception = Module['___thrown_object_from_unwind_exception'] = createExportWrapper('__thrown_object_from_unwind_exception');
  var ___get_exception_message = Module['___get_exception_message'] = createExportWrapper('__get_exception_message');
  Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji');
  Module['dynCall_viijii'] = createExportWrapper('dynCall_viijii');
  Module['dynCall_iiiiij'] = createExportWrapper('dynCall_iiiiij');
  Module['dynCall_iiiiijj'] = createExportWrapper('dynCall_iiiiijj');
  Module['dynCall_iiiiiijj'] = createExportWrapper('dynCall_iiiiiijj');
  Module['___start_em_js'] = 46072;
  Module['___stop_em_js'] = 46407;

  // include: postamble.js
  // === Auto-generated postamble setup entry stuff ===

  // include: base64Utils.js
  // Converts a string of base64 into a byte array.
  // Throws error on invalid input.
  function intArrayFromBase64(s) {

    try {
      var decoded = atob(s);
      var bytes = new Uint8Array(decoded.length);
      for (var i = 0 ; i < decoded.length ; ++i) {
        bytes[i] = decoded.charCodeAt(i);
      }
      return bytes;
    } catch (_) {
      throw new Error('Converting base64 string to bytes failed.');
    }
  }

  // If filename is a base64 data URI, parses and returns data (Buffer on node,
  // Uint8Array otherwise). If filename is not a base64 data URI, returns undefined.
  function tryParseAsDataURI(filename) {
    if (!isDataURI(filename)) {
      return;
    }

    return intArrayFromBase64(filename.slice(dataURIPrefix.length));
  }
  // end include: base64Utils.js
  var missingLibrarySymbols = [
    'writeI53ToI64',
    'writeI53ToI64Clamped',
    'writeI53ToI64Signaling',
    'writeI53ToU64Clamped',
    'writeI53ToU64Signaling',
    'readI53FromI64',
    'readI53FromU64',
    'convertI32PairToI53',
    'convertU32PairToI53',
    'exitJS',
    'ydayFromDate',
    'inetPton4',
    'inetNtop4',
    'inetPton6',
    'inetNtop6',
    'readSockaddr',
    'writeSockaddr',
    'getHostByName',
    'getCallstack',
    'emscriptenLog',
    'convertPCtoSourceLocation',
    'runMainThreadEmAsm',
    'jstoi_q',
    'jstoi_s',
    'listenOnce',
    'autoResumeAudioContext',
    'handleException',
    'runtimeKeepalivePush',
    'runtimeKeepalivePop',
    'callUserCallback',
    'maybeExit',
    'safeSetTimeout',
    'asmjsMangle',
    'getNativeTypeSize',
    'STACK_SIZE',
    'STACK_ALIGN',
    'POINTER_SIZE',
    'ASSERTIONS',
    'getCFunc',
    'ccall',
    'cwrap',
    'uleb128Encode',
    'sigToWasmTypes',
    'generateFuncType',
    'convertJsFunctionToWasm',
    'getEmptyTableSlot',
    'updateTableMap',
    'getFunctionAddress',
    'addFunction',
    'removeFunction',
    'reallyNegative',
    'unSign',
    'strLen',
    'reSign',
    'formatString',
    'intArrayToString',
    'AsciiToString',
    'stringToNewUTF8',
    'registerKeyEventCallback',
    'maybeCStringToJsString',
    'findEventTarget',
    'findCanvasEventTarget',
    'getBoundingClientRect',
    'fillMouseEventData',
    'registerMouseEventCallback',
    'registerWheelEventCallback',
    'registerUiEventCallback',
    'registerFocusEventCallback',
    'fillDeviceOrientationEventData',
    'registerDeviceOrientationEventCallback',
    'fillDeviceMotionEventData',
    'registerDeviceMotionEventCallback',
    'screenOrientation',
    'fillOrientationChangeEventData',
    'registerOrientationChangeEventCallback',
    'fillFullscreenChangeEventData',
    'registerFullscreenChangeEventCallback',
    'JSEvents_requestFullscreen',
    'JSEvents_resizeCanvasForFullscreen',
    'registerRestoreOldStyle',
    'hideEverythingExceptGivenElement',
    'restoreHiddenElements',
    'setLetterbox',
    'softFullscreenResizeWebGLRenderTarget',
    'doRequestFullscreen',
    'fillPointerlockChangeEventData',
    'registerPointerlockChangeEventCallback',
    'registerPointerlockErrorEventCallback',
    'requestPointerLock',
    'fillVisibilityChangeEventData',
    'registerVisibilityChangeEventCallback',
    'registerTouchEventCallback',
    'fillGamepadEventData',
    'registerGamepadEventCallback',
    'registerBeforeUnloadEventCallback',
    'fillBatteryEventData',
    'battery',
    'registerBatteryEventCallback',
    'setCanvasElementSize',
    'getCanvasElementSize',
    'checkWasiClock',
    'wasiRightsToMuslOFlags',
    'wasiOFlagsToMuslOFlags',
    'createDyncallWrapper',
    'setImmediateWrapped',
    'clearImmediateWrapped',
    'polyfillSetImmediate',
    'getPromise',
    'makePromise',
    'idsToPromises',
    'makePromiseCallback',
    'setMainLoop',
    'getSocketFromFD',
    'getSocketAddress',
    '_setNetworkCallback',
    'heapObjectForWebGLType',
    'heapAccessShiftForWebGLHeap',
    'webgl_enable_ANGLE_instanced_arrays',
    'webgl_enable_OES_vertex_array_object',
    'webgl_enable_WEBGL_draw_buffers',
    'webgl_enable_WEBGL_multi_draw',
    'emscriptenWebGLGet',
    'computeUnpackAlignedImageSize',
    'colorChannelsInGlTextureFormat',
    'emscriptenWebGLGetTexPixelData',
    '__glGenObject',
    'emscriptenWebGLGetUniform',
    'webglGetUniformLocation',
    'webglPrepareUniformLocationsBeforeFirstUse',
    'webglGetLeftBracePos',
    'emscriptenWebGLGetVertexAttrib',
    '__glGetActiveAttribOrUniform',
    'writeGLArray',
    'registerWebGlEventCallback',
    'runAndAbortIfError',
    'SDL_unicode',
    'SDL_ttfContext',
    'SDL_audio',
    'GLFW_Window',
    'ALLOC_NORMAL',
    'ALLOC_STACK',
    'allocate',
    'writeStringToMemory',
    'writeAsciiToMemory',
    'registerInheritedInstance',
    'unregisterInheritedInstance',
    'enumReadValueFromPointer',
    'validateThis',
  ];
  missingLibrarySymbols.forEach(missingLibrarySymbol);

  var unexportedSymbols = [
    'run',
    'addOnPreRun',
    'addOnInit',
    'addOnPreMain',
    'addOnExit',
    'addOnPostRun',
    'addRunDependency',
    'removeRunDependency',
    'FS_createFolder',
    'FS_createPath',
    'FS_createDataFile',
    'FS_createLazyFile',
    'FS_createLink',
    'FS_createDevice',
    'FS_unlink',
    'out',
    'err',
    'callMain',
    'abort',
    'keepRuntimeAlive',
    'wasmMemory',
    'wasmTable',
    'wasmExports',
    'stackAlloc',
    'stackSave',
    'stackRestore',
    'getTempRet0',
    'setTempRet0',
    'writeStackCookie',
    'checkStackCookie',
    'intArrayFromBase64',
    'tryParseAsDataURI',
    'convertI32PairToI53Checked',
    'ptrToString',
    'zeroMemory',
    'getHeapMax',
    'growMemory',
    'ENV',
    'MONTH_DAYS_REGULAR',
    'MONTH_DAYS_LEAP',
    'MONTH_DAYS_REGULAR_CUMULATIVE',
    'MONTH_DAYS_LEAP_CUMULATIVE',
    'isLeapYear',
    'arraySum',
    'addDays',
    'ERRNO_CODES',
    'ERRNO_MESSAGES',
    'setErrNo',
    'DNS',
    'Protocols',
    'Sockets',
    'initRandomFill',
    'randomFill',
    'timers',
    'warnOnce',
    'UNWIND_CACHE',
    'readEmAsmArgsArray',
    'readEmAsmArgs',
    'runEmAsmFunction',
    'getExecutableName',
    'dynCallLegacy',
    'getDynCaller',
    'dynCall',
    'asyncLoad',
    'alignMemory',
    'mmapAlloc',
    'handleAllocatorInit',
    'HandleAllocator',
    'freeTableIndexes',
    'functionsInTableMap',
    'setValue',
    'getValue',
    'PATH',
    'PATH_FS',
    'UTF8Decoder',
    'UTF8ArrayToString',
    'UTF8ToString',
    'stringToUTF8Array',
    'stringToUTF8',
    'lengthBytesUTF8',
    'intArrayFromString',
    'stringToAscii',
    'UTF16Decoder',
    'UTF16ToString',
    'stringToUTF16',
    'lengthBytesUTF16',
    'UTF32ToString',
    'stringToUTF32',
    'lengthBytesUTF32',
    'stringToUTF8OnStack',
    'writeArrayToMemory',
    'JSEvents',
    'specialHTMLTargets',
    'currentFullscreenStrategy',
    'restoreOldWindowedStyle',
    'demangle',
    'demangleAll',
    'jsStackTrace',
    'stackTrace',
    'ExitStatus',
    'getEnvStrings',
    'doReadv',
    'doWritev',
    'promiseMap',
    'getExceptionMessageCommon',
    'getCppExceptionTag',
    'getCppExceptionThrownObjectFromWebAssemblyException',
    'incrementExceptionRefcount',
    'decrementExceptionRefcount',
    'getExceptionMessage',
    'Browser',
    'wget',
    'SYSCALLS',
    'preloadPlugins',
    'FS_createPreloadedFile',
    'FS_modeStringToFlags',
    'FS_getMode',
    'FS_stdin_getChar_buffer',
    'FS_stdin_getChar',
    'FS',
    'MEMFS',
    'TTY',
    'PIPEFS',
    'SOCKFS',
    'tempFixedLengthArray',
    'miniTempWebGLFloatBuffers',
    'miniTempWebGLIntBuffers',
    'GL',
    'emscripten_webgl_power_preferences',
    'AL',
    'GLUT',
    'EGL',
    'GLEW',
    'IDBStore',
    'SDL',
    'SDL_gfx',
    'GLFW',
    'allocateUTF8',
    'allocateUTF8OnStack',
    'InternalError',
    'BindingError',
    'throwInternalError',
    'throwBindingError',
    'registeredTypes',
    'awaitingDependencies',
    'typeDependencies',
    'tupleRegistrations',
    'structRegistrations',
    'sharedRegisterType',
    'whenDependentTypesAreResolved',
    'embind_charCodes',
    'embind_init_charCodes',
    'readLatin1String',
    'getTypeName',
    'heap32VectorToArray',
    'requireRegisteredType',
    'UnboundTypeError',
    'PureVirtualError',
    'init_embind',
    'throwUnboundTypeError',
    'ensureOverloadTable',
    'exposePublicSymbol',
    'replacePublicSymbol',
    'extendError',
    'createNamedFunction',
    'embindRepr',
    'registeredInstances',
    'getBasestPointer',
    'getInheritedInstance',
    'getInheritedInstanceCount',
    'getLiveInheritedInstances',
    'registeredPointers',
    'registerType',
    'getShiftFromSize',
    'integerReadValueFromPointer',
    'floatReadValueFromPointer',
    'simpleReadValueFromPointer',
    'runDestructors',
    'newFunc',
    'craftInvokerFunction',
    'embind__requireFunction',
    'genericPointerToWireType',
    'constNoSmartPtrRawPointerToWireType',
    'nonConstNoSmartPtrRawPointerToWireType',
    'init_RegisteredPointer',
    'RegisteredPointer',
    'RegisteredPointer_getPointee',
    'RegisteredPointer_destructor',
    'RegisteredPointer_deleteObject',
    'RegisteredPointer_fromWireType',
    'runDestructor',
    'releaseClassHandle',
    'finalizationRegistry',
    'detachFinalizer_deps',
    'detachFinalizer',
    'attachFinalizer',
    'makeClassHandle',
    'init_ClassHandle',
    'ClassHandle',
    'ClassHandle_isAliasOf',
    'throwInstanceAlreadyDeleted',
    'ClassHandle_clone',
    'ClassHandle_delete',
    'deletionQueue',
    'ClassHandle_isDeleted',
    'ClassHandle_deleteLater',
    'flushPendingDeletes',
    'delayFunction',
    'setDelayFunction',
    'RegisteredClass',
    'shallowCopyInternalPointer',
    'downcastPointer',
    'upcastPointer',
    'char_0',
    'char_9',
    'makeLegalFunctionName',
    'emval_handles',
    'emval_symbols',
    'init_emval',
    'count_emval_handles',
    'getStringOrSymbol',
    'Emval',
    'emval_newers',
    'craftEmvalAllocator',
    'emval_get_global',
    'emval_lookupTypes',
    'emval_allocateDestructors',
    'emval_methodCallers',
    'emval_addMethodCaller',
    'emval_registeredMethods',
    'IDBFS',
  ];
  unexportedSymbols.forEach(unexportedRuntimeSymbol);



  var calledRun;

  dependenciesFulfilled = function runCaller() {
    // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
    if (!calledRun) run();
    if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
  };

  function stackCheckInit() {
    // This is normally called automatically during __wasm_call_ctors but need to
    // get these values before even running any of the ctors so we call it redundantly
    // here.
    _emscripten_stack_init();
    // TODO(sbc): Move writeStackCookie to native to to avoid this.
    writeStackCookie();
  }

  function run() {

    if (runDependencies > 0) {
      return;
    }

      stackCheckInit();

    preRun();

    // a preRun added a dependency, run will be called later
    if (runDependencies > 0) {
      return;
    }

    function doRun() {
      // run may have just been called through dependencies being fulfilled just in this very frame,
      // or while the async setStatus time below was happening
      if (calledRun) return;
      calledRun = true;
      Module['calledRun'] = true;

      if (ABORT) return;

      initRuntime();

      readyPromiseResolve(Module);
      if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();

      assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');

      postRun();
    }

    if (Module['setStatus']) {
      Module['setStatus']('Running...');
      setTimeout(function() {
        setTimeout(function() {
          Module['setStatus']('');
        }, 1);
        doRun();
      }, 1);
    } else
    {
      doRun();
    }
    checkStackCookie();
  }

  if (Module['preInit']) {
    if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
    while (Module['preInit'].length > 0) {
      Module['preInit'].pop()();
    }
  }

  run();


  // end include: postamble.js


    return moduleArg.ready
  }

  );
  })();

  const hnswlib$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
    __proto__: null,
    default: hnswlib$1
  }, Symbol.toStringTag, { value: 'Module' }));

  exports.IDBFS_STORE_NAME = IDBFS_STORE_NAME;
  exports.defaultParams = defaultParams;
  exports.hnswParamsForAda = hnswParamsForAda;
  exports.loadHnswlib = loadHnswlib;
  exports.syncFileSystem = syncFileSystem;
  exports.waitForFileSystemInitalized = waitForFileSystemInitalized;
  exports.waitForFileSystemSynced = waitForFileSystemSynced;

  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });

}));
//# sourceMappingURL=hnswlib.umd.js.map